summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-10-04 12:54:36 -0700
committerBrion Vibber <brion@pobox.com>2010-10-04 12:54:36 -0700
commit59119482ca34540bd7f0a2a1aa994de1d5328ea2 (patch)
tree864fdc9dda3da54a78d868339c32479b5296b6d0 /plugins
parent2db8aa3ec3f6804f8f16efe754aafb149f4035c9 (diff)
parent1652ded48c9c62c40157a5142e5231adbc574ddb (diff)
Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
Conflicts: actions/hostmeta.php actions/imsettings.php classes/User.php lib/adminpanelaction.php lib/channel.php lib/default.php lib/router.php lib/util.php
Diffstat (limited to 'plugins')
-rw-r--r--plugins/APC/APCPlugin.php (renamed from plugins/APCPlugin.php)1
-rw-r--r--plugins/APC/locale/APC.pot23
-rw-r--r--plugins/APC/locale/br/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/es/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/fr/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/gl/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/ia/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/mk/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/nb/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/nl/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/pl/LC_MESSAGES/APC.po31
-rw-r--r--plugins/APC/locale/pt/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/pt_BR/LC_MESSAGES/APC.po31
-rw-r--r--plugins/APC/locale/ru/LC_MESSAGES/APC.po31
-rw-r--r--plugins/APC/locale/tl/LC_MESSAGES/APC.po30
-rw-r--r--plugins/APC/locale/uk/LC_MESSAGES/APC.po31
-rw-r--r--plugins/APC/locale/zh_CN/LC_MESSAGES/APC.po31
-rw-r--r--plugins/Adsense/AdsensePlugin.php24
-rw-r--r--plugins/Adsense/adsenseadminpanel.php43
-rw-r--r--plugins/Adsense/locale/Adsense.pot96
-rw-r--r--plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po102
-rw-r--r--plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po103
-rw-r--r--plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po101
-rw-r--r--plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po102
-rw-r--r--plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po103
-rw-r--r--plugins/AnonymousFave/AnonymousFavePlugin.php292
-rw-r--r--plugins/AnonymousFave/Fave_tally.php240
-rw-r--r--plugins/AnonymousFave/anondisfavor.php127
-rw-r--r--plugins/AnonymousFave/anondisfavorform.php69
-rw-r--r--plugins/AnonymousFave/anonfavor.php121
-rw-r--r--plugins/AnonymousFave/anonfavorform.php71
-rw-r--r--plugins/AnonymousFave/locale/AnonymousFave.pot98
-rw-r--r--plugins/AnonymousFave/locale/es/LC_MESSAGES/AnonymousFave.po107
-rw-r--r--plugins/AnonymousFave/locale/ia/LC_MESSAGES/AnonymousFave.po106
-rw-r--r--plugins/AnonymousFave/locale/mk/LC_MESSAGES/AnonymousFave.po106
-rw-r--r--plugins/AnonymousFave/locale/nl/LC_MESSAGES/AnonymousFave.po114
-rw-r--r--plugins/AnonymousFave/locale/uk/LC_MESSAGES/AnonymousFave.po111
-rwxr-xr-xplugins/AnonymousFave/scripts/initialize_fave_tallys.php38
-rw-r--r--plugins/AutoSandbox/AutoSandboxPlugin.php13
-rw-r--r--plugins/AutoSandbox/locale/AutoSandbox.pot16
-rw-r--r--plugins/AutoSandbox/locale/es/LC_MESSAGES/AutoSandbox.po46
-rw-r--r--plugins/AutoSandbox/locale/fr/LC_MESSAGES/AutoSandbox.po46
-rw-r--r--plugins/AutoSandbox/locale/ia/LC_MESSAGES/AutoSandbox.po45
-rw-r--r--plugins/AutoSandbox/locale/mk/LC_MESSAGES/AutoSandbox.po46
-rw-r--r--plugins/AutoSandbox/locale/nl/LC_MESSAGES/AutoSandbox.po47
-rw-r--r--plugins/AutoSandbox/locale/tl/LC_MESSAGES/AutoSandbox.po45
-rw-r--r--plugins/AutoSandbox/locale/uk/LC_MESSAGES/AutoSandbox.po46
-rw-r--r--plugins/AutoSandbox/locale/zh_CN/LC_MESSAGES/AutoSandbox.po43
-rw-r--r--plugins/Autocomplete/AutocompletePlugin.php2
-rw-r--r--plugins/Autocomplete/autocomplete.php2
-rw-r--r--plugins/Autocomplete/locale/Autocomplete.pot4
-rw-r--r--plugins/Autocomplete/locale/es/LC_MESSAGES/Autocomplete.po33
-rw-r--r--plugins/Autocomplete/locale/fr/LC_MESSAGES/Autocomplete.po33
-rw-r--r--plugins/Autocomplete/locale/ia/LC_MESSAGES/Autocomplete.po33
-rw-r--r--plugins/Autocomplete/locale/ja/LC_MESSAGES/Autocomplete.po32
-rw-r--r--plugins/Autocomplete/locale/mk/LC_MESSAGES/Autocomplete.po33
-rw-r--r--plugins/Autocomplete/locale/nl/LC_MESSAGES/Autocomplete.po33
-rw-r--r--plugins/Autocomplete/locale/ru/LC_MESSAGES/Autocomplete.po33
-rw-r--r--plugins/Autocomplete/locale/tl/LC_MESSAGES/Autocomplete.po34
-rw-r--r--plugins/Autocomplete/locale/uk/LC_MESSAGES/Autocomplete.po34
-rw-r--r--plugins/Autocomplete/locale/zh_CN/LC_MESSAGES/Autocomplete.po32
-rw-r--r--plugins/BitlyUrl/BitlyUrlPlugin.php3
-rw-r--r--plugins/BitlyUrl/locale/BitlyUrl.pot6
-rw-r--r--plugins/BitlyUrl/locale/es/LC_MESSAGES/BitlyUrl.po32
-rw-r--r--plugins/BitlyUrl/locale/fr/LC_MESSAGES/BitlyUrl.po33
-rw-r--r--plugins/BitlyUrl/locale/ia/LC_MESSAGES/BitlyUrl.po31
-rw-r--r--plugins/BitlyUrl/locale/mk/LC_MESSAGES/BitlyUrl.po33
-rw-r--r--plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po31
-rw-r--r--plugins/BitlyUrl/locale/nl/LC_MESSAGES/BitlyUrl.po33
-rw-r--r--plugins/BitlyUrl/locale/pt_BR/LC_MESSAGES/BitlyUrl.po32
-rw-r--r--plugins/BitlyUrl/locale/ru/LC_MESSAGES/BitlyUrl.po32
-rw-r--r--plugins/BitlyUrl/locale/tl/LC_MESSAGES/BitlyUrl.po33
-rw-r--r--plugins/BitlyUrl/locale/uk/LC_MESSAGES/BitlyUrl.po33
-rw-r--r--plugins/BitlyUrl/locale/zh_CN/LC_MESSAGES/BitlyUrl.po32
-rw-r--r--plugins/Blacklist/BlacklistPlugin.php35
-rw-r--r--plugins/Blacklist/Homepage_blacklist.php9
-rw-r--r--plugins/Blacklist/Nickname_blacklist.php9
-rw-r--r--plugins/Blacklist/blacklistadminpanel.php24
-rw-r--r--plugins/Blacklist/locale/Blacklist.pot66
-rw-r--r--plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po95
-rw-r--r--plugins/Blacklist/locale/es/LC_MESSAGES/Blacklist.po97
-rw-r--r--plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po96
-rw-r--r--plugins/Blacklist/locale/gl/LC_MESSAGES/Blacklist.po95
-rw-r--r--plugins/Blacklist/locale/ia/LC_MESSAGES/Blacklist.po96
-rw-r--r--plugins/Blacklist/locale/mk/LC_MESSAGES/Blacklist.po95
-rw-r--r--plugins/Blacklist/locale/nl/LC_MESSAGES/Blacklist.po95
-rw-r--r--plugins/Blacklist/locale/uk/LC_MESSAGES/Blacklist.po96
-rw-r--r--plugins/Blacklist/locale/zh_CN/LC_MESSAGES/Blacklist.po96
-rw-r--r--plugins/BlankAd/BlankAdPlugin.php18
-rw-r--r--plugins/BlankAd/locale/BlankAd.pot21
-rw-r--r--plugins/BlankAd/locale/br/LC_MESSAGES/BlankAd.po26
-rw-r--r--plugins/BlankAd/locale/es/LC_MESSAGES/BlankAd.po26
-rw-r--r--plugins/BlankAd/locale/fr/LC_MESSAGES/BlankAd.po26
-rw-r--r--plugins/BlankAd/locale/ia/LC_MESSAGES/BlankAd.po26
-rw-r--r--plugins/BlankAd/locale/mk/LC_MESSAGES/BlankAd.po26
-rw-r--r--plugins/BlankAd/locale/nl/LC_MESSAGES/BlankAd.po26
-rw-r--r--plugins/BlankAd/locale/ru/LC_MESSAGES/BlankAd.po27
-rw-r--r--plugins/BlankAd/locale/tl/LC_MESSAGES/BlankAd.po26
-rw-r--r--plugins/BlankAd/locale/uk/LC_MESSAGES/BlankAd.po27
-rw-r--r--plugins/BlankAd/locale/zh_CN/LC_MESSAGES/BlankAd.po27
-rw-r--r--plugins/BlogspamNet/BlogspamNetPlugin.php (renamed from plugins/BlogspamNetPlugin.php)12
-rw-r--r--plugins/BlogspamNet/locale/BlogspamNet.pot21
-rw-r--r--plugins/BlogspamNet/locale/de/LC_MESSAGES/BlogspamNet.po26
-rw-r--r--plugins/BlogspamNet/locale/es/LC_MESSAGES/BlogspamNet.po26
-rw-r--r--plugins/BlogspamNet/locale/fr/LC_MESSAGES/BlogspamNet.po26
-rw-r--r--plugins/BlogspamNet/locale/ia/LC_MESSAGES/BlogspamNet.po26
-rw-r--r--plugins/BlogspamNet/locale/mk/LC_MESSAGES/BlogspamNet.po26
-rw-r--r--plugins/BlogspamNet/locale/nl/LC_MESSAGES/BlogspamNet.po26
-rw-r--r--plugins/BlogspamNet/locale/tl/LC_MESSAGES/BlogspamNet.po28
-rw-r--r--plugins/BlogspamNet/locale/uk/LC_MESSAGES/BlogspamNet.po27
-rw-r--r--plugins/BlogspamNet/locale/zh_CN/LC_MESSAGES/BlogspamNet.po27
-rw-r--r--plugins/CacheLog/CacheLogPlugin.php (renamed from plugins/CacheLogPlugin.php)4
-rw-r--r--plugins/CacheLog/locale/CacheLog.pot21
-rw-r--r--plugins/CacheLog/locale/es/LC_MESSAGES/CacheLog.po26
-rw-r--r--plugins/CacheLog/locale/fr/LC_MESSAGES/CacheLog.po26
-rw-r--r--plugins/CacheLog/locale/ia/LC_MESSAGES/CacheLog.po26
-rw-r--r--plugins/CacheLog/locale/mk/LC_MESSAGES/CacheLog.po26
-rw-r--r--plugins/CacheLog/locale/nl/LC_MESSAGES/CacheLog.po26
-rw-r--r--plugins/CacheLog/locale/pt/LC_MESSAGES/CacheLog.po26
-rw-r--r--plugins/CacheLog/locale/ru/LC_MESSAGES/CacheLog.po27
-rw-r--r--plugins/CacheLog/locale/tl/LC_MESSAGES/CacheLog.po26
-rw-r--r--plugins/CacheLog/locale/uk/LC_MESSAGES/CacheLog.po27
-rw-r--r--plugins/CacheLog/locale/zh_CN/LC_MESSAGES/CacheLog.po27
-rw-r--r--plugins/CasAuthentication/CasAuthenticationPlugin.php22
-rw-r--r--plugins/CasAuthentication/caslogin.php5
-rw-r--r--plugins/CasAuthentication/locale/CasAuthentication.pot41
-rw-r--r--plugins/CasAuthentication/locale/es/LC_MESSAGES/CasAuthentication.po76
-rw-r--r--plugins/CasAuthentication/locale/fr/LC_MESSAGES/CasAuthentication.po77
-rw-r--r--plugins/CasAuthentication/locale/ia/LC_MESSAGES/CasAuthentication.po77
-rw-r--r--plugins/CasAuthentication/locale/mk/LC_MESSAGES/CasAuthentication.po76
-rw-r--r--plugins/CasAuthentication/locale/nl/LC_MESSAGES/CasAuthentication.po76
-rw-r--r--plugins/CasAuthentication/locale/pt_BR/LC_MESSAGES/CasAuthentication.po73
-rw-r--r--plugins/CasAuthentication/locale/uk/LC_MESSAGES/CasAuthentication.po74
-rw-r--r--plugins/CasAuthentication/locale/zh_CN/LC_MESSAGES/CasAuthentication.po73
-rw-r--r--plugins/ClientSideShorten/ClientSideShortenPlugin.php4
-rw-r--r--plugins/ClientSideShorten/locale/ClientSideShorten.pot4
-rw-r--r--plugins/ClientSideShorten/locale/es/LC_MESSAGES/ClientSideShorten.po35
-rw-r--r--plugins/ClientSideShorten/locale/fr/LC_MESSAGES/ClientSideShorten.po36
-rw-r--r--plugins/ClientSideShorten/locale/ia/LC_MESSAGES/ClientSideShorten.po34
-rw-r--r--plugins/ClientSideShorten/locale/mk/LC_MESSAGES/ClientSideShorten.po35
-rw-r--r--plugins/ClientSideShorten/locale/nb/LC_MESSAGES/ClientSideShorten.po34
-rw-r--r--plugins/ClientSideShorten/locale/nl/LC_MESSAGES/ClientSideShorten.po35
-rw-r--r--plugins/ClientSideShorten/locale/tl/LC_MESSAGES/ClientSideShorten.po35
-rw-r--r--plugins/ClientSideShorten/locale/uk/LC_MESSAGES/ClientSideShorten.po36
-rw-r--r--plugins/ClientSideShorten/locale/zh_CN/LC_MESSAGES/ClientSideShorten.po36
-rw-r--r--plugins/ClientSideShorten/shorten.php2
-rw-r--r--plugins/Comet/CometPlugin.php12
-rw-r--r--plugins/Comet/README5
-rw-r--r--plugins/Comet/locale/Comet.pot21
-rw-r--r--plugins/Comet/locale/es/LC_MESSAGES/Comet.po28
-rw-r--r--plugins/Comet/locale/fr/LC_MESSAGES/Comet.po28
-rw-r--r--plugins/Comet/locale/ia/LC_MESSAGES/Comet.po26
-rw-r--r--plugins/Comet/locale/mk/LC_MESSAGES/Comet.po26
-rw-r--r--plugins/Comet/locale/nl/LC_MESSAGES/Comet.po26
-rw-r--r--plugins/Comet/locale/pt_BR/LC_MESSAGES/Comet.po28
-rw-r--r--plugins/Comet/locale/tl/LC_MESSAGES/Comet.po28
-rw-r--r--plugins/Comet/locale/uk/LC_MESSAGES/Comet.po28
-rw-r--r--plugins/Comet/locale/zh_CN/LC_MESSAGES/Comet.po27
-rw-r--r--plugins/DirectionDetector/DirectionDetectorPlugin.php418
-rw-r--r--plugins/DirectionDetector/jquery.DirectionDetector.js61
-rw-r--r--plugins/DirectionDetector/locale/DirectionDetector.pot4
-rw-r--r--plugins/DirectionDetector/locale/es/LC_MESSAGES/DirectionDetector.po28
-rw-r--r--plugins/DirectionDetector/locale/fr/LC_MESSAGES/DirectionDetector.po28
-rw-r--r--plugins/DirectionDetector/locale/ia/LC_MESSAGES/DirectionDetector.po27
-rw-r--r--plugins/DirectionDetector/locale/ja/LC_MESSAGES/DirectionDetector.po26
-rw-r--r--plugins/DirectionDetector/locale/lb/LC_MESSAGES/DirectionDetector.po28
-rw-r--r--plugins/DirectionDetector/locale/mk/LC_MESSAGES/DirectionDetector.po28
-rw-r--r--plugins/DirectionDetector/locale/nb/LC_MESSAGES/DirectionDetector.po26
-rw-r--r--plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po24
-rw-r--r--plugins/DirectionDetector/locale/ru/LC_MESSAGES/DirectionDetector.po27
-rw-r--r--plugins/DirectionDetector/locale/tl/LC_MESSAGES/DirectionDetector.po28
-rw-r--r--plugins/DirectionDetector/locale/uk/LC_MESSAGES/DirectionDetector.po27
-rw-r--r--plugins/DirectionDetector/locale/zh_CN/LC_MESSAGES/DirectionDetector.po27
-rw-r--r--plugins/DiskCache/DiskCachePlugin.php (renamed from plugins/DiskCachePlugin.php)12
-rw-r--r--plugins/DiskCache/locale/DiskCache.pot21
-rw-r--r--plugins/DiskCache/locale/es/LC_MESSAGES/DiskCache.po26
-rw-r--r--plugins/DiskCache/locale/fr/LC_MESSAGES/DiskCache.po28
-rw-r--r--plugins/DiskCache/locale/ia/LC_MESSAGES/DiskCache.po26
-rw-r--r--plugins/DiskCache/locale/mk/LC_MESSAGES/DiskCache.po26
-rw-r--r--plugins/DiskCache/locale/nl/LC_MESSAGES/DiskCache.po26
-rw-r--r--plugins/DiskCache/locale/tl/LC_MESSAGES/DiskCache.po28
-rw-r--r--plugins/DiskCache/locale/uk/LC_MESSAGES/DiskCache.po27
-rw-r--r--plugins/Disqus/DisqusPlugin.php245
-rw-r--r--plugins/Disqus/locale/Disqus.pot38
-rw-r--r--plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po45
-rw-r--r--plugins/Disqus/locale/es/LC_MESSAGES/Disqus.po47
-rw-r--r--plugins/Disqus/locale/ia/LC_MESSAGES/Disqus.po47
-rw-r--r--plugins/Disqus/locale/mk/LC_MESSAGES/Disqus.po47
-rw-r--r--plugins/Disqus/locale/nl/LC_MESSAGES/Disqus.po47
-rw-r--r--plugins/Disqus/locale/ru/LC_MESSAGES/Disqus.po47
-rw-r--r--plugins/Disqus/locale/tl/LC_MESSAGES/Disqus.po47
-rw-r--r--plugins/Disqus/locale/uk/LC_MESSAGES/Disqus.po48
-rw-r--r--plugins/DisqusPlugin.php171
-rw-r--r--plugins/Echo/EchoPlugin.php (renamed from plugins/EchoPlugin.php)1
-rw-r--r--plugins/Echo/locale/Echo.pot23
-rw-r--r--plugins/Echo/locale/br/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/es/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/fr/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/ia/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/mk/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/nb/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/nl/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/ru/LC_MESSAGES/Echo.po31
-rw-r--r--plugins/Echo/locale/tl/LC_MESSAGES/Echo.po30
-rw-r--r--plugins/Echo/locale/uk/LC_MESSAGES/Echo.po31
-rw-r--r--plugins/Echo/locale/zh_CN/LC_MESSAGES/Echo.po29
-rw-r--r--plugins/EmailAuthentication/EmailAuthenticationPlugin.php2
-rw-r--r--plugins/EmailAuthentication/locale/EmailAuthentication.pot4
-rw-r--r--plugins/EmailAuthentication/locale/es/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/fr/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/ia/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/ja/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/mk/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/nb/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/nl/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/pt/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/ru/LC_MESSAGES/EmailAuthentication.po31
-rw-r--r--plugins/EmailAuthentication/locale/tl/LC_MESSAGES/EmailAuthentication.po30
-rw-r--r--plugins/EmailAuthentication/locale/uk/LC_MESSAGES/EmailAuthentication.po31
-rw-r--r--plugins/EmailAuthentication/locale/zh_CN/LC_MESSAGES/EmailAuthentication.po29
-rw-r--r--plugins/Enjit/enjitqueuehandler.php1
-rw-r--r--plugins/Facebook/FBC_XDReceiver.php8
-rw-r--r--plugins/Facebook/FBConnectAuth.php32
-rw-r--r--plugins/Facebook/FBConnectLogin.php2
-rw-r--r--plugins/Facebook/FBConnectSettings.php18
-rw-r--r--plugins/Facebook/FacebookPlugin.php61
-rw-r--r--plugins/Facebook/facebookaction.php46
-rw-r--r--plugins/Facebook/facebookadminpanel.php13
-rw-r--r--plugins/Facebook/facebookhome.php33
-rw-r--r--plugins/Facebook/facebookinvite.php15
-rw-r--r--plugins/Facebook/facebooklogin.php8
-rw-r--r--plugins/Facebook/facebooknoticeform.php26
-rw-r--r--plugins/Facebook/facebookremove.php2
-rw-r--r--plugins/Facebook/facebooksettings.php12
-rw-r--r--plugins/Facebook/facebookutil.php15
-rw-r--r--plugins/Facebook/locale/Facebook.pot315
-rw-r--r--plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po536
-rw-r--r--plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po558
-rw-r--r--plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po576
-rw-r--r--plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po540
-rw-r--r--plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po565
-rw-r--r--plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po562
-rw-r--r--plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po533
-rw-r--r--plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po571
-rw-r--r--plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po536
-rw-r--r--plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po578
-rw-r--r--plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po568
-rw-r--r--plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po548
-rw-r--r--plugins/FirePHP/FirePHPPlugin.php1
-rw-r--r--plugins/FirePHP/locale/FirePHP.pot4
-rw-r--r--plugins/FirePHP/locale/es/LC_MESSAGES/FirePHP.po27
-rw-r--r--plugins/FirePHP/locale/fi/LC_MESSAGES/FirePHP.po26
-rw-r--r--plugins/FirePHP/locale/fr/LC_MESSAGES/FirePHP.po27
-rw-r--r--plugins/FirePHP/locale/ia/LC_MESSAGES/FirePHP.po27
-rw-r--r--plugins/FirePHP/locale/ja/LC_MESSAGES/FirePHP.po26
-rw-r--r--plugins/FirePHP/locale/mk/LC_MESSAGES/FirePHP.po28
-rw-r--r--plugins/FirePHP/locale/nb/LC_MESSAGES/FirePHP.po26
-rw-r--r--plugins/FirePHP/locale/nl/LC_MESSAGES/FirePHP.po27
-rw-r--r--plugins/FirePHP/locale/pt/LC_MESSAGES/FirePHP.po26
-rw-r--r--plugins/FirePHP/locale/ru/LC_MESSAGES/FirePHP.po27
-rw-r--r--plugins/FirePHP/locale/tl/LC_MESSAGES/FirePHP.po28
-rw-r--r--plugins/FirePHP/locale/uk/LC_MESSAGES/FirePHP.po27
-rw-r--r--plugins/ForceGroup/ForceGroupPlugin.php108
-rw-r--r--plugins/ForceGroup/locale/ForceGroup.pot31
-rw-r--r--plugins/ForceGroup/locale/es/LC_MESSAGES/ForceGroup.po38
-rw-r--r--plugins/ForceGroup/locale/ia/LC_MESSAGES/ForceGroup.po38
-rw-r--r--plugins/ForceGroup/locale/mk/LC_MESSAGES/ForceGroup.po38
-rw-r--r--plugins/ForceGroup/locale/nl/LC_MESSAGES/ForceGroup.po38
-rw-r--r--plugins/ForceGroup/locale/tl/LC_MESSAGES/ForceGroup.po39
-rw-r--r--plugins/ForceGroup/locale/uk/LC_MESSAGES/ForceGroup.po40
-rw-r--r--plugins/GeoURL/GeoURLPlugin.php (renamed from plugins/GeoURLPlugin.php)3
-rw-r--r--plugins/GeoURL/locale/GeoURL.pot23
-rw-r--r--plugins/GeoURL/locale/eo/LC_MESSAGES/GeoURL.po30
-rw-r--r--plugins/GeoURL/locale/es/LC_MESSAGES/GeoURL.po30
-rw-r--r--plugins/GeoURL/locale/fr/LC_MESSAGES/GeoURL.po30
-rw-r--r--plugins/GeoURL/locale/ia/LC_MESSAGES/GeoURL.po30
-rw-r--r--plugins/GeoURL/locale/mk/LC_MESSAGES/GeoURL.po30
-rw-r--r--plugins/GeoURL/locale/nl/LC_MESSAGES/GeoURL.po30
-rw-r--r--plugins/GeoURL/locale/tl/LC_MESSAGES/GeoURL.po30
-rw-r--r--plugins/GeoURL/locale/uk/LC_MESSAGES/GeoURL.po31
-rw-r--r--plugins/Geonames/GeonamesPlugin.php (renamed from plugins/GeonamesPlugin.php)7
-rw-r--r--plugins/Geonames/locale/Geonames.pot23
-rw-r--r--plugins/Geonames/locale/br/LC_MESSAGES/Geonames.po31
-rw-r--r--plugins/Geonames/locale/eo/LC_MESSAGES/Geonames.po30
-rw-r--r--plugins/Geonames/locale/es/LC_MESSAGES/Geonames.po31
-rw-r--r--plugins/Geonames/locale/fr/LC_MESSAGES/Geonames.po32
-rw-r--r--plugins/Geonames/locale/ia/LC_MESSAGES/Geonames.po31
-rw-r--r--plugins/Geonames/locale/mk/LC_MESSAGES/Geonames.po31
-rw-r--r--plugins/Geonames/locale/nb/LC_MESSAGES/Geonames.po30
-rw-r--r--plugins/Geonames/locale/nl/LC_MESSAGES/Geonames.po31
-rw-r--r--plugins/Geonames/locale/ru/LC_MESSAGES/Geonames.po32
-rw-r--r--plugins/Geonames/locale/tl/LC_MESSAGES/Geonames.po31
-rw-r--r--plugins/Geonames/locale/uk/LC_MESSAGES/Geonames.po32
-rw-r--r--plugins/Geonames/locale/zh_CN/LC_MESSAGES/Geonames.po31
-rw-r--r--plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php (renamed from plugins/GoogleAnalyticsPlugin.php)3
-rw-r--r--plugins/GoogleAnalytics/locale/GoogleAnalytics.pot23
-rw-r--r--plugins/GoogleAnalytics/locale/es/LC_MESSAGES/GoogleAnalytics.po30
-rw-r--r--plugins/GoogleAnalytics/locale/fr/LC_MESSAGES/GoogleAnalytics.po30
-rw-r--r--plugins/GoogleAnalytics/locale/ia/LC_MESSAGES/GoogleAnalytics.po30
-rw-r--r--plugins/GoogleAnalytics/locale/mk/LC_MESSAGES/GoogleAnalytics.po30
-rw-r--r--plugins/GoogleAnalytics/locale/nb/LC_MESSAGES/GoogleAnalytics.po30
-rw-r--r--plugins/GoogleAnalytics/locale/nl/LC_MESSAGES/GoogleAnalytics.po30
-rw-r--r--plugins/GoogleAnalytics/locale/ru/LC_MESSAGES/GoogleAnalytics.po31
-rw-r--r--plugins/GoogleAnalytics/locale/tl/LC_MESSAGES/GoogleAnalytics.po30
-rw-r--r--plugins/GoogleAnalytics/locale/uk/LC_MESSAGES/GoogleAnalytics.po31
-rw-r--r--plugins/GoogleAnalytics/locale/zh_CN/LC_MESSAGES/GoogleAnalytics.po31
-rw-r--r--plugins/Gravatar/GravatarPlugin.php21
-rw-r--r--plugins/Gravatar/README2
-rw-r--r--plugins/Gravatar/locale/Gravatar.pot30
-rw-r--r--plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po78
-rw-r--r--plugins/Gravatar/locale/es/LC_MESSAGES/Gravatar.po78
-rw-r--r--plugins/Gravatar/locale/fr/LC_MESSAGES/Gravatar.po77
-rw-r--r--plugins/Gravatar/locale/ia/LC_MESSAGES/Gravatar.po74
-rw-r--r--plugins/Gravatar/locale/mk/LC_MESSAGES/Gravatar.po76
-rw-r--r--plugins/Gravatar/locale/nl/LC_MESSAGES/Gravatar.po75
-rw-r--r--plugins/Gravatar/locale/tl/LC_MESSAGES/Gravatar.po78
-rw-r--r--plugins/Gravatar/locale/uk/LC_MESSAGES/Gravatar.po76
-rw-r--r--plugins/Gravatar/locale/zh_CN/LC_MESSAGES/Gravatar.po75
-rw-r--r--plugins/GroupFavorited/GroupFavoritedPlugin.php103
-rw-r--r--plugins/GroupFavorited/groupfavoritedaction.php110
-rw-r--r--plugins/GroupFavorited/locale/GroupFavorited.pot48
-rw-r--r--plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po55
-rw-r--r--plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po53
-rw-r--r--plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po54
-rw-r--r--plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po55
-rw-r--r--plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po55
-rw-r--r--plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po54
-rw-r--r--plugins/Imap/ImapPlugin.php8
-rw-r--r--plugins/Imap/imapmanager.php6
-rw-r--r--plugins/Imap/locale/Imap.pot26
-rw-r--r--plugins/Imap/locale/fr/LC_MESSAGES/Imap.po59
-rw-r--r--plugins/Imap/locale/ia/LC_MESSAGES/Imap.po58
-rw-r--r--plugins/Imap/locale/mk/LC_MESSAGES/Imap.po58
-rw-r--r--plugins/Imap/locale/nb/LC_MESSAGES/Imap.po58
-rw-r--r--plugins/Imap/locale/nl/LC_MESSAGES/Imap.po58
-rw-r--r--plugins/Imap/locale/ru/LC_MESSAGES/Imap.po60
-rw-r--r--plugins/Imap/locale/tl/LC_MESSAGES/Imap.po59
-rw-r--r--plugins/Imap/locale/uk/LC_MESSAGES/Imap.po59
-rw-r--r--plugins/InfiniteScroll/locale/InfiniteScroll.pot2
-rw-r--r--plugins/InfiniteScroll/locale/es/LC_MESSAGES/InfiniteScroll.po35
-rw-r--r--plugins/InfiniteScroll/locale/fr/LC_MESSAGES/InfiniteScroll.po36
-rw-r--r--plugins/InfiniteScroll/locale/ia/LC_MESSAGES/InfiniteScroll.po35
-rw-r--r--plugins/InfiniteScroll/locale/ja/LC_MESSAGES/InfiniteScroll.po34
-rw-r--r--plugins/InfiniteScroll/locale/mk/LC_MESSAGES/InfiniteScroll.po35
-rw-r--r--plugins/InfiniteScroll/locale/nl/LC_MESSAGES/InfiniteScroll.po34
-rw-r--r--plugins/InfiniteScroll/locale/ru/LC_MESSAGES/InfiniteScroll.po36
-rw-r--r--plugins/InfiniteScroll/locale/tl/LC_MESSAGES/InfiniteScroll.po36
-rw-r--r--plugins/InfiniteScroll/locale/uk/LC_MESSAGES/InfiniteScroll.po35
-rw-r--r--plugins/LdapAuthentication/locale/LdapAuthentication.pot2
-rw-r--r--plugins/LdapAuthentication/locale/es/LC_MESSAGES/LdapAuthentication.po30
-rw-r--r--plugins/LdapAuthentication/locale/fr/LC_MESSAGES/LdapAuthentication.po30
-rw-r--r--plugins/LdapAuthentication/locale/ia/LC_MESSAGES/LdapAuthentication.po30
-rw-r--r--plugins/LdapAuthentication/locale/ja/LC_MESSAGES/LdapAuthentication.po29
-rw-r--r--plugins/LdapAuthentication/locale/mk/LC_MESSAGES/LdapAuthentication.po30
-rw-r--r--plugins/LdapAuthentication/locale/nb/LC_MESSAGES/LdapAuthentication.po30
-rw-r--r--plugins/LdapAuthentication/locale/nl/LC_MESSAGES/LdapAuthentication.po30
-rw-r--r--plugins/LdapAuthentication/locale/ru/LC_MESSAGES/LdapAuthentication.po31
-rw-r--r--plugins/LdapAuthentication/locale/tl/LC_MESSAGES/LdapAuthentication.po30
-rw-r--r--plugins/LdapAuthentication/locale/uk/LC_MESSAGES/LdapAuthentication.po31
-rw-r--r--plugins/LdapAuthorization/locale/LdapAuthorization.pot2
-rw-r--r--plugins/LdapAuthorization/locale/es/LC_MESSAGES/LdapAuthorization.po30
-rw-r--r--plugins/LdapAuthorization/locale/fr/LC_MESSAGES/LdapAuthorization.po30
-rw-r--r--plugins/LdapAuthorization/locale/ia/LC_MESSAGES/LdapAuthorization.po30
-rw-r--r--plugins/LdapAuthorization/locale/mk/LC_MESSAGES/LdapAuthorization.po30
-rw-r--r--plugins/LdapAuthorization/locale/nb/LC_MESSAGES/LdapAuthorization.po30
-rw-r--r--plugins/LdapAuthorization/locale/nl/LC_MESSAGES/LdapAuthorization.po30
-rw-r--r--plugins/LdapAuthorization/locale/ru/LC_MESSAGES/LdapAuthorization.po31
-rw-r--r--plugins/LdapAuthorization/locale/tl/LC_MESSAGES/LdapAuthorization.po30
-rw-r--r--plugins/LdapAuthorization/locale/uk/LC_MESSAGES/LdapAuthorization.po31
-rw-r--r--plugins/LdapCommon/LdapCommon.php22
-rw-r--r--plugins/LdapCommon/MemcacheSchemaCache.php42
-rw-r--r--plugins/LilUrl/LilUrlPlugin.php3
-rw-r--r--plugins/LilUrl/locale/LilUrl.pot6
-rw-r--r--plugins/LilUrl/locale/fr/LC_MESSAGES/LilUrl.po34
-rw-r--r--plugins/LilUrl/locale/ia/LC_MESSAGES/LilUrl.po32
-rw-r--r--plugins/LilUrl/locale/ja/LC_MESSAGES/LilUrl.po31
-rw-r--r--plugins/LilUrl/locale/mk/LC_MESSAGES/LilUrl.po33
-rw-r--r--plugins/LilUrl/locale/nb/LC_MESSAGES/LilUrl.po31
-rw-r--r--plugins/LilUrl/locale/nl/LC_MESSAGES/LilUrl.po33
-rw-r--r--plugins/LilUrl/locale/ru/LC_MESSAGES/LilUrl.po32
-rw-r--r--plugins/LilUrl/locale/tl/LC_MESSAGES/LilUrl.po33
-rw-r--r--plugins/LilUrl/locale/uk/LC_MESSAGES/LilUrl.po33
-rw-r--r--plugins/Linkback/LinkbackPlugin.php (renamed from plugins/LinkbackPlugin.php)2
-rw-r--r--plugins/Linkback/locale/Linkback.pot25
-rw-r--r--plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po34
-rw-r--r--plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po35
-rw-r--r--plugins/Mapstraction/MapstractionPlugin.php8
-rw-r--r--plugins/Mapstraction/allmap.php9
-rw-r--r--plugins/Mapstraction/locale/Mapstraction.pot22
-rw-r--r--plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po57
-rw-r--r--plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po57
-rw-r--r--plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po57
-rw-r--r--plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po59
-rw-r--r--plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po57
-rw-r--r--plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po59
-rw-r--r--plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po59
-rw-r--r--plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po60
-rw-r--r--plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po58
-rw-r--r--plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po59
-rw-r--r--plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po60
-rw-r--r--plugins/Mapstraction/map.php2
-rw-r--r--plugins/Mapstraction/usermap.php7
-rw-r--r--plugins/Memcache/MemcachePlugin.php (renamed from plugins/MemcachePlugin.php)7
-rw-r--r--plugins/Memcache/locale/Memcache.pot22
-rw-r--r--plugins/Memcache/locale/es/LC_MESSAGES/Memcache.po29
-rw-r--r--plugins/Memcache/locale/fr/LC_MESSAGES/Memcache.po29
-rw-r--r--plugins/Memcache/locale/ia/LC_MESSAGES/Memcache.po29
-rw-r--r--plugins/Memcache/locale/mk/LC_MESSAGES/Memcache.po29
-rw-r--r--plugins/Memcache/locale/nb/LC_MESSAGES/Memcache.po29
-rw-r--r--plugins/Memcache/locale/nl/LC_MESSAGES/Memcache.po29
-rw-r--r--plugins/Memcache/locale/ru/LC_MESSAGES/Memcache.po30
-rw-r--r--plugins/Memcache/locale/tl/LC_MESSAGES/Memcache.po29
-rw-r--r--plugins/Memcache/locale/uk/LC_MESSAGES/Memcache.po30
-rw-r--r--plugins/Memcached/MemcachedPlugin.php (renamed from plugins/MemcachedPlugin.php)6
-rw-r--r--plugins/Memcached/locale/Memcached.pot22
-rw-r--r--plugins/Memcached/locale/es/LC_MESSAGES/Memcached.po29
-rw-r--r--plugins/Memcached/locale/fr/LC_MESSAGES/Memcached.po29
-rw-r--r--plugins/Memcached/locale/ia/LC_MESSAGES/Memcached.po29
-rw-r--r--plugins/Memcached/locale/mk/LC_MESSAGES/Memcached.po29
-rw-r--r--plugins/Memcached/locale/nb/LC_MESSAGES/Memcached.po29
-rw-r--r--plugins/Memcached/locale/nl/LC_MESSAGES/Memcached.po29
-rw-r--r--plugins/Memcached/locale/ru/LC_MESSAGES/Memcached.po30
-rw-r--r--plugins/Memcached/locale/tl/LC_MESSAGES/Memcached.po29
-rw-r--r--plugins/Memcached/locale/uk/LC_MESSAGES/Memcached.po30
-rw-r--r--plugins/Meteor/MeteorPlugin.php18
-rw-r--r--plugins/Meteor/locale/Meteor.pot33
-rw-r--r--plugins/Meteor/locale/fr/LC_MESSAGES/Meteor.po40
-rw-r--r--plugins/Meteor/locale/ia/LC_MESSAGES/Meteor.po38
-rw-r--r--plugins/Meteor/locale/mk/LC_MESSAGES/Meteor.po38
-rw-r--r--plugins/Meteor/locale/nl/LC_MESSAGES/Meteor.po38
-rw-r--r--plugins/Meteor/locale/tl/LC_MESSAGES/Meteor.po40
-rw-r--r--plugins/Meteor/locale/uk/LC_MESSAGES/Meteor.po41
-rw-r--r--plugins/Minify/MinifyPlugin.php4
-rw-r--r--plugins/Minify/locale/Minify.pot18
-rw-r--r--plugins/Minify/locale/fr/LC_MESSAGES/Minify.po42
-rw-r--r--plugins/Minify/locale/ia/LC_MESSAGES/Minify.po42
-rw-r--r--plugins/Minify/locale/mk/LC_MESSAGES/Minify.po42
-rw-r--r--plugins/Minify/locale/nl/LC_MESSAGES/Minify.po42
-rw-r--r--plugins/Minify/locale/tl/LC_MESSAGES/Minify.po42
-rw-r--r--plugins/Minify/locale/uk/LC_MESSAGES/Minify.po43
-rw-r--r--plugins/Minify/minify.php7
-rw-r--r--plugins/MobileProfile/MobileProfilePlugin.php60
-rw-r--r--plugins/MobileProfile/locale/MobileProfile.pot56
-rw-r--r--plugins/MobileProfile/locale/br/LC_MESSAGES/MobileProfile.po78
-rw-r--r--plugins/MobileProfile/locale/fr/LC_MESSAGES/MobileProfile.po80
-rw-r--r--plugins/MobileProfile/locale/ia/LC_MESSAGES/MobileProfile.po80
-rw-r--r--plugins/MobileProfile/locale/mk/LC_MESSAGES/MobileProfile.po78
-rw-r--r--plugins/MobileProfile/locale/nl/LC_MESSAGES/MobileProfile.po81
-rw-r--r--plugins/MobileProfile/locale/ru/LC_MESSAGES/MobileProfile.po79
-rw-r--r--plugins/MobileProfile/locale/tl/LC_MESSAGES/MobileProfile.po80
-rw-r--r--plugins/MobileProfile/locale/uk/LC_MESSAGES/MobileProfile.po80
-rw-r--r--plugins/MobileProfile/locale/zh_CN/LC_MESSAGES/MobileProfile.po79
-rw-r--r--plugins/NoticeTitle/NoticeTitlePlugin.php55
-rw-r--r--plugins/NoticeTitle/locale/NoticeTitle.pot27
-rw-r--r--plugins/NoticeTitle/locale/br/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/fr/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/ia/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/mk/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/nb/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/nl/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/te/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/tl/LC_MESSAGES/NoticeTitle.po32
-rw-r--r--plugins/NoticeTitle/locale/uk/LC_MESSAGES/NoticeTitle.po33
-rw-r--r--plugins/OStatus/OStatusPlugin.php99
-rw-r--r--plugins/OStatus/actions/groupsalmon.php30
-rw-r--r--plugins/OStatus/actions/ostatusgroup.php8
-rw-r--r--plugins/OStatus/actions/ostatusinit.php22
-rw-r--r--plugins/OStatus/actions/ostatussub.php42
-rw-r--r--plugins/OStatus/actions/ownerxrd.php2
-rw-r--r--plugins/OStatus/actions/pushcallback.php26
-rw-r--r--plugins/OStatus/actions/pushhub.php37
-rw-r--r--plugins/OStatus/actions/usersalmon.php48
-rw-r--r--plugins/OStatus/actions/userxrd.php10
-rw-r--r--plugins/OStatus/classes/FeedSub.php9
-rw-r--r--plugins/OStatus/classes/HubSub.php13
-rw-r--r--plugins/OStatus/classes/Magicsig.php4
-rw-r--r--plugins/OStatus/classes/Ostatus_profile.php136
-rw-r--r--plugins/OStatus/classes/Ostatus_source.php4
-rw-r--r--plugins/OStatus/lib/discovery.php4
-rw-r--r--plugins/OStatus/lib/discoveryhints.php1
-rw-r--r--plugins/OStatus/lib/linkheader.php3
-rw-r--r--plugins/OStatus/lib/magicenvelope.php6
-rw-r--r--plugins/OStatus/lib/ostatusqueuehandler.php1
-rw-r--r--plugins/OStatus/lib/pushinqueuehandler.php1
-rw-r--r--plugins/OStatus/lib/salmon.php5
-rw-r--r--plugins/OStatus/lib/salmonaction.php16
-rw-r--r--plugins/OStatus/lib/xrdaction.php1
-rw-r--r--plugins/OStatus/locale/OStatus.pot584
-rw-r--r--plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po796
-rw-r--r--plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po768
-rw-r--r--plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po771
-rw-r--r--plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po800
-rw-r--r--plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po782
-rw-r--r--plugins/OStatus/scripts/fixup-shadow.php56
-rw-r--r--plugins/OStatus/tests/remote-tests.php6
-rw-r--r--plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php3
-rw-r--r--plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot4
-rw-r--r--plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po28
-rw-r--r--plugins/OpenExternalLinkTarget/locale/fr/LC_MESSAGES/OpenExternalLinkTarget.po28
-rw-r--r--plugins/OpenExternalLinkTarget/locale/ia/LC_MESSAGES/OpenExternalLinkTarget.po28
-rw-r--r--plugins/OpenExternalLinkTarget/locale/mk/LC_MESSAGES/OpenExternalLinkTarget.po27
-rw-r--r--plugins/OpenExternalLinkTarget/locale/nb/LC_MESSAGES/OpenExternalLinkTarget.po28
-rw-r--r--plugins/OpenExternalLinkTarget/locale/nl/LC_MESSAGES/OpenExternalLinkTarget.po28
-rw-r--r--plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po29
-rw-r--r--plugins/OpenExternalLinkTarget/locale/tl/LC_MESSAGES/OpenExternalLinkTarget.po28
-rw-r--r--plugins/OpenExternalLinkTarget/locale/uk/LC_MESSAGES/OpenExternalLinkTarget.po27
-rw-r--r--plugins/OpenID/OpenIDPlugin.php11
-rw-r--r--plugins/OpenID/locale/OpenID.pot335
-rw-r--r--plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po586
-rw-r--r--plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po631
-rw-r--r--plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po619
-rw-r--r--plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po614
-rw-r--r--plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po492
-rw-r--r--plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po633
-rw-r--r--plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po622
-rw-r--r--plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php (renamed from plugins/PiwikAnalyticsPlugin.php)6
-rw-r--r--plugins/PiwikAnalytics/locale/PiwikAnalytics.pot23
-rw-r--r--plugins/PiwikAnalytics/locale/es/LC_MESSAGES/PiwikAnalytics.po30
-rw-r--r--plugins/PiwikAnalytics/locale/fr/LC_MESSAGES/PiwikAnalytics.po30
-rw-r--r--plugins/PiwikAnalytics/locale/ia/LC_MESSAGES/PiwikAnalytics.po30
-rw-r--r--plugins/PiwikAnalytics/locale/mk/LC_MESSAGES/PiwikAnalytics.po30
-rw-r--r--plugins/PiwikAnalytics/locale/nl/LC_MESSAGES/PiwikAnalytics.po30
-rw-r--r--plugins/PiwikAnalytics/locale/ru/LC_MESSAGES/PiwikAnalytics.po31
-rw-r--r--plugins/PiwikAnalytics/locale/tl/LC_MESSAGES/PiwikAnalytics.po30
-rw-r--r--plugins/PiwikAnalytics/locale/uk/LC_MESSAGES/PiwikAnalytics.po31
-rw-r--r--plugins/PostDebug/locale/PostDebug.pot2
-rw-r--r--plugins/PostDebug/locale/es/LC_MESSAGES/PostDebug.po27
-rw-r--r--plugins/PostDebug/locale/fr/LC_MESSAGES/PostDebug.po26
-rw-r--r--plugins/PostDebug/locale/ia/LC_MESSAGES/PostDebug.po28
-rw-r--r--plugins/PostDebug/locale/ja/LC_MESSAGES/PostDebug.po26
-rw-r--r--plugins/PostDebug/locale/mk/LC_MESSAGES/PostDebug.po26
-rw-r--r--plugins/PostDebug/locale/nl/LC_MESSAGES/PostDebug.po26
-rw-r--r--plugins/PostDebug/locale/ru/LC_MESSAGES/PostDebug.po27
-rw-r--r--plugins/PostDebug/locale/tl/LC_MESSAGES/PostDebug.po28
-rw-r--r--plugins/PostDebug/locale/uk/LC_MESSAGES/PostDebug.po27
-rw-r--r--plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php3
-rw-r--r--plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot13
-rw-r--r--plugins/PoweredByStatusNet/locale/br/LC_MESSAGES/PoweredByStatusNet.po38
-rw-r--r--plugins/PoweredByStatusNet/locale/fr/LC_MESSAGES/PoweredByStatusNet.po41
-rw-r--r--plugins/PoweredByStatusNet/locale/gl/LC_MESSAGES/PoweredByStatusNet.po40
-rw-r--r--plugins/PoweredByStatusNet/locale/ia/LC_MESSAGES/PoweredByStatusNet.po40
-rw-r--r--plugins/PoweredByStatusNet/locale/mk/LC_MESSAGES/PoweredByStatusNet.po40
-rw-r--r--plugins/PoweredByStatusNet/locale/nl/LC_MESSAGES/PoweredByStatusNet.po40
-rw-r--r--plugins/PoweredByStatusNet/locale/pt/LC_MESSAGES/PoweredByStatusNet.po40
-rw-r--r--plugins/PoweredByStatusNet/locale/tl/LC_MESSAGES/PoweredByStatusNet.po40
-rw-r--r--plugins/PoweredByStatusNet/locale/uk/LC_MESSAGES/PoweredByStatusNet.po41
-rw-r--r--plugins/PtitUrl/locale/PtitUrl.pot2
-rw-r--r--plugins/PtitUrl/locale/es/LC_MESSAGES/PtitUrl.po28
-rw-r--r--plugins/PtitUrl/locale/fr/LC_MESSAGES/PtitUrl.po29
-rw-r--r--plugins/PtitUrl/locale/ia/LC_MESSAGES/PtitUrl.po28
-rw-r--r--plugins/PtitUrl/locale/ja/LC_MESSAGES/PtitUrl.po27
-rw-r--r--plugins/PtitUrl/locale/mk/LC_MESSAGES/PtitUrl.po29
-rw-r--r--plugins/PtitUrl/locale/nb/LC_MESSAGES/PtitUrl.po27
-rw-r--r--plugins/PtitUrl/locale/nl/LC_MESSAGES/PtitUrl.po29
-rw-r--r--plugins/PtitUrl/locale/ru/LC_MESSAGES/PtitUrl.po28
-rw-r--r--plugins/PtitUrl/locale/tl/LC_MESSAGES/PtitUrl.po29
-rw-r--r--plugins/PtitUrl/locale/uk/LC_MESSAGES/PtitUrl.po29
-rw-r--r--plugins/RSSCloud/LoggingAggregator.php15
-rw-r--r--plugins/RSSCloud/RSSCloudNotifier.php2
-rw-r--r--plugins/RSSCloud/RSSCloudPlugin.php3
-rw-r--r--plugins/RSSCloud/RSSCloudQueueHandler.php1
-rw-r--r--plugins/RSSCloud/RSSCloudRequestNotify.php40
-rw-r--r--plugins/RSSCloud/RSSCloudSubscription.php1
-rw-r--r--plugins/RSSCloud/locale/RSSCloud.pot49
-rw-r--r--plugins/RSSCloud/locale/fr/LC_MESSAGES/RSSCloud.po85
-rw-r--r--plugins/RSSCloud/locale/ia/LC_MESSAGES/RSSCloud.po81
-rw-r--r--plugins/RSSCloud/locale/mk/LC_MESSAGES/RSSCloud.po81
-rw-r--r--plugins/RSSCloud/locale/nl/LC_MESSAGES/RSSCloud.po81
-rw-r--r--plugins/RSSCloud/locale/tl/LC_MESSAGES/RSSCloud.po82
-rw-r--r--plugins/RSSCloud/locale/uk/LC_MESSAGES/RSSCloud.po81
-rw-r--r--plugins/Recaptcha/RecaptchaPlugin.php10
-rw-r--r--plugins/Recaptcha/locale/Recaptcha.pot12
-rw-r--r--plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po39
-rw-r--r--plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po38
-rw-r--r--plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po38
-rw-r--r--plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po38
-rw-r--r--plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po38
-rw-r--r--plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po38
-rw-r--r--plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po39
-rw-r--r--plugins/RegisterThrottle/RegisterThrottlePlugin.php5
-rw-r--r--plugins/RegisterThrottle/Registration_ip.php6
-rw-r--r--plugins/RegisterThrottle/locale/RegisterThrottle.pot14
-rw-r--r--plugins/RegisterThrottle/locale/fr/LC_MESSAGES/RegisterThrottle.po41
-rw-r--r--plugins/RegisterThrottle/locale/ia/LC_MESSAGES/RegisterThrottle.po38
-rw-r--r--plugins/RegisterThrottle/locale/mk/LC_MESSAGES/RegisterThrottle.po38
-rw-r--r--plugins/RegisterThrottle/locale/nl/LC_MESSAGES/RegisterThrottle.po39
-rw-r--r--plugins/RegisterThrottle/locale/tl/LC_MESSAGES/RegisterThrottle.po40
-rw-r--r--plugins/RegisterThrottle/locale/uk/LC_MESSAGES/RegisterThrottle.po39
-rw-r--r--plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php1
-rw-r--r--plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot8
-rw-r--r--plugins/RequireValidatedEmail/locale/fr/LC_MESSAGES/RequireValidatedEmail.po38
-rw-r--r--plugins/RequireValidatedEmail/locale/ia/LC_MESSAGES/RequireValidatedEmail.po38
-rw-r--r--plugins/RequireValidatedEmail/locale/mk/LC_MESSAGES/RequireValidatedEmail.po40
-rw-r--r--plugins/RequireValidatedEmail/locale/nl/LC_MESSAGES/RequireValidatedEmail.po38
-rw-r--r--plugins/RequireValidatedEmail/locale/tl/LC_MESSAGES/RequireValidatedEmail.po39
-rw-r--r--plugins/RequireValidatedEmail/locale/uk/LC_MESSAGES/RequireValidatedEmail.po41
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot2
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/fr/LC_MESSAGES/ReverseUsernameAuthentication.po32
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/ia/LC_MESSAGES/ReverseUsernameAuthentication.po32
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/ja/LC_MESSAGES/ReverseUsernameAuthentication.po32
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/mk/LC_MESSAGES/ReverseUsernameAuthentication.po32
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/nl/LC_MESSAGES/ReverseUsernameAuthentication.po32
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/tl/LC_MESSAGES/ReverseUsernameAuthentication.po33
-rw-r--r--plugins/ReverseUsernameAuthentication/locale/uk/LC_MESSAGES/ReverseUsernameAuthentication.po33
-rw-r--r--plugins/Sample/SamplePlugin.php8
-rw-r--r--plugins/Sample/User_greeting_count.php16
-rw-r--r--plugins/Sample/hello.php8
-rw-r--r--plugins/Sample/locale/Sample.pot33
-rw-r--r--plugins/Sample/locale/br/LC_MESSAGES/Sample.po69
-rw-r--r--plugins/Sample/locale/fr/LC_MESSAGES/Sample.po72
-rw-r--r--plugins/Sample/locale/ia/LC_MESSAGES/Sample.po71
-rw-r--r--plugins/Sample/locale/mk/LC_MESSAGES/Sample.po70
-rw-r--r--plugins/Sample/locale/nl/LC_MESSAGES/Sample.po70
-rw-r--r--plugins/Sample/locale/tl/LC_MESSAGES/Sample.po71
-rw-r--r--plugins/Sample/locale/uk/LC_MESSAGES/Sample.po71
-rw-r--r--plugins/Sample/locale/zh_CN/LC_MESSAGES/Sample.po69
-rw-r--r--plugins/ShareNotice/ShareNoticePlugin.php223
-rw-r--r--plugins/ShareNotice/css/README9
-rw-r--r--plugins/ShareNotice/css/icon-facebook.pngbin0 -> 312 bytes
-rw-r--r--plugins/ShareNotice/css/icon-share.pngbin0 -> 3838 bytes
-rw-r--r--plugins/ShareNotice/css/icon-statusnet.pngbin0 -> 488 bytes
-rw-r--r--plugins/ShareNotice/css/icon-twitter.pngbin0 -> 469 bytes
-rw-r--r--plugins/ShareNotice/css/sharenotice.css23
-rw-r--r--plugins/ShareNotice/locale/ShareNotice.pot48
-rw-r--r--plugins/ShareNotice/locale/ia/LC_MESSAGES/ShareNotice.po55
-rw-r--r--plugins/ShareNotice/locale/mk/LC_MESSAGES/ShareNotice.po55
-rw-r--r--plugins/ShareNotice/locale/nl/LC_MESSAGES/ShareNotice.po56
-rw-r--r--plugins/ShareNotice/locale/tl/LC_MESSAGES/ShareNotice.po55
-rw-r--r--plugins/ShareNotice/locale/uk/LC_MESSAGES/ShareNotice.po56
-rw-r--r--plugins/SimpleUrl/locale/SimpleUrl.pot2
-rw-r--r--plugins/SimpleUrl/locale/es/LC_MESSAGES/SimpleUrl.po28
-rw-r--r--plugins/SimpleUrl/locale/fr/LC_MESSAGES/SimpleUrl.po29
-rw-r--r--plugins/SimpleUrl/locale/ia/LC_MESSAGES/SimpleUrl.po28
-rw-r--r--plugins/SimpleUrl/locale/ja/LC_MESSAGES/SimpleUrl.po27
-rw-r--r--plugins/SimpleUrl/locale/mk/LC_MESSAGES/SimpleUrl.po29
-rw-r--r--plugins/SimpleUrl/locale/nb/LC_MESSAGES/SimpleUrl.po27
-rw-r--r--plugins/SimpleUrl/locale/nl/LC_MESSAGES/SimpleUrl.po29
-rw-r--r--plugins/SimpleUrl/locale/ru/LC_MESSAGES/SimpleUrl.po28
-rw-r--r--plugins/SimpleUrl/locale/tl/LC_MESSAGES/SimpleUrl.po29
-rw-r--r--plugins/SimpleUrl/locale/uk/LC_MESSAGES/SimpleUrl.po29
-rw-r--r--plugins/Sitemap/SitemapPlugin.php34
-rw-r--r--plugins/Sitemap/Sitemap_notice_count.php9
-rw-r--r--plugins/Sitemap/Sitemap_user_count.php7
-rw-r--r--plugins/Sitemap/noticesitemap.php1
-rw-r--r--plugins/Sitemap/sitemapaction.php2
-rw-r--r--plugins/Sitemap/sitemapadminpanel.php45
-rw-r--r--plugins/Sitemap/sitemapindex.php2
-rw-r--r--plugins/Sitemap/usersitemap.php1
-rw-r--r--plugins/SlicedFavorites/SlicedFavoritesPlugin.php133
-rw-r--r--plugins/SlicedFavorites/favoritedsliceaction.php153
-rw-r--r--plugins/SlicedFavorites/locale/SlicedFavorites.pot27
-rw-r--r--plugins/SlicedFavorites/locale/ia/LC_MESSAGES/SlicedFavorites.po32
-rw-r--r--plugins/SlicedFavorites/locale/mk/LC_MESSAGES/SlicedFavorites.po34
-rw-r--r--plugins/SlicedFavorites/locale/nl/LC_MESSAGES/SlicedFavorites.po34
-rw-r--r--plugins/SlicedFavorites/locale/tl/LC_MESSAGES/SlicedFavorites.po34
-rw-r--r--plugins/SlicedFavorites/locale/uk/LC_MESSAGES/SlicedFavorites.po33
-rw-r--r--plugins/SphinxSearch/SphinxSearchPlugin.php30
-rwxr-xr-xplugins/SphinxSearch/scripts/gen_config.php2
-rwxr-xr-xplugins/SphinxSearch/scripts/index_update.php8
-rw-r--r--plugins/SphinxSearch/scripts/sphinx-utils.php1
-rw-r--r--plugins/SphinxSearch/sphinxsearch.php4
-rw-r--r--plugins/Spotify/SpotifyPlugin.php (renamed from plugins/SpotifyPlugin.php)0
-rw-r--r--plugins/SubMirror/SubMirrorPlugin.php6
-rw-r--r--plugins/SubMirror/actions/addmirror.php2
-rw-r--r--plugins/SubMirror/actions/basemirror.php15
-rw-r--r--plugins/SubMirror/actions/editmirror.php5
-rw-r--r--plugins/SubMirror/actions/mirrorsettings.php7
-rw-r--r--plugins/SubMirror/classes/SubMirror.php10
-rw-r--r--plugins/SubMirror/lib/addmirrorform.php10
-rw-r--r--plugins/SubMirror/lib/editmirrorform.php9
-rw-r--r--plugins/SubMirror/lib/mirrorqueuehandler.php9
-rw-r--r--plugins/SubMirror/locale/SubMirror.pot130
-rw-r--r--plugins/SubMirror/locale/fr/LC_MESSAGES/SubMirror.po141
-rw-r--r--plugins/SubMirror/locale/ia/LC_MESSAGES/SubMirror.po139
-rw-r--r--plugins/SubMirror/locale/mk/LC_MESSAGES/SubMirror.po139
-rw-r--r--plugins/SubMirror/locale/nl/LC_MESSAGES/SubMirror.po141
-rw-r--r--plugins/SubMirror/locale/tl/LC_MESSAGES/SubMirror.po139
-rw-r--r--plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po140
-rw-r--r--plugins/SubscriptionThrottle/SubscriptionThrottlePlugin.php (renamed from plugins/SubscriptionThrottlePlugin.php)0
-rw-r--r--plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot21
-rw-r--r--plugins/SubscriptionThrottle/locale/es/LC_MESSAGES/SubscriptionThrottle.po27
-rw-r--r--plugins/SubscriptionThrottle/locale/fr/LC_MESSAGES/SubscriptionThrottle.po26
-rw-r--r--plugins/SubscriptionThrottle/locale/ia/LC_MESSAGES/SubscriptionThrottle.po26
-rw-r--r--plugins/SubscriptionThrottle/locale/mk/LC_MESSAGES/SubscriptionThrottle.po26
-rw-r--r--plugins/SubscriptionThrottle/locale/nb/LC_MESSAGES/SubscriptionThrottle.po26
-rw-r--r--plugins/SubscriptionThrottle/locale/nl/LC_MESSAGES/SubscriptionThrottle.po26
-rw-r--r--plugins/SubscriptionThrottle/locale/ru/LC_MESSAGES/SubscriptionThrottle.po27
-rw-r--r--plugins/SubscriptionThrottle/locale/tl/LC_MESSAGES/SubscriptionThrottle.po28
-rw-r--r--plugins/SubscriptionThrottle/locale/uk/LC_MESSAGES/SubscriptionThrottle.po30
-rw-r--r--plugins/TabFocus/TabFocusPlugin.php2
-rw-r--r--plugins/TabFocus/locale/TabFocus.pot4
-rw-r--r--plugins/TabFocus/locale/es/LC_MESSAGES/TabFocus.po32
-rw-r--r--plugins/TabFocus/locale/fr/LC_MESSAGES/TabFocus.po32
-rw-r--r--plugins/TabFocus/locale/ia/LC_MESSAGES/TabFocus.po32
-rw-r--r--plugins/TabFocus/locale/mk/LC_MESSAGES/TabFocus.po32
-rw-r--r--plugins/TabFocus/locale/nb/LC_MESSAGES/TabFocus.po32
-rw-r--r--plugins/TabFocus/locale/nl/LC_MESSAGES/TabFocus.po33
-rw-r--r--plugins/TabFocus/locale/ru/LC_MESSAGES/TabFocus.po33
-rw-r--r--plugins/TabFocus/locale/tl/LC_MESSAGES/TabFocus.po32
-rw-r--r--plugins/TabFocus/locale/uk/LC_MESSAGES/TabFocus.po33
-rw-r--r--plugins/Template/TemplatePlugin.php (renamed from plugins/TemplatePlugin.php)0
-rw-r--r--plugins/TightUrl/locale/TightUrl.pot2
-rw-r--r--plugins/TightUrl/locale/es/LC_MESSAGES/TightUrl.po28
-rw-r--r--plugins/TightUrl/locale/fr/LC_MESSAGES/TightUrl.po29
-rw-r--r--plugins/TightUrl/locale/ia/LC_MESSAGES/TightUrl.po28
-rw-r--r--plugins/TightUrl/locale/ja/LC_MESSAGES/TightUrl.po27
-rw-r--r--plugins/TightUrl/locale/mk/LC_MESSAGES/TightUrl.po29
-rw-r--r--plugins/TightUrl/locale/nb/LC_MESSAGES/TightUrl.po27
-rw-r--r--plugins/TightUrl/locale/nl/LC_MESSAGES/TightUrl.po29
-rw-r--r--plugins/TightUrl/locale/ru/LC_MESSAGES/TightUrl.po28
-rw-r--r--plugins/TightUrl/locale/tl/LC_MESSAGES/TightUrl.po29
-rw-r--r--plugins/TightUrl/locale/uk/LC_MESSAGES/TightUrl.po29
-rw-r--r--plugins/TinyMCE/TinyMCEPlugin.php42
-rw-r--r--plugins/TinyMCE/locale/TinyMCE.pot21
-rw-r--r--plugins/TinyMCE/locale/es/LC_MESSAGES/TinyMCE.po28
-rw-r--r--plugins/TinyMCE/locale/fr/LC_MESSAGES/TinyMCE.po28
-rw-r--r--plugins/TinyMCE/locale/ia/LC_MESSAGES/TinyMCE.po28
-rw-r--r--plugins/TinyMCE/locale/mk/LC_MESSAGES/TinyMCE.po28
-rw-r--r--plugins/TinyMCE/locale/nb/LC_MESSAGES/TinyMCE.po27
-rw-r--r--plugins/TinyMCE/locale/nl/LC_MESSAGES/TinyMCE.po26
-rw-r--r--plugins/TinyMCE/locale/pt_BR/LC_MESSAGES/TinyMCE.po28
-rw-r--r--plugins/TinyMCE/locale/ru/LC_MESSAGES/TinyMCE.po28
-rw-r--r--plugins/TinyMCE/locale/tl/LC_MESSAGES/TinyMCE.po28
-rw-r--r--plugins/TinyMCE/locale/uk/LC_MESSAGES/TinyMCE.po29
-rw-r--r--plugins/TwitterBridge/TwitterBridgePlugin.php14
-rw-r--r--plugins/TwitterBridge/Twitter_synch_status.php10
-rwxr-xr-xplugins/TwitterBridge/daemons/synctwitterfriends.php7
-rwxr-xr-xplugins/TwitterBridge/daemons/twitterstatusfetcher.php48
-rw-r--r--plugins/TwitterBridge/locale/TwitterBridge.pot237
-rw-r--r--plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po410
-rw-r--r--plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po400
-rw-r--r--plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po403
-rw-r--r--plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po410
-rw-r--r--plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po384
-rw-r--r--plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po406
-rw-r--r--plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po388
-rw-r--r--plugins/TwitterBridge/twitter.php20
-rw-r--r--plugins/TwitterBridge/twitteradminpanel.php14
-rw-r--r--plugins/TwitterBridge/twitterauthorization.php59
-rw-r--r--plugins/TwitterBridge/twitterlogin.php9
-rw-r--r--plugins/TwitterBridge/twitteroauthclient.php31
-rw-r--r--plugins/TwitterBridge/twittersettings.php11
-rw-r--r--plugins/UserFlag/UserFlagPlugin.php37
-rw-r--r--plugins/UserFlag/User_flag_profile.php10
-rw-r--r--plugins/UserFlag/adminprofileflag.php36
-rw-r--r--plugins/UserFlag/clearflag.php13
-rw-r--r--plugins/UserFlag/clearflagform.php10
-rw-r--r--plugins/UserFlag/flagprofile.php15
-rw-r--r--plugins/UserFlag/flagprofileform.php11
-rw-r--r--plugins/UserFlag/locale/UserFlag.pot108
-rw-r--r--plugins/UserLimit/UserLimitPlugin.php (renamed from plugins/UserLimitPlugin.php)0
-rw-r--r--plugins/UserLimit/locale/UserLimit.pot21
-rw-r--r--plugins/UserLimit/locale/de/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/es/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/fr/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/ia/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/mk/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/nb/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/nl/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/pt_BR/LC_MESSAGES/UserLimit.po27
-rw-r--r--plugins/UserLimit/locale/ru/LC_MESSAGES/UserLimit.po28
-rw-r--r--plugins/UserLimit/locale/tl/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/tr/LC_MESSAGES/UserLimit.po26
-rw-r--r--plugins/UserLimit/locale/uk/LC_MESSAGES/UserLimit.po27
-rw-r--r--plugins/WikiHashtags/WikiHashtagsPlugin.php (renamed from plugins/WikiHashtagsPlugin.php)0
-rw-r--r--plugins/WikiHashtags/locale/WikiHashtags.pot23
-rw-r--r--plugins/WikiHashtags/locale/fr/LC_MESSAGES/WikiHashtags.po30
-rw-r--r--plugins/WikiHashtags/locale/ia/LC_MESSAGES/WikiHashtags.po30
-rw-r--r--plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po30
-rw-r--r--plugins/WikiHashtags/locale/nb/LC_MESSAGES/WikiHashtags.po30
-rw-r--r--plugins/WikiHashtags/locale/nl/LC_MESSAGES/WikiHashtags.po30
-rw-r--r--plugins/WikiHashtags/locale/pt_BR/LC_MESSAGES/WikiHashtags.po31
-rw-r--r--plugins/WikiHashtags/locale/ru/LC_MESSAGES/WikiHashtags.po31
-rw-r--r--plugins/WikiHashtags/locale/tl/LC_MESSAGES/WikiHashtags.po30
-rw-r--r--plugins/WikiHashtags/locale/tr/LC_MESSAGES/WikiHashtags.po30
-rw-r--r--plugins/WikiHashtags/locale/uk/LC_MESSAGES/WikiHashtags.po31
-rw-r--r--plugins/WikiHowProfile/WikiHowProfilePlugin.php17
-rw-r--r--plugins/WikiHowProfile/locale/WikiHowProfile.pot33
-rw-r--r--plugins/WikiHowProfile/locale/fr/LC_MESSAGES/WikiHowProfile.po40
-rw-r--r--plugins/WikiHowProfile/locale/ia/LC_MESSAGES/WikiHowProfile.po40
-rw-r--r--plugins/WikiHowProfile/locale/mk/LC_MESSAGES/WikiHowProfile.po40
-rw-r--r--plugins/WikiHowProfile/locale/nl/LC_MESSAGES/WikiHowProfile.po40
-rw-r--r--plugins/WikiHowProfile/locale/ru/LC_MESSAGES/WikiHowProfile.po41
-rw-r--r--plugins/WikiHowProfile/locale/tl/LC_MESSAGES/WikiHowProfile.po40
-rw-r--r--plugins/WikiHowProfile/locale/tr/LC_MESSAGES/WikiHowProfile.po40
-rw-r--r--plugins/WikiHowProfile/locale/uk/LC_MESSAGES/WikiHowProfile.po41
-rw-r--r--plugins/XCache/XCachePlugin.php (renamed from plugins/XCachePlugin.php)0
-rw-r--r--plugins/XCache/locale/XCache.pot23
-rw-r--r--plugins/XCache/locale/br/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/es/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/fr/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/ia/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/mk/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/nb/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/nl/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/ru/LC_MESSAGES/XCache.po31
-rw-r--r--plugins/XCache/locale/tl/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/tr/LC_MESSAGES/XCache.po30
-rw-r--r--plugins/XCache/locale/uk/LC_MESSAGES/XCache.po31
-rw-r--r--plugins/YammerImport/README182
-rw-r--r--plugins/YammerImport/YammerImportPlugin.php146
-rw-r--r--plugins/YammerImport/actions/yammeradminpanel.php187
-rw-r--r--plugins/YammerImport/actions/yammerauth.php79
-rw-r--r--plugins/YammerImport/classes/Yammer_common.php165
-rw-r--r--plugins/YammerImport/classes/Yammer_group.php79
-rw-r--r--plugins/YammerImport/classes/Yammer_notice.php79
-rw-r--r--plugins/YammerImport/classes/Yammer_notice_stub.php183
-rw-r--r--plugins/YammerImport/classes/Yammer_state.php156
-rw-r--r--plugins/YammerImport/classes/Yammer_user.php79
-rw-r--r--plugins/YammerImport/css/admin.css61
-rw-r--r--plugins/YammerImport/css/done.pngbin0 -> 991 bytes
-rw-r--r--plugins/YammerImport/css/icon_processing.gifbin0 -> 673 bytes
-rw-r--r--plugins/YammerImport/lib/sn_yammerclient.php246
-rw-r--r--plugins/YammerImport/lib/yammerapikeyform.php112
-rw-r--r--plugins/YammerImport/lib/yammerauthinitform.php76
-rw-r--r--plugins/YammerImport/lib/yammerauthverifyform.php111
-rw-r--r--plugins/YammerImport/lib/yammerimporter.php491
-rw-r--r--plugins/YammerImport/lib/yammerprogressform.php168
-rw-r--r--plugins/YammerImport/lib/yammerqueuehandler.php61
-rw-r--r--plugins/YammerImport/lib/yammerrunner.php438
-rw-r--r--plugins/YammerImport/locale/YammerImport.pot264
-rw-r--r--plugins/YammerImport/locale/fr/LC_MESSAGES/YammerImport.po282
-rw-r--r--plugins/YammerImport/locale/ia/LC_MESSAGES/YammerImport.po282
-rw-r--r--plugins/YammerImport/locale/mk/LC_MESSAGES/YammerImport.po281
-rw-r--r--plugins/YammerImport/locale/nl/LC_MESSAGES/YammerImport.po283
-rw-r--r--plugins/YammerImport/locale/tr/LC_MESSAGES/YammerImport.po260
-rw-r--r--plugins/YammerImport/locale/uk/LC_MESSAGES/YammerImport.po291
-rw-r--r--plugins/YammerImport/scripts/yammer-import.php65
841 files changed, 50604 insertions, 2121 deletions
diff --git a/plugins/APCPlugin.php b/plugins/APC/APCPlugin.php
index 666f64b14..006977900 100644
--- a/plugins/APCPlugin.php
+++ b/plugins/APC/APCPlugin.php
@@ -116,4 +116,3 @@ class APCPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/APC/locale/APC.pot b/plugins/APC/locale/APC.pot
new file mode 100644
index 000000000..9343ee5ed
--- /dev/null
+++ b/plugins/APC/locale/APC.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
diff --git a/plugins/APC/locale/br/LC_MESSAGES/APC.po b/plugins/APC/locale/br/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..6aab6d578
--- /dev/null
+++ b/plugins/APC/locale/br/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Fulup
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Ober gant an <a href=\"http://pecl.php.net/package/apc\">APC</a> grubuilh "
+"kemm-digemm evit krubuilhañ disoc'hoù ar rekedoù."
diff --git a/plugins/APC/locale/es/LC_MESSAGES/APC.po b/plugins/APC/locale/es/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..e3b8ec8b2
--- /dev/null
+++ b/plugins/APC/locale/es/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Usa el caché de variable <a href=\"http://pecl.php.net/package/apc\">APC</a> "
+"para copiar en caché los resultados de consulta."
diff --git a/plugins/APC/locale/fr/LC_MESSAGES/APC.po b/plugins/APC/locale/fr/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..92f342b37
--- /dev/null
+++ b/plugins/APC/locale/fr/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Utilisez le cache variable <a href=\"http://pecl.php.net/package/apc\">APC</"
+"a> pour mettre en cache les résultats de requêtes."
diff --git a/plugins/APC/locale/gl/LC_MESSAGES/APC.po b/plugins/APC/locale/gl/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..67305afc1
--- /dev/null
+++ b/plugins/APC/locale/gl/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Galician (Galego)
+# Expored from translatewiki.net
+#
+# Author: Toliño
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: gl\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Use a caché variable <a href=\"http://pecl.php.net/package/apc\">APC</a> "
+"para memorizar os resultados da pescuda."
diff --git a/plugins/APC/locale/ia/LC_MESSAGES/APC.po b/plugins/APC/locale/ia/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..14a183261
--- /dev/null
+++ b/plugins/APC/locale/ia/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Usar le cache de variabiles <a href=\"http://pecl.php.net/package/apc\">APC</"
+"a> pro immagazinar le resultatos de consultas."
diff --git a/plugins/APC/locale/mk/LC_MESSAGES/APC.po b/plugins/APC/locale/mk/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..088acc9b0
--- /dev/null
+++ b/plugins/APC/locale/mk/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Користи променлив кеш <a href=\"http://pecl.php.net/package/apc\">APC</a> за "
+"кеширање на резултати од барања."
diff --git a/plugins/APC/locale/nb/LC_MESSAGES/APC.po b/plugins/APC/locale/nb/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..5e3f15b5a
--- /dev/null
+++ b/plugins/APC/locale/nb/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Bruk <a href=\"http://pecl.php.net/package/apc\">APC</a>-"
+"variabelhurtiglagring til å hurtiglagre søkeresultat."
diff --git a/plugins/APC/locale/nl/LC_MESSAGES/APC.po b/plugins/APC/locale/nl/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..c65407320
--- /dev/null
+++ b/plugins/APC/locale/nl/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"De variabelencache <a href=\"http://pecl.php.net/package/apc\">APC</a> "
+"gebruiken op resultaten van zoekopdrachten te cachen."
diff --git a/plugins/APC/locale/pl/LC_MESSAGES/APC.po b/plugins/APC/locale/pl/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..392a20411
--- /dev/null
+++ b/plugins/APC/locale/pl/LC_MESSAGES/APC.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - APC to Polish (Polski)
+# Expored from translatewiki.net
+#
+# Author: Sp5uhe
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Polish <http://translatewiki.net/wiki/Portal:pl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pl\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ( (n%10 >= 2 && n%10 <= 4 && "
+"(n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Korzystaj z <a href=\"http://pecl.php.net/package/apc\">APC</a> pamięci "
+"podręcznej zmiennych do przechowywania wyników zapytań."
diff --git a/plugins/APC/locale/pt/LC_MESSAGES/APC.po b/plugins/APC/locale/pt/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..1198fefcb
--- /dev/null
+++ b/plugins/APC/locale/pt/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Portuguese (Português)
+# Expored from translatewiki.net
+#
+# Author: Waldir
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Usar o <a href=\"http://pecl.php.net/package/apc\">APC</a> para armazenar "
+"resultados de consultas em cache."
diff --git a/plugins/APC/locale/pt_BR/LC_MESSAGES/APC.po b/plugins/APC/locale/pt_BR/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..2aeb21ab0
--- /dev/null
+++ b/plugins/APC/locale/pt_BR/LC_MESSAGES/APC.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - APC to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Giro720
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Usar o <a href=\"http://pecl.php.net/package/apc\">APC</a> para armazenar "
+"resultados de consultas em cache."
diff --git a/plugins/APC/locale/ru/LC_MESSAGES/APC.po b/plugins/APC/locale/ru/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..7996ea2f4
--- /dev/null
+++ b/plugins/APC/locale/ru/LC_MESSAGES/APC.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - APC to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Использование кеша переменных <a href=\"http://pecl.php.net/package/apc"
+"\">APC</a> для хранения результатов запросов."
diff --git a/plugins/APC/locale/tl/LC_MESSAGES/APC.po b/plugins/APC/locale/tl/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..690be13bd
--- /dev/null
+++ b/plugins/APC/locale/tl/LC_MESSAGES/APC.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - APC to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Gamitin ang pabagubagong taguan ng <a href=\"http://pecl.php.net/package/apc"
+"\">APC</a> upang ikubli ang resulta ng pagtatanong."
diff --git a/plugins/APC/locale/uk/LC_MESSAGES/APC.po b/plugins/APC/locale/uk/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..f363d29c4
--- /dev/null
+++ b/plugins/APC/locale/uk/LC_MESSAGES/APC.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - APC to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"Використання <a href=\"http://pecl.php.net/package/apc\">APC</a> для "
+"різноманітних запитів до кешу."
diff --git a/plugins/APC/locale/zh_CN/LC_MESSAGES/APC.po b/plugins/APC/locale/zh_CN/LC_MESSAGES/APC.po
new file mode 100644
index 000000000..7c27e264c
--- /dev/null
+++ b/plugins/APC/locale/zh_CN/LC_MESSAGES/APC.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - APC to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - APC\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-apc\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: APCPlugin.php:115
+msgid ""
+"Use the <a href=\"http://pecl.php.net/package/apc\">APC</a> variable cache "
+"to cache query results."
+msgstr ""
+"使用 <a href=\"http://pecl.php.net/package/apc\">APC</a> 变量缓存来缓存查询结"
+"果。"
diff --git a/plugins/Adsense/AdsensePlugin.php b/plugins/Adsense/AdsensePlugin.php
index cd6fc3503..3d733e150 100644
--- a/plugins/Adsense/AdsensePlugin.php
+++ b/plugins/Adsense/AdsensePlugin.php
@@ -77,7 +77,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso UAPPlugin
*/
-
class AdsensePlugin extends UAPPlugin
{
public $adScript = 'http://pagead2.googlesyndication.com/pagead/show_ads.js';
@@ -89,7 +88,6 @@ class AdsensePlugin extends UAPPlugin
// A little bit of chicanery so we avoid overwriting values that
// are passed in with the constructor
-
foreach (array('mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper', 'adScript', 'client') as $setting) {
$value = common_config('adsense', strtolower($setting));
if (!empty($value)) { // not found
@@ -105,7 +103,6 @@ class AdsensePlugin extends UAPPlugin
*
* @return void
*/
-
protected function showMediumRectangle($action)
{
$this->showAdsenseCode($action, 300, 250, $this->mediumRectangle);
@@ -118,7 +115,6 @@ class AdsensePlugin extends UAPPlugin
*
* @return void
*/
-
protected function showRectangle($action)
{
$this->showAdsenseCode($action, 180, 150, $this->rectangle);
@@ -131,7 +127,6 @@ class AdsensePlugin extends UAPPlugin
*
* @return void
*/
-
protected function showWideSkyscraper($action)
{
$this->showAdsenseCode($action, 160, 600, $this->wideSkyscraper);
@@ -144,7 +139,6 @@ class AdsensePlugin extends UAPPlugin
*
* @return void
*/
-
protected function showLeaderboard($action)
{
$this->showAdsenseCode($action, 728, 90, $this->leaderboard);
@@ -160,7 +154,6 @@ class AdsensePlugin extends UAPPlugin
*
* @return void
*/
-
protected function showAdsenseCode($action, $width, $height, $slot)
{
$code = 'google_ad_client = "'.$this->client.'"; ';
@@ -198,11 +191,22 @@ class AdsensePlugin extends UAPPlugin
function onEndAdminPanelNav($menu) {
if (AdminPanelAction::canAdmin('adsense')) {
// TRANS: Menu item title/tooltip
- $menu_title = _('Adsense configuration');
+ $menu_title = _m('AdSense configuration');
// TRANS: Menu item for site administration
- $menu->out->menuItem(common_local_url('adsenseadminpanel'), _('Adsense'),
+ $menu->out->menuItem(common_local_url('adsenseadminpanel'), _m('AdSense'),
$menu_title, $action_name == 'adsenseadminpanel', 'nav_adsense_admin_panel');
}
return true;
}
-} \ No newline at end of file
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'BlankAdPlugin',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Adsense',
+ 'rawdescription' =>
+ _m('Plugin to add Google Adsense to StatusNet sites.'));
+ return true;
+ }
+}
diff --git a/plugins/Adsense/adsenseadminpanel.php b/plugins/Adsense/adsenseadminpanel.php
index 7b99cf805..110cc9e2b 100644
--- a/plugins/Adsense/adsenseadminpanel.php
+++ b/plugins/Adsense/adsenseadminpanel.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class AdsenseadminpanelAction extends AdminPanelAction
{
/**
@@ -48,10 +47,9 @@ class AdsenseadminpanelAction extends AdminPanelAction
*
* @return string page title
*/
-
function title()
{
- return _('Adsense');
+ return _m('TITLE', 'AdSense');
}
/**
@@ -59,10 +57,9 @@ class AdsenseadminpanelAction extends AdminPanelAction
*
* @return string instructions
*/
-
function getInstructions()
{
- return _('Adsense settings for this StatusNet site');
+ return _m('AdSense settings for this StatusNet site');
}
/**
@@ -70,7 +67,6 @@ class AdsenseadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function showForm()
{
$form = new AdsenseAdminPanelForm($this);
@@ -83,7 +79,6 @@ class AdsenseadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function saveSettings()
{
static $settings = array('adsense' => array('adScript', 'client', 'mediumRectangle', 'rectangle', 'leaderboard', 'wideSkyscraper'));
@@ -97,11 +92,9 @@ class AdsenseadminpanelAction extends AdminPanelAction
}
// This throws an exception on validation errors
-
$this->validate($values);
// assert(all values are valid);
-
$config = new Config();
$config->query('BEGIN');
@@ -125,7 +118,6 @@ class AdsenseadminpanelAction extends AdminPanelAction
/**
* Form for the adsense admin panel
*/
-
class AdsenseAdminPanelForm extends AdminForm
{
/**
@@ -133,7 +125,6 @@ class AdsenseAdminPanelForm extends AdminForm
*
* @return int ID of the form
*/
-
function id()
{
return 'form_adsense_admin_panel';
@@ -144,7 +135,6 @@ class AdsenseAdminPanelForm extends AdminForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_adsense';
@@ -155,7 +145,6 @@ class AdsenseAdminPanelForm extends AdminForm
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('adsenseadminpanel');
@@ -166,45 +155,44 @@ class AdsenseAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formData()
{
$this->out->elementStart('fieldset', array('id' => 'adsense_admin'));
$this->out->elementStart('ul', 'form_data');
$this->li();
$this->input('client',
- _('Client ID'),
- _('Google client ID'),
+ _m('Client ID'),
+ _m('Google client ID'),
'adsense');
$this->unli();
$this->li();
$this->input('adScript',
- _('Ad Script URL'),
- _('Script URL (advanced)'),
+ _m('Ad script URL'),
+ _m('Script URL (advanced)'),
'adsense');
$this->unli();
$this->li();
$this->input('mediumRectangle',
- _('Medium rectangle'),
- _('Medium rectangle slot code'),
+ _m('Medium rectangle'),
+ _m('Medium rectangle slot code'),
'adsense');
$this->unli();
$this->li();
$this->input('rectangle',
- _('Rectangle'),
- _('Rectangle slot code'),
+ _m('Rectangle'),
+ _m('Rectangle slot code'),
'adsense');
$this->unli();
$this->li();
$this->input('leaderboard',
- _('Leaderboard'),
- _('Leaderboard slot code'),
+ _m('Leaderboard'),
+ _m('Leaderboard slot code'),
'adsense');
$this->unli();
$this->li();
$this->input('wideSkyscraper',
- _('Skyscraper'),
- _('Wide skyscraper slot code'),
+ _m('Skyscraper'),
+ _m('Wide skyscraper slot code'),
'adsense');
$this->unli();
$this->out->elementEnd('ul');
@@ -215,9 +203,8 @@ class AdsenseAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save AdSense settings'));
+ $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save AdSense settings'));
}
}
diff --git a/plugins/Adsense/locale/Adsense.pot b/plugins/Adsense/locale/Adsense.pot
new file mode 100644
index 000000000..5b64960c8
--- /dev/null
+++ b/plugins/Adsense/locale/Adsense.pot
@@ -0,0 +1,96 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr ""
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr ""
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr ""
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr ""
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr ""
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr ""
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr ""
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr ""
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr ""
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr ""
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr ""
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr ""
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr ""
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr ""
diff --git a/plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..f9a8d4a7a
--- /dev/null
+++ b/plugins/Adsense/locale/es/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:20+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Configuración de \"AdSense\""
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Extensión para añadir Google Adsense a sitios StatusNet."
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "configuración de AdSense para este sitio StatusNet"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "ID de cliente"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "ID de cliente de Google"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "URL del script del anuncio"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "URL del script (avanzado)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Rectángulo mediano"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "Código de espacio de rectángulo mediano"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Rectángulo"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "Código de espacio de rectángulo"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "Clasificación"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "Código de espacio de clasificación"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Banderola rascacielos"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "Código de espacio de banderola rascacielos ancha"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Guardar"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Guardar la configuración de AdSense"
diff --git a/plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..d5df371b7
--- /dev/null
+++ b/plugins/Adsense/locale/fr/LC_MESSAGES/Adsense.po
@@ -0,0 +1,102 @@
+# Translation of StatusNet - Adsense to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Configuration d’AdSense"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Greffon pour ajouter Google Adsense aux sites StatusNet."
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "Paramètres Adsense pour ce site StatusNet"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "Identifiant du client"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "ID client Google"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "URL du script d’annonce"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "URL du script (avancé)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Rectangle moyen"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "Code placé dans un rectangle moyen"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Rectangle"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "Codé placé dans le rectangle"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "Panneau de commande"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "Code placé dans le panneau de commande"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Bannière verticale"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "Code placé dans une bannière verticale large"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Sauvegarder les paramètres AdSense"
diff --git a/plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..e658cb074
--- /dev/null
+++ b/plugins/Adsense/locale/gl/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Galician (Galego)
+# Expored from translatewiki.net
+#
+# Author: Toliño
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: gl\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Configuración de AdSense"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr ""
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "Configuración de AdSense para este sitio StatusNet."
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "Identificación do cliente"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "Identificación do cliente de Google"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr ""
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr ""
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr ""
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Rectángulo"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr ""
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Rañaceos"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Gardar"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Gardar a configuración de AdSense"
diff --git a/plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..1434535cb
--- /dev/null
+++ b/plugins/Adsense/locale/ia/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Configuration de AdSense"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Plug-in pro adder Google Adsense a sitos StatusNet."
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "Configuration de AdSense pro iste sito StatusNet"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "ID de cliente"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "ID de cliente Google"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "URL del script de publicitate"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "URL del script (avantiate)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Rectangulo medie"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "Codice pro interstitio a rectangulo medie"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Rectangulo"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "Codice pro interstitio a rectangulo"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "Bandiera large"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "Codice pro interstitio a bandiera large"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Grattacelo"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "Codice pro interstitio a grattacelo large"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Salveguardar"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Salveguardar configurationes de AdSense"
diff --git a/plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..f9b171875
--- /dev/null
+++ b/plugins/Adsense/locale/it/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Italian (Italiano)
+# Expored from translatewiki.net
+#
+# Author: Milocasagrande
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Italian <http://translatewiki.net/wiki/Portal:it>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: it\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Configurazione AdSene"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Plugin per aggiungere Google Adsense ai siti StatusNet"
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "Impostazioni AdSense per questo sito StatusNet"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "ID client"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "ID client Google"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "URL script Ad"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "URL script (avanzato)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Rettangolo medio"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Rettangolo"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr ""
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr ""
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr ""
diff --git a/plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..003b60c02
--- /dev/null
+++ b/plugins/Adsense/locale/ka/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Georgian (ქართული)
+# Expored from translatewiki.net
+#
+# Author: Zaal
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Georgian <http://translatewiki.net/wiki/Portal:ka>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ka\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "AdSense კონფიგურაცია"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr ""
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "AdSense პარამეტრები ამ საიტისათვის."
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "კლიენტის ID"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "Google კლიენტის ID"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "სარეკლამო სკრიპტის URL"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "სკრიპტის URL (გაფართოებული)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "საშუალო მართკუთხედი"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "მართკუთხედი"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr ""
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr ""
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr ""
diff --git a/plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..fa9e1fe1b
--- /dev/null
+++ b/plugins/Adsense/locale/mk/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Нагодувања на AdSense"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Приклучок за додавање на Google AdSense во мреж. места со StatusNet."
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "Поставки на AdSense за ова мрежно место со StatusNet"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "ID на клиент"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "ID на Google-клиент"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "URL на рекламната скрипта"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "URL на скриптата (напредно)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Среден правоаголник"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "Код на жлебот на средниот правоаголник"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Правоаголник"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "Код на жлебот на правоаголникот"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "Табла на предводници"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "Код на жлебот на таблата на предводници"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Облакодер"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "Код на жлебот на широкиот облакодер"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Зачувај"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Зачувај нагодувања на AdSense"
diff --git a/plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..65197bc02
--- /dev/null
+++ b/plugins/Adsense/locale/nl/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "AdSense-instellingen"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Plug-in om Google AdSense toe te voegen aan Statusnetsites."
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "AdSense-instellingen voor deze StatusNet-website"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "Client-ID"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "Google client-ID"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "URL voor advertentiescript"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "URL voor script (gevorderd)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Gemiddelde rechthoek"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "Slotcode voor gemiddelde rechthoek"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Rechthoek"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "Slotcode voor rechthoek"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "Breedbeeldbanner"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "Slotcode voor breedbeeldbanner"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Skyscraper"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "Slotcode voor brede skyscraper"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Opslaan"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "AdSense-instellingen opslaan"
diff --git a/plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..044ea0bcc
--- /dev/null
+++ b/plugins/Adsense/locale/ru/LC_MESSAGES/Adsense.po
@@ -0,0 +1,103 @@
+# Translation of StatusNet - Adsense to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Lockal
+# Author: Сrower
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Конфигурация AdSense"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Плагин для добавления Google Adsense на сайты StatusNet."
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "Настройки AdSense для этого сайта StatusNet"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "ID клиента"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "ID клиента Google"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "URL-адрес скрипта рекламы"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "URL-адрес скрипта (расширенная настройка)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Средний прямоугольник"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "Слот-код среднего прямоугольника"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Прямоугольник"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "Слот-код прямоугольника"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "Доска лидеров"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "Слот-код доски лидеров"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Небоскреб"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "Слот-код широкого небоскреба"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Сохранить"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Сохранить настройки AdSense"
diff --git a/plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..0f289d433
--- /dev/null
+++ b/plugins/Adsense/locale/sv/LC_MESSAGES/Adsense.po
@@ -0,0 +1,101 @@
+# Translation of StatusNet - Adsense to Swedish (Svenska)
+# Expored from translatewiki.net
+#
+# Author: Jamminjohn
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Swedish <http://translatewiki.net/wiki/Portal:sv>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: sv\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Konfiguration av AdSense"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr ""
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "AdSense-inställningar för denna StatusNet-webbplats"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "Klient-ID"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "Google klient-ID"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr ""
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr ""
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Medium rektangel"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr ""
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr ""
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr ""
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr ""
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Spara"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Spara inställningar för AdSense"
diff --git a/plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..2d71b55aa
--- /dev/null
+++ b/plugins/Adsense/locale/uk/LC_MESSAGES/Adsense.po
@@ -0,0 +1,102 @@
+# Translation of StatusNet - Adsense to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "Конфігурація AdSense"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "Додаток для відображення Google Adsense на сторінці сайту StatusNet."
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "Налаштування AdSense на даному сайті StatusNet"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "ІД клієнта"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "ІД клієнта Google"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "Адреса скрипту AdSense"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "Адреса скрипту (розширена опція)"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "Середній прямокутник"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "Слот-код середнього прямокутника"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "Прямокутник"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "Слот-код прямокутника"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "Дошка лідерів"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "Слот-код дошки лідерів"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "Хмарочос"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "Слот-код хмарочосу"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "Зберегти"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "Зберегти налаштування AdSense"
diff --git a/plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po b/plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po
new file mode 100644
index 000000000..0615bbc7d
--- /dev/null
+++ b/plugins/Adsense/locale/zh_CN/LC_MESSAGES/Adsense.po
@@ -0,0 +1,103 @@
+# Translation of StatusNet - Adsense to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Adsense\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:21+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:11+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-adsense\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. TRANS: Menu item title/tooltip
+#: AdsensePlugin.php:194
+msgid "AdSense configuration"
+msgstr "AdSense配置"
+
+#. TRANS: Menu item for site administration
+#: AdsensePlugin.php:196
+msgid "AdSense"
+msgstr "AdSense"
+
+#: AdsensePlugin.php:209
+msgid "Plugin to add Google Adsense to StatusNet sites."
+msgstr "添加 Google Adsense 到 StatusNet 网站的插件。"
+
+#: adsenseadminpanel.php:52
+msgctxt "TITLE"
+msgid "AdSense"
+msgstr "AdSense"
+
+#: adsenseadminpanel.php:62
+msgid "AdSense settings for this StatusNet site"
+msgstr "这个 StatusNet 网站的 AdSense 设置"
+
+#: adsenseadminpanel.php:164
+msgid "Client ID"
+msgstr "客户ID"
+
+#: adsenseadminpanel.php:165
+msgid "Google client ID"
+msgstr "Google 发布商 ID(例如:pub-1234567890123456)"
+
+#: adsenseadminpanel.php:170
+msgid "Ad script URL"
+msgstr "广告脚本地址"
+
+#: adsenseadminpanel.php:171
+msgid "Script URL (advanced)"
+msgstr "高级脚本地址"
+
+#: adsenseadminpanel.php:176
+msgid "Medium rectangle"
+msgstr "中等矩形"
+
+#: adsenseadminpanel.php:177
+msgid "Medium rectangle slot code"
+msgstr "中等矩形广告代码(#ID)"
+
+#: adsenseadminpanel.php:182
+msgid "Rectangle"
+msgstr "小矩形"
+
+#: adsenseadminpanel.php:183
+msgid "Rectangle slot code"
+msgstr "小矩形广告代码(#ID)"
+
+#: adsenseadminpanel.php:188
+msgid "Leaderboard"
+msgstr "首页横幅"
+
+#: adsenseadminpanel.php:189
+msgid "Leaderboard slot code"
+msgstr "首页横幅广告代码(#ID)"
+
+#: adsenseadminpanel.php:194
+msgid "Skyscraper"
+msgstr "宽幅摩天大楼"
+
+#: adsenseadminpanel.php:195
+msgid "Wide skyscraper slot code"
+msgstr "宽幅摩天大楼广告代码(#ID)"
+
+#: adsenseadminpanel.php:208
+msgid "Save"
+msgstr "保存"
+
+#: adsenseadminpanel.php:208
+msgid "Save AdSense settings"
+msgstr "保存AdSense设置"
diff --git a/plugins/AnonymousFave/AnonymousFavePlugin.php b/plugins/AnonymousFave/AnonymousFavePlugin.php
new file mode 100644
index 000000000..6561114ba
--- /dev/null
+++ b/plugins/AnonymousFave/AnonymousFavePlugin.php
@@ -0,0 +1,292 @@
+<?php
+
+/**
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * A plugin to allow anonymous users to favorite notices
+ *
+ * PHP version 5
+ *
+ * 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 StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ // This check helps protect against security problems;
+ // your code file can't be executed directly from the web.
+ exit(1);
+}
+
+define('ANONYMOUS_FAVE_PLUGIN_VERSION', '0.1');
+
+/**
+ * Anonymous Fave plugin to allow anonymous (not logged in) users
+ * to favorite notices
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ * @link http://status.net/
+ */
+class AnonymousFavePlugin extends Plugin {
+
+ function onArgsInitialize() {
+ // We always want a session because we're tracking anon users
+ common_ensure_session();
+ }
+
+ /**
+ * Hook for ensuring our tables are created
+ *
+ * Ensures the fave_tally table is there and has the right columns
+ *
+ * @return boolean hook return
+ */
+
+ function onCheckSchema()
+ {
+ $schema = Schema::get();
+
+ // For storing total number of times a notice has been faved
+
+ $schema->ensureTable('fave_tally',
+ array(
+ new ColumnDef('notice_id', 'integer', null, false, 'PRI'),
+ new ColumnDef('count', 'integer', null, false),
+ new ColumnDef(
+ 'modified',
+ 'timestamp',
+ null,
+ false,
+ null,
+ 'CURRENT_TIMESTAMP',
+ 'on update CURRENT_TIMESTAMP'
+ )
+ )
+ );
+
+ return true;
+ }
+
+ function onEndShowHTML($action)
+ {
+ if (!common_logged_in()) {
+ // Set a place to return to when submitting forms
+ common_set_returnto($action->selfUrl());
+ }
+ }
+
+ function onEndShowScripts($action)
+ {
+ // Setup ajax calls for favoriting. Usually this is only done when
+ // a user is logged in.
+ $action->inlineScript('SN.U.NoticeFavor();');
+ }
+
+ function onAutoload($cls)
+ {
+ $dir = dirname(__FILE__);
+
+ switch ($cls) {
+ case 'Fave_tally':
+ include_once $dir . '/' . $cls . '.php';
+ return false;
+ case 'AnonFavorAction':
+ include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
+ return false;
+ case 'AnonDisFavorAction':
+ include_once $dir . '/' . strtolower(mb_substr($cls, 0, -6)) . '.php';
+ return false;
+ case 'AnonFavorForm':
+ include_once $dir . '/anonfavorform.php';
+ return false;
+ case 'AnonDisFavorForm':
+ include_once $dir . '/anondisfavorform.php';
+ return false;
+ default:
+ return true;
+ }
+ }
+
+ function onStartInitializeRouter($m) {
+
+ $m->connect('main/anonfavor', array('action' => 'AnonFavor'));
+ $m->connect('main/anondisfavor', array('action' => 'AnonDisFavor'));
+
+ return true;
+ }
+
+ function onStartShowNoticeOptions($item) {
+
+ if (!common_logged_in()) {
+ $item->out->elementStart('div', 'notice-options');
+ $item->showFaveForm();
+ $item->out->elementEnd('div');
+ }
+
+ return true;
+ }
+
+ function onStartShowFaveForm($item) {
+
+ if (!common_logged_in()) {
+
+ $profile = AnonymousFavePlugin::getAnonProfile();
+ if (!empty($profile)) {
+ if ($profile->hasFave($item->notice)) {
+ $disfavor = new AnonDisFavorForm($item->out, $item->notice);
+ $disfavor->show();
+ } else {
+ $favor = new AnonFavorForm($item->out, $item->notice);
+ $favor->show();
+ }
+ }
+ }
+
+ return true;
+ }
+
+ function onEndFavorNoticeForm($form, $notice)
+ {
+ $this->showTally($form->out, $notice);
+ }
+
+ function onEndDisFavorNoticeForm($form, $notice)
+ {
+ $this->showTally($form->out, $notice);
+ }
+
+ function showTally($out, $notice)
+ {
+ $tally = Fave_tally::ensureTally($notice->id);
+
+ if (!empty($tally)) {
+ $out->elementStart(
+ 'div',
+ array(
+ 'id' => 'notice-' . $notice->id . '-tally',
+ 'class' => 'notice-tally'
+ )
+ );
+ // TRANS: Tally for number of times a notice was favored.
+ // TRANS: %d is the number of times a notice was favored.
+ $out->raw(sprintf(_m("favored once", "favored %d times", $tally->count), $tally->count));
+ $out->elementEnd('div');
+ }
+ }
+
+ function onEndFavorNotice($profile, $notice)
+ {
+ $tally = Fave_tally::increment($notice->id);
+ }
+
+ function onEndDisfavorNotice($profile, $notice)
+ {
+ $tally = Fave_tally::decrement($notice->id);
+ }
+
+ static function createAnonProfile() {
+
+ // Get the anon user's IP, and turn it into a nickname
+ list($proxy, $ip) = common_client_ip();
+
+ // IP + time + random number should help to avoid collisions
+ $baseNickname = $ip . '-' . time() . '-' . common_good_rand(5);
+
+ $profile = new Profile();
+ $profile->nickname = $baseNickname;
+ $id = $profile->insert();
+
+ if (!$id) {
+ // TRANS: Server exception.
+ throw new ServerException(_m("Couldn't create anonymous user session."));
+ }
+
+ // Stick the Profile ID into the nickname
+ $orig = clone($profile);
+
+ $profile->nickname = 'anon-' . $id . '-' . $baseNickname;
+ $result = $profile->update($orig);
+
+ if (!$result) {
+ // TRANS: Server exception.
+ throw new ServerException(_m("Couldn't create anonymous user session."));
+ }
+
+ common_log(
+ LOG_INFO,
+ "AnonymousFavePlugin - created profile for anonymous user from IP: "
+ . $ip
+ . ', nickname = '
+ . $profile->nickname
+ );
+
+ return $profile;
+ }
+
+ static function getAnonProfile() {
+
+ $token = $_SESSION['anon_token'];
+ $anon = base64_decode($token);
+
+ $profile = null;
+
+ if (!empty($anon) && substr($anon, 0, 5) == 'anon-') {
+ $parts = explode('-', $anon);
+ $id = $parts[1];
+ // Do Profile lookup by ID instead of nickname for safety/performance
+ $profile = Profile::staticGet('id', $id);
+ } else {
+ $profile = AnonymousFavePlugin::createAnonProfile();
+ // Obfuscate so it's hard to figure out the Profile ID
+ $_SESSION['anon_token'] = base64_encode($profile->nickname);
+ }
+
+ return $profile;
+ }
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:AnonymousFave';
+
+ $versions[] = array('name' => 'AnonymousFave',
+ 'version' => ANONYMOUS_FAVE_PLUGIN_VERSION,
+ 'author' => 'Zach Copley',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('Allow anonymous users to favorite notices.'));
+
+ return true;
+ }
+
+}
diff --git a/plugins/AnonymousFave/Fave_tally.php b/plugins/AnonymousFave/Fave_tally.php
new file mode 100644
index 000000000..f48a1e82b
--- /dev/null
+++ b/plugins/AnonymousFave/Fave_tally.php
@@ -0,0 +1,240 @@
+<?php
+/**
+ * Data class for favorites talley
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
+
+/**
+ * Data class for favorites tally
+ *
+ * A class representing a total number of times a notice has been favored
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+class Fave_tally extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'fave_tally'; // table name
+ public $notice_id; // int(4) primary_key not_null
+ public $count; // int(4) not_null
+ public $modified; // datetime not_null default_0000-00-00%2000%3A00%3A00
+
+ /* Static get */
+ function staticGet($k, $v = NULL) { return Memcached_DataObject::staticGet('Fave_tally', $k, $v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+
+ /**
+ * return table definition for DB_DataObject
+ *
+ * @return array array of column definitions
+ */
+
+ function table()
+ {
+ return array(
+ 'notice_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ 'count' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ 'modified' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL
+ );
+ }
+
+ /**
+ * return key definitions for DB_DataObject
+ *
+ * DB_DataObject needs to know about keys that the table has, since it
+ * won't appear in StatusNet's own keys list. In most cases, this will
+ * simply reference your keyTypes() function.
+ *
+ * @return array list of key field names
+ */
+ function keys()
+ {
+ return array_keys($this->keyTypes());
+ }
+
+ /**
+ * return key definitions for Memcached_DataObject
+ *
+ * Our caching system uses the same key definitions, but uses a different
+ * method to get them. This key information is used to store and clear
+ * cached data, so be sure to list any key that will be used for static
+ * lookups.
+ *
+ * @return array associative array of key definitions, field name to type:
+ * 'K' for primary key: for compound keys, add an entry for each component;
+ * 'U' for unique keys: compound keys are not well supported here.
+ */
+ function keyTypes()
+ {
+ return array('notice_id' => 'K');
+ }
+
+ /**
+ * Magic formula for non-autoincrementing integer primary keys
+ *
+ * If a table has a single integer column as its primary key, DB_DataObject
+ * assumes that the column is auto-incrementing and makes a sequence table
+ * to do this incrementation. Since we don't need this for our class, we
+ * overload this method and return the magic formula that DB_DataObject needs.
+ *
+ * @return array magic three-false array that stops auto-incrementing.
+ */
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
+
+ /**
+ * Get a single object with multiple keys
+ *
+ * @param array $kv Map of key-value pairs
+ *
+ * @return User_flag_profile found object or null
+ */
+ function pkeyGet($kv)
+ {
+ return Memcached_DataObject::pkeyGet('Fave_tally', $kv);
+ }
+
+ /**
+ * Increment a notice's tally
+ *
+ * @param integer $noticeID ID of notice we're tallying
+ *
+ * @return Fave_tally $tally the tally data object
+ */
+ static function increment($noticeID)
+ {
+ $tally = Fave_tally::ensureTally($noticeID);
+
+ $orig = clone($tally);
+ $tally->count++;
+ $result = $tally->update($orig);
+
+ if (!$result) {
+ $msg = sprintf(
+ // TRANS: Server exception.
+ // TRANS: %d is the notice ID (number).
+ _m("Couldn't update favorite tally for notice ID %d."),
+ $noticeID
+ );
+ throw new ServerException($msg);
+ }
+
+ return $tally;
+ }
+
+ /**
+ * Decrement a notice's tally
+ *
+ * @param integer $noticeID ID of notice we're tallying
+ *
+ * @return Fave_tally $tally the tally data object
+ */
+ static function decrement($noticeID)
+ {
+ $tally = Fave_tally::ensureTally($noticeID);
+
+ if ($tally->count > 0) {
+ $orig = clone($tally);
+ $tally->count--;
+ $result = $tally->update($orig);
+
+ if (!$result) {
+ $msg = sprintf(
+ // TRANS: Server exception.
+ // TRANS: %d is the notice ID (number).
+ _m("Couldn't update favorite tally for notice ID %d."),
+ $noticeID
+ );
+ throw new ServerException($msg);
+ }
+ }
+
+ return $tally;
+ }
+
+ /**
+ * Ensure a tally exists for a given notice. If we can't find
+ * one create one with the total number of existing faves
+ *
+ * @param integer $noticeID
+ *
+ * @return Fave_tally the tally data object
+ */
+ static function ensureTally($noticeID)
+ {
+ $tally = Fave_tally::staticGet('notice_id', $noticeID);
+
+ if (!$tally) {
+ $tally = new Fave_tally();
+ $tally->notice_id = $noticeID;
+ $tally->count = Fave_tally::countExistingFaves($noticeID);
+ $result = $tally->insert();
+ if (!$result) {
+ $msg = sprintf(
+ // TRANS: Server exception.
+ // TRANS: %d is the notice ID (number).
+ _m("Couldn't create favorite tally for notice ID %d."),
+ $noticeID
+ );
+ throw new ServerException($msg);
+ }
+ }
+
+ return $tally;
+ }
+
+ /**
+ * Count the number of faves a notice already has. Used to initalize
+ * a tally for a notice.
+ *
+ * @param integer $noticeID ID of the notice to count faves for
+ *
+ * @return integer $total total number of time the notice has been favored
+ */
+ static function countExistingFaves($noticeID)
+ {
+ $fave = new Fave();
+ $fave->notice_id = $noticeID;
+ $total = $fave->count();
+ return $total;
+ }
+}
diff --git a/plugins/AnonymousFave/anondisfavor.php b/plugins/AnonymousFave/anondisfavor.php
new file mode 100644
index 000000000..859e4bd42
--- /dev/null
+++ b/plugins/AnonymousFave/anondisfavor.php
@@ -0,0 +1,127 @@
+<?php
+/**
+ * Anonymous disfavor action
+ *
+ * PHP version 5
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Anonymous disfavor class
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+class AnonDisfavorAction extends RedirectingAction
+{
+ /**
+ * Class handler.
+ *
+ * @param array $args query arguments
+ *
+ * @return void
+ */
+ function handle($args)
+ {
+ parent::handle($args);
+
+ $profile = AnonymousFavePlugin::getAnonProfile();
+
+ if (empty($profile) || $_SERVER['REQUEST_METHOD'] != 'POST') {
+ $this->clientError(
+ // TRANS: Client error.
+ _m('Could not disfavor notice! Please make sure your browser has cookies enabled.')
+ );
+ return;
+ }
+
+ $id = $this->trimmed('notice');
+ $notice = Notice::staticGet($id);
+ $token = $this->trimmed('token-' . $notice->id);
+
+ if (!$token || $token != common_session_token()) {
+ // TRANS: Client error.
+ $this->clientError(_m('There was a problem with your session token. Try again, please.'));
+ return;
+ }
+
+ $fave = new Fave();
+ $fave->user_id = $profile->id;
+ $fave->notice_id = $notice->id;
+
+ if (!$fave->find(true)) {
+ // TRANS: Client error.
+ $this->clientError(_m('This notice is not a favorite!'));
+ return;
+ }
+
+ $result = $fave->delete();
+
+ if (!$result) {
+ common_log_db_error($fave, 'DELETE', __FILE__);
+ // TRANS: Server error.
+ $this->serverError(_m('Could not delete favorite.'));
+ return;
+ }
+
+ $profile->blowFavesCache();
+
+ if ($this->boolean('ajax')) {
+ $this->startHTML('text/xml;charset=utf-8');
+ $this->elementStart('head');
+ // TRANS: Title.
+ $this->element('title', null, _m('Add to favorites'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $favor = new AnonFavorForm($this, $notice);
+ $favor->show();
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ } else {
+ $this->returnToPrevious();
+ }
+ }
+
+ /**
+ * If returnto not set, return to the public stream.
+ *
+ * @return string URL
+ */
+ function defaultReturnTo()
+ {
+ $returnto = common_get_returnto();
+ if (empty($returnto)) {
+ return common_local_url('public');
+ } else {
+ return $returnto;
+ }
+ }
+}
diff --git a/plugins/AnonymousFave/anondisfavorform.php b/plugins/AnonymousFave/anondisfavorform.php
new file mode 100644
index 000000000..38e2903db
--- /dev/null
+++ b/plugins/AnonymousFave/anondisfavorform.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Form for disfavoring a notice anonymously
+ *
+ * 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 Form
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+require_once INSTALLDIR.'/lib/form.php';
+
+/**
+ * Form for disfavoring a notice anonymously
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ * @see DisFavorForm
+ */
+class AnonDisfavorForm extends DisFavorForm
+{
+ /**
+ * Constructor
+ *
+ * @param HTMLOutputter $out output channel
+ * @param Notice $notice notice to disfavor
+ */
+ function __construct($out=null, $notice=null)
+ {
+ parent::__construct($out, $notice);
+ }
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+ function action()
+ {
+ return common_local_url('AnonDisFavor');
+ }
+}
diff --git a/plugins/AnonymousFave/anonfavor.php b/plugins/AnonymousFave/anonfavor.php
new file mode 100644
index 000000000..ad13525a0
--- /dev/null
+++ b/plugins/AnonymousFave/anonfavor.php
@@ -0,0 +1,121 @@
+<?php
+/**
+ * Anonyous favor action
+ *
+ * PHP version 5
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Anonymous favor class
+ *
+ * @category Action
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ */
+class AnonFavorAction extends RedirectingAction
+{
+ /**
+ * Class handler.
+ *
+ * @param array $args query arguments
+ *
+ * @return void
+ */
+ function handle($args)
+ {
+ parent::handle($args);
+
+ $profile = AnonymousFavePlugin::getAnonProfile();
+
+ if (empty($profile) || $_SERVER['REQUEST_METHOD'] != 'POST') {
+ // TRANS: Client error.
+ $this->clientError( _m('Could not favor notice! Please make sure your browser has cookies enabled.')
+ );
+ return;
+ }
+
+ $id = $this->trimmed('notice');
+ $notice = Notice::staticGet($id);
+ $token = $this->trimmed('token-' . $notice->id);
+
+ if (empty($token) || $token != common_session_token()) {
+ // TRANS: Client error.
+ $this->clientError(_m('There was a problem with your session token. Try again, please.'));
+ return;
+ }
+
+
+ if ($profile->hasFave($notice)) {
+ // TRANS: Client error.
+ $this->clientError(_m('This notice is already a favorite!'));
+ return;
+ }
+ $fave = Fave::addNew($profile, $notice);
+
+ if (!$fave) {
+ // TRANS: Server error.
+ $this->serverError(_m('Could not create favorite.'));
+ return;
+ }
+
+ $profile->blowFavesCache();
+
+ if ($this->boolean('ajax')) {
+ $this->startHTML('text/xml;charset=utf-8');
+ $this->elementStart('head');
+ // TRANS: Title.
+ $this->element('title', null, _m('Disfavor favorite'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $disfavor = new AnonDisFavorForm($this, $notice);
+ $disfavor->show();
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ } else {
+ $this->returnToPrevious();
+ }
+ }
+
+ /**
+ * If returnto not set, return to the public stream.
+ *
+ * @return string URL
+ */
+ function defaultReturnTo()
+ {
+ $returnto = common_get_returnto();
+ if (empty($returnto)) {
+ return common_local_url('public');
+ } else {
+ return $returnto;
+ }
+ }
+}
diff --git a/plugins/AnonymousFave/anonfavorform.php b/plugins/AnonymousFave/anonfavorform.php
new file mode 100644
index 000000000..2fbd015e3
--- /dev/null
+++ b/plugins/AnonymousFave/anonfavorform.php
@@ -0,0 +1,71 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Form for favoring a notice anonymously
+ *
+ * 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 Form
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 20010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+require_once INSTALLDIR.'/lib/form.php';
+
+/**
+ * Form for favoring a notice anonymously
+ *
+ * @category Form
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ * @see AnonDisfavorForm
+ */
+class AnonFavorForm extends FavorForm
+{
+
+ /**
+ * Constructor
+ *
+ * @param HTMLOutputter $out output channel
+ * @param Notice $notice notice to favor
+ */
+ function __construct($out=null, $notice=null)
+ {
+ parent::__construct($out, $notice);
+ }
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+ function action()
+ {
+ return common_local_url('AnonFavor');
+ }
+
+}
diff --git a/plugins/AnonymousFave/locale/AnonymousFave.pot b/plugins/AnonymousFave/locale/AnonymousFave.pot
new file mode 100644
index 000000000..ff07f17d7
--- /dev/null
+++ b/plugins/AnonymousFave/locale/AnonymousFave.pot
@@ -0,0 +1,98 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. TRANS: Tally for number of times a notice was favored.
+#. TRANS: %d is the number of times a notice was favored.
+#: AnonymousFavePlugin.php:193
+#, php-format
+msgid "favored once"
+msgid_plural "favored %d times"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANS: Server exception.
+#: AnonymousFavePlugin.php:222 AnonymousFavePlugin.php:233
+msgid "Couldn't create anonymous user session."
+msgstr ""
+
+#. TRANS: Plugin description.
+#: AnonymousFavePlugin.php:287
+msgid "Allow anonymous users to favorite notices."
+msgstr ""
+
+#. TRANS: Client error.
+#: anonfavor.php:60
+msgid ""
+"Could not favor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+
+#. TRANS: Client error.
+#: anonfavor.php:71 anondisfavor.php:72
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#. TRANS: Client error.
+#: anonfavor.php:78
+msgid "This notice is already a favorite!"
+msgstr ""
+
+#. TRANS: Server error.
+#: anonfavor.php:85
+msgid "Could not create favorite."
+msgstr ""
+
+#. TRANS: Title.
+#: anonfavor.php:95
+msgid "Disfavor favorite"
+msgstr ""
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:155 Fave_tally.php:184
+#, php-format
+msgid "Couldn't update favorite tally for notice ID %d."
+msgstr ""
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:215
+#, php-format
+msgid "Couldn't create favorite tally for notice ID %d."
+msgstr ""
+
+#. TRANS: Client error.
+#: anondisfavor.php:61
+msgid ""
+"Could not disfavor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+
+#. TRANS: Client error.
+#: anondisfavor.php:82
+msgid "This notice is not a favorite!"
+msgstr ""
+
+#. TRANS: Server error.
+#: anondisfavor.php:91
+msgid "Could not delete favorite."
+msgstr ""
+
+#. TRANS: Title.
+#: anondisfavor.php:101
+msgid "Add to favorites"
+msgstr ""
diff --git a/plugins/AnonymousFave/locale/es/LC_MESSAGES/AnonymousFave.po b/plugins/AnonymousFave/locale/es/LC_MESSAGES/AnonymousFave.po
new file mode 100644
index 000000000..8b91051a0
--- /dev/null
+++ b/plugins/AnonymousFave/locale/es/LC_MESSAGES/AnonymousFave.po
@@ -0,0 +1,107 @@
+# Translation of StatusNet - AnonymousFave to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AnonymousFave\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:22+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-anonymousfave\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Tally for number of times a notice was favored.
+#. TRANS: %d is the number of times a notice was favored.
+#: AnonymousFavePlugin.php:193
+#, php-format
+msgid "favored once"
+msgid_plural "favored %d times"
+msgstr[0] "marcado como favorito una vez"
+msgstr[1] "marcado como favorito %d veces"
+
+#. TRANS: Server exception.
+#: AnonymousFavePlugin.php:222 AnonymousFavePlugin.php:233
+msgid "Couldn't create anonymous user session."
+msgstr "No se pudo crear sesión de usuario anónimo."
+
+#. TRANS: Plugin description.
+#: AnonymousFavePlugin.php:287
+msgid "Allow anonymous users to favorite notices."
+msgstr "Permitir a usuarios anónimos marcar mensajes como favoritos."
+
+#. TRANS: Client error.
+#: anonfavor.php:60
+msgid ""
+"Could not favor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"No fue posible marcar el mensaje como favorito. Por favor, asegúrate de que "
+"las cookies están habilitadas en tu navegador."
+
+#. TRANS: Client error.
+#: anonfavor.php:71 anondisfavor.php:72
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Hubo un problema con tu token de sesión. Por favor, inténtalo de nuevo."
+
+#. TRANS: Client error.
+#: anonfavor.php:78
+msgid "This notice is already a favorite!"
+msgstr "¡Este mensaje ya está en favoritos!"
+
+#. TRANS: Server error.
+#: anonfavor.php:85
+msgid "Could not create favorite."
+msgstr "No se pudo crear favorito."
+
+#. TRANS: Title.
+#: anonfavor.php:95
+msgid "Disfavor favorite"
+msgstr "Eliminar de la lista de favoritos."
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:155 Fave_tally.php:184
+#, php-format
+msgid "Couldn't update favorite tally for notice ID %d."
+msgstr "No se pudo actualizar el la cuenta favorita para el mensaje de ID %d."
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:215
+#, php-format
+msgid "Couldn't create favorite tally for notice ID %d."
+msgstr "No se pudo crear una cuenta favorita para el mensaje de ID %d."
+
+#. TRANS: Client error.
+#: anondisfavor.php:61
+msgid ""
+"Could not disfavor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"¡No es posible eliminar el mensaje de entre los favoritos! Por favor, "
+"asegúrate de que las cookies estén habilitadas en tu navegador."
+
+#. TRANS: Client error.
+#: anondisfavor.php:82
+msgid "This notice is not a favorite!"
+msgstr "¡Este mensaje no es un favorito!"
+
+#. TRANS: Server error.
+#: anondisfavor.php:91
+msgid "Could not delete favorite."
+msgstr "No se pudo borrar el favorito."
+
+#. TRANS: Title.
+#: anondisfavor.php:101
+msgid "Add to favorites"
+msgstr "Añadir a favoritos"
diff --git a/plugins/AnonymousFave/locale/ia/LC_MESSAGES/AnonymousFave.po b/plugins/AnonymousFave/locale/ia/LC_MESSAGES/AnonymousFave.po
new file mode 100644
index 000000000..eb0ef34b9
--- /dev/null
+++ b/plugins/AnonymousFave/locale/ia/LC_MESSAGES/AnonymousFave.po
@@ -0,0 +1,106 @@
+# Translation of StatusNet - AnonymousFave to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AnonymousFave\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:22+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-anonymousfave\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Tally for number of times a notice was favored.
+#. TRANS: %d is the number of times a notice was favored.
+#: AnonymousFavePlugin.php:193
+#, php-format
+msgid "favored once"
+msgid_plural "favored %d times"
+msgstr[0] "favorite un vice"
+msgstr[1] "favorite %d vices"
+
+#. TRANS: Server exception.
+#: AnonymousFavePlugin.php:222 AnonymousFavePlugin.php:233
+msgid "Couldn't create anonymous user session."
+msgstr "Non poteva crear session de usator anonyme."
+
+#. TRANS: Plugin description.
+#: AnonymousFavePlugin.php:287
+msgid "Allow anonymous users to favorite notices."
+msgstr "Permitter a usatores anonyme de favorir notas."
+
+#. TRANS: Client error.
+#: anonfavor.php:60
+msgid ""
+"Could not favor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"Non poteva favorir le nota! Per favor assecura te que tu navigator ha le "
+"cookies activate."
+
+#. TRANS: Client error.
+#: anonfavor.php:71 anondisfavor.php:72
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
+
+#. TRANS: Client error.
+#: anonfavor.php:78
+msgid "This notice is already a favorite!"
+msgstr "Iste nota es ja favorite!"
+
+#. TRANS: Server error.
+#: anonfavor.php:85
+msgid "Could not create favorite."
+msgstr "Non poteva crear le favorite."
+
+#. TRANS: Title.
+#: anonfavor.php:95
+msgid "Disfavor favorite"
+msgstr "Disfavorir favorite"
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:155 Fave_tally.php:184
+#, php-format
+msgid "Couldn't update favorite tally for notice ID %d."
+msgstr "Non poteva actualisar le numero de favorites pro le ID de nota %d."
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:215
+#, php-format
+msgid "Couldn't create favorite tally for notice ID %d."
+msgstr "Non poteva crear un numero de favorites pro le ID de nota %d."
+
+#. TRANS: Client error.
+#: anondisfavor.php:61
+msgid ""
+"Could not disfavor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"Non poteva disfavorir le nota! Per favor assecura te que tu navigator ha le "
+"cookies activate."
+
+#. TRANS: Client error.
+#: anondisfavor.php:82
+msgid "This notice is not a favorite!"
+msgstr "Iste nota non es favorite!"
+
+#. TRANS: Server error.
+#: anondisfavor.php:91
+msgid "Could not delete favorite."
+msgstr "Non poteva deler le favorite."
+
+#. TRANS: Title.
+#: anondisfavor.php:101
+msgid "Add to favorites"
+msgstr "Adder al favorites"
diff --git a/plugins/AnonymousFave/locale/mk/LC_MESSAGES/AnonymousFave.po b/plugins/AnonymousFave/locale/mk/LC_MESSAGES/AnonymousFave.po
new file mode 100644
index 000000000..c7d0157fe
--- /dev/null
+++ b/plugins/AnonymousFave/locale/mk/LC_MESSAGES/AnonymousFave.po
@@ -0,0 +1,106 @@
+# Translation of StatusNet - AnonymousFave to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AnonymousFave\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-anonymousfave\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Tally for number of times a notice was favored.
+#. TRANS: %d is the number of times a notice was favored.
+#: AnonymousFavePlugin.php:193
+#, php-format
+msgid "favored once"
+msgid_plural "favored %d times"
+msgstr[0] "бендисано еднаш"
+msgstr[1] "бендисано %d пати"
+
+#. TRANS: Server exception.
+#: AnonymousFavePlugin.php:222 AnonymousFavePlugin.php:233
+msgid "Couldn't create anonymous user session."
+msgstr "Не можев да создадам анонимна корисничка сесија."
+
+#. TRANS: Plugin description.
+#: AnonymousFavePlugin.php:287
+msgid "Allow anonymous users to favorite notices."
+msgstr "Дозволи анонимни корисници да бендисуваат забелешки."
+
+#. TRANS: Client error.
+#: anonfavor.php:60
+msgid ""
+"Could not favor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"Не можев да ја бендисам заблешката. Проверете дали имате овозможено колачиња "
+"во прелистувачот."
+
+#. TRANS: Client error.
+#: anonfavor.php:71 anondisfavor.php:72
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се подоцна."
+
+#. TRANS: Client error.
+#: anonfavor.php:78
+msgid "This notice is already a favorite!"
+msgstr "Веќе сте ја бендисале оваа забелешка!"
+
+#. TRANS: Server error.
+#: anonfavor.php:85
+msgid "Could not create favorite."
+msgstr "Не можев да создадам бендисана забелешка."
+
+#. TRANS: Title.
+#: anonfavor.php:95
+msgid "Disfavor favorite"
+msgstr "Одбендисај бендисана"
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:155 Fave_tally.php:184
+#, php-format
+msgid "Couldn't update favorite tally for notice ID %d."
+msgstr "Не можев да го поновам бројот на бендисувања за забелешката со ID %d."
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:215
+#, php-format
+msgid "Couldn't create favorite tally for notice ID %d."
+msgstr "Не можев создадам бројач на бендисувања за забелешката со ID %d."
+
+#. TRANS: Client error.
+#: anondisfavor.php:61
+msgid ""
+"Could not disfavor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"Не можев да ја одбендисам забелешката! Проверете дали имате овозможено "
+"колачиња во прелистувачот."
+
+#. TRANS: Client error.
+#: anondisfavor.php:82
+msgid "This notice is not a favorite!"
+msgstr "Оваа забелешка не Ви е бендисана!"
+
+#. TRANS: Server error.
+#: anondisfavor.php:91
+msgid "Could not delete favorite."
+msgstr "Не можев да ја избришам бендисаната забелешка."
+
+#. TRANS: Title.
+#: anondisfavor.php:101
+msgid "Add to favorites"
+msgstr "Додај во бендисани"
diff --git a/plugins/AnonymousFave/locale/nl/LC_MESSAGES/AnonymousFave.po b/plugins/AnonymousFave/locale/nl/LC_MESSAGES/AnonymousFave.po
new file mode 100644
index 000000000..e729adefb
--- /dev/null
+++ b/plugins/AnonymousFave/locale/nl/LC_MESSAGES/AnonymousFave.po
@@ -0,0 +1,114 @@
+# Translation of StatusNet - AnonymousFave to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: SPQRobin
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AnonymousFave\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-anonymousfave\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Tally for number of times a notice was favored.
+#. TRANS: %d is the number of times a notice was favored.
+#: AnonymousFavePlugin.php:193
+#, php-format
+msgid "favored once"
+msgid_plural "favored %d times"
+msgstr[0] "één keer als favoriet aangemerkt"
+msgstr[1] "%d keer als favoriet aangemerkt"
+
+#. TRANS: Server exception.
+#: AnonymousFavePlugin.php:222 AnonymousFavePlugin.php:233
+msgid "Couldn't create anonymous user session."
+msgstr "Het was niet mogelijk een anonieme gebruikerssessie aan te maken."
+
+#. TRANS: Plugin description.
+#: AnonymousFavePlugin.php:287
+msgid "Allow anonymous users to favorite notices."
+msgstr "Staat anonieme gebruikers toe mededelingen als favoriet aan te merken."
+
+#. TRANS: Client error.
+#: anonfavor.php:60
+msgid ""
+"Could not favor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"De mededeling kon niet als favoriet aangemerkt worden. Zorg dat uw browser "
+"het gebruik van cookies toestaat."
+
+#. TRANS: Client error.
+#: anonfavor.php:71 anondisfavor.php:72
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
+"alstublieft."
+
+#. TRANS: Client error.
+#: anonfavor.php:78
+msgid "This notice is already a favorite!"
+msgstr "Deze mededeling staat al in uw favorietenlijst."
+
+#. TRANS: Server error.
+#: anonfavor.php:85
+msgid "Could not create favorite."
+msgstr "Het was niet mogelijk een favoriet aan te maken."
+
+#. TRANS: Title.
+#: anonfavor.php:95
+msgid "Disfavor favorite"
+msgstr "Van favorietenlijst verwijderen"
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:155 Fave_tally.php:184
+#, php-format
+msgid "Couldn't update favorite tally for notice ID %d."
+msgstr ""
+"Het was niet mogelijk de telling voor aantal favorieten bij te werken voor "
+"de mededeling met ID %d."
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:215
+#, php-format
+msgid "Couldn't create favorite tally for notice ID %d."
+msgstr ""
+"Het was niet mogelijk de telling voor aantal favorieten aan te maken voor de "
+"mededeling met ID %d."
+
+#. TRANS: Client error.
+#: anondisfavor.php:61
+msgid ""
+"Could not disfavor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"De mededeling kon niet als favoriet verwijderd worden. Zorg dat uw browser "
+"het gebruik van cookies toestaat."
+
+#. TRANS: Client error.
+#: anondisfavor.php:82
+msgid "This notice is not a favorite!"
+msgstr "Deze mededeling staat niet op uw favorietenlijst."
+
+#. TRANS: Server error.
+#: anondisfavor.php:91
+msgid "Could not delete favorite."
+msgstr ""
+"Het was niet mogelijk deze mededeling van uw favorietenlijst te verwijderen."
+
+#. TRANS: Title.
+#: anondisfavor.php:101
+msgid "Add to favorites"
+msgstr "Aan favorieten toevoegen"
diff --git a/plugins/AnonymousFave/locale/uk/LC_MESSAGES/AnonymousFave.po b/plugins/AnonymousFave/locale/uk/LC_MESSAGES/AnonymousFave.po
new file mode 100644
index 000000000..57497d281
--- /dev/null
+++ b/plugins/AnonymousFave/locale/uk/LC_MESSAGES/AnonymousFave.po
@@ -0,0 +1,111 @@
+# Translation of StatusNet - AnonymousFave to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AnonymousFave\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:23+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-anonymousfave\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Tally for number of times a notice was favored.
+#. TRANS: %d is the number of times a notice was favored.
+#: AnonymousFavePlugin.php:193
+#, php-format
+msgid "favored once"
+msgid_plural "favored %d times"
+msgstr[0] "обране один раз"
+msgstr[1] "обране %d рази"
+msgstr[2] "обране %d разів"
+
+#. TRANS: Server exception.
+#: AnonymousFavePlugin.php:222 AnonymousFavePlugin.php:233
+msgid "Couldn't create anonymous user session."
+msgstr "Не вдалося створити сесію анонімного користувача."
+
+#. TRANS: Plugin description.
+#: AnonymousFavePlugin.php:287
+msgid "Allow anonymous users to favorite notices."
+msgstr "Дозволити анонімнім користувачам позначати повідомлення як обрані."
+
+#. TRANS: Client error.
+#: anonfavor.php:60
+msgid ""
+"Could not favor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"Не вдалося позначити повідомлення як обране! Будь ласка, переконайтеся, що у "
+"вашому браузері увімкнено кукі."
+
+#. TRANS: Client error.
+#: anonfavor.php:71 anondisfavor.php:72
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
+
+#. TRANS: Client error.
+#: anonfavor.php:78
+msgid "This notice is already a favorite!"
+msgstr "Цей допис вже є обраним!"
+
+#. TRANS: Server error.
+#: anonfavor.php:85
+msgid "Could not create favorite."
+msgstr "Не вдалося позначити як обране."
+
+#. TRANS: Title.
+#: anonfavor.php:95
+msgid "Disfavor favorite"
+msgstr "Видалити з обраних"
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:155 Fave_tally.php:184
+#, php-format
+msgid "Couldn't update favorite tally for notice ID %d."
+msgstr ""
+"Не вдалося оновити кількість позначок «обране» для допису за номером %d."
+
+#. TRANS: Server exception.
+#. TRANS: %d is the notice ID (number).
+#: Fave_tally.php:215
+#, php-format
+msgid "Couldn't create favorite tally for notice ID %d."
+msgstr ""
+"Не вдалося створити лічильник кількості позначок «обране» для допису за "
+"номером %d."
+
+#. TRANS: Client error.
+#: anondisfavor.php:61
+msgid ""
+"Could not disfavor notice! Please make sure your browser has cookies enabled."
+msgstr ""
+"Не вдалося видалити повідомлення зі списку обраних! Будь ласка, "
+"переконайтеся, що у вашому браузері увімкнено кукі."
+
+#. TRANS: Client error.
+#: anondisfavor.php:82
+msgid "This notice is not a favorite!"
+msgstr "Цей допис не є обраним!"
+
+#. TRANS: Server error.
+#: anondisfavor.php:91
+msgid "Could not delete favorite."
+msgstr "Не можу видалити допис зі списку обраних."
+
+#. TRANS: Title.
+#: anondisfavor.php:101
+msgid "Add to favorites"
+msgstr "Додати до обраних"
diff --git a/plugins/AnonymousFave/scripts/initialize_fave_tallys.php b/plugins/AnonymousFave/scripts/initialize_fave_tallys.php
new file mode 100755
index 000000000..f7ea6d1ef
--- /dev/null
+++ b/plugins/AnonymousFave/scripts/initialize_fave_tallys.php
@@ -0,0 +1,38 @@
+#!/usr/bin/env php
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+define('INSTALLDIR', realpath(dirname(__FILE__) . '/../../..'));
+
+$helptext = <<<ENDOFHELP
+USAGE: initialize_fave_tallys.php
+
+Offline script to initialize notice fave tallys
+
+ENDOFHELP;
+
+require_once INSTALLDIR.'/scripts/commandline.inc';
+
+$notice = new Notice();
+$notice->find();
+
+while ($notice->fetch()) {
+ Fave_tally::ensureTally($notice->id);
+}
+
diff --git a/plugins/AutoSandbox/AutoSandboxPlugin.php b/plugins/AutoSandbox/AutoSandboxPlugin.php
index ffd8bf455..16683e140 100644
--- a/plugins/AutoSandbox/AutoSandboxPlugin.php
+++ b/plugins/AutoSandbox/AutoSandboxPlugin.php
@@ -41,7 +41,7 @@ class AutoSandboxPlugin extends Plugin
var $contact;
var $debug;
- function onInitializePlugin()
+ function onInitializePlugin()
{
if(!isset($this->debug))
{
@@ -53,7 +53,7 @@ class AutoSandboxPlugin extends Plugin
if (!empty($default)) {
$this->contact = $default;
}
- }
+ }
}
function onPluginVersion(&$versions)
@@ -69,16 +69,17 @@ class AutoSandboxPlugin extends Plugin
function onStartRegistrationFormData($action)
{
-
- $instr = 'Note you will initially be "sandboxed" so your posts will not appear in the public timeline.';
+ $instr = _m('Note you will initially be "sandboxed" so your posts will not appear in the public timeline.');
if (isset($this->contact)) {
$contactuser = User::staticGet('nickname', $this->contact);
if (!empty($contactuser)) {
$contactlink = "@<a href=\"$contactuser->uri\">$contactuser->nickname</a>";
- $instr = $instr . " Send a message to $contactlink to speed up the unsandboxing process.";
+ // TRANS: $contactlink is a clickable e-mailaddress.
+ $instr = _m("Note you will initially be \"sandboxed\" so your posts will not appear in the public timeline. ".
+ 'Send a message to $contactlink to speed up the unsandboxing process.');
}
- }
+ }
$output = common_markup_to_html($instr);
$action->elementStart('div', 'instructions');
diff --git a/plugins/AutoSandbox/locale/AutoSandbox.pot b/plugins/AutoSandbox/locale/AutoSandbox.pot
index b01f9dc89..644420f4d 100644
--- a/plugins/AutoSandbox/locale/AutoSandbox.pot
+++ b/plugins/AutoSandbox/locale/AutoSandbox.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -19,3 +19,17 @@ msgstr ""
#: AutoSandboxPlugin.php:66
msgid "Automatically sandboxes newly registered members."
msgstr ""
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
diff --git a/plugins/AutoSandbox/locale/es/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/es/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..ff946f8bc
--- /dev/null
+++ b/plugins/AutoSandbox/locale/es/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,46 @@
+# Translation of StatusNet - AutoSandbox to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr ""
+"Envía automáticamente a zona de pruebas a los usuarios recién registrados."
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+"Ten en cuenta que inicialmente serás enviado a la zona de pruebas, así que "
+"tus mensajes no aparecerán en la línea temporal pública."
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"Ten en cuenta que inicialmente serás enviado a la zona de pruebas, así que "
+"tus mensajes no aparecerán en la línea temporal pública. Envía un mensaje a "
+"$contactlink para acelerar el proceso de exclusión de la zona de pruebas."
diff --git a/plugins/AutoSandbox/locale/fr/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/fr/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..79d73805e
--- /dev/null
+++ b/plugins/AutoSandbox/locale/fr/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,46 @@
+# Translation of StatusNet - AutoSandbox to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr "Place automatiquement les nouveaux membres dans une boîte à sable."
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+"Notez que vous serez initialement placé dans un « bac à sable », ce qui "
+"signifie que vos messages n’apparaîtront pas dans le calendrier public."
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"Notez que vous serez initialement placé dans un « bac à sable », ce qui "
+"signifie que vos messages n’apparaîtront pas dans le calendrier public. "
+"Envoyez un message à $contactlink pour accélérer le processus de sortie du "
+"bac à sable."
diff --git a/plugins/AutoSandbox/locale/ia/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/ia/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..1ccdbcc11
--- /dev/null
+++ b/plugins/AutoSandbox/locale/ia/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,45 @@
+# Translation of StatusNet - AutoSandbox to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr "Automaticamente pone le membros novemente registrate in isolation."
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+"Nota que tu essera initialmente ponite in isolation de sorta que tu messages "
+"non apparera in le chronologia public."
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"Nota que tu essera initialmente ponite in isolation de sorta que tu messages "
+"non apparera in le chronologia public. Invia un message a $contactlink pro "
+"accelerar le processo de disisolation."
diff --git a/plugins/AutoSandbox/locale/mk/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/mk/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..996e3b085
--- /dev/null
+++ b/plugins/AutoSandbox/locale/mk/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,46 @@
+# Translation of StatusNet - AutoSandbox to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr "Автоматски става новорегистрираните членови во песочник."
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+"Напомена: во прво време ќе бидете ставени во песочникот, па така Вашите "
+"објави нема да фигурираат во јавната хронологија."
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"Напомена: во прво време ќе бидете ставени во песочникот, па така Вашите "
+"објави нема да фигурираат во јавната хронологија.\n"
+"Испратете порака на $contactlink за да ја забрзате постапката за излегување "
+"од песочникот."
diff --git a/plugins/AutoSandbox/locale/nl/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/nl/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..6d29637e3
--- /dev/null
+++ b/plugins/AutoSandbox/locale/nl/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,47 @@
+# Translation of StatusNet - AutoSandbox to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr ""
+"Voegt nieuwe gebruikers automatisch toe aan een groep met beperkte "
+"functionaliteit."
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+"Let op: In eerste instantie worden uw mogelijkheden beperkt, dus uw "
+"mededelingen worden niet zichtbaar in de publieke tijdlijn."
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"Let op: In eerste instantie worden uw mogelijkheden beperkt, dus uw "
+"mededelingen worden niet zichtbaar in de publieke tijdlijn. Stuur een "
+"bericht naar $contactlink om het proces te versnellen."
diff --git a/plugins/AutoSandbox/locale/tl/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/tl/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..9f6ac5b82
--- /dev/null
+++ b/plugins/AutoSandbox/locale/tl/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,45 @@
+# Translation of StatusNet - AutoSandbox to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr "Kusang ikinakahon ng buhangin ang bagong nagpatalang mga kasapi."
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+"Taandan na \"ikakahon ng buhangin\" ka muna kaya't ang mga pagpapaskil mo ay "
+"hindi lilitaw sa pangmadlang guhit ng panahon."
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"Taandan na \"ikakahon ng buhangin\" ka muna kaya't ang mga pagpapaskil mo ay "
+"hindi lilitaw sa pangmadlang guhit ng panahon. Magpadala ng mensahe sa "
+"$contactlink upang mapabilis ang proseso ng hindi pagkakahong pambuhangin."
diff --git a/plugins/AutoSandbox/locale/uk/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/uk/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..ff12e5034
--- /dev/null
+++ b/plugins/AutoSandbox/locale/uk/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,46 @@
+# Translation of StatusNet - AutoSandbox to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr "Автоматично відсилати до «пісочниці» усіх нових користувачів."
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr ""
+"Зауважте, що спочатку вас буде відправлено до «пісочниці», отже ваші дописи "
+"не з’являтимуться у загальній стрічці дописів."
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"Зауважте, що спочатку вас буде відправлено до «пісочниці», отже ваші дописи "
+"не з’являтимуться у загальній стрічці дописів. Надішліть повідомлення до "
+"$contactlink аби прискорити процес вашого «виходу в люди»."
diff --git a/plugins/AutoSandbox/locale/zh_CN/LC_MESSAGES/AutoSandbox.po b/plugins/AutoSandbox/locale/zh_CN/LC_MESSAGES/AutoSandbox.po
new file mode 100644
index 000000000..a4f282849
--- /dev/null
+++ b/plugins/AutoSandbox/locale/zh_CN/LC_MESSAGES/AutoSandbox.po
@@ -0,0 +1,43 @@
+# Translation of StatusNet - AutoSandbox to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - AutoSandbox\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-autosandbox\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: AutoSandboxPlugin.php:66
+msgid "Automatically sandboxes newly registered members."
+msgstr "自动将新注册用户添加至沙盒中。"
+
+#: AutoSandboxPlugin.php:72
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline."
+msgstr "注意:最初你将被添加至“沙盒”中,你的消息将不会在公共的时间线上显示。"
+
+#. TRANS: $contactlink is a clickable e-mailaddress.
+#: AutoSandboxPlugin.php:79
+msgid ""
+"Note you will initially be \"sandboxed\" so your posts will not appear in "
+"the public timeline. Send a message to $contactlink to speed up the "
+"unsandboxing process."
+msgstr ""
+"注意:最初你将被添加至“沙盒”中,你的消息将不会在公共的时间线上显示。给"
+"$contactlink发消息可以加快你被移出沙盒的速度。"
diff --git a/plugins/Autocomplete/AutocompletePlugin.php b/plugins/Autocomplete/AutocompletePlugin.php
index b2be365dd..620b5e7b0 100644
--- a/plugins/Autocomplete/AutocompletePlugin.php
+++ b/plugins/Autocomplete/AutocompletePlugin.php
@@ -80,6 +80,4 @@ class AutocompletePlugin extends Plugin
_m('The autocomplete plugin allows users to autocomplete screen names in @ replies. When an "@" is typed into the notice text area, an autocomplete box is displayed populated with the user\'s friend\' screen names.'));
return true;
}
-
}
-?>
diff --git a/plugins/Autocomplete/autocomplete.php b/plugins/Autocomplete/autocomplete.php
index 9a30ba01d..a4e2d9baa 100644
--- a/plugins/Autocomplete/autocomplete.php
+++ b/plugins/Autocomplete/autocomplete.php
@@ -43,7 +43,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class AutocompleteAction extends Action
{
private $result;
@@ -80,6 +79,7 @@ class AutocompleteAction extends Action
function etag()
{
return '"' . implode(':', array($this->arg('action'),
+ common_user_cache_hash(),
crc32($this->arg('q')), //the actual string can have funny characters in we don't want showing up in the etag
$this->arg('limit'),
$this->lastModified())) . '"';
diff --git a/plugins/Autocomplete/locale/Autocomplete.pot b/plugins/Autocomplete/locale/Autocomplete.pot
index c0274af85..7dd4fe266 100644
--- a/plugins/Autocomplete/locale/Autocomplete.pot
+++ b/plugins/Autocomplete/locale/Autocomplete.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: AutocompletePlugin.php:79
+#: AutocompletePlugin.php:80
msgid ""
"The autocomplete plugin allows users to autocomplete screen names in @ "
"replies. When an \"@\" is typed into the notice text area, an autocomplete "
diff --git a/plugins/Autocomplete/locale/es/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/es/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..59fa0dbe4
--- /dev/null
+++ b/plugins/Autocomplete/locale/es/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - Autocomplete to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"La extensión de autocompletado permite a los usuarios autocompletar en las "
+"respuestas @ los nombres en pantalla. Cuando se escribe \"@\" en el area de "
+"texto de mensaje, se muestra una caja de autocompletado que contiene los "
+"nombres de pantalla de los amigos del usuario."
diff --git a/plugins/Autocomplete/locale/fr/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/fr/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..2af8c82a5
--- /dev/null
+++ b/plugins/Autocomplete/locale/fr/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - Autocomplete to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"L’extension d’autocomplétion permet à l’utilisateur de compléter "
+"automatiquement les pseudonymes dans les réponses « @ ». Quand « @ » est saisi "
+"dans la zone de texte de l’avis, une boîte d’autocomplétion est affichée et "
+"remplie avec les pseudonymes des amis de l’utilisateur."
diff --git a/plugins/Autocomplete/locale/ia/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/ia/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..70f03d99b
--- /dev/null
+++ b/plugins/Autocomplete/locale/ia/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - Autocomplete to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"Le plug-in \"autocomplete\" permitte que usatores autocompleta pseudonymos "
+"in responsas @. Si un \"@\" es entrate in un area de texto pro un nota, un "
+"quadro de autocompletion es monstrate, plenate con le pseudonymos del amicos "
+"del usator."
diff --git a/plugins/Autocomplete/locale/ja/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/ja/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..4ec766ba1
--- /dev/null
+++ b/plugins/Autocomplete/locale/ja/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - Autocomplete to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"自動入力プラグインは、ユーザーに、@返信でのスクリーンネームの自動入力を出来"
+"るようにします。通知テキスト領域で「@」が入力されたとき、自動入力ボックスが表"
+"示され、ユーザーの友達のスクリーンネームを入力します。"
diff --git a/plugins/Autocomplete/locale/mk/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/mk/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..64636623f
--- /dev/null
+++ b/plugins/Autocomplete/locale/mk/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - Autocomplete to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"Приклучокот за автодополнување овозможува автоматско довршување на "
+"кориснички имиња во одговорите со @. Кога ќе внесете „@“ во полето за "
+"пишување забелешки, се појавува кутијата за автодополнување каде се наведени "
+"корисничките имиња на пријателите."
diff --git a/plugins/Autocomplete/locale/nl/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/nl/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..b8c2446e9
--- /dev/null
+++ b/plugins/Autocomplete/locale/nl/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - Autocomplete to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"De plug-in \"automatisch aanvullen\" (Autocomplete) vult gebruikersnamen "
+"automatisch aan bij het maken van \"@\"-antwoorden. Als een \"@\" wordt "
+"ingevoerd in het tekstveld voor een mededeling, wordt een extra venster "
+"weergegeven met de gebruikersnamen van vrienden."
diff --git a/plugins/Autocomplete/locale/ru/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/ru/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..2a3984b27
--- /dev/null
+++ b/plugins/Autocomplete/locale/ru/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - Autocomplete to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"Модуль автозаполнения обеспечивает пользователям автозаполнение имён экранов "
+"в @-ответах. Если в текстовую область уведомления введён символ @, то "
+"появляется блок автозаполнения с названиями экранов друзей."
diff --git a/plugins/Autocomplete/locale/tl/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/tl/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..1c7432068
--- /dev/null
+++ b/plugins/Autocomplete/locale/tl/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Autocomplete to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"Ang pamasak na pangkusang pagkukumpleto ay nagpapahintulot sa mga tagagamit "
+"na kusang makumpleto ang mga pangalang bansag sa mga tugong @. Kapag "
+"iminakinilya ang \"@\" sa lugar ng teksto ng pabatid, isang kahong na "
+"pangkusang pagkukumpleto ang ipapakita na nilagyan ng mga pangalang bansag "
+"ng kaibigan ng tagagamit."
diff --git a/plugins/Autocomplete/locale/uk/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/uk/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..429ee6b3d
--- /dev/null
+++ b/plugins/Autocomplete/locale/uk/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Autocomplete to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"Додаток автозавершення дозволяє користувачам автоматично завершувати "
+"нікнейми у «@-відповідях». Якщо у вікні набору повідомлення з’являється "
+"символ «@», то даний додаток автоматично пропонує обрати ім’я користувача із "
+"списку тих, з ким ви найчастіше листуєтесь."
diff --git a/plugins/Autocomplete/locale/zh_CN/LC_MESSAGES/Autocomplete.po b/plugins/Autocomplete/locale/zh_CN/LC_MESSAGES/Autocomplete.po
new file mode 100644
index 000000000..8b318190f
--- /dev/null
+++ b/plugins/Autocomplete/locale/zh_CN/LC_MESSAGES/Autocomplete.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - Autocomplete to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Autocomplete\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:24+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:52+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-autocomplete\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: AutocompletePlugin.php:80
+msgid ""
+"The autocomplete plugin allows users to autocomplete screen names in @ "
+"replies. When an \"@\" is typed into the notice text area, an autocomplete "
+"box is displayed populated with the user's friend' screen names."
+msgstr ""
+"自动补全插件在用户使用@回复时自动补全用户名。当“@”在文本区域被键入时,一个自"
+"动补全框会显示用户相关好友的用户名。"
diff --git a/plugins/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php
index 38c821636..e1c8d3462 100644
--- a/plugins/BitlyUrl/BitlyUrlPlugin.php
+++ b/plugins/BitlyUrl/BitlyUrlPlugin.php
@@ -38,7 +38,7 @@ class BitlyUrlPlugin extends UrlShortenerPlugin
function onInitializePlugin(){
parent::onInitializePlugin();
if(!isset($this->serviceUrl)){
- throw new Exception("must specify a serviceUrl");
+ throw new Exception(_m("You must specify a serviceUrl."));
}
}
@@ -61,4 +61,3 @@ class BitlyUrlPlugin extends UrlShortenerPlugin
return true;
}
}
-
diff --git a/plugins/BitlyUrl/locale/BitlyUrl.pot b/plugins/BitlyUrl/locale/BitlyUrl.pot
index 28023759a..937f8f08a 100644
--- a/plugins/BitlyUrl/locale/BitlyUrl.pot
+++ b/plugins/BitlyUrl/locale/BitlyUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,6 +16,10 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr ""
+
#: BitlyUrlPlugin.php:60
#, php-format
msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
diff --git a/plugins/BitlyUrl/locale/es/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/es/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..335e4df0e
--- /dev/null
+++ b/plugins/BitlyUrl/locale/es/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - BitlyUrl to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Debes especificar un serviceUrl."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utiliza el servicio de acortamiento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/BitlyUrl/locale/fr/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/fr/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..9487dca83
--- /dev/null
+++ b/plugins/BitlyUrl/locale/fr/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - BitlyUrl to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Vous devez spécifier un serviceUrl."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utilise le service de raccourcissement d’URL <a href=\"http://%1$s/\">%1$s</"
+"a>."
diff --git a/plugins/BitlyUrl/locale/ia/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/ia/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..2e4e8847f
--- /dev/null
+++ b/plugins/BitlyUrl/locale/ia/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - BitlyUrl to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Tu debe specificar un serviceUrl."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Usa abbreviator de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/BitlyUrl/locale/mk/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/mk/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..ec6fdcd00
--- /dev/null
+++ b/plugins/BitlyUrl/locale/mk/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - BitlyUrl to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Мора да назначите serviceUrl."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Користи <a href=\"http://%1$s/\">%1$s</a> - служба за скратување на URL-"
+"адреса."
diff --git a/plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..608339615
--- /dev/null
+++ b/plugins/BitlyUrl/locale/nb/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - BitlyUrl to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Du må oppgi en tjeneste-Url."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Bruker URL-forkortertjenesten <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/BitlyUrl/locale/nl/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/nl/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..6f8b319bc
--- /dev/null
+++ b/plugins/BitlyUrl/locale/nl/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - BitlyUrl to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "U moet een serviceURL opgeven."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gebruikt de dienst <a href=\"http://%1$s/\">%1$s</a> om URL's korter te "
+"maken."
diff --git a/plugins/BitlyUrl/locale/pt_BR/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/pt_BR/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..bad97ab2a
--- /dev/null
+++ b/plugins/BitlyUrl/locale/pt_BR/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - BitlyUrl to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Giro720
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Você precisa especificar um serviceUrl."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
diff --git a/plugins/BitlyUrl/locale/ru/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/ru/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..3c94b42c4
--- /dev/null
+++ b/plugins/BitlyUrl/locale/ru/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - BitlyUrl to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Вы должны указать URL-адрес сервису."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Использование службы сокращения URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/BitlyUrl/locale/tl/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/tl/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..1e891d40c
--- /dev/null
+++ b/plugins/BitlyUrl/locale/tl/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - BitlyUrl to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Dapat kang tumukoy ng isang serbisyo ng URL."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gumagamit ng <a href=\"http://%1$s/\">%1$s</a> na serbisyong pampaiksi ng "
+"URL."
diff --git a/plugins/BitlyUrl/locale/uk/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/uk/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..05b3f1dd7
--- /dev/null
+++ b/plugins/BitlyUrl/locale/uk/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - BitlyUrl to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "Ви маєте вказати URL-адресу сервісу."
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Використання <a href=\"http://%1$s/\">%1$s</a> для скорочення URL-адрес."
diff --git a/plugins/BitlyUrl/locale/zh_CN/LC_MESSAGES/BitlyUrl.po b/plugins/BitlyUrl/locale/zh_CN/LC_MESSAGES/BitlyUrl.po
new file mode 100644
index 000000000..82fd39598
--- /dev/null
+++ b/plugins/BitlyUrl/locale/zh_CN/LC_MESSAGES/BitlyUrl.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - BitlyUrl to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BitlyUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:25+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:13+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-bitlyurl\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: BitlyUrlPlugin.php:43
+msgid "You must specify a serviceUrl."
+msgstr "你必须指定一个服务网址"
+
+#: BitlyUrlPlugin.php:60
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "使用 <a href=\"http://%1$s/\">%1$s</a>短链接服务"
diff --git a/plugins/Blacklist/BlacklistPlugin.php b/plugins/Blacklist/BlacklistPlugin.php
index 63bffe2c6..10f89ef72 100644
--- a/plugins/Blacklist/BlacklistPlugin.php
+++ b/plugins/Blacklist/BlacklistPlugin.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class BlacklistPlugin extends Plugin
{
const VERSION = STATUSNET_VERSION;
@@ -76,13 +75,11 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onCheckSchema()
{
$schema = Schema::get();
// For storing blacklist patterns for nicknames
-
$schema->ensureTable('nickname_blacklist',
array(new ColumnDef('pattern',
'varchar',
@@ -118,7 +115,6 @@ class BlacklistPlugin extends Plugin
*
* @return array configuration values
*/
-
function _configArray($section, $setting)
{
$config = common_config($section, $setting);
@@ -143,14 +139,13 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onStartRegistrationTry($action)
{
$homepage = strtolower($action->trimmed('homepage'));
if (!empty($homepage)) {
if (!$this->_checkUrl($homepage)) {
- $msg = sprintf(_m("You may not register with homepage '%s'"),
+ $msg = sprintf(_m("You may not register with homepage '%s'."),
$homepage);
throw new ClientException($msg);
}
@@ -160,7 +155,7 @@ class BlacklistPlugin extends Plugin
if (!empty($nickname)) {
if (!$this->_checkNickname($nickname)) {
- $msg = sprintf(_m("You may not register with nickname '%s'"),
+ $msg = sprintf(_m("You may not register with nickname '%s'."),
$nickname);
throw new ClientException($msg);
}
@@ -178,14 +173,13 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onStartProfileSaveForm($action)
{
$homepage = strtolower($action->trimmed('homepage'));
if (!empty($homepage)) {
if (!$this->_checkUrl($homepage)) {
- $msg = sprintf(_m("You may not use homepage '%s'"),
+ $msg = sprintf(_m("You may not use homepage '%s'."),
$homepage);
throw new ClientException($msg);
}
@@ -195,7 +189,7 @@ class BlacklistPlugin extends Plugin
if (!empty($nickname)) {
if (!$this->_checkNickname($nickname)) {
- $msg = sprintf(_m("You may not use nickname '%s'"),
+ $msg = sprintf(_m("You may not use nickname '%s'."),
$nickname);
throw new ClientException($msg);
}
@@ -213,7 +207,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onStartNoticeSave(&$notice)
{
common_replace_urls_callback($notice->content,
@@ -230,7 +223,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function checkNoticeUrl($url)
{
// It comes in special'd, so we unspecial it
@@ -239,7 +231,7 @@ class BlacklistPlugin extends Plugin
$url = htmlspecialchars_decode($url);
if (!$this->_checkUrl($url)) {
- $msg = sprintf(_m("You may not use url '%s' in notices"),
+ $msg = sprintf(_m("You may not use URL \"%s\" in notices."),
$url);
throw new ClientException($msg);
}
@@ -256,7 +248,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean true means it's OK, false means it's bad
*/
-
private function _checkUrl($url)
{
$patterns = $this->_getUrlPatterns();
@@ -279,7 +270,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean true means it's OK, false means it's bad
*/
-
private function _checkNickname($nickname)
{
$patterns = $this->_getNicknamePatterns();
@@ -300,7 +290,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onRouterInitialized($m)
{
$m->connect('admin/blacklist', array('action' => 'blacklistadminpanel'));
@@ -314,7 +303,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onAutoload($cls)
{
switch (strtolower($cls))
@@ -339,7 +327,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onPluginVersion(&$versions)
{
$versions[] = array('name' => 'Blacklist',
@@ -348,7 +335,7 @@ class BlacklistPlugin extends Plugin
'homepage' =>
'http://status.net/wiki/Plugin:Blacklist',
'description' =>
- _m('Keep a blacklist of forbidden nickname '.
+ _m('Keeps a blacklist of forbidden nickname '.
'and URL patterns.'));
return true;
}
@@ -361,7 +348,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onAdminPanelCheck($name, &$isOK)
{
if ($name == 'blacklist') {
@@ -379,7 +365,6 @@ class BlacklistPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onEndAdminPanelNav($nav)
{
if (AdminPanelAction::canAdmin('blacklist')) {
@@ -387,8 +372,8 @@ class BlacklistPlugin extends Plugin
$action_name = $nav->action->trimmed('action');
$nav->out->menuItem(common_local_url('blacklistadminpanel'),
- _('Blacklist'),
- _('Blacklist configuration'),
+ _m('Blacklist'),
+ _m('Blacklist configuration'),
$action_name == 'blacklistadminpanel',
'nav_blacklist_admin_panel');
}
@@ -414,7 +399,7 @@ class BlacklistPlugin extends Plugin
$action->elementStart('li');
$this->checkboxAndText($action,
'blacklistnickname',
- _('Add this nickname pattern to blacklist'),
+ _m('Add this nickname pattern to blacklist'),
'blacklistnicknamepattern',
$this->patternizeNickname($user->nickname));
$action->elementEnd('li');
@@ -423,7 +408,7 @@ class BlacklistPlugin extends Plugin
$action->elementStart('li');
$this->checkboxAndText($action,
'blacklisthomepage',
- _('Add this homepage pattern to blacklist'),
+ _m('Add this homepage pattern to blacklist'),
'blacklisthomepagepattern',
$this->patternizeHomepage($profile->homepage));
$action->elementEnd('li');
diff --git a/plugins/Blacklist/Homepage_blacklist.php b/plugins/Blacklist/Homepage_blacklist.php
index ec89ee4bd..2820294fa 100644
--- a/plugins/Blacklist/Homepage_blacklist.php
+++ b/plugins/Blacklist/Homepage_blacklist.php
@@ -44,7 +44,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
*
* @see DB_DataObject
*/
-
class Homepage_blacklist extends Memcached_DataObject
{
public $__table = 'homepage_blacklist'; // table name
@@ -62,7 +61,6 @@ class Homepage_blacklist extends Memcached_DataObject
* @return Homepage_blacklist object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Homepage_blacklist', $k, $v);
@@ -76,7 +74,6 @@ class Homepage_blacklist extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('pattern' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
@@ -91,7 +88,6 @@ class Homepage_blacklist extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -105,7 +101,6 @@ class Homepage_blacklist extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('pattern' => 'K');
@@ -116,7 +111,6 @@ class Homepage_blacklist extends Memcached_DataObject
*
* @return array string patterns to check
*/
-
static function getPatterns()
{
$patterns = self::cacheGet('homepage_blacklist:patterns');
@@ -144,17 +138,14 @@ class Homepage_blacklist extends Memcached_DataObject
*
* @return array of patterns to check
*/
-
static function saveNew($newPatterns)
{
$oldPatterns = self::getPatterns();
// Delete stuff that's old that not in new
-
$toDelete = array_diff($oldPatterns, $newPatterns);
// Insert stuff that's in new and not in old
-
$toInsert = array_diff($newPatterns, $oldPatterns);
foreach ($toDelete as $pattern) {
diff --git a/plugins/Blacklist/Nickname_blacklist.php b/plugins/Blacklist/Nickname_blacklist.php
index e8545292d..d5d46a949 100644
--- a/plugins/Blacklist/Nickname_blacklist.php
+++ b/plugins/Blacklist/Nickname_blacklist.php
@@ -44,7 +44,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
*
* @see DB_DataObject
*/
-
class Nickname_blacklist extends Memcached_DataObject
{
public $__table = 'nickname_blacklist'; // table name
@@ -62,7 +61,6 @@ class Nickname_blacklist extends Memcached_DataObject
* @return Nickname_blacklist object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Nickname_blacklist', $k, $v);
@@ -73,7 +71,6 @@ class Nickname_blacklist extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('pattern' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
@@ -85,7 +82,6 @@ class Nickname_blacklist extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -96,7 +92,6 @@ class Nickname_blacklist extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('pattern' => 'K');
@@ -107,7 +102,6 @@ class Nickname_blacklist extends Memcached_DataObject
*
* @return array string patterns to check
*/
-
static function getPatterns()
{
$patterns = self::cacheGet('nickname_blacklist:patterns');
@@ -135,17 +129,14 @@ class Nickname_blacklist extends Memcached_DataObject
*
* @return array of patterns to check
*/
-
static function saveNew($newPatterns)
{
$oldPatterns = self::getPatterns();
// Delete stuff that's old that not in new
-
$toDelete = array_diff($oldPatterns, $newPatterns);
// Insert stuff that's in new and not in old
-
$toInsert = array_diff($newPatterns, $oldPatterns);
foreach ($toDelete as $pattern) {
diff --git a/plugins/Blacklist/blacklistadminpanel.php b/plugins/Blacklist/blacklistadminpanel.php
index 4289dec1b..9019bb9ad 100644
--- a/plugins/Blacklist/blacklistadminpanel.php
+++ b/plugins/Blacklist/blacklistadminpanel.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
class BlacklistadminpanelAction extends AdminPanelAction
{
/**
@@ -48,10 +47,9 @@ class BlacklistadminpanelAction extends AdminPanelAction
*
* @return string title
*/
-
function title()
{
- return _('Blacklist');
+ return _m('Blacklist');
}
/**
@@ -59,10 +57,9 @@ class BlacklistadminpanelAction extends AdminPanelAction
*
* @return string instructions
*/
-
function getInstructions()
{
- return _('Blacklisted URLs and nicknames');
+ return _m('Blacklisted URLs and nicknames');
}
/**
@@ -72,7 +69,6 @@ class BlacklistadminpanelAction extends AdminPanelAction
*
* @see BlacklistAdminPanelForm
*/
-
function showForm()
{
$form = new BlacklistAdminPanelForm($this);
@@ -85,7 +81,6 @@ class BlacklistadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function saveSettings()
{
$nickPatterns = $this->splitPatterns($this->trimmed('blacklist-nicknames'));
@@ -116,7 +111,6 @@ class BlacklistadminpanelAction extends AdminPanelAction
*
* @return boolean success flag
*/
-
function validate(&$values)
{
return true;
@@ -132,7 +126,6 @@ class BlacklistadminpanelAction extends AdminPanelAction
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
class BlacklistAdminPanelForm extends Form
{
/**
@@ -140,7 +133,6 @@ class BlacklistAdminPanelForm extends Form
*
* @return string ID
*/
-
function id()
{
return 'blacklistadminpanel';
@@ -151,7 +143,6 @@ class BlacklistAdminPanelForm extends Form
*
* @return string class
*/
-
function formClass()
{
return 'form_settings';
@@ -162,7 +153,6 @@ class BlacklistAdminPanelForm extends Form
*
* @return string action URL
*/
-
function action()
{
return common_local_url('blacklistadminpanel');
@@ -173,7 +163,6 @@ class BlacklistAdminPanelForm extends Form
*
* @return void
*/
-
function formData()
{
$this->out->elementStart('ul', 'form_data');
@@ -184,7 +173,7 @@ class BlacklistAdminPanelForm extends Form
$this->out->textarea('blacklist-nicknames', _m('Nicknames'),
implode("\r\n", $nickPatterns),
- _('Patterns of nicknames to block, one per line'));
+ _m('Patterns of nicknames to block, one per line'));
$this->out->elementEnd('li');
$urlPatterns = Homepage_blacklist::getPatterns();
@@ -192,7 +181,7 @@ class BlacklistAdminPanelForm extends Form
$this->out->elementStart('li');
$this->out->textarea('blacklist-urls', _m('URLs'),
implode("\r\n", $urlPatterns),
- _('Patterns of URLs to block, one per line'));
+ _m('Patterns of URLs to block, one per line'));
$this->out->elementEnd('li');
$this->out->elementEnd('ul');
@@ -203,13 +192,12 @@ class BlacklistAdminPanelForm extends Form
*
* @return void
*/
-
function formActions()
{
$this->out->submit('submit',
- _('Save'),
+ _m('Save'),
'submit',
null,
- _('Save site settings'));
+ _m('Save site settings'));
}
}
diff --git a/plugins/Blacklist/locale/Blacklist.pot b/plugins/Blacklist/locale/Blacklist.pot
index 90eda0941..bcd7e6514 100644
--- a/plugins/Blacklist/locale/Blacklist.pot
+++ b/plugins/Blacklist/locale/Blacklist.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,39 +16,75 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: BlacklistPlugin.php:153
+#: BlacklistPlugin.php:148
#, php-format
-msgid "You may not register with homepage '%s'"
+msgid "You may not register with homepage '%s'."
msgstr ""
-#: BlacklistPlugin.php:163
+#: BlacklistPlugin.php:158
#, php-format
-msgid "You may not register with nickname '%s'"
+msgid "You may not register with nickname '%s'."
msgstr ""
-#: BlacklistPlugin.php:188
+#: BlacklistPlugin.php:182
#, php-format
-msgid "You may not use homepage '%s'"
+msgid "You may not use homepage '%s'."
msgstr ""
-#: BlacklistPlugin.php:198
+#: BlacklistPlugin.php:192
#, php-format
-msgid "You may not use nickname '%s'"
+msgid "You may not use nickname '%s'."
msgstr ""
-#: BlacklistPlugin.php:242
+#: BlacklistPlugin.php:234
#, php-format
-msgid "You may not use url '%s' in notices"
+msgid "You may not use URL \"%s\" in notices."
msgstr ""
-#: BlacklistPlugin.php:351
-msgid "Keep a blacklist of forbidden nickname and URL patterns."
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
msgstr ""
-#: blacklistadminpanel.php:185
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr ""
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr ""
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr ""
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr ""
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr ""
+
+#: blacklistadminpanel.php:174
msgid "Nicknames"
msgstr ""
-#: blacklistadminpanel.php:193
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr ""
+
+#: blacklistadminpanel.php:182
msgid "URLs"
msgstr ""
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr ""
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr ""
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr ""
diff --git a/plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..40ba32609
--- /dev/null
+++ b/plugins/Blacklist/locale/br/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,95 @@
+# Translation of StatusNet - Blacklist to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "Ne c'hellit ket en em enskrivañ gant ar bajenn degemer \"%s\"."
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "Ne c'hellit ket en em enskrivañ gant al lesanv \"%s\"."
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "Ne c'hellit ket implij ar bajenn degemer \"%s\"."
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "Ne c'hellit ket implij al lesanv \"%s\"."
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "Ne c'hellit ket implij an URL \"%s\" en alioù."
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr ""
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr ""
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr ""
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr ""
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr ""
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr ""
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Lesanvioù"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr ""
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "URLoù"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr ""
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Enrollañ"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Enrollañ arventennoù al lec'hienn"
diff --git a/plugins/Blacklist/locale/es/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/es/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..09799df24
--- /dev/null
+++ b/plugins/Blacklist/locale/es/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,97 @@
+# Translation of StatusNet - Blacklist to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "No puedes registrarte con la página principal '%s'."
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "No puedes registrarte con el nombre de usuario '%s'."
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "No puedes utilizar la página de inicio '%s'."
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "No puedes utilizar el nombre de usuario '%s'."
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "No puedes utilizar el URL \"%s\" en los mensajes."
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr ""
+"Mantiene una lista negra de patrones de nombres de usuario y URL prohibidos."
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "Lista negra"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "Configuración de lista negra"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr "Añadir este patrón de nombre de usuario a la lista negra"
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr "Añadir este patrón de página principal a la lista negra"
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr "URL y nombres de usuario incluidos en la lista negra"
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Nombres de usuario"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr "Patrones de nombres de usuario a bloquear, uno por línea"
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "URLs"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr "Patrones de URL a bloquear, uno por línea"
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Guardar"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Guardar la configuración del sitio"
diff --git a/plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..f6a1d195c
--- /dev/null
+++ b/plugins/Blacklist/locale/fr/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,96 @@
+# Translation of StatusNet - Blacklist to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "Vous ne pouvez pas vous inscrire avec la page d’accueil « %s »."
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "Vous ne pouvez pas vous inscrire avec le pseudonyme « %s »."
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "Vous ne pouvez pas utiliser la page d’accueil « %s »."
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "Vous ne pouvez pas utiliser le pseudonyme « %s »."
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "Vous ne pouvez pas utiliser l’URL « %s » dans les avis."
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr "Maintient une liste noire des pseudonymes et motifs d’URL interdits."
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "Liste noire"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "Configuration de la liste noire"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr "Ajouter ce motif de pseudonymes à la liste noire"
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr "Ajouter ce motif de pages d’accueil à la liste noire"
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr "Liste noire d’URL et de pseudonymes"
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Pseudonymes"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr "Motifs de surnoms à bloquer, un par ligne"
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "Adresses URL"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr "Motifs d’adresses URL à bloquer, un par ligne"
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Sauvegarder les paramètres du site"
diff --git a/plugins/Blacklist/locale/gl/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/gl/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..daf89cc50
--- /dev/null
+++ b/plugins/Blacklist/locale/gl/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,95 @@
+# Translation of StatusNet - Blacklist to Galician (Galego)
+# Expored from translatewiki.net
+#
+# Author: Toliño
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: gl\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr ""
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr ""
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr ""
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr ""
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr ""
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr ""
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "Lista negra"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "Configuración da lista negra"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr ""
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr ""
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr ""
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Alcumes"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr ""
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "Enderezos URL"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr ""
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Gardar"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Gardar a configuración do sitio"
diff --git a/plugins/Blacklist/locale/ia/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/ia/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..82b37a1a2
--- /dev/null
+++ b/plugins/Blacklist/locale/ia/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,96 @@
+# Translation of StatusNet - Blacklist to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "Tu non pote registrar te con le pagina personal '%s'."
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "Tu non pote registrar te con le pseudonymo '%s'."
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "Tu non pote usar le pagina personal '%s'."
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "Tu non pote usar le pseudonymo '%s'."
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "Tu non pote usar le URL \"%s\" in notas."
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr ""
+"Tene un lista nigre de pseudonymos e patronos de adresse URL prohibite."
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "Lista nigre"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "Configuration del lista nigre"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr "Adder iste patrono de pseudonymo al lista nigre"
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr "Adder iste patrono de pagina personal al lista nigre"
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr "URLs e pseudonymos in lista nigre"
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Pseudonymos"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr "Patronos de pseudonymos a blocar, un per linea"
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "Adresses URL"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr "Patronos de adresses URL a blocar, un per linea"
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Salveguardar"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Salveguardar configurationes del sito"
diff --git a/plugins/Blacklist/locale/mk/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/mk/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..a1866c1dc
--- /dev/null
+++ b/plugins/Blacklist/locale/mk/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,95 @@
+# Translation of StatusNet - Blacklist to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "Не можете да се регистрирате со домашната страница „%s“."
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "Не можете да се регистрирате со прекарот „%s“."
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "Не можете да ја користите домашната страница „%s“."
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "Не можете да го користите прекарот „%s“."
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "Не можете да ја користите URL-адресата „%s“ во забелешки."
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr "Води црн список на забранети видови на прекари и URL-адреси."
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "Црн список"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "Поставки на црниот список"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr "Додај го овој вид прекар во црниот список"
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr "Додај го овој вид домашна страница во црниот список"
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr "URL-адреси и прекари на црниот список"
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Прекари"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr "Видови прекари за блокирање, по еден во секој ред"
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "URL-адреси"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr "Видови URL-адреси за блокирање, по една во секој ред"
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Зачувај"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Зачувај поставки на мреж. место"
diff --git a/plugins/Blacklist/locale/nl/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/nl/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..21e731cee
--- /dev/null
+++ b/plugins/Blacklist/locale/nl/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,95 @@
+# Translation of StatusNet - Blacklist to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "U kunt niet registreren met \"%s\" als homepage."
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "U kunt niet registreren met \"%s\" als gebruikersnaam."
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "U mag \"%s\" niet als homepage instellen."
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "U mag \"%s\" niet als gebruikersnaam gebruiken."
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "U mag de URL \"%s\" niet gebruiken in mededelingen."
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr "Houdt een lijst bij van verboden gebruikersnamen en URL-patronen."
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "Zwarte lijst"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "Instellingen voor zwarte lijst"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr "Dit gebruikersnaampatroon aan de zwarte lijst toevoegen"
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr "Dit homepagepatroon aan de zwarte lijst toevoegen"
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr "URL's en gebruikersnamen die op de zwarte lijst staan"
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Gebruikersnamen"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr "Patronen van te blokkeren gebruikersnamen. Eén per regel."
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "URL's"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr "Patronen van te blokkeren URL's. Eén per regel."
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Opslaan"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Websiteinstellingen opslaan"
diff --git a/plugins/Blacklist/locale/uk/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/uk/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..8fb53e846
--- /dev/null
+++ b/plugins/Blacklist/locale/uk/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,96 @@
+# Translation of StatusNet - Blacklist to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "Ви не можете зареєструватися, вказавши «%s» як веб-адресу."
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "Ви не можете зареєструватися, використавши нікнейм «%s»."
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "Ви не можете використовувати веб-адресу «%s»."
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "Ви не можете використовувати нікнейм «%s»."
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "Ви не можете використовувати URL-адресу «%s» в своїх повідомленнях."
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr "Зберігає чорний список заборонених нікнеймів та URL-шаблонів."
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "Чорний список"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "Конфігурація чорного списку"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr "Додати цей нікнейм до чорного списку"
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr "Додати цей шаблон веб-адреси до чорного списку"
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr "URL-адреси і нікнеми, що містяться в чорному списку"
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "Нікнейми"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr "Шаблони нікнеймів, котрі будуть блокуватися (по одному на рядок)"
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "URL-адреси"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr "Шаблони URL-адрес, котрі будуть блокуватися (по одному на рядок)"
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "Зберегти"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "Зберегти налаштування сайту"
diff --git a/plugins/Blacklist/locale/zh_CN/LC_MESSAGES/Blacklist.po b/plugins/Blacklist/locale/zh_CN/LC_MESSAGES/Blacklist.po
new file mode 100644
index 000000000..58661e647
--- /dev/null
+++ b/plugins/Blacklist/locale/zh_CN/LC_MESSAGES/Blacklist.po
@@ -0,0 +1,96 @@
+# Translation of StatusNet - Blacklist to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Blacklist\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:26+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-blacklist\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: BlacklistPlugin.php:148
+#, php-format
+msgid "You may not register with homepage '%s'."
+msgstr "你不能使用主页 '%s' 注册。"
+
+#: BlacklistPlugin.php:158
+#, php-format
+msgid "You may not register with nickname '%s'."
+msgstr "你不能使用昵称 '%s' 注册。"
+
+#: BlacklistPlugin.php:182
+#, php-format
+msgid "You may not use homepage '%s'."
+msgstr "你不能使用主页 '%s'。"
+
+#: BlacklistPlugin.php:192
+#, php-format
+msgid "You may not use nickname '%s'."
+msgstr "你不能使用昵称 '%s'。"
+
+#: BlacklistPlugin.php:234
+#, php-format
+msgid "You may not use URL \"%s\" in notices."
+msgstr "你不能在提醒中使用URL '%s'。"
+
+#: BlacklistPlugin.php:338
+msgid "Keeps a blacklist of forbidden nickname and URL patterns."
+msgstr "为被禁止的昵称和URL模板创建黑名单。"
+
+#: BlacklistPlugin.php:375 blacklistadminpanel.php:52
+msgid "Blacklist"
+msgstr "黑名单"
+
+#: BlacklistPlugin.php:376
+msgid "Blacklist configuration"
+msgstr "黑名单配置"
+
+#: BlacklistPlugin.php:402
+msgid "Add this nickname pattern to blacklist"
+msgstr "向黑名单添加此昵称规则"
+
+#: BlacklistPlugin.php:411
+msgid "Add this homepage pattern to blacklist"
+msgstr "向黑名单添加此主页规则"
+
+#: blacklistadminpanel.php:62
+msgid "Blacklisted URLs and nicknames"
+msgstr "黑名单中的URL和昵称"
+
+#: blacklistadminpanel.php:174
+msgid "Nicknames"
+msgstr "昵称"
+
+#: blacklistadminpanel.php:176
+msgid "Patterns of nicknames to block, one per line"
+msgstr "禁止的昵称规则,每行一个"
+
+#: blacklistadminpanel.php:182
+msgid "URLs"
+msgstr "URL"
+
+#: blacklistadminpanel.php:184
+msgid "Patterns of URLs to block, one per line"
+msgstr "禁止的URL规则,每行一个"
+
+#: blacklistadminpanel.php:198
+msgid "Save"
+msgstr "保存"
+
+#: blacklistadminpanel.php:201
+msgid "Save site settings"
+msgstr "保存网站设置"
diff --git a/plugins/BlankAd/BlankAdPlugin.php b/plugins/BlankAd/BlankAdPlugin.php
index 0e2719aed..49243aeea 100644
--- a/plugins/BlankAd/BlankAdPlugin.php
+++ b/plugins/BlankAd/BlankAdPlugin.php
@@ -51,7 +51,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class BlankAdPlugin extends UAPPlugin
{
/**
@@ -61,7 +60,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showMediumRectangle($action)
{
$action->element('img',
@@ -78,7 +76,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showRectangle($action)
{
$action->element('img',
@@ -95,7 +92,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showWideSkyscraper($action)
{
$action->element('img',
@@ -112,7 +108,6 @@ class BlankAdPlugin extends UAPPlugin
*
* @return void
*/
-
protected function showLeaderboard($action)
{
$action->element('img',
@@ -121,4 +116,15 @@ class BlankAdPlugin extends UAPPlugin
'src' => common_path('plugins/BlankAd/redpixel.png')),
'');
}
-} \ No newline at end of file
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'BlankAd',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:BlankAdPlugin',
+ 'rawdescription' =>
+ _m('Plugin for testing ad layout.'));
+ return true;
+ }
+}
diff --git a/plugins/BlankAd/locale/BlankAd.pot b/plugins/BlankAd/locale/BlankAd.pot
new file mode 100644
index 000000000..ab31dc909
--- /dev/null
+++ b/plugins/BlankAd/locale/BlankAd.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr ""
diff --git a/plugins/BlankAd/locale/br/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/br/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..236653fd4
--- /dev/null
+++ b/plugins/BlankAd/locale/br/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlankAd to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Fulup
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Astenn da arnodiñ doare pajennaozañ ar bruderezh."
diff --git a/plugins/BlankAd/locale/es/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/es/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..9fecedcde
--- /dev/null
+++ b/plugins/BlankAd/locale/es/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlankAd to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Extensión para la probar la maquetación de publicidad."
diff --git a/plugins/BlankAd/locale/fr/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/fr/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..8153234d5
--- /dev/null
+++ b/plugins/BlankAd/locale/fr/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlankAd to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Extension pour tester la mise en forme des publicités."
diff --git a/plugins/BlankAd/locale/ia/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/ia/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..b887c6961
--- /dev/null
+++ b/plugins/BlankAd/locale/ia/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlankAd to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Plug-in pro essayar le lay-out de annuncios."
diff --git a/plugins/BlankAd/locale/mk/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/mk/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..c01f4ad20
--- /dev/null
+++ b/plugins/BlankAd/locale/mk/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlankAd to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Приклучок за испробување на распоредот на рекламите."
diff --git a/plugins/BlankAd/locale/nl/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/nl/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..fd7bf15a4
--- /dev/null
+++ b/plugins/BlankAd/locale/nl/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlankAd to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Plug-in voor het testen van advertentielay-outs."
diff --git a/plugins/BlankAd/locale/ru/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/ru/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..97e5a108b
--- /dev/null
+++ b/plugins/BlankAd/locale/ru/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - BlankAd to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Плагин для тестирования рекламных модулей."
diff --git a/plugins/BlankAd/locale/tl/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/tl/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..959090e25
--- /dev/null
+++ b/plugins/BlankAd/locale/tl/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlankAd to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Pamasak para sa pagsubok ng pagkakalatag ng anunsyo."
diff --git a/plugins/BlankAd/locale/uk/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/uk/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..87d624dc7
--- /dev/null
+++ b/plugins/BlankAd/locale/uk/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - BlankAd to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "Додаток для тестування рекламної схеми."
diff --git a/plugins/BlankAd/locale/zh_CN/LC_MESSAGES/BlankAd.po b/plugins/BlankAd/locale/zh_CN/LC_MESSAGES/BlankAd.po
new file mode 100644
index 000000000..37539ce5a
--- /dev/null
+++ b/plugins/BlankAd/locale/zh_CN/LC_MESSAGES/BlankAd.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - BlankAd to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlankAd\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-blankad\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: BlankAdPlugin.php:127
+msgid "Plugin for testing ad layout."
+msgstr "测试广告(ad)布局的插件。"
diff --git a/plugins/BlogspamNetPlugin.php b/plugins/BlogspamNet/BlogspamNetPlugin.php
index d52e6006a..51a86b4f3 100644
--- a/plugins/BlogspamNetPlugin.php
+++ b/plugins/BlogspamNet/BlogspamNetPlugin.php
@@ -53,7 +53,6 @@ define('BLOGSPAMNETPLUGIN_VERSION', '0.1');
*
* @see Event
*/
-
class BlogspamNetPlugin extends Plugin
{
var $baseUrl = 'http://test.blogspam.net:8888/';
@@ -142,4 +141,15 @@ class BlogspamNetPlugin extends Plugin
{
return 'BlogspamNetPlugin/'.BLOGSPAMNETPLUGIN_VERSION . ' StatusNet/' . STATUSNET_VERSION;
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'BlogspamNet',
+ 'version' => BLOGSPAMNETPLUGIN_VERSION,
+ 'author' => 'Evan Prodromou, Brion Vibber',
+ 'homepage' => 'http://status.net/wiki/Plugin:BlogspamNet',
+ 'rawdescription' =>
+ _m('Plugin to check submitted notices with blogspam.net.'));
+ return true;
+ }
}
diff --git a/plugins/BlogspamNet/locale/BlogspamNet.pot b/plugins/BlogspamNet/locale/BlogspamNet.pot
new file mode 100644
index 000000000..ac2da9e72
--- /dev/null
+++ b/plugins/BlogspamNet/locale/BlogspamNet.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr ""
diff --git a/plugins/BlogspamNet/locale/de/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/de/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..5f6939023
--- /dev/null
+++ b/plugins/BlogspamNet/locale/de/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlogspamNet to German (Deutsch)
+# Expored from translatewiki.net
+#
+# Author: The Evil IP address
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: de\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "Plugin zur Überprüfung von Nachrichten mit blogspam.net."
diff --git a/plugins/BlogspamNet/locale/es/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/es/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..d8d773e50
--- /dev/null
+++ b/plugins/BlogspamNet/locale/es/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlogspamNet to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "Extensión para revisar los mensajes enviados con blogspam.net."
diff --git a/plugins/BlogspamNet/locale/fr/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/fr/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..e55731db1
--- /dev/null
+++ b/plugins/BlogspamNet/locale/fr/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlogspamNet to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "Extension pour vérifier avec blogspam.net les avis soumis."
diff --git a/plugins/BlogspamNet/locale/ia/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/ia/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..c3ffd5697
--- /dev/null
+++ b/plugins/BlogspamNet/locale/ia/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlogspamNet to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "Plug-in pro verificar notas submittite contra blogspam.net."
diff --git a/plugins/BlogspamNet/locale/mk/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/mk/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..40a7b3737
--- /dev/null
+++ b/plugins/BlogspamNet/locale/mk/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlogspamNet to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "Приклучок за проверка на поднесените забелешки со blogspam.net."
diff --git a/plugins/BlogspamNet/locale/nl/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/nl/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..9b0b138cc
--- /dev/null
+++ b/plugins/BlogspamNet/locale/nl/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - BlogspamNet to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "Plug-in om mededelingen te controleren tegen blogspam.net."
diff --git a/plugins/BlogspamNet/locale/tl/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/tl/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..26d20bc5c
--- /dev/null
+++ b/plugins/BlogspamNet/locale/tl/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - BlogspamNet to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr ""
+"Pamasak upang masuri ang ipinasang mga pabatid sa pamamagitan ng blogspam."
+"net."
diff --git a/plugins/BlogspamNet/locale/uk/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/uk/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..c59c80adb
--- /dev/null
+++ b/plugins/BlogspamNet/locale/uk/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - BlogspamNet to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "Додаток для перевірки вказаних повідомлень на blogspam.net."
diff --git a/plugins/BlogspamNet/locale/zh_CN/LC_MESSAGES/BlogspamNet.po b/plugins/BlogspamNet/locale/zh_CN/LC_MESSAGES/BlogspamNet.po
new file mode 100644
index 000000000..e8dff72d0
--- /dev/null
+++ b/plugins/BlogspamNet/locale/zh_CN/LC_MESSAGES/BlogspamNet.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - BlogspamNet to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - BlogspamNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:27+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-blogspamnet\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: BlogspamNetPlugin.php:152
+msgid "Plugin to check submitted notices with blogspam.net."
+msgstr "通过 blogspam.net 检查发布的消息的插件。"
diff --git a/plugins/CacheLogPlugin.php b/plugins/CacheLog/CacheLogPlugin.php
index 4c47de80e..5b0b43935 100644
--- a/plugins/CacheLogPlugin.php
+++ b/plugins/CacheLog/CacheLogPlugin.php
@@ -50,7 +50,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class CacheLogPlugin extends Plugin
{
function onStartCacheGet(&$key, &$value)
@@ -114,8 +113,7 @@ class CacheLogPlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:CacheLog',
'description' =>
- _m('Log reads and writes to the cache'));
+ _m('Log reads and writes to the cache.'));
return true;
}
}
-
diff --git a/plugins/CacheLog/locale/CacheLog.pot b/plugins/CacheLog/locale/CacheLog.pot
new file mode 100644
index 000000000..644196f56
--- /dev/null
+++ b/plugins/CacheLog/locale/CacheLog.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr ""
diff --git a/plugins/CacheLog/locale/es/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/es/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..07d0419fa
--- /dev/null
+++ b/plugins/CacheLog/locale/es/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - CacheLog to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Registra lecturas y escrituras en el caché"
diff --git a/plugins/CacheLog/locale/fr/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/fr/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..90c25580d
--- /dev/null
+++ b/plugins/CacheLog/locale/fr/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - CacheLog to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Lectures et écritures de journal en cache."
diff --git a/plugins/CacheLog/locale/ia/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/ia/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..943a490c8
--- /dev/null
+++ b/plugins/CacheLog/locale/ia/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - CacheLog to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Registrar le lectura e scriptura al cache."
diff --git a/plugins/CacheLog/locale/mk/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/mk/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..92fe1b342
--- /dev/null
+++ b/plugins/CacheLog/locale/mk/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - CacheLog to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Евидентирај читања на и записи во кешот."
diff --git a/plugins/CacheLog/locale/nl/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/nl/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..c0700465c
--- /dev/null
+++ b/plugins/CacheLog/locale/nl/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - CacheLog to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Lezen en schrijven naar de cache in het logboek opnemen."
diff --git a/plugins/CacheLog/locale/pt/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/pt/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..8c0123c0f
--- /dev/null
+++ b/plugins/CacheLog/locale/pt/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - CacheLog to Portuguese (Português)
+# Expored from translatewiki.net
+#
+# Author: Waldir
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Regista leituras e escritas na cache."
diff --git a/plugins/CacheLog/locale/ru/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/ru/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..44a967f9d
--- /dev/null
+++ b/plugins/CacheLog/locale/ru/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - CacheLog to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Журнал читает и пишет в кеш."
diff --git a/plugins/CacheLog/locale/tl/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/tl/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..c210ae2f9
--- /dev/null
+++ b/plugins/CacheLog/locale/tl/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - CacheLog to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Ang tala ay nagbabasa at nagsusulat sa taguan."
diff --git a/plugins/CacheLog/locale/uk/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/uk/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..f49635582
--- /dev/null
+++ b/plugins/CacheLog/locale/uk/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - CacheLog to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "Лоґ переглядів та записів у кеші."
diff --git a/plugins/CacheLog/locale/zh_CN/LC_MESSAGES/CacheLog.po b/plugins/CacheLog/locale/zh_CN/LC_MESSAGES/CacheLog.po
new file mode 100644
index 000000000..71a099814
--- /dev/null
+++ b/plugins/CacheLog/locale/zh_CN/LC_MESSAGES/CacheLog.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - CacheLog to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CacheLog\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:28+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-cachelog\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: CacheLogPlugin.php:116
+msgid "Log reads and writes to the cache."
+msgstr "将读写日志到缓存。"
diff --git a/plugins/CasAuthentication/CasAuthenticationPlugin.php b/plugins/CasAuthentication/CasAuthenticationPlugin.php
index 1662db3eb..71e54d41f 100644
--- a/plugins/CasAuthentication/CasAuthenticationPlugin.php
+++ b/plugins/CasAuthentication/CasAuthenticationPlugin.php
@@ -79,8 +79,10 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('caslogin'),
+ // TRANS: Menu item. CAS is Central Authentication Service.
_m('CAS'),
- _m('Login or register with CAS'),
+ // TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+ _m('Login or register with CAS.'),
$action_name === 'caslogin');
return true;
@@ -93,9 +95,11 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
switch ($name)
{
case 'login':
- $instr = '(Have an account with CAS? ' .
- 'Try our [CAS login]'.
- '(%%action.caslogin%%)!)';
+ // TRANS: Invitation to users with a CAS account to log in using the service.
+ // TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+ // TRANS: These two elements may not be separated.
+ $instr = _m('(Have an account with CAS? ' .
+ 'Try our [CAS login](%%action.caslogin%%)!)');
break;
default:
return true;
@@ -121,13 +125,13 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
function onInitializePlugin(){
parent::onInitializePlugin();
if(!isset($this->server)){
- throw new Exception("must specify a server");
+ throw new Exception(_m("Specifying a server is required."));
}
if(!isset($this->port)){
- throw new Exception("must specify a port");
+ throw new Exception(_m("Specifying a port is required."));
}
if(!isset($this->path)){
- throw new Exception("must specify a path");
+ throw new Exception(_m("Specifying a path is required."));
}
//These values need to be accessible to a action object
//I can't think of any other way than global variables
@@ -146,8 +150,8 @@ class CasAuthenticationPlugin extends AuthenticationPlugin
'version' => STATUSNET_VERSION,
'author' => 'Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:CasAuthentication',
- 'rawdescription' =>
- _m('The CAS Authentication plugin allows for StatusNet to handle authentication through CAS (Central Authentication Service).'));
+ // TRANS: Plugin description. CAS is Central Authentication Service.
+ 'rawdescription' => _m('The CAS Authentication plugin allows for StatusNet to handle authentication through CAS (Central Authentication Service).'));
return true;
}
}
diff --git a/plugins/CasAuthentication/caslogin.php b/plugins/CasAuthentication/caslogin.php
index be6967381..3301ce582 100644
--- a/plugins/CasAuthentication/caslogin.php
+++ b/plugins/CasAuthentication/caslogin.php
@@ -36,13 +36,13 @@ class CasloginAction extends Action
$casTempPassword = common_good_rand(16);
$user = common_check_user(phpCAS::getUser(), $casTempPassword);
if (!$user) {
- $this->serverError(_('Incorrect username or password.'));
+ $this->serverError(_m('Incorrect username or password.'));
return;
}
// success!
if (!common_set_user($user)) {
- $this->serverError(_('Error setting user. You are probably not authorized.'));
+ $this->serverError(_m('Error setting user. You are probably not authorized.'));
return;
}
@@ -69,7 +69,6 @@ class CasloginAction extends Action
}
common_redirect($url, 303);
-
}
}
}
diff --git a/plugins/CasAuthentication/locale/CasAuthentication.pot b/plugins/CasAuthentication/locale/CasAuthentication.pot
index 20a2bf233..d28eb8fab 100644
--- a/plugins/CasAuthentication/locale/CasAuthentication.pot
+++ b/plugins/CasAuthentication/locale/CasAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,15 +16,38 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: CasAuthenticationPlugin.php:82
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
msgid "CAS"
msgstr ""
-#: CasAuthenticationPlugin.php:83
-msgid "Login or register with CAS"
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr ""
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr ""
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr ""
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
msgstr ""
-#: CasAuthenticationPlugin.php:150
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
msgid ""
"The CAS Authentication plugin allows for StatusNet to handle authentication "
"through CAS (Central Authentication Service)."
@@ -33,3 +56,11 @@ msgstr ""
#: caslogin.php:28
msgid "Already logged in."
msgstr ""
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr ""
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr ""
diff --git a/plugins/CasAuthentication/locale/es/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/es/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..1b6976a06
--- /dev/null
+++ b/plugins/CasAuthentication/locale/es/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,76 @@
+# Translation of StatusNet - CasAuthentication to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Locos epraix
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr "CAS"
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr "Inicia sesión o regístrate con CAS."
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+"(¿Tienes una cuenta con CAS? Prueba nuestro [Inicio de usuario CAS](%%action."
+"caslogin%%)!)"
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "Se requiere especificar un servidor."
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "Se requiere especificar un servidor."
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr "Se requiere especificar una ruta."
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr ""
+"La extensión de Autenticación CAS permite a StatusNet manejar autenticación "
+"a través de CAS (Servicio de Autenticación Central)."
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "Ya has iniciado sesión"
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "Nombre de usuario o contraseña incorrectos."
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr "Error al configurar el usuario. Posiblemente no tengas autorización."
diff --git a/plugins/CasAuthentication/locale/fr/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/fr/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..4469a54ef
--- /dev/null
+++ b/plugins/CasAuthentication/locale/fr/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,77 @@
+# Translation of StatusNet - CasAuthentication to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr "Service d’authentification central (SAC)"
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr "Se connecter ou s’inscrire via le SAC."
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+"(Vous avez un compte authentifié SAC ? Essayez notre [connexion SAC](%%"
+"action.caslogin%%) !)"
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "La spécification d’un serveur est nécessaire."
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "La spécification d’un port est nécessaire."
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr "La spécification d’un chemin d’accès est nécessaire."
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr ""
+"Le greffon d’authentification SAC permet à StatusNet de gérer "
+"l’authentification par SAC (Service central d’authentification)."
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "Déjà connecté."
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "Nom d’utilisateur ou mot de passe incorrect."
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr ""
+"Erreur lors de la définition de l’utilisateur. Vous n’êtes probablement pas "
+"autorisé."
diff --git a/plugins/CasAuthentication/locale/ia/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/ia/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..eeb584df6
--- /dev/null
+++ b/plugins/CasAuthentication/locale/ia/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,77 @@
+# Translation of StatusNet - CasAuthentication to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr "CAS"
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr "Aperir session o crear conto via CAS."
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+"(Tu ha un conto de CAS? Essaya nostre [authentication CAS](%%action.caslogin%"
+"%)!)"
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "Specificar un servitor es necessari."
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "Specificar un porto es necessari."
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr "Specificar un cammino es necessari."
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr ""
+"Le plug-in de authentication CAS permitte que StatusNet manea le "
+"authentication via CAS (Central Authentication Service, servicio central de "
+"authentication)."
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "Tu es jam authenticate."
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "Nomine de usator o contrasigno incorrecte."
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr ""
+"Error de acceder al conto de usator. Tu probabilemente non es autorisate."
diff --git a/plugins/CasAuthentication/locale/mk/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/mk/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..a43436225
--- /dev/null
+++ b/plugins/CasAuthentication/locale/mk/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,76 @@
+# Translation of StatusNet - CasAuthentication to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr "CAS"
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr "Најава или регистрација со CAS."
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+"(Имате сметка на CAS? Пробајте ја нашата [најава со CAS](%%action.caslogin%"
+"%)!)"
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "Мора да се назначи опслужувач."
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "Мора да се назначи порта."
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr "Мора да се назначи патека."
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr ""
+"Приклучокот за потврда CAS му овозможува на StatusNet да работи со потврди "
+"преку CAS (Central Authentication Service - „Служба за централно "
+"потврдување“)."
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "Веќе сте најавени."
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "Мора да се назначи корисничко име и лозинка."
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr "Грешка при поставувањето на корисникот. Веројатно не сте потврдени."
diff --git a/plugins/CasAuthentication/locale/nl/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/nl/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..741092215
--- /dev/null
+++ b/plugins/CasAuthentication/locale/nl/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,76 @@
+# Translation of StatusNet - CasAuthentication to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr "CAS"
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr "Aanmelden of registreren via CAS."
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+"Hebt u een gebruiker met CAS? [Meld u dan aan met CAS](%%action.caslogin%%)!"
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "Het aangeven van een server is vereist."
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "Het aangeven van een poort is vereist."
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr "Het aangeven van een pad is vereist."
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr ""
+"De plugin CAS Authentication stelt StatusNet in staat authenticatie via CAS "
+"after handelen (Central Authentication Service)."
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "U bent al aangemeld."
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "De gebruikersnaam of wachtwoord is onjuist."
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr ""
+"Er is een fout opgetreden bij het maken van de instellingen. U hebt "
+"waarschijnlijk niet de juiste rechten."
diff --git a/plugins/CasAuthentication/locale/pt_BR/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/pt_BR/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..e37367a78
--- /dev/null
+++ b/plugins/CasAuthentication/locale/pt_BR/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,73 @@
+# Translation of StatusNet - CasAuthentication to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Luckas Blade
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr ""
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr ""
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "É necessário especificar um servidor."
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "É necessário especificar uma porta."
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr ""
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr ""
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "Já está autenticado."
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "Nome de usuário e/ou senha incorreto(s)."
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr ""
+"Erro na configuração do usuário. Você provavelmente não tem autorização."
diff --git a/plugins/CasAuthentication/locale/uk/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/uk/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..cf402ab53
--- /dev/null
+++ b/plugins/CasAuthentication/locale/uk/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,74 @@
+# Translation of StatusNet - CasAuthentication to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr "CAS"
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr "Увійти або зареєструватися з CAS."
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr "Маєте акаунт CAS? Спробуйте наш [вхід CAS](%%action.caslogin%%)!)"
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "Необхідно зазначити сервер."
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "Необхідно зазначити порт."
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr "Необхідно зазначити шлях."
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr ""
+"Додаток автентифікації CAS дозволяє входити на сайт StatusNet за допомогою "
+"CAS (центрального сервісу автентифікації)."
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "Тепер ви увійшли."
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "Неточне ім’я або пароль."
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr "Помилка налаштувань користувача. Можливо, ви не авторизовані."
diff --git a/plugins/CasAuthentication/locale/zh_CN/LC_MESSAGES/CasAuthentication.po b/plugins/CasAuthentication/locale/zh_CN/LC_MESSAGES/CasAuthentication.po
new file mode 100644
index 000000000..d079f314d
--- /dev/null
+++ b/plugins/CasAuthentication/locale/zh_CN/LC_MESSAGES/CasAuthentication.po
@@ -0,0 +1,73 @@
+# Translation of StatusNet - CasAuthentication to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - CasAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-casauthentication\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. TRANS: Menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:83
+msgid "CAS"
+msgstr "中央鉴权服务"
+
+#. TRANS: Tooltip for menu item. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:85
+msgid "Login or register with CAS."
+msgstr "登录或注册到中央鉴权服务"
+
+#. TRANS: Invitation to users with a CAS account to log in using the service.
+#. TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL.
+#. TRANS: These two elements may not be separated.
+#: CasAuthenticationPlugin.php:101
+#, php-format
+msgid "(Have an account with CAS? Try our [CAS login](%%action.caslogin%%)!)"
+msgstr ""
+" (已有中央鉴权服务帐号?尝试使用 [中央鉴权登录](%%action.caslogin%%)!)"
+
+#: CasAuthenticationPlugin.php:128
+msgid "Specifying a server is required."
+msgstr "需要指定一个服务器"
+
+#: CasAuthenticationPlugin.php:131
+msgid "Specifying a port is required."
+msgstr "需要指定一个端口"
+
+#: CasAuthenticationPlugin.php:134
+msgid "Specifying a path is required."
+msgstr "需要指定一个路径"
+
+#. TRANS: Plugin description. CAS is Central Authentication Service.
+#: CasAuthenticationPlugin.php:154
+msgid ""
+"The CAS Authentication plugin allows for StatusNet to handle authentication "
+"through CAS (Central Authentication Service)."
+msgstr "中央鉴权插件可以使StatusNet使用中央鉴权服务进行登录鉴权。"
+
+#: caslogin.php:28
+msgid "Already logged in."
+msgstr "已登录。"
+
+#: caslogin.php:39
+msgid "Incorrect username or password."
+msgstr "用户名或密码错误"
+
+#: caslogin.php:45
+msgid "Error setting user. You are probably not authorized."
+msgstr "设置用户时出错。你可能没有通过鉴权。"
diff --git a/plugins/ClientSideShorten/ClientSideShortenPlugin.php b/plugins/ClientSideShorten/ClientSideShortenPlugin.php
index 3da08e05d..65e27a037 100644
--- a/plugins/ClientSideShorten/ClientSideShortenPlugin.php
+++ b/plugins/ClientSideShorten/ClientSideShortenPlugin.php
@@ -73,9 +73,7 @@ class ClientSideShortenPlugin extends Plugin
'author' => 'Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:ClientSideShorten',
'rawdescription' =>
- _m('ClientSideShorten causes the web interface\'s notice form to automatically shorten urls as they entered, and before the notice is submitted.'));
+ _m('ClientSideShorten causes the web interface\'s notice form to automatically shorten URLs as they entered, and before the notice is submitted.'));
return true;
}
-
}
-
diff --git a/plugins/ClientSideShorten/locale/ClientSideShorten.pot b/plugins/ClientSideShorten/locale/ClientSideShorten.pot
index 83caff322..bc376527a 100644
--- a/plugins/ClientSideShorten/locale/ClientSideShorten.pot
+++ b/plugins/ClientSideShorten/locale/ClientSideShorten.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -19,7 +19,7 @@ msgstr ""
#: ClientSideShortenPlugin.php:74
msgid ""
"ClientSideShorten causes the web interface's notice form to automatically "
-"shorten urls as they entered, and before the notice is submitted."
+"shorten URLs as they entered, and before the notice is submitted."
msgstr ""
#: shorten.php:55
diff --git a/plugins/ClientSideShorten/locale/es/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/es/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..9443e654e
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/es/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - ClientSideShorten to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"ClientSideShorten hace que el formulario de mensaje de la interfaz web "
+"acorte las URL automáticamente conforme se introducen t antes de que se "
+"envíe el mensaje."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "Debe especificarse el argumento 'texto'."
diff --git a/plugins/ClientSideShorten/locale/fr/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/fr/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..9cc6033c2
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/fr/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,36 @@
+# Translation of StatusNet - ClientSideShorten to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"ClientSideShorten fait en sorte que le formulaire d’avis de l’interface "
+"raccourcisse automatiquement les URL lorsqu’elles sont saisies, avant que "
+"l’avis ne soit soumis."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "L’argument « text » doit être spécifié."
diff --git a/plugins/ClientSideShorten/locale/ia/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/ia/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..896ae4c85
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/ia/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - ClientSideShorten to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"ClientSideShorten causa que le formulario web pro entrar notas abbrevia "
+"automaticamente le adresses URL a lor entrata, e ante le submission del nota."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "Le parametro 'text' debe esser specificate."
diff --git a/plugins/ClientSideShorten/locale/mk/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/mk/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..3aef62939
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/mk/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - ClientSideShorten to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"Со ClientSideShorten, образецот за забелешки во мрежниот посредник "
+"автоматски ги скратува URL-адресите при самото нивно внесување, и пред да се "
+"поднесе забелешката."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "Мора да се назначи аргументот „text“."
diff --git a/plugins/ClientSideShorten/locale/nb/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/nb/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..3a9508565
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/nb/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - ClientSideShorten to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"ClientSideShorten fører til at nettgrensesnittets notisskjema automatisk "
+"forkorter URL-er mens de skrives inn, og før notisen sendes inn."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "'text'-argument må spesifiseres."
diff --git a/plugins/ClientSideShorten/locale/nl/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/nl/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..daceb78ba
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/nl/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - ClientSideShorten to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:29+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"ClientSideShorten zorgt dat URLs die worden ingegeven in het "
+"mededelingenformulier automatisch worden ingekort tijdens het invoeren en "
+"voordat de mededeling wordt opgeslagen."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "Het argument 'text' moet aangegeven worden."
diff --git a/plugins/ClientSideShorten/locale/tl/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/tl/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..663b11b2e
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/tl/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - ClientSideShorten to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"Ang ClientSideShorten ay nakapagsasanhi sa pormularyo ng pabatid ng ugnayang-"
+"mukha ng web na kusang paiksiin ang mga URL habang ipinapasok sila, at bago "
+"ipasa ang pabatid."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "dapat tukuyin ang argumento ng 'teksto'."
diff --git a/plugins/ClientSideShorten/locale/uk/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/uk/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..8337536b6
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/uk/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,36 @@
+# Translation of StatusNet - ClientSideShorten to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"ClientSideShorten зазначає, чи будуть автоматично скорочуватись URL-адреси "
+"при використанні веб-інтерфейсу для надсилання допису на сайт до того, як "
+"допис буде надіслано."
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "Аргумент «текст» має бути зазначено."
diff --git a/plugins/ClientSideShorten/locale/zh_CN/LC_MESSAGES/ClientSideShorten.po b/plugins/ClientSideShorten/locale/zh_CN/LC_MESSAGES/ClientSideShorten.po
new file mode 100644
index 000000000..256d52303
--- /dev/null
+++ b/plugins/ClientSideShorten/locale/zh_CN/LC_MESSAGES/ClientSideShorten.po
@@ -0,0 +1,36 @@
+# Translation of StatusNet - ClientSideShorten to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ClientSideShorten\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:18+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-clientsideshorten\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ClientSideShortenPlugin.php:74
+msgid ""
+"ClientSideShorten causes the web interface's notice form to automatically "
+"shorten URLs as they entered, and before the notice is submitted."
+msgstr ""
+"客户端短网址(ClientSideShorten )将在消息发布前自动在网页界面下缩短输入的网"
+"址。"
+
+#: shorten.php:55
+msgid "'text' argument must be specified."
+msgstr "需要定义'text' 变量。"
diff --git a/plugins/ClientSideShorten/shorten.php b/plugins/ClientSideShorten/shorten.php
index f67cbf3b2..53c2cf5d1 100644
--- a/plugins/ClientSideShorten/shorten.php
+++ b/plugins/ClientSideShorten/shorten.php
@@ -41,7 +41,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class ShortenAction extends Action
{
private $text;
@@ -66,4 +65,3 @@ class ShortenAction extends Action
print $shortened_text;
}
}
-
diff --git a/plugins/Comet/CometPlugin.php b/plugins/Comet/CometPlugin.php
index 29cb3004b..70b324b5c 100644
--- a/plugins/Comet/CometPlugin.php
+++ b/plugins/Comet/CometPlugin.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class CometPlugin extends RealtimePlugin
{
public $server = null;
@@ -104,4 +103,15 @@ class CometPlugin extends RealtimePlugin
}
return '/' . implode('/', $path);
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Comet',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Comet',
+ 'rawdescription' =>
+ _m('Plugin to do "real time" updates using Comet/Bayeux.'));
+ return true;
+ }
}
diff --git a/plugins/Comet/README b/plugins/Comet/README
index 4abd40af7..f6e840b6a 100644
--- a/plugins/Comet/README
+++ b/plugins/Comet/README
@@ -6,7 +6,10 @@ NOTE: this is an insecure version; don't roll it out on a production
server.
It requires a cometd server. I've only had the cometd-java server work
-correctly; something's wiggy with the Twisted-based server.
+correctly; something's wiggy with the Twisted-based server. See here
+for help setting up a comet server:
+
+ http://cometd.org/
After you have a cometd server installed, just add this code to your
config.php:
diff --git a/plugins/Comet/locale/Comet.pot b/plugins/Comet/locale/Comet.pot
new file mode 100644
index 000000000..0a5054c50
--- /dev/null
+++ b/plugins/Comet/locale/Comet.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
diff --git a/plugins/Comet/locale/es/LC_MESSAGES/Comet.po b/plugins/Comet/locale/es/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..096795a5b
--- /dev/null
+++ b/plugins/Comet/locale/es/LC_MESSAGES/Comet.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - Comet to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Extensión para hacer actualizaciones en \"tiempo real\" utilizando Comet/"
+"Bayeux."
diff --git a/plugins/Comet/locale/fr/LC_MESSAGES/Comet.po b/plugins/Comet/locale/fr/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..8ef1d1ebc
--- /dev/null
+++ b/plugins/Comet/locale/fr/LC_MESSAGES/Comet.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - Comet to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Extension pour réaliser des mises à jour « en temps réel » en utilisant Comet/"
+"Bayeux."
diff --git a/plugins/Comet/locale/ia/LC_MESSAGES/Comet.po b/plugins/Comet/locale/ia/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..cd2616f7c
--- /dev/null
+++ b/plugins/Comet/locale/ia/LC_MESSAGES/Comet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - Comet to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr "Plug-in pro facer actualisationes \"in directo\" usante Comet/Bayeux."
diff --git a/plugins/Comet/locale/mk/LC_MESSAGES/Comet.po b/plugins/Comet/locale/mk/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..4bff9a14a
--- /dev/null
+++ b/plugins/Comet/locale/mk/LC_MESSAGES/Comet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - Comet to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr "Приклучок за вршење на поднови „во живо“ со Comet/Bayeux."
diff --git a/plugins/Comet/locale/nl/LC_MESSAGES/Comet.po b/plugins/Comet/locale/nl/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..b44f97ed1
--- /dev/null
+++ b/plugins/Comet/locale/nl/LC_MESSAGES/Comet.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - Comet to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr "Plug-in om \"real time\" updates te brengen via Comet/Bayeux."
diff --git a/plugins/Comet/locale/pt_BR/LC_MESSAGES/Comet.po b/plugins/Comet/locale/pt_BR/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..624248095
--- /dev/null
+++ b/plugins/Comet/locale/pt_BR/LC_MESSAGES/Comet.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - Comet to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Giro720
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Plugin para realizar atualizações em \"tempo real\" usando Comet/Bayeux."
diff --git a/plugins/Comet/locale/tl/LC_MESSAGES/Comet.po b/plugins/Comet/locale/tl/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..c58aab85c
--- /dev/null
+++ b/plugins/Comet/locale/tl/LC_MESSAGES/Comet.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - Comet to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Pamasak upang makagawa ng mga pagsasapanahong nasa \"tunay na panahon\" na "
+"ginagamitan ng Comet/Bayeux."
diff --git a/plugins/Comet/locale/uk/LC_MESSAGES/Comet.po b/plugins/Comet/locale/uk/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..b6b4beb58
--- /dev/null
+++ b/plugins/Comet/locale/uk/LC_MESSAGES/Comet.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - Comet to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Додаток для оновлення стрічки у «реальному часі» використовуючи Comet/Bayeux."
diff --git a/plugins/Comet/locale/zh_CN/LC_MESSAGES/Comet.po b/plugins/Comet/locale/zh_CN/LC_MESSAGES/Comet.po
new file mode 100644
index 000000000..ce870624c
--- /dev/null
+++ b/plugins/Comet/locale/zh_CN/LC_MESSAGES/Comet.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - Comet to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Comet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:30+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-comet\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: CometPlugin.php:114
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr "通过 Comet/Bayeux 实现“实时更新”的插件。"
diff --git a/plugins/DirectionDetector/DirectionDetectorPlugin.php b/plugins/DirectionDetector/DirectionDetectorPlugin.php
index b1362b166..1473c386f 100644
--- a/plugins/DirectionDetector/DirectionDetectorPlugin.php
+++ b/plugins/DirectionDetector/DirectionDetectorPlugin.php
@@ -18,210 +18,250 @@
*
* @category Plugin
* @package StatusNet
- * @author Behrooz shabani (everplays) - <behrooz@rock.com>
+ * @author Behrooz shabani (everplays) - <behrooz@rock.com>
* @copyright 2009-2010 Behrooz shabani
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
*
*/
if (!defined('STATUSNET')) {
- exit(1);
+ exit(1);
}
-define('DIRECTIONDETECTORPLUGIN_VERSION', '0.1.2');
+define('DIRECTIONDETECTORPLUGIN_VERSION', '0.2.0');
class DirectionDetectorPlugin extends Plugin {
- /**
- * SN plugin API, here we will make changes on rendered column
- *
- * @param object $notice notice is going to be saved
- */
- public function onStartNoticeSave(&$notice){
- if(!preg_match('/<span class="rtl">/', $notice->rendered) && self::isRTL($notice->content))
- $notice->rendered = '<span class="rtl">'.$notice->rendered.'</span>';
- return true;
- }
+ /**
+ * SN plugin API, here we will make changes on rendered column
+ *
+ * @param object $notice notice is going to be saved
+ */
+ public function onStartNoticeSave($notice){
+ if(!preg_match('/<span class="rtl">/', $notice->rendered) && self::isRTL($notice->content))
+ $notice->rendered = '<span class="rtl">'.$notice->rendered.'</span>';
+ return true;
+ }
- /**
- * SN plugin API, here we will add css needed for modifiyed rendered
- *
- * @param
- */
- public function onEndShowStatusNetStyles($xml){
- $xml->element('style', array('type' => 'text/css'), 'span.rtl {display:block;direction:rtl;text-align:right;float:right;width:490px;} .notice .author {float:left}');
- }
- /**
- * checks that passed string is a RTL language or not
- *
- * @param string $str String to be checked
- */
- public static function isRTL($str){
- self::getClearText($str);
- if( is_array($cc = self::utf8ToUnicode(mb_substr($str, 0, 1, 'utf-8'))) )
- $cc = $cc[0];
- else
- return false;
- if($cc>=1536 && $cc<=1791) // Arabic, Persian, Urdu, Kurdish, ...
- return true;
- if($cc>=65136 && $cc<=65279) // Arabic peresent 2
- return true;
- if($cc>=64336 && $cc<=65023) // Arabic peresent 1
- return true;
- if($cc>=1424 && $cc<=1535) // Hebrew
- return true;
- if($cc>=64256 && $cc<=64335) // Hebrew peresent
- return true;
- if($cc>=1792 && $cc<=1871) // Syriac
- return true;
- if($cc>=1920 && $cc<=1983) // Thaana
- return true;
- if($cc>=1984 && $cc<=2047) // NKo
- return true;
- if($cc>=11568 && $cc<=11647) // Tifinagh
- return true;
- return false;
- }
+ /**
+ * SN plugin API, here we will add css needed for modifiyed rendered
+ *
+ * @param Action $xml
+ */
+ public function onEndShowStatusNetStyles($xml){
+ $xml->element('style', array('type' => 'text/css'), 'span.rtl {display:block;direction:rtl;text-align:right;float:right;} .notice .author {float:left}');
+ }
- /**
- * clears text from replies, tags, groups, repeats & whitespaces
- *
- * @param string &$str string to be cleared
- */
- private static function getClearText(&$str){
- $str = preg_replace('/@[^ ]+|![^ ]+|#[^ ]+/u', '', $str); // reply, tag, group
- $str = preg_replace('/^RT[: ]{1}| RT | RT: |^RD[: ]{1}| RD | RD: |[♺♻:]/u', '', $str); // redent, retweet
- $str = preg_replace("/[ \r\t\n]+/", ' ', trim($str)); // remove spaces
- }
+ /**
+ * is passed string a rtl content or not
+ *
+ * @param string $content
+ * @return boolean
+ */
+ public static function isRTL($content){
+ $content = self::getClearText($content);
+ $words = explode(' ', $content);
+ $rtl = 0;
+ foreach($words as $str)
+ if(self::startsWithRTLCharacter($str))
+ $rtl++;
+ else
+ $rtl--;
+ if($rtl>0)// if number of rtl words is more than ltr words so it's a rtl content
+ return true;
+ elseif($rtl==0)
+ // check first word again
+ return self::startsWithRTLCharacter($words[0]);
+ return false;
+ }
- /**
- * Takes a UTF-8 string and returns an array of ints representing the
- * Unicode characters. Astral planes are supported i.e. the ints in the
- * output can be > 0xFFFF. Occurrances of the BOM are ignored. Surrogates
- * are not allowed. ### modified ### returns first character code
- *
- * Returns false if the input string isn't a valid UTF-8 octet sequence.
- */
- private static function utf8ToUnicode($str){
- $mState = 0; // cached expected number of octets after the current octet
- // until the beginning of the next UTF8 character sequence
- $mUcs4 = 0; // cached Unicode character
- $mBytes = 1; // cached expected number of octets in the current sequence
- $out = array();
- $len = strlen($str);
+ /**
+ * checks that passed string starts with a RTL language or not
+ *
+ * @param string $str
+ * @return boolean
+ */
+ public static function startsWithRTLCharacter($str){
+ if( is_array($cc = self::utf8ToUnicode(mb_substr($str, 0, 1, 'utf-8'))) )
+ $cc = $cc[0];
+ else
+ return false;
+ if($cc>=1536 && $cc<=1791) // arabic, persian, urdu, kurdish, ...
+ return true;
+ if($cc>=65136 && $cc<=65279) // arabic peresent 2
+ return true;
+ if($cc>=64336 && $cc<=65023) // arabic peresent 1
+ return true;
+ if($cc>=1424 && $cc<=1535) // hebrew
+ return true;
+ if($cc>=64256 && $cc<=64335) // hebrew peresent
+ return true;
+ if($cc>=1792 && $cc<=1871) // Syriac
+ return true;
+ if($cc>=1920 && $cc<=1983) // Thaana
+ return true;
+ if($cc>=1984 && $cc<=2047) // NKo
+ return true;
+ if($cc>=11568 && $cc<=11647) // Tifinagh
+ return true;
+ return false;
+ }
- for($i = 0; $i < $len; $i++) {
- $in = ord($str{$i});
- if (0 == $mState) {
- // When mState is zero we expect either a US-ASCII character or a
- // multi-octet sequence.
- if (0 == (0x80 & ($in))) {
- // US-ASCII, pass straight through.
- $out[] = $in;
- $mBytes = 1;
- } elseif (0xC0 == (0xE0 & ($in))) {
- // First octet of 2 octet sequence
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x1F) << 6;
- $mState = 1;
- $mBytes = 2;
- } elseif (0xE0 == (0xF0 & ($in))) {
- // First octet of 3 octet sequence
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x0F) << 12;
- $mState = 2;
- $mBytes = 3;
- } elseif (0xF0 == (0xF8 & ($in))) {
- // First octet of 4 octet sequence
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x07) << 18;
- $mState = 3;
- $mBytes = 4;
- } elseif (0xF8 == (0xFC & ($in))) {
- /* First octet of 5 octet sequence.
- *
- * This is illegal because the encoded codepoint must be either
- * (a) not the shortest form or
- * (b) outside the Unicode range of 0-0x10FFFF.
- * Rather than trying to resynchronize, we will carry on until the end
- * of the sequence and let the later error handling code catch it.
- */
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 0x03) << 24;
- $mState = 4;
- $mBytes = 5;
- } elseif (0xFC == (0xFE & ($in))) {
- // First octet of 6 octet sequence, see comments for 5 octet sequence.
- $mUcs4 = ($in);
- $mUcs4 = ($mUcs4 & 1) << 30;
- $mState = 5;
- $mBytes = 6;
- } else {
- /* Current octet is neither in the US-ASCII range nor a legal first
- * octet of a multi-octet sequence.
- */
- return false;
- }
- } else {
- // When mState is non-zero, we expect a continuation of the multi-octet
- // sequence
- if (0x80 == (0xC0 & ($in))) {
- // Legal continuation.
- $shift = ($mState - 1) * 6;
- $tmp = $in;
- $tmp = ($tmp & 0x0000003F) << $shift;
- $mUcs4 |= $tmp;
- if (0 == --$mState) {
- /* End of the multi-octet sequence. mUcs4 now contains the final
- * Unicode codepoint to be output
- *
- * Check for illegal sequences and codepoints.
- */
- // From Unicode 3.1, non-shortest form is illegal
- if (
- ((2 == $mBytes) && ($mUcs4 < 0x0080)) ||
- ((3 == $mBytes) && ($mUcs4 < 0x0800)) ||
- ((4 == $mBytes) && ($mUcs4 < 0x10000)) ||
- (4 < $mBytes) ||
- // From Unicode 3.2, surrogate characters are illegal
- (($mUcs4 & 0xFFFFF800) == 0xD800) ||
- // Codepoints outside the Unicode range are illegal
- ($mUcs4 > 0x10FFFF)
- ){
- return false;
- }
- if (0xFEFF != $mUcs4) {
- $out[] = $mUcs4;
- }
- //initialize UTF8 cache
- $mState = 0;
- $mUcs4 = 0;
- $mBytes = 1;
- }
- } else {
- /* ((0xC0 & (*in) != 0x80) && (mState != 0))
- *
- * Incomplete multi-octet sequence.
- */
- return false;
- }
- }
- }
- return $out;
- }
+ /**
+ * clears text from replys, tags, groups, reteets & whitespaces
+ *
+ * @param string $str
+ * @return string
+ */
+ private static function getClearText($str){
+ $str = preg_replace('/@[^ ]+|![^ ]+|#[^ ]+/u', '', $str); // reply, tag, group
+ $str = preg_replace('/^RT[: ]{1}| RT | RT: |^RD[: ]{1}| RD | RD: |[♺♻:]/u', '', $str); // redent, retweet
+ $str = preg_replace("/[ \r\t\n]+/", ' ', trim($str)); // remove spaces
+ return $str;
+ }
- /**
- * plugin details
- */
- function onPluginVersion(&$versions){
- $versions[] = array(
- 'name' => 'Direction detector',
- 'version' => DIRECTIONDETECTORPLUGIN_VERSION,
- 'author' => 'Behrooz Shabani',
- // TRANS: Direction detector plugin description.
- 'rawdescription' => _m('Shows notices with right-to-left content in correct direction.')
- );
- return true;
- }
+ /**
+ * adds javascript to do same thing on input textarea
+ *
+ * @param Action $action
+ */
+ function onEndShowScripts($action){
+ if (common_logged_in()) {
+ $action->script('plugins/DirectionDetector/jquery.DirectionDetector.js');
+ }
+ }
+
+ /**
+ * Takes an UTF-8 string and returns an array of ints representing the
+ * Unicode characters. Astral planes are supported ie. the ints in the
+ * output can be > 0xFFFF. O$ccurrances of the BOM are ignored. Surrogates
+ * are not allowed.
+ *
+ * @param string $str
+ * @return mixed array of ints, or false on invalid input
+ */
+ private static function utf8ToUnicode($str){
+ $mState = 0; // cached expected number of octets after the current octet
+ // until the beginning of the next UTF8 character sequence
+ $mUcs4 = 0; // cached Unicode character
+ $mBytes = 1; // cached expected number of octets in the current sequence
+ $out = array();
+ $len = strlen($str);
+
+ for($i = 0; $i < $len; $i++) {
+ $in = ord($str{$i});
+ if (0 == $mState) {
+ // When mState is zero we expect either a US-ASCII character or a
+ // multi-octet sequence.
+ if (0 == (0x80 & ($in))) {
+ // US-ASCII, pass straight through.
+ $out[] = $in;
+ $mBytes = 1;
+ } elseif (0xC0 == (0xE0 & ($in))) {
+ // First octet of 2 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x1F) << 6;
+ $mState = 1;
+ $mBytes = 2;
+ } elseif (0xE0 == (0xF0 & ($in))) {
+ // First octet of 3 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x0F) << 12;
+ $mState = 2;
+ $mBytes = 3;
+ } elseif (0xF0 == (0xF8 & ($in))) {
+ // First octet of 4 octet sequence
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x07) << 18;
+ $mState = 3;
+ $mBytes = 4;
+ } elseif (0xF8 == (0xFC & ($in))) {
+ /* First octet of 5 octet sequence.
+ *
+ * This is illegal because the encoded codepoint must be either
+ * (a) not the shortest form or
+ * (b) outside the Unicode range of 0-0x10FFFF.
+ * Rather than trying to resynchronize, we will carry on until the end
+ * of the sequence and let the later error handling code catch it.
+ */
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 0x03) << 24;
+ $mState = 4;
+ $mBytes = 5;
+ } elseif (0xFC == (0xFE & ($in))) {
+ // First octet of 6 octet sequence, see comments for 5 octet sequence.
+ $mUcs4 = ($in);
+ $mUcs4 = ($mUcs4 & 1) << 30;
+ $mState = 5;
+ $mBytes = 6;
+ } else {
+ /* Current octet is neither in the US-ASCII range nor a legal first
+ * octet of a multi-octet sequence.
+ */
+ return false;
+ }
+ } else {
+ // When mState is non-zero, we expect a continuation of the multi-octet
+ // sequence
+ if (0x80 == (0xC0 & ($in))) {
+ // Legal continuation.
+ $shift = ($mState - 1) * 6;
+ $tmp = $in;
+ $tmp = ($tmp & 0x0000003F) << $shift;
+ $mUcs4 |= $tmp;
+ if (0 == --$mState) {
+ /* End of the multi-octet sequence. mUcs4 now contains the final
+ * Unicode codepoint to be output
+ *
+ * Check for illegal sequences and codepoints.
+ */
+ // From Unicode 3.1, non-shortest form is illegal
+ if (
+ ((2 == $mBytes) && ($mUcs4 < 0x0080)) ||
+ ((3 == $mBytes) && ($mUcs4 < 0x0800)) ||
+ ((4 == $mBytes) && ($mUcs4 < 0x10000)) ||
+ (4 < $mBytes) ||
+ // From Unicode 3.2, surrogate characters are illegal
+ (($mUcs4 & 0xFFFFF800) == 0xD800) ||
+ // Codepoints outside the Unicode range are illegal
+ ($mUcs4 > 0x10FFFF)
+ ){
+ return false;
+ }
+ if (0xFEFF != $mUcs4) {
+ $out[] = $mUcs4;
+ }
+ //initialize UTF8 cache
+ $mState = 0;
+ $mUcs4 = 0;
+ $mBytes = 1;
+ }
+ } else {
+ /* ((0xC0 & (*in) != 0x80) && (mState != 0))
+ *
+ * Incomplete multi-octet sequence.
+ */
+ return false;
+ }
+ }
+ }
+ return $out;
+ }
+
+ /**
+ * plugin details
+ */
+ function onPluginVersion(&$versions){
+ $url = 'http://status.net/wiki/Plugin:DirectionDetector';
+
+ $versions[] = array(
+ 'name' => 'Direction detector',
+ 'version' => DIRECTIONDETECTORPLUGIN_VERSION,
+ 'author' => 'Behrooz Shabani',
+ 'homepage' => $url,
+ 'rawdescription' => _m('Shows notices with right-to-left content in correct direction.')
+ );
+ return true;
+ }
}
/*
diff --git a/plugins/DirectionDetector/jquery.DirectionDetector.js b/plugins/DirectionDetector/jquery.DirectionDetector.js
new file mode 100644
index 000000000..6808bcabd
--- /dev/null
+++ b/plugins/DirectionDetector/jquery.DirectionDetector.js
@@ -0,0 +1,61 @@
+
+/**
+ *
+ * This program 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.
+ *
+ * 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Behrooz shabani (everplays) - <behrooz@rock.com>
+ * @copyright 2009-2010 Behrooz shabani
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
+ *
+ */
+
+(function($){
+ $.fn.isRTL = function(str){
+ if(typeof str != typeof "" || str.length<1)
+ return false;
+ var cc = str.charCodeAt(0);
+ if(cc>=1536 && cc<=1791) // arabic, persian, ...
+ return true;
+ if(cc>=65136 && cc<=65279) // arabic peresent 2
+ return true;
+ if(cc>=64336 && cc<=65023) // arabic peresent 1
+ return true;
+ if(cc>=1424 && cc<=1535) // hebrew
+ return true;
+ if(cc>=64256 && cc<=64335) // hebrew peresent
+ return true;
+ if(cc>=1792 && cc<=1871) // Syriac
+ return true;
+ if(cc>=1920 && cc<=1983) // Thaana
+ return true;
+ if(cc>=1984 && cc<=2047) // NKo
+ return true;
+ if(cc>=11568 && cc<=11647) // Tifinagh
+ return true;
+ return false;
+ };
+ $(document).ready(function(){
+ var tArea = $("#notice_data-text");
+ var tCleaner = new RegExp('@[^ ]+|![^ ]+|#[^ ]+|^RT[: ]{1}| RT | RT: |^RD[: ]{1}| RD | RD: |[♺♻:]+', 'g')
+ tArea.keyup(function(){
+ var cleaned = tArea.val().replace(tCleaner, '').replace(/^[ ]+/, '');
+ if($().isRTL(cleaned))
+ tArea.css('direction', 'rtl');
+ else
+ tArea.css('direction', 'ltr');
+ });
+ });
+})(jQuery);
diff --git a/plugins/DirectionDetector/locale/DirectionDetector.pot b/plugins/DirectionDetector/locale/DirectionDetector.pot
index 44bbcca4d..aa193f2a7 100644
--- a/plugins/DirectionDetector/locale/DirectionDetector.pot
+++ b/plugins/DirectionDetector/locale/DirectionDetector.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-08 22:32+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,6 +16,6 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: DirectionDetectorPlugin.php:222
+#: DirectionDetectorPlugin.php:259
msgid "Shows notices with right-to-left content in correct direction."
msgstr ""
diff --git a/plugins/DirectionDetector/locale/es/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/es/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..727ef3f64
--- /dev/null
+++ b/plugins/DirectionDetector/locale/es/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - DirectionDetector to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:31+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr ""
+"Muestra los mensajes de contenido derecha-a-izquierda en la dirección "
+"correcta."
diff --git a/plugins/DirectionDetector/locale/fr/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/fr/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..e97cb6eda
--- /dev/null
+++ b/plugins/DirectionDetector/locale/fr/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - DirectionDetector to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:31+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr ""
+"Affiche dans les bon sens les avis contenant du texte écrit de droite à "
+"gauche."
diff --git a/plugins/DirectionDetector/locale/ia/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/ia/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..7bb1b1340
--- /dev/null
+++ b/plugins/DirectionDetector/locale/ia/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - DirectionDetector to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:32+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr ""
+"Monstra notas con scripto de dextra a sinistra in le direction correcte."
diff --git a/plugins/DirectionDetector/locale/ja/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/ja/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..ea16c1627
--- /dev/null
+++ b/plugins/DirectionDetector/locale/ja/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - DirectionDetector to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:33+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr "正しい方向で右から左へ表示される内容の通知を表示する。"
diff --git a/plugins/DirectionDetector/locale/lb/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/lb/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..acfee4cd5
--- /dev/null
+++ b/plugins/DirectionDetector/locale/lb/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - DirectionDetector to Luxembourgish (Lëtzebuergesch)
+# Expored from translatewiki.net
+#
+# Author: Robby
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Luxembourgish <http://translatewiki.net/wiki/Portal:lb>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: lb\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr ""
+"Weist Matdeelungen mat Inhalt dee vu riets not lenks geschriwwen ass an där "
+"richteger Richtung."
diff --git a/plugins/DirectionDetector/locale/mk/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/mk/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..71c9d2f7b
--- /dev/null
+++ b/plugins/DirectionDetector/locale/mk/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - DirectionDetector to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr ""
+"Ги прикажува забелешките напишани на писма од десно на лево во исправната "
+"насока."
diff --git a/plugins/DirectionDetector/locale/nb/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/nb/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..9877ab67c
--- /dev/null
+++ b/plugins/DirectionDetector/locale/nb/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - DirectionDetector to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr "Viser notiser med høyre-til-venstre-innhold i riktig retning."
diff --git a/plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po
index e8dae6ea8..c22fcdffe 100644
--- a/plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po
+++ b/plugins/DirectionDetector/locale/nl/LC_MESSAGES/DirectionDetector.po
@@ -1,22 +1,30 @@
-# Translation of StatusNet plugin DirectionDetector to Dutch
+# Translation of StatusNet - DirectionDetector to Dutch (Nederlands)
+# Expored from translatewiki.net
#
-# Author@translatewiki.net: Siebrand
+# Author: Siebrand
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
-"Project-Id-Version: StatusNet\n"
+"Project-Id-Version: StatusNet - DirectionDetector\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-05-08 22:32+0000\n"
-"PO-Revision-Date: 2010-05-08 23:32+0100\n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
"Last-Translator: Siebrand Mazeland <s.mazeland@xs4all.nl>\n"
-"Language-Team: Dutch\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
-#: DirectionDetectorPlugin.php:222
-msgid "Geeft mededelingen met rechts-naar-linksinhoud weer in de juiste richting."
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
msgstr ""
+"Geeft mededelingen met inhoud in een van rechts naar links geschreven "
+"schrift in de juiste richting weer."
diff --git a/plugins/DirectionDetector/locale/ru/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/ru/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..3359201d1
--- /dev/null
+++ b/plugins/DirectionDetector/locale/ru/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - DirectionDetector to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr "Правильно показывает уведомления для системы письма справа налево."
diff --git a/plugins/DirectionDetector/locale/tl/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/tl/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..6b0df007a
--- /dev/null
+++ b/plugins/DirectionDetector/locale/tl/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - DirectionDetector to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr ""
+"Nagpapakita ng mga pabatid na may nilalamang mula-kanan-pakaliwa sa tamang "
+"daan."
diff --git a/plugins/DirectionDetector/locale/uk/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/uk/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..f52c1b4b7
--- /dev/null
+++ b/plugins/DirectionDetector/locale/uk/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - DirectionDetector to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr "Показує повідомлення із письмом справа наліво у правильному напрямі."
diff --git a/plugins/DirectionDetector/locale/zh_CN/LC_MESSAGES/DirectionDetector.po b/plugins/DirectionDetector/locale/zh_CN/LC_MESSAGES/DirectionDetector.po
new file mode 100644
index 000000000..2905e01f6
--- /dev/null
+++ b/plugins/DirectionDetector/locale/zh_CN/LC_MESSAGES/DirectionDetector.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - DirectionDetector to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DirectionDetector\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:46+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-directiondetector\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: DirectionDetectorPlugin.php:259
+msgid "Shows notices with right-to-left content in correct direction."
+msgstr "在内容方向为从右到左时,以相同的文字方向显示提醒。"
diff --git a/plugins/DiskCachePlugin.php b/plugins/DiskCache/DiskCachePlugin.php
index b709ea3b3..47d4b153c 100644
--- a/plugins/DiskCachePlugin.php
+++ b/plugins/DiskCache/DiskCachePlugin.php
@@ -164,5 +164,15 @@ class DiskCachePlugin extends Plugin
Event::handle('EndCacheDelete', array($key));
return false;
}
-}
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'DiskCache',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:DiskCache',
+ 'rawdescription' =>
+ _m('Plugin to implement cache interface with disk files.'));
+ return true;
+ }
+}
diff --git a/plugins/DiskCache/locale/DiskCache.pot b/plugins/DiskCache/locale/DiskCache.pot
new file mode 100644
index 000000000..a32e645c9
--- /dev/null
+++ b/plugins/DiskCache/locale/DiskCache.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr ""
diff --git a/plugins/DiskCache/locale/es/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/es/LC_MESSAGES/DiskCache.po
new file mode 100644
index 000000000..e43e639fc
--- /dev/null
+++ b/plugins/DiskCache/locale/es/LC_MESSAGES/DiskCache.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - DiskCache to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DiskCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:34+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-diskcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr "Extensión para implementar interfaz de caché con archivos de disco."
diff --git a/plugins/DiskCache/locale/fr/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/fr/LC_MESSAGES/DiskCache.po
new file mode 100644
index 000000000..618a665e9
--- /dev/null
+++ b/plugins/DiskCache/locale/fr/LC_MESSAGES/DiskCache.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - DiskCache to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DiskCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-diskcache\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr ""
+"Extension pour mettre en œuvre une interface de mémoire tampon dans des "
+"fichiers du disque."
diff --git a/plugins/DiskCache/locale/ia/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/ia/LC_MESSAGES/DiskCache.po
new file mode 100644
index 000000000..a2e46af9b
--- /dev/null
+++ b/plugins/DiskCache/locale/ia/LC_MESSAGES/DiskCache.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - DiskCache to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DiskCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-diskcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr "Plug-in pro implementar un interfacie de cache con files sur disco."
diff --git a/plugins/DiskCache/locale/mk/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/mk/LC_MESSAGES/DiskCache.po
new file mode 100644
index 000000000..bc62e4ee5
--- /dev/null
+++ b/plugins/DiskCache/locale/mk/LC_MESSAGES/DiskCache.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - DiskCache to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DiskCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-diskcache\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr "Приклучок за примена на кеш-посредник со податотеки на дискот."
diff --git a/plugins/DiskCache/locale/nl/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/nl/LC_MESSAGES/DiskCache.po
new file mode 100644
index 000000000..27bc10aae
--- /dev/null
+++ b/plugins/DiskCache/locale/nl/LC_MESSAGES/DiskCache.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - DiskCache to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DiskCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-diskcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr "Plugin voor een cacheinterface met bestanden op schijf."
diff --git a/plugins/DiskCache/locale/tl/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/tl/LC_MESSAGES/DiskCache.po
new file mode 100644
index 000000000..645339537
--- /dev/null
+++ b/plugins/DiskCache/locale/tl/LC_MESSAGES/DiskCache.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - DiskCache to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DiskCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-diskcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr ""
+"Pampasak upang maipatupad ang ugnayang-mukha ng taguan na may mga talaksan "
+"ng disko."
diff --git a/plugins/DiskCache/locale/uk/LC_MESSAGES/DiskCache.po b/plugins/DiskCache/locale/uk/LC_MESSAGES/DiskCache.po
new file mode 100644
index 000000000..7f54aa1ce
--- /dev/null
+++ b/plugins/DiskCache/locale/uk/LC_MESSAGES/DiskCache.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - DiskCache to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - DiskCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:37:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-diskcache\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: DiskCachePlugin.php:175
+msgid "Plugin to implement cache interface with disk files."
+msgstr "Додаток для збереження кешу інтерфейсу на дисках."
diff --git a/plugins/Disqus/DisqusPlugin.php b/plugins/Disqus/DisqusPlugin.php
new file mode 100644
index 000000000..51be78362
--- /dev/null
+++ b/plugins/Disqus/DisqusPlugin.php
@@ -0,0 +1,245 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Plugin to add Disqus commenting to notice pages
+ *
+ * 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 StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ *
+ * This plugin adds Disqus commenting to your notices. Enabling this
+ * plugin will make each notice page display the Disqus widget, and
+ * notice lists will display the number of commments each notice has.
+ *
+ * To use this plugin, you need to first register your site with Disqus
+ * and get a Discus 'shortname' for it.
+ *
+ * http://disqus.com
+ *
+ * To enable the plugin, put the following in you config.php:
+ *
+ * addPlugin(
+ * 'Disqus', array(
+ * 'shortname' => 'YOURSHORTNAME',
+ * 'divStyle' => 'width:675px; padding-top:10px; position:relative; float:left;'
+ * )
+ * );
+ *
+ * If you only want to allow commenting on a specific user's notices or
+ * a specific set of users' notices initialize the plugin with the "restricted"
+ * parameter and grant the "richedit" role to those users. E.g.:
+ *
+ * addPlugin(
+ * 'Disqus', array(
+ * 'shortname' => 'YOURSHORTNAME',
+ * 'divStyle' => 'width:675px; padding-top:10px; position:relative; float:left;',
+ * 'restricted' => true
+ * )
+ * );
+ *
+ * $ php userrole.php -s#### -nusername -rrichedit
+ *
+ *
+ * NOTE: the 'divStyle' in an optional parameter that passes in some
+ * inline CSS when creating the Disqus widget. It's a shortcut to make
+ * the widget look OK with the default StatusNet theme. If you leave
+ * it out you'll have to edit your theme CSS files to make the widget
+ * look good. You can also control the way the widget looks by
+ * adding style rules to your theme.
+ *
+ * See: http://help.disqus.com/entries/100878-css-customization
+ *
+ *
+ * @category Plugin
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ *
+ * @see Event
+ */
+class DisqusPlugin extends Plugin
+{
+ public $shortname; // Required 'shortname' for actually triggering Disqus
+ public $divStyle; // Optional CSS chunk for the main <div>
+
+ // By default, Disqus commenting will be available to all users.
+ // With restricted on, only users who have been granted the
+ // "richedit" role get it.
+ public $restricted = false;
+
+ /**
+ * Add a Disqus commenting section to the end of an individual
+ * notice page's content block
+ *
+ * @param Action $action The current action
+ */
+ function onEndShowContentBlock($action)
+ {
+ if (get_class($action) == 'ShownoticeAction') {
+
+ $profile = Profile::staticGet('id', $action->notice->profile_id);
+
+ if ($this->isAllowedRichEdit($profile)) {
+
+ $attrs = array();
+ $attrs['id'] = 'disqus_thread';
+
+ if ($this->divStyle) {
+ $attrs['style'] = $this->divStyle;
+ }
+
+ $action->element('div', $attrs, null);
+
+ $script = <<<ENDOFSCRIPT
+ var disqus_identifier = %d;
+ (function() {
+ var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
+ dsq.src = 'http://%s.disqus.com/embed.js';
+ (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ })();
+ENDOFSCRIPT;
+
+ $action->inlineScript(sprintf($script, $action->notice->id, $this->shortname));
+
+ $attrs = array();
+
+ $attrs['id'] = 'disqus_thread_footer';
+
+ if ($this->divStyle) {
+ $attrs['style'] = $this->divStyle;
+ }
+
+ $action->elementStart('div', $attrs);
+ $action->elementStart('noscript');
+
+ $noScriptMsg = sprintf(_m("Please enable JavaScript to view the [comments powered by Disqus](http://disqus.com/?ref_noscript=%s)."), $this->shortname);
+ $output = common_markup_to_html($noScriptMsg);
+ $action->raw($output);
+
+ $action->elementEnd('noscript');
+
+ $action->elementStart('a', array('href' => 'http://disqus.com', 'class' => 'dsq-brlink'));
+ $action->raw(_m('Comments powered by '));
+ $action->element('span', array('class' => 'logo-disqus'), 'Disqus');
+ $action->elementEnd('a');
+ $action->elementEnd('div');
+ }
+ }
+ }
+
+ /**
+ * Add Disqus comment count script to the end of the scripts section
+ *
+ * @param Action $action the current action
+ *
+ */
+ function onEndShowScripts($action)
+ {
+ // fugly
+ $script = <<<ENDOFSCRIPT
+var disqus_shortname = '%s';
+(function () {
+ var s = document.createElement('script'); s.async = true;
+ s.src = 'http://disqus.com/forums/%s/count.js';
+ (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
+}());
+ENDOFSCRIPT;
+ $action->inlineScript(sprintf($script, $this->shortname, $this->shortname));
+
+ }
+
+ /**
+ * Tack on a Disqus comments link to the notice options stanza
+ * (the link displays the total number of comments for each notice)
+ *
+ * @param NoticeListItem $noticeListItem
+ *
+ */
+ function onEndShowNoticeInfo($noticeListItem)
+ {
+ // Don't enable commenting for remote notices
+ if (empty($noticeListItem->notice->is_local)) {
+ return;
+ }
+
+ $profile = Profile::staticGet('id', $noticeListItem->notice->profile_id);
+
+ if ($this->isAllowedRichEdit($profile)) {
+ $noticeUrl = $noticeListItem->notice->bestUrl();
+ $noticeUrl .= '#disqus_thread';
+
+ $noticeListItem->out->element(
+ 'a',
+ array('href' => $noticeUrl, 'class' => 'disqus_count'),
+ _m('Comments')
+ );
+ }
+ }
+
+ /**
+ * Does the current user have permission to use the Disqus plugin?
+ * Always true unless the plugin's "restricted" setting is on, in which
+ * case it's limited to users with the "richedit" role.
+ *
+ * @fixme make that more sanely configurable :)
+ *
+ * @param Profile $profile the profile to check
+ *
+ * @return boolean
+ */
+ private function isAllowedRichEdit($profile)
+ {
+ if ($this->restricted) {
+ $user = User::staticGet($profile->id);
+ return !empty($user) && $user->hasRole('richedit');
+ } else {
+ return true;
+ }
+ }
+
+ /**
+ * Plugin details
+ *
+ * @param &$versions Array of current plugins
+ *
+ * @return boolean true
+ */
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Disqus',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Zach Copley',
+ 'homepage' => 'http://status.net/wiki/Plugin:Disqus',
+ 'rawdescription' =>
+ _m('Use <a href="http://disqus.com/">Disqus</a>'.
+ ' to add commenting to notice pages.'));
+ return true;
+ }
+}
diff --git a/plugins/Disqus/locale/Disqus.pot b/plugins/Disqus/locale/Disqus.pot
new file mode 100644
index 000000000..aff420a52
--- /dev/null
+++ b/plugins/Disqus/locale/Disqus.pot
@@ -0,0 +1,38 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr ""
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr ""
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
diff --git a/plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..0a64e7e0e
--- /dev/null
+++ b/plugins/Disqus/locale/br/LC_MESSAGES/Disqus.po
@@ -0,0 +1,45 @@
+# Translation of StatusNet - Disqus to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr ""
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Evezhiadennoù"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Implijit <a href=\"http://disqus.com/\">Disqus</a> evit ouzhpennañ "
+"evezhiadennoù d'ar pajennoù alioù."
diff --git a/plugins/Disqus/locale/es/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/es/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..3d49a5d97
--- /dev/null
+++ b/plugins/Disqus/locale/es/LC_MESSAGES/Disqus.po
@@ -0,0 +1,47 @@
+# Translation of StatusNet - Disqus to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+"Por favor, habilita JavaScript para ver los [comentarios con tecnología de "
+"Disqus](http://disqus.com/?ref_noscript=%s)."
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr "Comentarios con tecnología de "
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Comentarios"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Usar <a href=\"http://disqus.com/\">Disqus</a> para añadir comentarios a las "
+"páginas de mensajes."
diff --git a/plugins/Disqus/locale/ia/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/ia/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..e1a69f75c
--- /dev/null
+++ b/plugins/Disqus/locale/ia/LC_MESSAGES/Disqus.po
@@ -0,0 +1,47 @@
+# Translation of StatusNet - Disqus to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:35+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+"Per favor activa JavaScript pro vider le [commentos actionate per Disqus]"
+"(http://disqus.com/?ref_noscript=%s)."
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr "Commentos actionate per "
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Commentos"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Usar <a href=\"http://disqus.com/\">Disqus</a> pro adder le possibilitate de "
+"commentar a paginas de notas."
diff --git a/plugins/Disqus/locale/mk/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/mk/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..5bfb4d394
--- /dev/null
+++ b/plugins/Disqus/locale/mk/LC_MESSAGES/Disqus.po
@@ -0,0 +1,47 @@
+# Translation of StatusNet - Disqus to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+"Вклучете го JavaScript за да можете да ги прегледувате [коментарите "
+"овозможени од Disqus](http://disqus.com/?ref_noscript=%s)."
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr "Коментарите ги овозможува "
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Коментари"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Користи <a href=\"http://disqus.com/\">Disqus</a> за додавање на коментари "
+"во страниците на забелешките."
diff --git a/plugins/Disqus/locale/nl/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/nl/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..46f0c3103
--- /dev/null
+++ b/plugins/Disqus/locale/nl/LC_MESSAGES/Disqus.po
@@ -0,0 +1,47 @@
+# Translation of StatusNet - Disqus to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+"Schakel JavaScript in om de [reacties via Disqus](http://disqus.com/?"
+"ref_noscript=%s) te kunnen bekijken."
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr "Reacties powered by "
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Reacties"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"<a href=\"http://disqus.com/\">Disqus</a> gebruiken om opmerkingen toe te "
+"voegen aan mededelingenpagina's."
diff --git a/plugins/Disqus/locale/ru/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/ru/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..3a961bd88
--- /dev/null
+++ b/plugins/Disqus/locale/ru/LC_MESSAGES/Disqus.po
@@ -0,0 +1,47 @@
+# Translation of StatusNet - Disqus to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: MaxSem
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr ""
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Комментарии"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Использование <a href=\"http://disqus.com/\">Disqus</a> для добавления "
+"комментариев на страницы уведомления."
diff --git a/plugins/Disqus/locale/tl/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/tl/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..c5c76008c
--- /dev/null
+++ b/plugins/Disqus/locale/tl/LC_MESSAGES/Disqus.po
@@ -0,0 +1,47 @@
+# Translation of StatusNet - Disqus to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+"Mangyaring paganahin ang JavaScript upang matingnan ang [mga punang "
+"pinapatakbo ng Disqus](http://disqus.com/?ref_noscript=%s)."
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr "Mga puna na pinatatakbo ng "
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Mga puna"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Gamitin ang <a href=\"http://disqus.com/\">Disqus</a> upang magdagdag ng "
+"pagpuna sa mga pahina ng pabatid."
diff --git a/plugins/Disqus/locale/uk/LC_MESSAGES/Disqus.po b/plugins/Disqus/locale/uk/LC_MESSAGES/Disqus.po
new file mode 100644
index 000000000..e7a581fe5
--- /dev/null
+++ b/plugins/Disqus/locale/uk/LC_MESSAGES/Disqus.po
@@ -0,0 +1,48 @@
+# Translation of StatusNet - Disqus to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Disqus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:14+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-disqus\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: DisqusPlugin.php:142
+#, php-format
+msgid ""
+"Please enable JavaScript to view the [comments powered by Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+msgstr ""
+"Будь ласка, увімкніть JavaScript для перегляду [коментарів Disqus](http://"
+"disqus.com/?ref_noscript=%s)."
+
+#: DisqusPlugin.php:149
+msgid "Comments powered by "
+msgstr "Коментування можливе завдяки сервісу "
+
+#: DisqusPlugin.php:201
+msgid "Comments"
+msgstr "Коментарі"
+
+#: DisqusPlugin.php:241
+msgid ""
+"Use <a href=\"http://disqus.com/\">Disqus</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Використання <a href=\"http://disqus.com/\">Disqus</a> для коментування "
+"дописів."
diff --git a/plugins/DisqusPlugin.php b/plugins/DisqusPlugin.php
deleted file mode 100644
index c07eaaabd..000000000
--- a/plugins/DisqusPlugin.php
+++ /dev/null
@@ -1,171 +0,0 @@
-<?php
-/**
- * StatusNet, the distributed open-source microblogging tool
- *
- * Plugin to add Disqus commenting to notice pages
- *
- * 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 StatusNet
- * @author Zach Copley <zach@status.net>
- * @copyright 2010 StatusNet, Inc.
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- */
-
-if (!defined('STATUSNET')) {
- exit(1);
-}
-
-/**
- *
- * This plugin adds Disqus commenting to your notices. Enabling this
- * plugin will make each notice page display the Disqus widget, and
- * notice lists will display the number of commments each notice has.
- *
- * To use this plugin, you need to first register your site with Disqus
- * and get a Discus 'shortname' for it.
- *
- * http://disqus.com
- *
- * To enable the plugin, put the following in you config.php:
- *
- * addPlugin(
- * 'Disqus', array(
- * 'shortname' => 'YOURSHORTNAME',
- * 'div_style' => 'width:675px; padding-top:10px; position:relative; float:left;'
- * )
- * );
- *
- * NOTE: the 'div_style' in an optional parameter that passes in some
- * inline CSS when creating the Disqus widget. It's a shortcut to make
- * the widget look OK with the default StatusNet theme. If you leave
- * it out you'll have to edit your theme CSS files to make the widget
- * look good. You can also control the way the widget looks by
- * adding style rules to your theme.
- *
- * See: http://help.disqus.com/entries/100878-css-customization
- *
- * @category Plugin
- * @package StatusNet
- * @author Zach Copley <zach@status.net>
- * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link http://status.net/
- *
- * @see Event
- */
-
-class DisqusPlugin extends Plugin
-{
- function onEndShowContentBlock($action)
- {
- if (get_class($action) == 'ShownoticeAction') {
-
- $attrs = array();
- $attrs['id'] = 'disqus_thread';
-
- if ($this->div_style) {
- $attrs['style'] = $this->div_style;
- }
-
- $action->element('div', $attrs, null);
-
- $script = <<<ENDOFSCRIPT
-var disqus_identifier = %d;
- (function() {
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
- dsq.src = 'http://%s.disqus.com/embed.js';
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
- })();
-ENDOFSCRIPT;
-
- $action->inlineScript(sprintf($script, $action->notice->id, $this->shortname));
-
- $attrs = array();
-
- $attrs['id'] = 'disqus_thread_footer';
-
- if ($this->div_style) {
- $attrs['style'] = $this->div_style;
- }
-
- $action->elementStart('div', $attrs);
- $action->elementStart('noscript');
-
- $action->raw('Please enable JavaScript to view the ');
- $noscriptUrl = 'http://disqus.com/?ref_noscript=' . $this->shortname;
- $action->element('a', array('href' => $noscriptUrl), 'comments powered by Disqus.');
- $action->elementEnd('noscript');
-
- $action->elementStart('a', array('href' => 'http://disqus.com', 'class' => 'dsq-brlink'));
- $action->raw('blog comments powered by ');
- $action->element('span', array('class' => 'logo-disqus'), 'Disqus');
- $action->elementEnd('a');
- $action->elementEnd('div');
- }
- }
-
- function onEndShowScripts($action)
- {
- // fugly
- $script = <<<ENDOFSCRIPT
-var disqus_shortname = '%s';
-(function () {
- var s = document.createElement('script'); s.async = true;
- s.src = 'http://disqus.com/forums/%s/count.js';
- (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
-}());
-ENDOFSCRIPT;
- $action->inlineScript(sprintf($script, $this->shortname, $this->shortname));
-
- return true;
- }
-
- function onStartShowNoticeItem($noticeListItem)
- {
- if (empty($noticeListItem->notice->is_local)) {
- return true;
- }
-
- $noticeListItem->showNotice();
- $noticeListItem->showNoticeInfo();
-
- $noticeUrl = $noticeListItem->notice->bestUrl();
- $noticeUrl .= '#disqus_thread';
-
- $noticeListItem->out->element(
- 'a', array('href' => $noticeUrl, 'class' => 'disqus_count'), 'Comments'
- );
-
- $noticeListItem->showNoticeOptions();
- Event::handle('EndShowNoticeItem', array($noticeListItem));
-
- return false;
- }
-
- function onPluginVersion(&$versions)
- {
- $versions[] = array('name' => 'Disqus',
- 'version' => STATUSNET_VERSION,
- 'author' => 'Zach Copley',
- 'homepage' => 'http://status.net/wiki/Plugin:Disqus',
- 'rawdescription' =>
- _m('Use <a href="http://disqus.com/">Disqus</a>'.
- ' to add commenting to notice pages.'));
- return true;
- }
-}
diff --git a/plugins/EchoPlugin.php b/plugins/Echo/EchoPlugin.php
index 7b51866eb..cd8d8c0e7 100644
--- a/plugins/EchoPlugin.php
+++ b/plugins/Echo/EchoPlugin.php
@@ -65,7 +65,6 @@ if (!defined('STATUSNET')) {
*
* @see Event
*/
-
class EchoPlugin extends Plugin
{
// NOTE: The Echo documentation says that this script will change on
diff --git a/plugins/Echo/locale/Echo.pot b/plugins/Echo/locale/Echo.pot
new file mode 100644
index 000000000..9ce8c61a7
--- /dev/null
+++ b/plugins/Echo/locale/Echo.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
diff --git a/plugins/Echo/locale/br/LC_MESSAGES/Echo.po b/plugins/Echo/locale/br/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..8e4497c65
--- /dev/null
+++ b/plugins/Echo/locale/br/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Implijit <a href=\"http://aboutecho.com/\">Echo</a> evit ouzhpennañ "
+"evezhiadennoù d'ar pajennoù alioù."
diff --git a/plugins/Echo/locale/es/LC_MESSAGES/Echo.po b/plugins/Echo/locale/es/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..518984e3d
--- /dev/null
+++ b/plugins/Echo/locale/es/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Usar <a href=\"http://aboutecho.com/\">Echo</a> para añadir comentarios a "
+"las páginas de mensajes."
diff --git a/plugins/Echo/locale/fr/LC_MESSAGES/Echo.po b/plugins/Echo/locale/fr/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..ad343e048
--- /dev/null
+++ b/plugins/Echo/locale/fr/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Utilisez <a href=\"http://aboutecho.com/\">Echo</a> pour ajouter des "
+"commentaires aux pages d’avis."
diff --git a/plugins/Echo/locale/ia/LC_MESSAGES/Echo.po b/plugins/Echo/locale/ia/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..aaf555c0f
--- /dev/null
+++ b/plugins/Echo/locale/ia/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Usar <a href=\"http://aboutecho.com/\">Echo</a> pro adder le possibilitate "
+"de commentar a paginas de notas."
diff --git a/plugins/Echo/locale/mk/LC_MESSAGES/Echo.po b/plugins/Echo/locale/mk/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..b5aa39c1f
--- /dev/null
+++ b/plugins/Echo/locale/mk/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Користи <a href=\"http://aboutecho.com/\">Echo</a> за додавање на коментари "
+"во страници со забелешки."
diff --git a/plugins/Echo/locale/nb/LC_MESSAGES/Echo.po b/plugins/Echo/locale/nb/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..9f945e9a6
--- /dev/null
+++ b/plugins/Echo/locale/nb/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Bruk <a href=\"http://aboutecho.com/\">Echo</a> til å legge kommentering til "
+"notissider."
diff --git a/plugins/Echo/locale/nl/LC_MESSAGES/Echo.po b/plugins/Echo/locale/nl/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..b558e09ea
--- /dev/null
+++ b/plugins/Echo/locale/nl/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"<a href=\"http://aboutecho.com/\">Echo</a> gebruiken om opmerkingen toe te "
+"voegen aan mededelingenpagina's."
diff --git a/plugins/Echo/locale/ru/LC_MESSAGES/Echo.po b/plugins/Echo/locale/ru/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..82a14dd56
--- /dev/null
+++ b/plugins/Echo/locale/ru/LC_MESSAGES/Echo.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Echo to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Использование <a href=\"http://aboutecho.com/\">Echo</a> для добавления "
+"комментариев на страницы уведомления."
diff --git a/plugins/Echo/locale/tl/LC_MESSAGES/Echo.po b/plugins/Echo/locale/tl/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..3fb5f1a4a
--- /dev/null
+++ b/plugins/Echo/locale/tl/LC_MESSAGES/Echo.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Echo to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Gamitin ang <a href=\"http://aboutecho.com/\">Echo</a> upang magdagdag ng "
+"pagpuna sa mga pahina ng pabatid."
diff --git a/plugins/Echo/locale/uk/LC_MESSAGES/Echo.po b/plugins/Echo/locale/uk/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..01f9dc5ef
--- /dev/null
+++ b/plugins/Echo/locale/uk/LC_MESSAGES/Echo.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Echo to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr ""
+"Використання <a href=\"http://aboutecho.com/\">Echo</a> для коментування "
+"дописів."
diff --git a/plugins/Echo/locale/zh_CN/LC_MESSAGES/Echo.po b/plugins/Echo/locale/zh_CN/LC_MESSAGES/Echo.po
new file mode 100644
index 000000000..a1ae2a9e3
--- /dev/null
+++ b/plugins/Echo/locale/zh_CN/LC_MESSAGES/Echo.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Echo to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Echo\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-echo\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: EchoPlugin.php:111
+msgid ""
+"Use <a href=\"http://aboutecho.com/\">Echo</a> to add commenting to notice "
+"pages."
+msgstr "使用<a href=\"http://aboutecho.com/\">Echo</a>在消息页中添加评论。"
diff --git a/plugins/EmailAuthentication/EmailAuthenticationPlugin.php b/plugins/EmailAuthentication/EmailAuthenticationPlugin.php
index 4c018537b..689d6231d 100644
--- a/plugins/EmailAuthentication/EmailAuthenticationPlugin.php
+++ b/plugins/EmailAuthentication/EmailAuthenticationPlugin.php
@@ -34,7 +34,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
class EmailAuthenticationPlugin extends Plugin
{
//---interface implementation---//
-
function onStartCheckPassword($nickname, $password, &$authenticatedUser)
{
if(strpos($nickname, '@'))
@@ -62,4 +61,3 @@ class EmailAuthenticationPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/EmailAuthentication/locale/EmailAuthentication.pot b/plugins/EmailAuthentication/locale/EmailAuthentication.pot
index d945e2537..574852edf 100644
--- a/plugins/EmailAuthentication/locale/EmailAuthentication.pot
+++ b/plugins/EmailAuthentication/locale/EmailAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: EmailAuthenticationPlugin.php:61
+#: EmailAuthenticationPlugin.php:60
msgid ""
"The Email Authentication plugin allows users to login using their email "
"address."
diff --git a/plugins/EmailAuthentication/locale/es/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/es/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..901bb21af
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/es/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"La extensión de Autenticación de Correo Electrónico permite a los usuarios "
+"iniciar sesión con su dirección de correo electrónico."
diff --git a/plugins/EmailAuthentication/locale/fr/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/fr/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..76579f86f
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/fr/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:36+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"L’extension d’identification électronique permet à l’utilisateur de "
+"s’identifier en utilisant son adresse électronique."
diff --git a/plugins/EmailAuthentication/locale/ia/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/ia/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..36a70a373
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/ia/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"Le plug-in Authentication E-mail permitte que usatores aperi session usante "
+"lor adresse de e-mail."
diff --git a/plugins/EmailAuthentication/locale/ja/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/ja/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..32857987e
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/ja/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"電子メール認証プラグインは、ユーザーに、電子メールアドレスでログインすること"
+"を許可します。"
diff --git a/plugins/EmailAuthentication/locale/mk/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/mk/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..e537f1d27
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/mk/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"Приклучокот Email Authentication им овозможува на корисниците да се "
+"најавуваат со е-поштенска адреса."
diff --git a/plugins/EmailAuthentication/locale/nb/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/nb/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..cd91edc09
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/nb/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"Utvidelsen Email Authentication gjør det mulig for brukere å logge inn med "
+"sin e-postadresse."
diff --git a/plugins/EmailAuthentication/locale/nl/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/nl/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..1a9e8b58e
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/nl/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"De plug-in E-mailauthenticatie maakt het voor gebruikers mogelijk om aan te "
+"melden met hun e-mailadres."
diff --git a/plugins/EmailAuthentication/locale/pt/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/pt/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..3f613486b
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/pt/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Portuguese (Português)
+# Expored from translatewiki.net
+#
+# Author: Waldir
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"O plugin de autenticação por email permite aos utilizadores autenticar-se "
+"usando o seu endereço de email."
diff --git a/plugins/EmailAuthentication/locale/ru/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/ru/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..a6f1c92fa
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/ru/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - EmailAuthentication to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"Модуль аутентификации по электронной почте позволяет пользователям войти в "
+"систему используя адрес электронной почты."
diff --git a/plugins/EmailAuthentication/locale/tl/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/tl/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..e2a1f52fd
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/tl/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - EmailAuthentication to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"Ang pamasak na Pagpapatunay ng E-liham ay nagpapahintulot sa mga tagagamit "
+"na makalagdang ginagamit ang kanilang tirahan ng e-liham."
diff --git a/plugins/EmailAuthentication/locale/uk/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/uk/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..bb48f9c1d
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/uk/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - EmailAuthentication to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr ""
+"Додаток автентифікації через адресу ел. пошти дозволяє користувачам входити "
+"на сайт використовуючи адресу ел. пошти."
diff --git a/plugins/EmailAuthentication/locale/zh_CN/LC_MESSAGES/EmailAuthentication.po b/plugins/EmailAuthentication/locale/zh_CN/LC_MESSAGES/EmailAuthentication.po
new file mode 100644
index 000000000..19906597e
--- /dev/null
+++ b/plugins/EmailAuthentication/locale/zh_CN/LC_MESSAGES/EmailAuthentication.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - EmailAuthentication to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - EmailAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:37+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:48+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-emailauthentication\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: EmailAuthenticationPlugin.php:60
+msgid ""
+"The Email Authentication plugin allows users to login using their email "
+"address."
+msgstr "Email验证插件允许用户使用Email地址登录。"
diff --git a/plugins/Enjit/enjitqueuehandler.php b/plugins/Enjit/enjitqueuehandler.php
index 14085cc5e..56fc396d1 100644
--- a/plugins/Enjit/enjitqueuehandler.php
+++ b/plugins/Enjit/enjitqueuehandler.php
@@ -80,5 +80,4 @@ class EnjitQueueHandler extends QueueHandler
return $response->isOk();
}
-
}
diff --git a/plugins/Facebook/FBC_XDReceiver.php b/plugins/Facebook/FBC_XDReceiver.php
index 2bc790d5a..bf4b59bba 100644
--- a/plugins/Facebook/FBC_XDReceiver.php
+++ b/plugins/Facebook/FBC_XDReceiver.php
@@ -1,4 +1,7 @@
<?php
+/**
+ * @todo Add header and documentation
+ */
if (!defined('STATUSNET') && !defined('LACONICA')) {
exit(1);
@@ -13,13 +16,11 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
*/
class FBC_XDReceiverAction extends Action
{
-
/**
* Do we need to write to the database?
*
* @return boolean true
*/
-
function isReadonly()
{
return true;
@@ -32,7 +33,6 @@ class FBC_XDReceiverAction extends Action
*
* @return void
*/
-
function handle($args)
{
// Parent handling, including cache check
@@ -63,6 +63,4 @@ class FBC_XDReceiverAction extends Action
$this->elementEnd('html');
}
-
}
-
diff --git a/plugins/Facebook/FBConnectAuth.php b/plugins/Facebook/FBConnectAuth.php
index 8eba7fc13..f06dffaaa 100644
--- a/plugins/Facebook/FBConnectAuth.php
+++ b/plugins/Facebook/FBConnectAuth.php
@@ -60,12 +60,10 @@ class FBConnectauthAction extends Action
parent::handle($args);
if (common_is_real_login()) {
-
// User is already logged in. Does she already have a linked Facebook acct?
$flink = Foreign_link::getByForeignID($this->fbuid, FACEBOOK_CONNECT_SERVICE);
if (!empty($flink)) {
-
// User already has a linked Facebook account and shouldn't be here
common_debug('Facebook Connect Plugin - ' .
'There is already a local user (' . $flink->user_id .
@@ -74,8 +72,7 @@ class FBConnectauthAction extends Action
// We don't want these cookies
getFacebook()->clear_cookie_state();
- $this->clientError(_m('There is already a local user linked with this Facebook.'));
-
+ $this->clientError(_m('There is already a local user linked with this Facebook account.'));
} else {
// User came from the Facebook connect settings tab, and
@@ -102,7 +99,7 @@ class FBConnectauthAction extends Action
} else {
common_debug('Facebook Connect Plugin - ' .
print_r($this->args, true));
- $this->showForm(_m('Something weird happened.'),
+ $this->showForm(_m('An unknown error has occured.'),
$this->trimmed('newname'));
}
} else {
@@ -116,12 +113,14 @@ class FBConnectauthAction extends Action
$this->element('div', array('class' => 'error'), $this->error);
} else {
$this->element('div', 'instructions',
+ // TRANS: %s is the site name.
sprintf(_m('This is the first time you\'ve logged into %s so we must connect your Facebook to a local account. You can either create a new account, or connect with your existing account, if you have one.'), common_config('site', 'name')));
}
}
function title()
{
+ // TRANS: Page title.
return _m('Facebook Account Setup');
}
@@ -155,6 +154,7 @@ class FBConnectauthAction extends Action
'class' => 'form_settings',
'action' => common_local_url('FBConnectAuth')));
$this->elementStart('fieldset', array('id' => 'settings_facebook_connect_options'));
+ // TRANS: Legend.
$this->element('legend', null, _m('Connection options'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
@@ -164,7 +164,8 @@ class FBConnectauthAction extends Action
'name' => 'license',
'value' => 'true'));
$this->elementStart('label', array('class' => 'checkbox', 'for' => 'license'));
- $message = _('My text and files are available under %s ' .
+ // TRANS: %s is the name of the license used by the user for their status updates.
+ $message = _m('My text and files are available under %s ' .
'except this private data: password, ' .
'email address, IM address, and phone number.');
$link = '<a href="' .
@@ -180,33 +181,39 @@ class FBConnectauthAction extends Action
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->element('legend', null,
+ // TRANS: Legend.
_m('Create new account'));
$this->element('p', null,
_m('Create a new user with this nickname.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label.
$this->input('newname', _m('New nickname'),
($this->username) ? $this->username : '',
_m('1-64 lowercase letters or numbers, no punctuation or spaces'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('create', _m('Create'));
+ // TRANS: Submit button.
+ $this->submit('create', _m('BUTTON','Create'));
$this->elementEnd('fieldset');
$this->elementStart('fieldset');
+ // TRANS: Legend.
$this->element('legend', null,
_m('Connect existing account'));
$this->element('p', null,
_m('If you already have an account, login with your username and password to connect it to your Facebook.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
+ // TRANS: Field label.
$this->input('nickname', _m('Existing nickname'));
$this->elementEnd('li');
$this->elementStart('li');
$this->password('password', _m('Password'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('connect', _m('Connect'));
+ // TRANS: Submit button.
+ $this->submit('connect', _m('BUTTON','Connect'));
$this->elementEnd('fieldset');
$this->elementEnd('fieldset');
@@ -222,6 +229,7 @@ class FBConnectauthAction extends Action
function createNewUser()
{
if (common_config('site', 'closed')) {
+ // TRANS: Client error trying to register with registrations not allowed.
$this->clientError(_m('Registration not allowed.'));
return;
}
@@ -231,6 +239,7 @@ class FBConnectauthAction extends Action
if (common_config('site', 'inviteonly')) {
$code = $_SESSION['invitecode'];
if (empty($code)) {
+ // TRANS: Client error trying to register with registrations 'invite only'.
$this->clientError(_m('Registration not allowed.'));
return;
}
@@ -238,6 +247,7 @@ class FBConnectauthAction extends Action
$invite = Invitation::staticGet($code);
if (empty($invite)) {
+ // TRANS: Client error trying to register with an invalid invitation code.
$this->clientError(_m('Not a valid invitation code.'));
return;
}
@@ -422,8 +432,9 @@ class FBConnectauthAction extends Action
return null;
}
- // Given a string, try to make it work as a nickname
-
+ /**
+ * Given a string, try to make it work as a nickname
+ */
function nicknamize($str)
{
$str = preg_replace('/\W/', '', $str);
@@ -467,5 +478,4 @@ class FBConnectauthAction extends Action
return null;
}
}
-
}
diff --git a/plugins/Facebook/FBConnectLogin.php b/plugins/Facebook/FBConnectLogin.php
index 20c409f3e..8345532db 100644
--- a/plugins/Facebook/FBConnectLogin.php
+++ b/plugins/Facebook/FBConnectLogin.php
@@ -38,6 +38,7 @@ class FBConnectLoginAction extends Action
function getInstructions()
{
+ // TRANS: Instructions.
return _m('Login with your Facebook Account');
}
@@ -52,6 +53,7 @@ class FBConnectLoginAction extends Action
function title()
{
+ // TRANS: Page title.
return _m('Facebook Login');
}
diff --git a/plugins/Facebook/FBConnectSettings.php b/plugins/Facebook/FBConnectSettings.php
index 590dffd8a..701994d0d 100644
--- a/plugins/Facebook/FBConnectSettings.php
+++ b/plugins/Facebook/FBConnectSettings.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/lib/connectsettingsaction.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class FBConnectSettingsAction extends ConnectSettingsAction
{
/**
@@ -50,9 +49,9 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return string Title of the page
*/
-
function title()
{
+ // TRANS: Page title.
return _m('Facebook Connect Settings');
}
@@ -61,9 +60,9 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return instructions for use
*/
-
function getInstructions()
{
+ // TRANS: Instructions.
return _m('Manage how your account connects to Facebook');
}
@@ -74,7 +73,6 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function showContent()
{
$user = common_current_user();
@@ -116,17 +114,21 @@ class FBConnectSettingsAction extends ConnectSettingsAction
$this->elementStart('fieldset');
+ // TRANS: Legend.
$this->element('legend', null, _m('Disconnect my account from Facebook'));
if (!$user->password) {
$this->elementStart('p', array('class' => 'form_guide'));
+ // @todo FIXME: Bad i18n. Patchwork message in three parts.
+ // TRANS: Followed by a link containing text "set a password".
$this->text(_m('Disconnecting your Faceboook ' .
'would make it impossible to log in! Please '));
$this->element('a',
array('href' => common_local_url('passwordsettings')),
+ // TRANS: Preceded by "Please " and followed by " first."
_m('set a password'));
-
+ // TRANS: Preceded by "Please set a password".
$this->text(_m(' first.'));
$this->elementEnd('p');
} else {
@@ -139,7 +141,8 @@ class FBConnectSettingsAction extends ConnectSettingsAction
$this->element('p', 'instructions',
sprintf($note, $site, $site));
- $this->submit('disconnect', _m('Disconnect'));
+ // TRANS: Submit button.
+ $this->submit('disconnect', _m('BUTTON','Disconnect'));
}
$this->elementEnd('fieldset');
@@ -155,7 +158,6 @@ class FBConnectSettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function handlePost()
{
// CSRF protection
@@ -197,7 +199,5 @@ class FBConnectSettingsAction extends ConnectSettingsAction
$this->showForm(_m('Not sure what you\'re trying to do.'));
return;
}
-
}
-
}
diff --git a/plugins/Facebook/FacebookPlugin.php b/plugins/Facebook/FacebookPlugin.php
index 19989a952..798009817 100644
--- a/plugins/Facebook/FacebookPlugin.php
+++ b/plugins/Facebook/FacebookPlugin.php
@@ -45,10 +45,8 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookutil.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class FacebookPlugin extends Plugin
{
-
const VERSION = STATUSNET_VERSION;
/**
@@ -59,7 +57,6 @@ class FacebookPlugin extends Plugin
{
// Allow the key and secret to be passed in
// Control panel will override
-
if (isset($this->apikey)) {
$key = common_config('facebook', 'apikey');
if (empty($key)) {
@@ -85,7 +82,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean result
*/
-
static function hasKeys()
{
$apiKey = common_config('facebook', 'apikey');
@@ -107,13 +103,11 @@ class FacebookPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onStartInitializeRouter($m)
{
$m->connect('admin/facebook', array('action' => 'facebookadminpanel'));
if (self::hasKeys()) {
-
// Facebook App stuff
$m->connect('facebook/app', array('action' => 'facebookhome'));
@@ -142,7 +136,6 @@ class FacebookPlugin extends Plugin
* @return boolean hook return
*
*/
-
function onAutoload($cls)
{
switch ($cls) {
@@ -183,7 +176,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean hook value
*/
-
function onEndAdminPanelNav($nav)
{
if (AdminPanelAction::canAdmin('facebook')) {
@@ -192,7 +184,9 @@ class FacebookPlugin extends Plugin
$nav->out->menuItem(
common_local_url('facebookadminpanel'),
- _m('Facebook'),
+ // TRANS: Menu item.
+ _m('MENU','Facebook'),
+ // TRANS: Tooltip for menu item "Facebook".
_m('Facebook integration configuration'),
$action_name == 'facebookadminpanel',
'nav_facebook_admin_panel'
@@ -210,12 +204,9 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onStartShowHTML($action)
{
-
if ($this->reqFbScripts($action)) {
-
// XXX: Horrible hack to make Safari, FF2, and Chrome work with
// Facebook Connect. These browser cannot use Facebook's
// DOM parsing routines unless the mime type of the page is
@@ -238,9 +229,7 @@ class FacebookPlugin extends Plugin
'lang' => $language));
return false;
-
} else {
-
return true;
}
}
@@ -255,7 +244,6 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onEndShowScripts($action)
{
if ($this->reqFbScripts($action)) {
@@ -306,12 +294,10 @@ class FacebookPlugin extends Plugin
$js = sprintf($js, $apikey, $login_url, $logout_url);
// Compress the bugger down a bit
-
$js = str_replace(' ', '', $js);
$action->inlineScript($js);
}
-
}
/**
@@ -323,7 +309,6 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onEndShowFooter($action)
{
if ($this->reqFbScripts($action)) {
@@ -340,7 +325,6 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onEndShowStatusNetStyles($action)
{
if ($this->reqFbScripts($action)) {
@@ -357,7 +341,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean true
*/
-
function reqFbScripts($action)
{
if (!self::hasKeys()) {
@@ -365,7 +348,6 @@ class FacebookPlugin extends Plugin
}
// If you're logged in w/FB Connect, you always need the FB stuff
-
$fbuid = $this->loggedIn();
if (!empty($fbuid)) {
@@ -373,7 +355,6 @@ class FacebookPlugin extends Plugin
}
// List of actions that require FB stuff
-
$needy = array('FBConnectLoginAction',
'FBConnectauthAction',
'FBConnectSettingsAction');
@@ -383,7 +364,6 @@ class FacebookPlugin extends Plugin
}
return false;
-
}
/**
@@ -391,7 +371,6 @@ class FacebookPlugin extends Plugin
*
* @return mixed $fbuid the Facebook ID of the logged in user, or null
*/
-
function loggedIn()
{
$user = common_current_user();
@@ -403,12 +382,9 @@ class FacebookPlugin extends Plugin
$fbuid = 0;
if (!empty($flink)) {
-
try {
-
$facebook = getFacebook();
$fbuid = $facebook->get_loggedin_user();
-
} catch (Exception $e) {
common_log(LOG_WARNING, 'Facebook Connect Plugin - ' .
'Problem getting Facebook user: ' .
@@ -432,17 +408,14 @@ class FacebookPlugin extends Plugin
* @return void
*
*/
-
function onStartPrimaryNav($action)
{
if (self::hasKeys()) {
$user = common_current_user();
if (!empty($user)) {
-
$fbuid = $this->loggedIn();
if (!empty($fbuid)) {
-
/* Default FB silhouette pic for FB users who haven't
uploaded a profile pic yet. */
@@ -455,7 +428,7 @@ class FacebookPlugin extends Plugin
$action->element('img', array('id' => 'fbc_profile-pic',
'src' => (!empty($url)) ? $url : $silhouetteUrl,
- 'alt' => 'Facebook Connect User',
+ 'alt' => _m('Facebook Connect User'),
'width' => '16'), '');
$iconurl = common_path('plugins/Facebook/fbfavicon.ico');
@@ -477,18 +450,20 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onEndLoginGroupNav(&$action)
{
if (self::hasKeys()) {
-
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('FBConnectLogin'),
- _m('Facebook'),
+ // @todo CHECKME: Should be 'Facebook Login'?
+ // TRANS: Menu item.
+ _m('MENU','Facebook'),
+ // TRANS: Tooltip for menu item "Facebook".
_m('Login or register using Facebook'),
'FBConnectLogin' === $action_name);
}
+
return true;
}
@@ -499,18 +474,20 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onEndConnectSettingsNav(&$action)
{
if (self::hasKeys()) {
-
$action_name = $action->trimmed('action');
$action->menuItem(common_local_url('FBConnectSettings'),
- _m('Facebook'),
+ // @todo CHECKME: Should be 'Facebook Connect'?
+ // TRANS: Menu item tab.
+ _m('MENU','Facebook'),
+ // TRANS: Tooltip for menu item "Facebook".
_m('Facebook Connect Settings'),
$action_name === 'FBConnectSettings');
}
+
return true;
}
@@ -521,7 +498,6 @@ class FacebookPlugin extends Plugin
*
* @return void
*/
-
function onStartLogout($action)
{
if (self::hasKeys()) {
@@ -550,14 +526,12 @@ class FacebookPlugin extends Plugin
*
* @return string $url the url for the user's Facebook avatar
*/
-
function getProfilePicURL($fbuid)
{
$facebook = getFacebook();
$url = null;
try {
-
$fqry = 'SELECT pic_square FROM user WHERE uid = %s';
$result = $facebook->api_client->fql_query(sprintf($fqry, $fbuid));
@@ -582,7 +556,6 @@ class FacebookPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onStartEnqueueNotice($notice, &$transports)
{
if (self::hasKeys() && $notice->isLocal()) {
@@ -613,14 +586,14 @@ class FacebookPlugin extends Plugin
'version' => self::VERSION,
'author' => 'Zach Copley',
'homepage' => 'http://status.net/wiki/Plugin:Facebook',
+ // TRANS: Plugin description.
'rawdescription' => _m(
- 'The Facebook plugin allows you to integrate ' .
- 'your StatusNet instance with ' .
+ 'The Facebook plugin allows integrating ' .
+ 'StatusNet instances with ' .
'<a href="http://facebook.com/">Facebook</a> ' .
'and Facebook Connect.'
)
);
return true;
}
-
}
diff --git a/plugins/Facebook/facebookaction.php b/plugins/Facebook/facebookaction.php
index f65b97c86..4c15fc039 100644
--- a/plugins/Facebook/facebookaction.php
+++ b/plugins/Facebook/facebookaction.php
@@ -36,7 +36,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebooknoticeform.php';
class FacebookAction extends Action
{
-
var $facebook = null;
var $fbuid = null;
var $flink = null;
@@ -102,7 +101,6 @@ class FacebookAction extends Action
*
* @return void
*/
-
function startHTML($type=null)
{
$this->showStylesheets();
@@ -143,7 +141,6 @@ class FacebookAction extends Action
function showHead($error, $success)
{
-
if ($error) {
$this->element("h1", null, $error);
}
@@ -168,7 +165,10 @@ class FacebookAction extends Action
$this->elementStart('li', array('class' =>
($this->action == 'facebookhome') ? 'current' : 'facebook_home'));
$this->element('a',
- array('href' => 'index.php', 'title' => _m('Home')), _m('Home'));
+ // TRANS: Link description for 'Home' link that leads to a start page.
+ array('href' => 'index.php', 'title' => _m('MENU','Home')),
+ // TRANS: Tooltip for 'Home' link that leads to a start page.
+ _m('Home'));
$this->elementEnd('li');
if (common_config('invite', 'enabled')) {
@@ -176,7 +176,10 @@ class FacebookAction extends Action
array('class' =>
($this->action == 'facebookinvite') ? 'current' : 'facebook_invite'));
$this->element('a',
- array('href' => 'invite.php', 'title' => _m('Invite')), _m('Invite'));
+ // TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+ array('href' => 'invite.php', 'title' => _m('MENU','Invite')),
+ // TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+ _m('Invite'));
$this->elementEnd('li');
}
@@ -185,7 +188,10 @@ class FacebookAction extends Action
($this->action == 'facebooksettings') ? 'current' : 'facebook_settings'));
$this->element('a',
array('href' => 'settings.php',
- 'title' => _m('Settings')), _m('Settings'));
+ // TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+ 'title' => _m('MENU','Settings')),
+ // TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+ _m('Settings'));
$this->elementEnd('li');
$this->elementEnd('ul');
@@ -219,22 +225,22 @@ class FacebookAction extends Action
function showInstructions()
{
-
$this->elementStart('div', array('class' => 'facebook_guide'));
$this->elementStart('dl', array('class' => 'system_notice'));
$this->element('dt', null, 'Page Notice');
$loginmsg_part1 = _m('To use the %s Facebook Application you need to login ' .
- 'with your username and password. Don\'t have a username yet? ');
+ 'with your username and password. Don\'t have a username yet?');
$loginmsg_part2 = _m(' a new account.');
$this->elementStart('dd');
$this->elementStart('p');
$this->text(sprintf($loginmsg_part1, common_config('site', 'name')));
+ // @todo FIXME: Bad i18n. Patchwork message in two parts.
$this->element('a',
array('href' => common_local_url('register')), _m('Register'));
- $this->text($loginmsg_part2);
+ $this->text( " " . $loginmsg_part2);
$this->elementEnd('p');
$this->elementEnd('dd');
@@ -272,7 +278,8 @@ class FacebookAction extends Action
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('submit', _m('Login'));
+ // TRANS: Login button.
+ $this->submit('submit', _m('BUTTON','Login'));
$this->elementEnd('fieldset');
$this->elementEnd('form');
@@ -283,7 +290,6 @@ class FacebookAction extends Action
$this->elementEnd('div');
$this->elementEnd('div');
-
}
function updateProfileBox($notice)
@@ -356,7 +362,6 @@ class FacebookAction extends Action
function saveNewNotice()
{
-
$user = $this->flink->getUser();
$content = $this->trimmed('status_textarea');
@@ -368,6 +373,7 @@ class FacebookAction extends Action
$content_shortened = common_shorten_links($content);
if (Notice::contentTooLong($content_shortened)) {
+ // @todo FIXME: i18n: Needs plural.
$this->showPage(sprintf(_m('That\'s too long. Max notice size is %d chars.'),
Notice::maxContent()));
return;
@@ -379,9 +385,7 @@ class FacebookAction extends Action
$cmd = $inter->handle_command($user, $content_shortened);
if ($cmd) {
-
// XXX fix this
-
$cmd->execute(new WebChannel());
return;
}
@@ -398,12 +402,10 @@ class FacebookAction extends Action
}
}
-
}
class FacebookNoticeList extends NoticeList
{
-
/**
* constructor
*
@@ -423,7 +425,6 @@ class FacebookNoticeList extends NoticeList
*
* @return int count of notices listed.
*/
-
function show()
{
$this->out->elementStart('div', array('id' =>'notices_primary'));
@@ -459,17 +460,14 @@ class FacebookNoticeList extends NoticeList
* @return FacebookNoticeListItem a list item for displaying the notice
* formatted for display in the Facebook App.
*/
-
function newListItem($notice)
{
return new FacebookNoticeListItem($notice, $this);
}
-
}
class FacebookNoticeListItem extends NoticeListItem
{
-
/**
* constructor
*
@@ -477,7 +475,6 @@ class FacebookNoticeListItem extends NoticeListItem
*
* @param Notice $notice The notice we'll display
*/
-
function __construct($notice, $out=null)
{
parent::__construct($notice, $out);
@@ -491,7 +488,6 @@ class FacebookNoticeListItem extends NoticeListItem
*
* @return void
*/
-
function show()
{
$this->showStart();
@@ -502,12 +498,10 @@ class FacebookNoticeListItem extends NoticeListItem
$this->showEnd();
}
-
}
class FacebookProfileBoxNotice extends FacebookNoticeListItem
{
-
/**
* constructor
*
@@ -515,7 +509,6 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
*
* @param Notice $notice The notice we'll display
*/
-
function __construct($notice, $out=null)
{
parent::__construct($notice, $out);
@@ -527,7 +520,6 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
*
* @return void
*/
-
function show()
{
$this->showNotice();
@@ -537,7 +529,6 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
function showAppLink()
{
-
$this->facebook = getFacebook();
$app_props = $this->facebook->api_client->Admin_getAppProperties(
@@ -551,5 +542,4 @@ class FacebookProfileBoxNotice extends FacebookNoticeListItem
$this->out->text($this->app_name);
$this->out->elementEnd('a');
}
-
}
diff --git a/plugins/Facebook/facebookadminpanel.php b/plugins/Facebook/facebookadminpanel.php
index ae1c7302f..ae26c7d3e 100644
--- a/plugins/Facebook/facebookadminpanel.php
+++ b/plugins/Facebook/facebookadminpanel.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class FacebookadminpanelAction extends AdminPanelAction
{
/**
@@ -48,7 +47,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return string page title
*/
-
function title()
{
return _m('Facebook');
@@ -59,7 +57,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return string instructions
*/
-
function getInstructions()
{
return _m('Facebook integration settings');
@@ -70,7 +67,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function showForm()
{
$form = new FacebookAdminPanelForm($this);
@@ -83,7 +79,6 @@ class FacebookadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function saveSettings()
{
static $settings = array(
@@ -100,7 +95,6 @@ class FacebookadminpanelAction extends AdminPanelAction
}
// This throws an exception on validation errors
-
$this->validate($values);
// assert(all values are valid);
@@ -145,7 +139,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return int ID of the form
*/
-
function id()
{
return 'facebookadminpanel';
@@ -156,7 +149,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_settings';
@@ -167,7 +159,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('facebookadminpanel');
@@ -178,7 +169,6 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formData()
{
$this->out->elementStart(
@@ -215,9 +205,8 @@ class FacebookAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save Facebook settings'));
+ $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save Facebook settings'));
}
}
diff --git a/plugins/Facebook/facebookhome.php b/plugins/Facebook/facebookhome.php
index 60782f63c..6090f988c 100644
--- a/plugins/Facebook/facebookhome.php
+++ b/plugins/Facebook/facebookhome.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookhomeAction extends FacebookAction
{
-
var $page = null;
function prepare($argarray)
@@ -54,7 +53,6 @@ class FacebookhomeAction extends FacebookAction
}
if ($this->flink) {
-
$this->user = $this->flink->getUser();
// If this is the first time the user has started the app
@@ -82,18 +80,14 @@ class FacebookhomeAction extends FacebookAction
// Facebook status update permission? Then show the main page
// of the app
$this->showPage();
-
} else {
-
// User hasn't authenticated yet, prompt for creds
$this->login();
}
-
}
function login()
{
-
$this->showStylesheets();
$nickname = common_canonical_nickname($this->trimmed('nickname'));
@@ -102,13 +96,11 @@ class FacebookhomeAction extends FacebookAction
$msg = null;
if ($nickname) {
-
if (common_check_user($nickname, $password)) {
-
$user = User::staticGet('nickname', $nickname);
if (!$user) {
- $this->showLoginForm(_m("Server error - couldn't get user!"));
+ $this->showLoginForm(_m("Server error: Couldn't get user!"));
}
$flink = DB_DataObject::factory('foreign_link');
@@ -126,7 +118,6 @@ class FacebookhomeAction extends FacebookAction
$this->getUpdatePermission();
return;
-
} else {
$msg = _m('Incorrect username or password.');
}
@@ -134,7 +125,6 @@ class FacebookhomeAction extends FacebookAction
$this->showLoginForm($msg);
$this->showFooter();
-
}
function setDefaults()
@@ -155,8 +145,15 @@ class FacebookhomeAction extends FacebookAction
function title()
{
if ($this->page > 1) {
- return sprintf(_m("%s and friends, page %d"), $this->user->nickname, $this->page);
+ // @todo FIXME: Core should have methods to get "Full name (nickname)" in a localised form
+ // so that this can be used consistenly throughout StatusNet without having to implement it
+ // over and over..
+ // TRANS: Page title.
+ // TRANS: %1$s is a user nickname, %2$s is a page number.
+ return sprintf(_m("%1$s and friends, page %2$d"), $this->user->nickname, $this->page);
} else {
+ // TRANS: Page title.
+ // TRANS: %s is a user nickname
return sprintf(_m("%s and friends"), $this->user->nickname);
}
}
@@ -175,17 +172,16 @@ class FacebookhomeAction extends FacebookAction
function showNoticeList($notice)
{
-
$nl = new NoticeList($notice, $this);
return $nl->show();
}
function getUpdatePermission() {
-
$this->showStylesheets();
$this->elementStart('div', array('class' => 'facebook_guide'));
+ // TRANS: Instructions. %s is the application name.
$instructions = sprintf(_m('If you would like the %s app to automatically update ' .
'your Facebook status with your latest notice, you need ' .
'to give it permission.'), $this->app_name);
@@ -209,6 +205,7 @@ class FacebookhomeAction extends FacebookAction
'&next_cancel=' . $next . '&submit=skip';
$this->elementStart('span', array('class' => 'facebook-button'));
+ // @todo FIXME: sprintf not needed here?
$this->element('a', array('href' => $auth_url),
sprintf(_m('Okay, do it!'), $this->app_name));
$this->elementEnd('span');
@@ -216,13 +213,13 @@ class FacebookhomeAction extends FacebookAction
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'fb-permissions-item'));
- $this->submit('skip', _m('Skip'));
+ // TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+ $this->submit('skip', _m('BUTTON','Skip'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->elementEnd('form');
$this->elementEnd('div');
-
}
/**
@@ -238,7 +235,6 @@ class FacebookhomeAction extends FacebookAction
*/
function pagination($have_before, $have_after, $page, $action, $args=null)
{
-
// Does a little before-after block for next/prev page
// XXX: Fix so this uses common_local_url() if possible.
@@ -254,6 +250,7 @@ class FacebookhomeAction extends FacebookAction
$newargs = $args ? array_merge($args, $pargs) : $pargs;
$this->elementStart('li', array('class' => 'nav_prev'));
$this->element('a', array('href' => "$action?page=$newargs[page]", 'rel' => 'prev'),
+ // TRANS: Pagination link.
_m('After'));
$this->elementEnd('li');
}
@@ -262,6 +259,7 @@ class FacebookhomeAction extends FacebookAction
$newargs = $args ? array_merge($args, $pargs) : $pargs;
$this->elementStart('li', array('class' => 'nav_next'));
$this->element('a', array('href' => "$action?page=$newargs[page]", 'rel' => 'next'),
+ // TRANS: Pagination link.
_m('Before'));
$this->elementEnd('li');
}
@@ -271,5 +269,4 @@ class FacebookhomeAction extends FacebookAction
$this->elementEnd('dl');
}
}
-
}
diff --git a/plugins/Facebook/facebookinvite.php b/plugins/Facebook/facebookinvite.php
index e02c7bf3e..a50eace12 100644
--- a/plugins/Facebook/facebookinvite.php
+++ b/plugins/Facebook/facebookinvite.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookinviteAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -41,7 +40,6 @@ class FacebookinviteAction extends FacebookAction
*
* @return void
*/
-
function showForm($error=null)
{
$this->error = $error;
@@ -56,7 +54,6 @@ class FacebookinviteAction extends FacebookAction
*
* @return void
*/
-
function showContent()
{
if ($this->arg('ids')) {
@@ -68,9 +65,10 @@ class FacebookinviteAction extends FacebookAction
function showSuccessContent()
{
-
- $this->element('h2', null, sprintf(_m('Thanks for inviting your friends to use %s'),
+ // TRANS: %s is the name of the site.
+ $this->element('h2', null, sprintf(_m('Thanks for inviting your friends to use %s.'),
common_config('site', 'name')));
+ // TRANS: Followed by an unordered list with invited friends.
$this->element('p', null, _m('Invitations have been sent to the following users:'));
$friend_ids = $_POST['ids']; // XXX: Hmm... is this the best way to access the list?
@@ -85,8 +83,7 @@ class FacebookinviteAction extends FacebookAction
$this->elementEnd('li');
}
- $this->elementEnd("ul");
-
+ $this->elementEnd('ul');
}
function showFormContent()
@@ -100,6 +97,7 @@ class FacebookinviteAction extends FacebookAction
'type' => common_config('site', 'name'),
'content' => $content));
$this->hidden('invite', 'true');
+ // TRANS: %s is the name of the site.
$actiontext = sprintf(_m('Invite your friends to use %s'), common_config('site', 'name'));
$multi_params = array('showborder' => 'false');
@@ -122,6 +120,7 @@ class FacebookinviteAction extends FacebookAction
if ($exclude_ids) {
+ // TRANS: %s is the name of the site.
$this->element('h2', null, sprintf(_m('Friends already using %s:'),
common_config('site', 'name')));
$this->elementStart('ul', array('id' => 'facebook-friends'));
@@ -140,7 +139,7 @@ class FacebookinviteAction extends FacebookAction
function title()
{
+ // TRANS: Page title.
return sprintf(_m('Send invitations'));
}
-
}
diff --git a/plugins/Facebook/facebooklogin.php b/plugins/Facebook/facebooklogin.php
index 7a173ddae..1961be57b 100644
--- a/plugins/Facebook/facebooklogin.php
+++ b/plugins/Facebook/facebooklogin.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookinviteAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -37,6 +36,7 @@ class FacebookinviteAction extends FacebookAction
$this->facebook->api_client->data_getUserPreference(
FACEBOOK_PROMPTED_UPDATE_PREF) == 'true') {
+ // @todo FIXME: Missing i18n?
echo '<h1>REDIRECT TO HOME</h1>';
}
} else {
@@ -46,7 +46,6 @@ class FacebookinviteAction extends FacebookAction
function showContent()
{
-
// If the user has opted not to initially allow the app to have
// Facebook status update permission, store that preference. Only
// promt the user the first time she uses the app
@@ -56,7 +55,6 @@ class FacebookinviteAction extends FacebookAction
}
if ($this->flink) {
-
$this->user = $this->flink->getUser();
// If this is the first time the user has started the app
@@ -69,7 +67,6 @@ class FacebookinviteAction extends FacebookAction
return;
}
}
-
} else {
$this->showLoginForm();
}
@@ -88,6 +85,8 @@ class FacebookinviteAction extends FacebookAction
function title()
{
+ // @todo FIXME: Give a more precise description? Suggestion: "Login with Facebook Connect"
+ // TRANS: Page title.
return sprintf(_m('Login'));
}
@@ -95,5 +94,4 @@ class FacebookinviteAction extends FacebookAction
{
}
-
}
diff --git a/plugins/Facebook/facebooknoticeform.php b/plugins/Facebook/facebooknoticeform.php
index 5989147f4..d52222c93 100644
--- a/plugins/Facebook/facebooknoticeform.php
+++ b/plugins/Facebook/facebooknoticeform.php
@@ -2,7 +2,7 @@
/**
* StatusNet, the distributed open-source microblogging tool
*
- * Form for posting a notice from within the Facebook App.
+ * Form for posting a notice from within the Facebook App.
*
* This is a stripped down version of the normal NoticeForm (sans
* location stuff and media upload stuff). I'm not sure we can share the
@@ -53,31 +53,26 @@ require_once INSTALLDIR . '/lib/form.php';
*
* @see HTMLOutputter
*/
-
class FacebookNoticeForm extends Form
{
/**
* Current action, used for returning to this page.
*/
-
var $action = null;
/**
* Pre-filled content of the form
*/
-
var $content = null;
/**
* The current user
*/
-
var $user = null;
/**
* The notice being replied to
*/
-
var $inreplyto = null;
/**
@@ -87,7 +82,6 @@ class FacebookNoticeForm extends Form
* @param string $action action to return to, if any
* @param string $content content to pre-fill
*/
-
function __construct($out=null, $action=null, $content=null, $post_action=null, $user=null, $inreplyto=null)
{
parent::__construct($out);
@@ -102,7 +96,7 @@ class FacebookNoticeForm extends Form
} else {
$this->user = common_current_user();
}
-
+
// Note: Facebook doesn't allow multipart/form-data posting to
// canvas pages, so don't try to set it--no file uploads, at
// least not this way. It can be done using multiple servers
@@ -114,7 +108,6 @@ class FacebookNoticeForm extends Form
*
* @return string ID of the form
*/
-
function id()
{
return 'form_notice';
@@ -125,7 +118,6 @@ class FacebookNoticeForm extends Form
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_notice';
@@ -136,7 +128,6 @@ class FacebookNoticeForm extends Form
*
* @return string URL of the action
*/
-
function action()
{
return $this->post_action;
@@ -149,7 +140,8 @@ class FacebookNoticeForm extends Form
*/
function formLegend()
{
- $this->out->element('legend', null, _('Send a notice'));
+ // TRANS: Legend.
+ $this->out->element('legend', null, _m('Send a notice'));
}
/**
@@ -157,12 +149,12 @@ class FacebookNoticeForm extends Form
*
* @return void
*/
-
function formData()
{
if (Event::handle('StartShowNoticeFormData', array($this))) {
$this->out->element('label', array('for' => 'notice_data-text'),
- sprintf(_('What\'s up, %s?'), $this->user->nickname));
+ // TRANS: Field label.
+ sprintf(_m('What\'s up, %s?'), $this->user->nickname));
// XXX: vary by defined max size
$this->out->element('textarea', array('id' => 'notice_data-text',
'cols' => 35,
@@ -174,7 +166,7 @@ class FacebookNoticeForm extends Form
if ($contentLimit > 0) {
$this->out->elementStart('dl', 'form_note');
- $this->out->element('dt', null, _('Available characters'));
+ $this->out->element('dt', null, _m('Available characters'));
$this->out->element('dd', array('id' => 'notice_text-count'),
$contentLimit);
$this->out->elementEnd('dl');
@@ -194,13 +186,13 @@ class FacebookNoticeForm extends Form
*
* @return void
*/
-
function formActions()
{
$this->out->element('input', array('id' => 'notice_action-submit',
'class' => 'submit',
'name' => 'status_submit',
'type' => 'submit',
- 'value' => _('Send')));
+ // TRANS: Button text.
+ 'value' => _m('BUTTON','Send')));
}
}
diff --git a/plugins/Facebook/facebookremove.php b/plugins/Facebook/facebookremove.php
index 09cb33342..b048a435f 100644
--- a/plugins/Facebook/facebookremove.php
+++ b/plugins/Facebook/facebookremove.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebookremoveAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -65,5 +64,4 @@ class FacebookremoveAction extends FacebookAction
'unsuccessfully tried to remove a foreign link to Facebook!');
}
}
-
}
diff --git a/plugins/Facebook/facebooksettings.php b/plugins/Facebook/facebooksettings.php
index f94a346b5..1379b9a9c 100644
--- a/plugins/Facebook/facebooksettings.php
+++ b/plugins/Facebook/facebooksettings.php
@@ -25,7 +25,6 @@ require_once INSTALLDIR . '/plugins/Facebook/facebookaction.php';
class FacebooksettingsAction extends FacebookAction
{
-
function handle($args)
{
parent::handle($args);
@@ -40,7 +39,6 @@ class FacebooksettingsAction extends FacebookAction
*
* @return void
*/
-
function showContent()
{
if ($this->arg('save')) {
@@ -62,6 +60,7 @@ class FacebooksettingsAction extends FacebookAction
if ($result === false) {
$this->showForm(_m('There was a problem saving your sync preferences!'));
} else {
+ // TRANS: Confirmation that synchronisation settings have been saved into the system.
$this->showForm(_m('Sync preferences saved.'), true);
}
}
@@ -99,16 +98,16 @@ class FacebooksettingsAction extends FacebookAction
$this->elementStart('li');
- $this->submit('save', _m('Save'));
+ // TRANS: Submit button to save synchronisation settings.
+ $this->submit('save', _m('BUTTON','Save'));
$this->elementEnd('li');
$this->elementEnd('ul');
$this->elementEnd('form');
-
} else {
-
+ // TRANS: %s is the application name.
$instructions = sprintf(_m('If you would like %s to automatically update ' .
'your Facebook status with your latest notice, you need ' .
'to give it permission.'), $this->app_name);
@@ -127,12 +126,11 @@ class FacebooksettingsAction extends FacebookAction
$this->elementEnd('li');
$this->elementEnd('ul');
}
-
}
function title()
{
+ // TRANS: Page title for synchronisation settings.
return _m('Sync preferences');
}
-
}
diff --git a/plugins/Facebook/facebookutil.php b/plugins/Facebook/facebookutil.php
index 1290fed55..e78856f7c 100644
--- a/plugins/Facebook/facebookutil.php
+++ b/plugins/Facebook/facebookutil.php
@@ -45,13 +45,11 @@ function getFacebook()
}
function isFacebookBound($notice, $flink) {
-
if (empty($flink)) {
return false;
}
// Avoid a loop
-
if ($notice->source == 'Facebook') {
common_log(LOG_INFO, "Skipping notice $notice->id because its " .
'source is Facebook.');
@@ -59,7 +57,6 @@ function isFacebookBound($notice, $flink) {
}
// If the user does not want to broadcast to Facebook, move along
-
if (!($flink->noticesync & FOREIGN_NOTICE_SEND == FOREIGN_NOTICE_SEND)) {
common_log(LOG_INFO, "Skipping notice $notice->id " .
'because user has FOREIGN_NOTICE_SEND bit off.');
@@ -68,14 +65,12 @@ function isFacebookBound($notice, $flink) {
// If it's not a reply, or if the user WANTS to send @-replies,
// then, yeah, it can go to Facebook.
-
if (!preg_match('/@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) {
return true;
}
return false;
-
}
function facebookBroadcastNotice($notice)
@@ -87,16 +82,12 @@ function facebookBroadcastNotice($notice)
);
if (isFacebookBound($notice, $flink)) {
-
// Okay, we're good to go, update the FB status
-
$fbuid = $flink->foreign_id;
$user = $flink->getUser();
try {
-
// Check permissions
-
common_debug(
'FacebookPlugin - checking for publish_stream permission for user '
. "$user->nickname ($user->id), Facebook UID: $fbuid"
@@ -105,7 +96,6 @@ function facebookBroadcastNotice($notice)
// NOTE: $facebook->api_client->users_hasAppPermission('publish_stream', $fbuid)
// has been returning bogus results, so we're using FQL to check for
// publish_stream permission now
-
$fql = "SELECT publish_stream FROM permissions WHERE uid = $fbuid";
$result = $facebook->api_client->fql_query($fql);
@@ -152,7 +142,6 @@ function facebookBroadcastNotice($notice)
}
// Post to Facebook
-
if ($notice->hasAttachments() && $canPublish == 1) {
publishStream($notice, $user, $fbuid);
} elseif ($canUpdate == 1 || $canPublish == 1) {
@@ -165,7 +154,6 @@ function facebookBroadcastNotice($notice)
}
// Finally, attempt to update the user's profile box
-
if ($canPublish == 1 || $canUpdate == 1) {
updateProfileBox($facebook, $flink, $notice, $user);
}
@@ -412,7 +400,6 @@ function remove_facebook_app($flink)
common_log(LOG_WARNING, $msg);
}
-
}
/**
@@ -423,7 +410,6 @@ function remove_facebook_app($flink)
*
* @return boolean success flag
*/
-
function mail_facebook_app_removed($user)
{
$profile = $user->getProfile();
@@ -447,5 +433,4 @@ function mail_facebook_app_removed($user)
common_switch_locale();
return mail_to_user($user, $subject, $body);
-
}
diff --git a/plugins/Facebook/locale/Facebook.pot b/plugins/Facebook/locale/Facebook.pot
index dce10d230..09e300381 100644
--- a/plugins/Facebook/locale/Facebook.pot
+++ b/plugins/Facebook/locale/Facebook.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: facebookutil.php:285
+#: facebookutil.php:425
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that we are unable to update your "
@@ -35,23 +35,24 @@ msgstr ""
msgid "You must be logged into Facebook to use Facebook Connect."
msgstr ""
-#: FBConnectAuth.php:77
-msgid "There is already a local user linked with this Facebook."
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
msgstr ""
-#: FBConnectAuth.php:90 FBConnectSettings.php:164
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: FBConnectAuth.php:95
+#: FBConnectAuth.php:92
msgid "You can't register if you don't agree to the license."
msgstr ""
-#: FBConnectAuth.php:105
-msgid "Something weird happened."
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
msgstr ""
-#: FBConnectAuth.php:119
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
#, php-format
msgid ""
"This is the first time you've logged into %s so we must connect your "
@@ -59,365 +60,469 @@ msgid ""
"with your existing account, if you have one."
msgstr ""
-#: FBConnectAuth.php:125
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
msgid "Facebook Account Setup"
msgstr ""
+#. TRANS: Legend.
#: FBConnectAuth.php:158
msgid "Connection options"
msgstr ""
-#: FBConnectAuth.php:183
-msgid "Create new account"
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
msgstr ""
+#. TRANS: Legend.
#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr ""
+
+#: FBConnectAuth.php:187
msgid "Create a new user with this nickname."
msgstr ""
-#: FBConnectAuth.php:188
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
msgid "New nickname"
msgstr ""
-#: FBConnectAuth.php:190
+#: FBConnectAuth.php:193
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: FBConnectAuth.php:193
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
msgid "Create"
msgstr ""
-#: FBConnectAuth.php:198
+#: FBConnectAuth.php:203
msgid "Connect existing account"
msgstr ""
-#: FBConnectAuth.php:200
+#: FBConnectAuth.php:205
msgid ""
"If you already have an account, login with your username and password to "
"connect it to your Facebook."
msgstr ""
-#: FBConnectAuth.php:203
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
msgid "Existing nickname"
msgstr ""
-#: FBConnectAuth.php:206 facebookaction.php:271
+#: FBConnectAuth.php:212 facebookaction.php:277
msgid "Password"
msgstr ""
-#: FBConnectAuth.php:209
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
msgid "Connect"
msgstr ""
-#: FBConnectAuth.php:225 FBConnectAuth.php:234
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
msgid "Registration not allowed."
msgstr ""
-#: FBConnectAuth.php:241
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
msgid "Not a valid invitation code."
msgstr ""
-#: FBConnectAuth.php:251
+#: FBConnectAuth.php:261
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
-#: FBConnectAuth.php:256
+#: FBConnectAuth.php:266
msgid "Nickname not allowed."
msgstr ""
-#: FBConnectAuth.php:261
+#: FBConnectAuth.php:271
msgid "Nickname already in use. Try another one."
msgstr ""
-#: FBConnectAuth.php:279 FBConnectAuth.php:313 FBConnectAuth.php:333
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
msgid "Error connecting user to Facebook."
msgstr ""
-#: FBConnectAuth.php:299
+#: FBConnectAuth.php:309
msgid "Invalid username or password."
msgstr ""
-#: facebooklogin.php:91 facebookaction.php:249 facebookaction.php:275
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
msgid "Login"
msgstr ""
-#: facebookhome.php:111
-msgid "Server error - couldn't get user!"
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
msgstr ""
-#: facebookhome.php:131
-msgid "Incorrect username or password."
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
msgstr ""
-#: facebookhome.php:158
-#, php-format
-msgid "%s and friends, page %d"
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr ""
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr ""
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
msgstr ""
-#: facebookhome.php:160
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr ""
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
#, php-format
msgid "%s and friends"
msgstr ""
-#: facebookhome.php:189
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
#, 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 ""
-#: facebookhome.php:213
+#: facebookhome.php:210
msgid "Okay, do it!"
msgstr ""
-#: facebookhome.php:219
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
msgid "Skip"
msgstr ""
-#: facebookhome.php:248 facebookaction.php:330
+#: facebookhome.php:244 facebookaction.php:336
msgid "Pagination"
msgstr ""
-#: facebookhome.php:257 facebookaction.php:339
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
msgid "After"
msgstr ""
-#: facebookhome.php:265 facebookaction.php:347
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
msgid "Before"
msgstr ""
-#: facebookinvite.php:72
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
#, php-format
-msgid "Thanks for inviting your friends to use %s"
+msgid "Thanks for inviting your friends to use %s."
msgstr ""
-#: facebookinvite.php:74
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
msgid "Invitations have been sent to the following users:"
msgstr ""
-#: facebookinvite.php:94
+#: facebookinvite.php:91
#, php-format
msgid "You have been invited to %s"
msgstr ""
-#: facebookinvite.php:103
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
#, php-format
msgid "Invite your friends to use %s"
msgstr ""
-#: facebookinvite.php:125
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
#, php-format
msgid "Friends already using %s:"
msgstr ""
+#. TRANS: Page title.
#: facebookinvite.php:143
msgid "Send invitations"
msgstr ""
-#: FacebookPlugin.php:195 FacebookPlugin.php:488 FacebookPlugin.php:510
-#: facebookadminpanel.php:54
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
msgid "Facebook"
msgstr ""
-#: FacebookPlugin.php:196
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
msgid "Facebook integration configuration"
msgstr ""
-#: FacebookPlugin.php:489
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
msgid "Login or register using Facebook"
msgstr ""
-#: FacebookPlugin.php:511 FBConnectSettings.php:56
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
msgid "Facebook Connect Settings"
msgstr ""
-#: FacebookPlugin.php:617
+#: FacebookPlugin.php:591
msgid ""
-"The Facebook plugin allows you to integrate your StatusNet instance with <a "
-"href=\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
msgstr ""
#: FBConnectLogin.php:33
msgid "Already logged in."
msgstr ""
-#: FBConnectLogin.php:41
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
msgid "Login with your Facebook Account"
msgstr ""
-#: FBConnectLogin.php:55
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
msgid "Facebook Login"
msgstr ""
-#: facebookremove.php:58
+#: facebookremove.php:57
msgid "Couldn't remove Facebook user."
msgstr ""
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr ""
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
#: facebookaction.php:171
msgid "Home"
msgstr ""
-#: facebookaction.php:179
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr ""
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
msgid "Invite"
msgstr ""
-#: facebookaction.php:188
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
msgid "Settings"
msgstr ""
-#: facebookaction.php:228
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr ""
+
+#: facebookaction.php:233
#, php-format
msgid ""
"To use the %s Facebook Application you need to login with your username and "
-"password. Don't have a username yet? "
+"password. Don't have a username yet?"
msgstr ""
-#: facebookaction.php:230
+#: facebookaction.php:235
msgid " a new account."
msgstr ""
-#: facebookaction.php:236
+#: facebookaction.php:242
msgid "Register"
msgstr ""
-#: facebookaction.php:268
+#: facebookaction.php:274
msgid "Nickname"
msgstr ""
-#: facebookaction.php:281
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr ""
+
+#: facebookaction.php:288
msgid "Lost or forgotten password?"
msgstr ""
-#: facebookaction.php:365
+#: facebookaction.php:370
msgid "No notice content!"
msgstr ""
-#: facebookaction.php:371
+#: facebookaction.php:377
#, php-format
msgid "That's too long. Max notice size is %d chars."
msgstr ""
-#: facebookaction.php:430
+#: facebookaction.php:431
msgid "Notices"
msgstr ""
-#: facebookadminpanel.php:65
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:62
msgid "Facebook integration settings"
msgstr ""
-#: facebookadminpanel.php:129
+#: facebookadminpanel.php:123
msgid "Invalid Facebook API key. Max length is 255 characters."
msgstr ""
-#: facebookadminpanel.php:135
+#: facebookadminpanel.php:129
msgid "Invalid Facebook API secret. Max length is 255 characters."
msgstr ""
-#: facebookadminpanel.php:188
+#: facebookadminpanel.php:178
msgid "Facebook application settings"
msgstr ""
-#: facebookadminpanel.php:194
+#: facebookadminpanel.php:184
msgid "API key"
msgstr ""
-#: facebookadminpanel.php:195
+#: facebookadminpanel.php:185
msgid "API key provided by Facebook"
msgstr ""
-#: facebookadminpanel.php:203
+#: facebookadminpanel.php:193
msgid "Secret"
msgstr ""
-#: facebookadminpanel.php:204
+#: facebookadminpanel.php:194
msgid "API secret provided by Facebook"
msgstr ""
-#: FBConnectSettings.php:67
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
msgid "Manage how your account connects to Facebook"
msgstr ""
-#: FBConnectSettings.php:92
+#: FBConnectSettings.php:90
msgid "There is no Facebook user connected to this account."
msgstr ""
-#: FBConnectSettings.php:100
+#: FBConnectSettings.php:98
msgid "Connected Facebook user"
msgstr ""
-#: FBConnectSettings.php:119
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
msgid "Disconnect my account from Facebook"
msgstr ""
-#: FBConnectSettings.php:124
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
msgid ""
"Disconnecting your Faceboook would make it impossible to log in! Please "
msgstr ""
-#: FBConnectSettings.php:128
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
msgid "set a password"
msgstr ""
-#: FBConnectSettings.php:130
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
msgid " first."
msgstr ""
-#: FBConnectSettings.php:142
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
msgid "Disconnect"
msgstr ""
-#: FBConnectSettings.php:178
+#: FBConnectSettings.php:180
msgid "Couldn't delete link to Facebook."
msgstr ""
-#: FBConnectSettings.php:194
+#: FBConnectSettings.php:196
msgid "You have disconnected from Facebook."
msgstr ""
-#: FBConnectSettings.php:197
+#: FBConnectSettings.php:199
msgid "Not sure what you're trying to do."
msgstr ""
-#: facebooksettings.php:74
+#: facebooksettings.php:61
msgid "There was a problem saving your sync preferences!"
msgstr ""
-#: facebooksettings.php:76
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
msgid "Sync preferences saved."
msgstr ""
-#: facebooksettings.php:99
+#: facebooksettings.php:87
msgid "Automatically update my Facebook status with my notices."
msgstr ""
-#: facebooksettings.php:106
+#: facebooksettings.php:94
msgid "Send \"@\" replies to Facebook."
msgstr ""
-#: facebooksettings.php:115
-msgid "Prefix"
-msgstr ""
-
-#: facebooksettings.php:117
-msgid "A string to prefix notices with."
-msgstr ""
-
-#: facebooksettings.php:123
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
msgid "Save"
msgstr ""
-#: facebooksettings.php:133
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
#, 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 ""
-#: facebooksettings.php:146
+#: facebooksettings.php:124
#, php-format
msgid "Allow %s to update my Facebook status"
msgstr ""
-#: facebooksettings.php:156
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
msgid "Sync preferences"
msgstr ""
diff --git a/plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..99f5a08de
--- /dev/null
+++ b/plugins/Facebook/locale/br/LC_MESSAGES/Facebook.po
@@ -0,0 +1,536 @@
+# Translation of StatusNet - Facebook to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:43+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr ""
+"Rankout a rit bezañ kevreet war Facebook evit implijout Facebook Connect."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr "Un implijer lec'hel liammet d'ar gont Facebook-se a zo dija."
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Ur gudenn 'zo bet gant ho jedaouer dalc'h. Mar plij adklaskit."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr ""
+"Rankout a rit bezañ a-du gant termenoù an aotre-implijout evit krouiñ ur "
+"gont."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Ur gudenn dizanv a zo bet."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Kefluniadur ar gont Facebook"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Dibarzhioù kevreañ"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Krouiñ ur gont nevez"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Krouiñ un implijer nevez gant al lesanv-se."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Lesanv nevez"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1 da 64 lizherenn vihan pe sifr, hep poentaouiñ nag esaouenn"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Krouiñ"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Kevreañ d'ur gont a zo dioutañ"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Lesanv a zo dioutañ"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Ger-tremen"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Kevreañ"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "N'eo ket aotreet krouiñ kontoù."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "N'eo ket reizh ar c'hod pedadenn."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Lesanv nann-aotreet."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Implijet eo dija al lesanv-se. Klaskit unan all."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr ""
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Anv implijer pe ger-tremen direizh."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Kevreañ"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Kas un ali"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Penaos 'mañ kont, %s ?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Arouezennoù a chom"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Kas"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr ""
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Anv implijer pe ger-tremen direizh."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s hag e vignoned"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "Ok, en ober !"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Mont hebiou"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Pajennadur"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "War-lerc'h"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "A-raok"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Trugarez da bediñ ho mignoned da implijout %s."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Pedadennoù a zo bet kaset d'an implijerien da-heul :"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Pedet oc'h bet da %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Pedit ho mignoned da implijout %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Mignoned hag a implij dija %s :"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Kas pedadennoù"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr ""
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Implijer Facebook Connect"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Kevreañ pe en em enskrivañ dre Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Arventennoù evit Facebook Connect"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Kevreet oc'h dija."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "Kevreit gant ho kont Facebook"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr "Kevreadenn Facebook"
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr "Dibosupl eo dilemel an implijer Facebook."
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Degemer"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Degemer"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Pediñ"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Pediñ"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Arventennoù"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr ""
+
+#: facebookaction.php:233
+#, 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 ""
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr "ur gont nevez."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "En em enskrivañ"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Lesanv"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Kevreañ"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Ha kollet o peus ho ker-tremen ?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr "Danvez ebet en ali !"
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr "Re hir eo ! Ment hirañ an ali a zo a %d arouezenn."
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Alioù"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr ""
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr ""
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr ""
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr ""
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Enrollañ"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr ""
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr ""
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "Termeniñ ur ger-tremen"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr ""
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr ""
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr ""
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr ""
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr ""
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr ""
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Enrollañ"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr ""
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr ""
diff --git a/plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..8b1ab93ca
--- /dev/null
+++ b/plugins/Facebook/locale/es/LC_MESSAGES/Facebook.po
@@ -0,0 +1,558 @@
+# Translation of StatusNet - Facebook to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Locos epraix
+# Author: Peter17
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: facebookutil.php:425
+#, fuzzy, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"Hola, %$1s: Lamentamos informarte que no podemos actualizar tu estado de "
+"Facebook desde %$2s y hemos inhabilitado la aplicación de Facebook en tu "
+"cuenta. Esto puede deberse a que has eliminado la autorización de Facebook o "
+"porque hax borrado tu cuenta de Facebook. Puedes volver a habilitar la "
+"aplicación de Facebook y la actualización automática de estados mediante la "
+"reinstalación de la aplicación de Facebook %2$s."
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr ""
+"Debes haber iniciado sesión en Facebook para poder utilizar Facebook Connect."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr "Ya hay un usuario local vinculado a esta cuenta de Facebook."
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Hubo un problema con tu token de sesión. Por favor, inténtalo de nuevo."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "No puedes registrarte si no estás de acuerdo con la licencia."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Ha ocurrido un error desconocido."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Esta es la primera vez que inicias sesión en %s, así que debemos conectar "
+"Facebook a una cuenta local. Puedes crear una cuenta nueva o conectarte con "
+"tu cuenta, de tenerla."
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Configuración de cuenta de Facebook"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Opciones de conexión"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Mi texto y archivos están disponibles en %s, salvo estos datos privados: "
+"contraseña, dirección de correo electrónico, dirección de mensajería "
+"instantánea y número de teléfono."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Crear cuenta nueva"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Crear un nuevo usuario con este nombre de usuario."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Nuevo nombre de usuario"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"1-64 letras en minúscula o números, sin signos de puntuación o espacios"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Crear"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Conectar cuenta existente"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+"Si ya tienes una cuenta, ingresa con tu nombre de usuario y contraseña para "
+"conectarte a tu Facebook."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "El nombre de usuario ya existe"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Contraseña"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Conectar"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Registro de usuario no permitido."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "No es un código de invitación válido."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"El nombre de usuario debe tener sólo letras minúsculas y números, sin "
+"espacios."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Nombre de usuario no autorizado."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "El nombre de usuario ya existe. Prueba con otro."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "Error de conexión del usuario a Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Nombre de usuario o contraseña inválidos."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Iniciar sesión"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Enviar un mensaje"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "¿Qué tal, %s?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Caracteres disponibles"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Enviar"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Error de servidor: ¡No se pudo obtener el usuario!"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr ""
+"Nombre de usuario o contraseña incorrectos\n"
+"."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s y sus amistades"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"Si desesa que la aplicación %s actualice automáticamente tu estado de "
+"Facebook con tu último mensaje, tienes que darle permiso."
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "Ok, ¡hazlo!"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Omitir"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Paginación"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Después"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Antes"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Gracias por invitar a tus amistades a usar %s."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Se ha enviado invitaciones a los siguientes usuarios:"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Te han invitado a %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Invita a tus amistades a usar %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Amistades que ya usan %s:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Enviar invitaciones"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Configuración de integración de Facebook"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr ""
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr ""
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr ""
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Pagina principal"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Pagina principal"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invitar"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Invitar"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Preferencias"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Preferencias"
+
+#: facebookaction.php:233
+#, 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 ""
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr ""
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Registrarse"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Nickname"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Iniciar sesión"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr ""
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr ""
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr ""
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Avisos"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr "Configuración de integración de Facebook"
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr ""
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr ""
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr "Secreto"
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Guardar"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr ""
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr ""
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "establecer una contraseña"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr ""
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr ""
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr ""
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr ""
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr ""
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr ""
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Guardar"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr ""
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr ""
diff --git a/plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..d7fe79404
--- /dev/null
+++ b/plugins/Facebook/locale/fr/LC_MESSAGES/Facebook.po
@@ -0,0 +1,576 @@
+# Translation of StatusNet - Facebook to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"Salut, %1$s. Nous sommes désolés de vous informer que nous ne sommes pas en "
+"mesure de mettre à jour votre statut Facebook depuis %2$s et que nous avons "
+"désactivé l’application Facebook sur votre compte. C’est peut-être parce que "
+"vous avez retiré l’autorisation de l’application Facebook, ou avez supprimé "
+"votre compte Facebook. Vous pouvez réactiver l’application Facebook et la "
+"mise à jour d’état automatique en réinstallant l’application %2$s pour "
+"Facebook.\n"
+"\n"
+"Cordialement,\n"
+"\n"
+"%2$s"
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr "Vous devez être identifié sur Facebook pour utiliser Facebook Connect."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr "Il existe déjà un utilisateur local lié à ce compte Facebook."
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
+"nouveau."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "Vous ne pouvez pas vous inscrire si vous n’acceptez pas la licence."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Une erreur inconnue s’est produite."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"C’est la première fois que vous êtes connecté à %s via Facebook, il nous "
+"faut donc lier votre compte Facebook à un compte local. Vous pouvez soit "
+"créer un nouveau compte, soit vous connecter avec votre compte local "
+"existant si vous en avez un."
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Configuration du compte Facebook"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Options de connexion"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Mon texte et mes fichiers sont disponibles sous licence %s, à l’exception "
+"des données privées suivantes : mot de passe, adresse courriel, adresse de "
+"messagerie instantanée et numéro de téléphone."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Créer un nouveau compte"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Créer un nouvel utilisateur avec ce pseudonyme."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Nouveau pseudonyme"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Créer"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Se connecter à un compte existant"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+"Si vous avez déjà un compte ici, connectez-vous avec votre nom d’utilisateur "
+"et mot de passe pour l’associer à votre compte Facebook."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Pseudonyme existant"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Mot de passe"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Connexion"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Inscription non autorisée."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "Le code d’invitation n’est pas valide."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Les pseudonymes ne peuvent contenir que des lettres minuscules et des "
+"chiffres, sans espaces."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Pseudonyme non autorisé."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Pseudonyme déjà utilisé. Essayez-en un autre."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "Erreur de connexion de l’utilisateur à Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Nom d’utilisateur ou mot de passe incorrect."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Connexion"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Envoyer un avis"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Quoi de neuf, %s ?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Caractères restants"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Envoyer"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Erreur de serveur : impossible d’obtenir l’utilisateur !"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Nom d’utilisateur ou mot de passe incorrect."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s et ses amis"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"Si vous souhaitez que l’application %s mette à jour automatiquement votre "
+"statut Facebook avec votre dernier avis, vous devez lui en donner "
+"l’autorisation."
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "Ok, le faire !"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Sauter cette étape"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Pagination"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Après"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Avant"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Merci d’inviter vos amis à utiliser %s."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Des invitations ont été envoyées aux utilisateurs suivants :"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Vous avez été invité à %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Invitez vos amis à utiliser %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Amis utilisant déjà %s :"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Envoyer des invitations"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Configuration de l’intégration Facebook"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Utilisateur de Facebook Connect"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Se connecter ou s’inscrire via Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Paramètres pour Facebook Connect"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+"Le greffon Facebook permet d’intégrer des instances StatusNet avec <a href="
+"\"http://facebook.com/\">Facebook</a> et Facebook Connect."
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Déjà connecté."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "Connectez-vous avec votre compte Facebook"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr "Connexion Facebook"
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr "Impossible de supprimer l’utilisateur Facebook."
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Accueil"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Page d’accueil"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Inviter"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Inviter"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Paramètres"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Préférences de l’utilisateur"
+
+#: facebookaction.php:233
+#, 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 ""
+"Pour utiliser l’application %s pour Facebook, vous devez vous identifier "
+"avec votre nom d’utilisateur et mot de passe. Vous n’avez pas encore un nom "
+"d’utilisateur ?"
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr "un nouveau compte."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "S’inscrire"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Pseudonyme"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Connexion"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Mot de passe perdu ou oublié ?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr "Aucun contenu dans l’avis !"
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr "C’est trop long ! La taille maximale de l’avis est de %d caractères."
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Avis publiés"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr "Paramètres d’intégration Facebook"
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+"Clé invalide pour l’API Facebook. La longueur maximum est de 255 caractères."
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+"Code secret invalide pour l’API Facebook. La longueur maximum est de 255 "
+"caractères."
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr "Paramètres de l’application Facebook"
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr "Clé API"
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr "Clé API fournie par Facebook"
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr "Code secret"
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr "Code secret pour l’API fourni par Facebook"
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr "Sauvegarder les paramètres Facebook"
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr "Gérez la façon dont votre compte se connecte à Facebook"
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr "Il n’y a pas d’utilisateur Facebook connecté à ce compte."
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr "Utilisateur Facebook connecté"
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr "Déconnecter mon compte de Facebook"
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+"La déconnexion de votre compte Facebook ne vous permettrait plus de vous "
+"connecter ! S’il vous plaît "
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "définissez un mot de passe"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr " tout d’abord."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr "Déconnecter"
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr "Impossible de supprimer le lien vers Facebook."
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr "Vous avez été déconnecté de Facebook."
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr "Pas certain de ce que vous essayez de faire."
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+"Il y a eu un problème lors de la sauvegarde de vos préférences de "
+"synchronisation !"
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr "Préférences de synchronisation enregistrées."
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr "Mettre à jour automatiquement mon statut Facebook avec mes avis."
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr "Envoyez des réponses « @ » à Facebook."
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Sauvegarder"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+"Si vous souhaitez que l’application %s mette à jour automatiquement votre "
+"statut Facebook avec votre dernier avis, vous devez lui en donner "
+"l’autorisation."
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr "Autoriser %s à mettre à jour mon statut Facebook"
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr "Préférences de synchronisation"
diff --git a/plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..7a4d4a11b
--- /dev/null
+++ b/plugins/Facebook/locale/gl/LC_MESSAGES/Facebook.po
@@ -0,0 +1,540 @@
+# Translation of StatusNet - Facebook to Galician (Galego)
+# Expored from translatewiki.net
+#
+# Author: Toliño
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: gl\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr ""
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr ""
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Houbo un erro co seu pase. Inténteo de novo."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "Non pode rexistrarse se non acepta a licenza."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Houbo un erro descoñecido."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Opcións de conexión"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Os meus textos e ficheiros están dispoñibles baixo %s, salvo os seguintes "
+"datos privados: contrasinais, enderezos de correo electrónico e mensaxería "
+"instantánea e números de teléfono."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Crear unha conta nova"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Crear un novo usuario con este alcume."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Novo alcume"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"Entre 1 e 64 letras minúsculas ou números, sen signos de puntuación, "
+"espazos, tiles ou eñes"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Crear"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr ""
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr ""
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Contrasinal"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Conectar"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Non se permite o rexistro."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "O código da invitación é incorrecto."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"O alcume debe ter só letras en minúscula e números, e non pode ter espazos "
+"en branco."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr ""
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Ese alcume xa está en uso. Probe con outro."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr ""
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "O nome de usuario ou contrasinal non son correctos."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Rexistro"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Enviar unha nota"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Que hai de novo, %s?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Caracteres dispoñibles"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Enviar"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr ""
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Nome de usuario ou contrasinal incorrectos."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s e amigos"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr ""
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Saltar"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Paxinación"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Despois"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Antes"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr ""
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr ""
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr ""
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr ""
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr ""
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Enviar as invitacións"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Configuración de integración do Facebook"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Usuario do Facebook Connect"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr ""
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Xa se identificou."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr ""
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr ""
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr ""
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Inicio"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr ""
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Convidar"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr ""
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Configuracións"
+
+#: facebookaction.php:233
+#, 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 ""
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr " unha nova conta."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Rexistrarse"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Alcume"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr ""
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Esqueceu ou perdeu o contrasinal?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr ""
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr ""
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Avisos"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr ""
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr ""
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr "Clave API"
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr "Clave API proporcionada polo Facebook"
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr ""
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Gardar"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr ""
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr ""
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr ""
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr " primeiro."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr ""
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr ""
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr ""
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr ""
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr ""
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr ""
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr ""
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr ""
diff --git a/plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..db9e43f1d
--- /dev/null
+++ b/plugins/Facebook/locale/ia/LC_MESSAGES/Facebook.po
@@ -0,0 +1,565 @@
+# Translation of StatusNet - Facebook to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"Salute, %1$s. Nos regretta informar te que nos es incapace de actualisar tu "
+"stato de Facebook ab %2$s, e que nos ha disactivate le application Facebook "
+"pro tu conto. Isto pote esser proque tu ha removite le autorisation del "
+"application Facebook, o ha delite tu conto de Facebook. Tu pote reactivar le "
+"application Facebook e le actualisation automatic de tu stato per "
+"reinstallar le application Facebook %2$s.\n"
+"\n"
+"Attentemente,\n"
+"\n"
+"%2$s"
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr "Tu debe aperir un session a Facebook pro usar Facebook Connect."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr "Il ha jam un usator local ligate a iste conto de Facebook."
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "Tu non pote crear un conto si tu non accepta le licentia."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Un error incognite ha occurrite."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Isto es le prime vice que tu ha aperite un session in %s, dunque nos debe "
+"connecter tu Facebook a un conto local. Tu pote crear un nove conto, o "
+"connecter con tu conto existente si tu ha un."
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Configuration de conto Facebook"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Optiones de connexion"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Mi texto e files es disponibile sub %s excepte iste datos private: "
+"contrasigno, adresse de e-mail, adresse de messageria instantanee, numero de "
+"telephono."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Crear nove conto"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Crear un nove usator con iste pseudonymo."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Nove pseudonymo"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Crear"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Connecter conto existente"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+"Si tu ha jam un conto, aperi session con tu nomine de usator e contrasigno "
+"pro connecter lo a tu Facebook."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Pseudonymo existente"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Contrasigno"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Connecter"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Creation de conto non permittite."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "Le codice de invitation es invalide."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Pseudonymo non permittite."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Pseudonymo ja in uso. Proba un altere."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "Error durante le connexion del usator a Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Nomine de usator o contrasigno invalide."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Aperir session"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Inviar un nota"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Como sta, %s?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Characteres disponibile"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Inviar"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Error de servitor: Non poteva obtener le usator!"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Nomine de usator o contrasigno incorrecte."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s e amicos"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"Si tu vole que le application %s actualisa automaticamente tu stato de "
+"Facebook con tu ultim enota, tu debe dar permission a illo."
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "OK, face lo!"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Saltar"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Pagination"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Post"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Ante"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Gratias pro invitar tu amicos a usar %s."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Invitationes ha essite inviate al sequente usatores:"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Tu ha essite invitate a %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Invita tu amicos a usar %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Amicos que jam usa %s:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Inviar invitationes"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Configuration del integration de Facebook"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Usator de Facebook Connect"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Aperir session o crear conto usante Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Configurationes de connexion a Facebook"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+"Le plug-in de Facebook permitte integrar installationes de StatusNet con <a "
+"href=\"http://facebook.com/\">Facebook</a> e Facebook Connect."
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Tu es jam authenticate."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "Aperir session con tu conto de Facebook"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr "Authentication con Facebook"
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr "Non poteva remover le usator de Facebook."
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Initio"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Initio"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Invitar"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Invitar"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Configurationes"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Configurationes"
+
+#: facebookaction.php:233
+#, 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 ""
+"Pro usar le application Facebook %s tu debe aperir un session con tu nomine "
+"de usator e contrasigno. Tu non ha ancora un nomine de usator?"
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr " un nove conto."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Crear conto"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Pseudonymo"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Aperir session"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Contrasigno perdite o oblidate?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr "Le nota non ha contento!"
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr ""
+"Isto es troppo longe. Le longitude maximal del notas es %d characteres."
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Notas"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr "Configurationes de integration de Facebook"
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr "Clave API de Facebook invalide. Longitude maximal es 255 characteres."
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+"Secreto API de Facebook invalide. Longitude maximal es 255 characteres."
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr "Configurationes del application de Facebook"
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr "Clave API"
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr "Clave API providite per Facebook"
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr "Secreto"
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr "Secreto API providite per Facebook"
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Salveguardar"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr "Salveguardar configuration Facebook"
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr "Configura como tu conto se connecte a Facebook"
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr "Il non ha un usator de Facebook connectite a iste conto."
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr "Usator de Facebook connectite"
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr "Disconnecter mi conto ab Facebook"
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+"Le disconnexion de tu Facebook renderea le authentication impossibile! Per "
+"favor "
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "defini un contrasigno"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr " primo."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr "Disconnecter"
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr "Non poteva deler le ligamine a Facebook."
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr "Tu te ha disconnectite de Facebook."
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr "Non es clar lo que tu tenta facer."
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+"Occurreva un problema durante le salveguarda de tu preferentias de "
+"synchronisation!"
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr "Preferentias de synchronisation salveguardate."
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr "Actualisar automaticamente mi stato de Facebook con mi notas."
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr "Inviar responsas \"@\" a Facebook."
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Salveguardar"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+"Si tu vole que %s actualisa automaticamente tu stato de Facebook con tu "
+"ultime nota, tu debe dar permission a illo."
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr "Permitter a %s de actualisar mi stato de Facebook"
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr "Preferentias de synchronisation"
diff --git a/plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..2c14c8481
--- /dev/null
+++ b/plugins/Facebook/locale/mk/LC_MESSAGES/Facebook.po
@@ -0,0 +1,562 @@
+# Translation of StatusNet - Facebook to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"Здраво, %1$s. Нажалост, не можеме да го смениме Вашиот статус на Facebook од "
+"%2$s, и го имаме оневозможено програмчето за Facebook на Вашата сметка. Ова "
+"можеби се должи на тоа што сте го отстраниле овластувањето на програмчето за "
+"Facebook, или пак сте ја избришале самата сметка на Facebook. Можете "
+"повторно да го овозможите програмчето за Facebook и автоматското менување на "
+"статус со преинсталирање на програмчето %2$s - Facebook.\n"
+"\n"
+"Поздрав,\n"
+"\n"
+"%2$s"
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr ""
+"Мора да сте најавени на Facebook за да можете да користите Facebook Connect."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr "Веќе постои локален корисник поврзан со оваа сметка на Facebook."
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се повторно."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "Не можете да се регистрирате ако не се согласувате со лиценцата."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Се појави непозната грешка."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Ова е прв пат како се најавувате на %s, па затоа мораме да го поврземе "
+"Вашиот профил на Facebook со локална сметка. Можете да создадете нова "
+"сметка, или пак да се поврзете со Вашата постоечка сметка (ако ја имате)."
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Поставки за сметка на Facebook"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Нагодувања за врска"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Мојот текст и податотеки се достапни под %s освен следниве приватни "
+"податоци: лозинка, е-пошта, IM-адреса, и телефонскиот број."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Создај нова сметка"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Создај нов корисник со овој прекар."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Нов прекар"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 мали букви или бројки, без интерпункциски знаци и празни места"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Создај"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Поврзи постоечка сметка"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+"Ако веќе имате сметка, најавете се со корисничкото име и лозинката за да ја "
+"поврзете со профилот на Facebook."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Постоечки прекар"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Лозинка"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Поврзи се"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Регистрацијата не е дозволена."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "Ова не е важечки код за покана."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Прекарот мора да се состои само од мали букви и бројки, без празни места."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Прекарот не е дозволен."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Прекарот е зафатен. Одберете друг."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "Грешка при поврзувањето на корисникот со Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Неважечко корисничко име или лозинка."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Најава"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Испрати забелешка"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Како е, %s?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Расположиви знаци"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Прати"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Грешка во опслужувачот: Не можев да го добијам корисникот!"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Погрешно корисничко име или лозинка."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s и пријателите"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"Доколку сакате %s автоматски да Ви го менува Вашиот статус на Facebook "
+"(прикажувајќи ја најновата забелешка), ќе морате да дадете дозвола."
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "Во ред, ајде!"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Прескокни"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Прелом на страници"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Потоа"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Претходно"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Ви благодариме што ги поканивте пријателите да користат %s."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Испратени се покани до следениве корисници:"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Поканети сте на %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Поканете ги пријателите да користат %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Пријатели што веќе користат %s:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Испрати покани"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Поставки за обединување со Facebook"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Поврзување на корисник со Facebook Connect"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Најава или регистрација со Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Нагодувања за поврзување со Facebook"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+"Приклучокот за Facebook овозможува соединување на примероци на StatusNet со "
+"<a href=\"http://mk-mk.facebook.com/\">Facebook</a> и Facebook Connect."
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Веќе сте најавени."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "Најавете се со Вашата сметка на Facebook"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr "Најава со Facebook"
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr "Не можев да го отстранам корисниот на Facebook."
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Почетна"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Почетна"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Покани"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Покани"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Нагодувања"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Нагодувања"
+
+#: facebookaction.php:233
+#, 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 ""
+"За да го користите програмчето %s - Facebook ќе мора да сте најавени со "
+"Вашето корисничко име и лозинка. Сè уште немате корисничко име?"
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr " нова сметка."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Регистрација"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Прекар"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Најава"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Ја загубивте/заборавивте лозинката?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr "Нема содржина за забелешката!"
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr "Ова е предолго. Забелешката може да содржи највеќе %d знаци."
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Забелешки"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr "Поставки за обедунување со Facebook"
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr "Неважечки API-клуч за Facebook. Дозволени се највеќе 255 знаци."
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr "Неважечки API-тајна за Facebook. Дозволени се највеќе 255 знаци."
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr "Нагодувања за прог. Facebook"
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr "API-клуч"
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr "API-клучот е обезбеден од Facebook"
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr "Тајна"
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr "API-тајната е обезбедена од Facebook"
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Зачувај"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr "Зачувај нагодувања за Facebook"
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr "Раководење со начинот на поврзување на Вашата сметка со Facebook"
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr "Нема корисник на Facebook поврзан со оваа сметка."
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr "Поврзан корисник на Facebook"
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr "Исклучи ја мојата сметка од Facebook"
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+"Ако ја исклучите врската со Facebook нема да можете да се најавите! Затоа, "
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "поставете лозинка"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr " пред да продолжите."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr "Прекини"
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr "Не можев да ја избришам врската до Facebook."
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr "Сега е исклучена врската со Facebook."
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr "Не ми е јасно што сакате да направите."
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+"Се појави проблем при зачувувањето на Вашите поставки за услогласување!"
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr "Поставките за усогласување се зачувани."
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr "Автоматски заменувај ми го статусот на Facebook со моите забелешки."
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr "Испрати „@“ одговори на Facebook."
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Зачувај"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+"Ако сакате %s автоматски да го заменува Вашиот статус на Facebook со Вашата "
+"најновата забелешка, ќе треба да дадете дозвола."
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr "Дозволи %s да го менува мојот статус на Facebook"
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr "Услогласи нагодувања"
diff --git a/plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..45149e2f5
--- /dev/null
+++ b/plugins/Facebook/locale/nb/LC_MESSAGES/Facebook.po
@@ -0,0 +1,533 @@
+# Translation of StatusNet - Facebook to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr ""
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr ""
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr ""
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr ""
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr ""
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Opprett ny konto"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Opprett en ny bruker med dette kallenavnet."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Nytt kallenavn"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 små bokstaver eller tall, ingen punktum eller mellomrom"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Opprett"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr ""
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Eksisterende kallenavn"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Passord"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Koble til"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Registrering ikke tillatt."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "Ikke en gyldig invitasjonskode."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "Kallenavn kan kun ha små bokstaver og tall og ingen mellomrom."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Kallenavn er ikke tillatt."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Kallenavnet er allerede i bruk. Prøv et annet."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr ""
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Ugyldig brukernavn eller passord."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr ""
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr ""
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Hva skjer %s?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Tilgjengelige tegn"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Send"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Tjenerfeil: Kunne ikke hente bruker!"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Feil brukernavn eller passord."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s og venner"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr ""
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Hopp over"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr ""
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Etter"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Før"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr ""
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr ""
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr ""
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr ""
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr ""
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Send invitasjoner"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr ""
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr ""
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Allerede innlogget."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr ""
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr ""
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Hjem"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Hjem"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Inviter"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Inviter"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Innstillinger"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Innstillinger"
+
+#: facebookaction.php:233
+#, 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 ""
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr " en ny konto."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Registrer"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Kallenavn"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Logg inn"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Mistet eller glemt passordet?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr ""
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr ""
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr ""
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr ""
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr ""
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr ""
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr ""
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Lagre"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr ""
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr ""
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "angi et passord"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr " først."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr ""
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr ""
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr ""
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr ""
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr "Send «@»-svar til Facebook."
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Lagre"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr "Tillat %s å oppdatere min Facebook-status"
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr ""
diff --git a/plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..40682eb93
--- /dev/null
+++ b/plugins/Facebook/locale/nl/LC_MESSAGES/Facebook.po
@@ -0,0 +1,571 @@
+# Translation of StatusNet - Facebook to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"Hallo %1$s.\n"
+"\n"
+"Het spijt ons je te moeten meedelen dat het niet mogelijk is uw "
+"Facebookstatus bij te werken vanuit %2$s. De Facebookapplicatie is "
+"uitgeschakeld voor uw gebruiker. Dit kan komen doordat u de toegangsrechten "
+"voor de Facebookapplicatie hebt ingetrokken of omdat u uw Facebookgebruiker "
+"hebt verwijderd. U kunt deze Facebookapplicatie opnieuw inschakelen en "
+"automatisch uw status laten bijwerken door de Facebookapplicatie van %2$s "
+"opnieuw te installeren.\n"
+"\n"
+"\n"
+"Met vriendelijke groet,\n"
+"\n"
+"%2$s"
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr "U moet zijn aangemeld bij Facebook om Facebook Connect te gebruiken."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr "Er is al een lokale gebruiker verbonden met deze Facebookgebruiker"
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
+"alstublieft."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "U kunt zich niet registreren als u niet met de licentie akkoord gaat."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Er is een onbekende fout opgetreden."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"De is de eerste keer dat u aanmeldt bij %s en dan moeten we uw "
+"Facebookgebruiker koppelen met uw lokale gebruiker. U kunt een nieuwe "
+"gebruiker aanmaken of koppelen met een bestaande gebruiker als u die al hebt."
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Facebookgebruiker instellen"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Verbindingsinstellingen"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Mijn teksten en bestanden zijn beschikbaar onder %s, behalve de volgende "
+"privégegevens: wachtwoord, e-mailadres, IM-adres, telefoonnummer."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Nieuwe gebruiker aanmaken"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Nieuwe gebruiker aanmaken met deze gebruikersnaam."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Nieuwe gebruikersnaam"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Aanmaken"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Verbinden met een bestaande gebruiker"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+"Als u al een gebruiker hebt, meld dan aan met uw gebruikersnaam en "
+"wachtwoord om deze daarna te koppelen met uw Facebookgebruiker."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Bestaande gebruikersnaam"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Wachtwoord"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Koppelen"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Registratie is niet toegestaan."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "De uitnodigingscode is ongeldig."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties "
+"zijn niet toegestaan."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Gebruikersnaam niet toegestaan."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr ""
+"De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "Fout bij het verbinden van de gebruiker met Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Ongeldige gebruikersnaam of wachtwoord."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Aanmelden"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Mededeling verzenden"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Hallo, %s."
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Beschikbare tekens"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Verzenden"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Serverfout: de gebruiker kon niet geladen worden."
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "De gebruikersnaam of wachtwoord is onjuist."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s en vrienden"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"Als u wilt dat het programma %s automatisch uw Facebookstatus bijwerkt met "
+"uw laatste bericht, dan moet u daarvoor toestemming geven."
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "Toestemming geven"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Overslaan"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Paginering"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Later"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Eerder"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Dank u wel voor het uitnodigen van uw vrienden om %s te gebruiken."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Er is een uitnodiging verstuurd naar de volgende gebruikers:"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "U bent uitgenodigd bij %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Vrienden uitnodigen om %s te gebruiken"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Vrienden die %s al gebruiken:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Uitnodigingen verzenden"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Instellingen voor Facebookintegratie"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Facebook Connectgebruiker"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Aanmelden of registreren via Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Instellingen voor Facebook Connect"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+"Via de de Facebookplug-in is het mogelijk StatusNet-installaties te koppelen "
+"met <a href=\"http://facebook.com/\">Facebook</a> en Facebook Connect."
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "U bent al aangemeld."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "Aanmelden met uw Facebookgebruiker"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr "Aanmelden via Facebook"
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr "Het was niet mogelijk de Facebookgebruiker te verwijderen."
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Hoofdmenu"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Hoofdmenu"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Uitnodigen"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Uitnodigen"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Instellingen"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Instellingen"
+
+#: facebookaction.php:233
+#, 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 ""
+"Om het Facebookprograma %s te gebruiken moet u aanmelden met uw "
+"gebruikersnaam en wachtwoord. Hebt u nog geen gebruiker?"
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr " een nieuwe gebruiker."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Registreer"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Gebruikersnaam"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Aanmelden"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Wachtwoord kwijt of vergeten?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr "Geen berichtinhoud!"
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr "De mededeling is te lang. Gebruik maximaal %d tekens."
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Mededelingen"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr "Instellingen voor Facebookkoppeling"
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr "Ongeldige Facebook API-sleutel. De maximale lengte is 255 tekens."
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr "Ongeldig Facebook API-geheim. De maximale lengte is 255 tekens."
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr "Applicatieinstellingen voor Facebook"
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr "API-sleutel"
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr "API-sleutel die door Facebook is uitgeven"
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr "Geheim"
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr "API-geheim dat door Facebook is uitgeven"
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Opslaan"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr "Facebookinstellingen opslaan"
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr "Beheren hoe uw gebruiker is gekoppeld met Facebook"
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr "Er is geen Facebookgebruiker gekoppeld met deze gebruiker."
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr "Gekoppelde Facebookgebruiker"
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr "Mijn gebruiker loskoppelen van Facebook"
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+"Loskoppelen van uw Facebookgebruiker zou ervoor zorgen dat u niet langer "
+"kunt aanmelden. U moet eerst "
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "een wachtwoord instellen"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr " voordat u verder kunt met deze handeling."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr "Loskoppelen"
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr "Het was niet mogelijk de verwijzing naar Facebook te verwijderen."
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr "U bent losgekoppeld van Facebook."
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr "Het is niet duidelijk wat u wilt bereiken."
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+"Er is een fout opgetreden tijdens het opslaan van uw "
+"synchronisatievoorkeuren!"
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr "Uw synchronisatievoorkeuren zijn opgeslagen."
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr "Mijn Facebookstatus automatisch bijwerken met mijn mededelingen."
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr "Antwoorden met \"@\" naar Facebook verzenden."
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Opslaan"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+"Als u wilt dat %s automatisch uw Facebookstatus bijwerkt met uw laatste "
+"mededeling, dat moet u daar toestemming voor geven."
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr "%s toestaan mijn Facebookstatus bij te werken"
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr "Synchronisatievooreuren"
diff --git a/plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..0c9d38a56
--- /dev/null
+++ b/plugins/Facebook/locale/pt_BR/LC_MESSAGES/Facebook.po
@@ -0,0 +1,536 @@
+# Translation of StatusNet - Facebook to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Luckas Blade
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr ""
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr ""
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "Você não pode se registrar se não aceitar a licença."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Ocorreu um erro desconhecido."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Opções de conexão"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Criar nova conta"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Criar um novo usuário com este apelido."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Novo apelido"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Criar"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr ""
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr ""
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Senha"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Conectar"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Não é permitido o registro."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "O código de convite é inválido."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"O apelido deve conter apenas letras minúsculas e números e não pode ter "
+"espaços."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Apelido não permitido."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Este apelido já está em uso. Tente outro."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "Erro ao conectar o usuário ao Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr ""
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Entrar"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr ""
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr ""
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Caracteres disponíveis"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Enviar"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr ""
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Nome de usuário e/ou senha incorreto(s)."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s e amigos"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr ""
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Avançar"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Paginação"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Depois"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Antes"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Obrigado por convidar seus amigos a usar %s"
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr ""
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Você foi convidado para %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Convidar seus amigos a usar %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Amigos já usando %s:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Enviar convites"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr ""
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr ""
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Entrar ou se registrar usando o Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr ""
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Já está autenticado."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr ""
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr ""
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr ""
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr ""
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr ""
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Convidar"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Convidar"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Configurações"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Configurações"
+
+#: facebookaction.php:233
+#, 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 ""
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr ""
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Registrar-se"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Apelido"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Entrar"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Perdeu ou esqueceu sua senha?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr ""
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr ""
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr ""
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr ""
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr ""
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr ""
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr ""
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Salvar"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr "Salvar configurações do Facebook"
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr ""
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr "Desconectar minha conta do Facebook"
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr ""
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr ""
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr "Desconectar"
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr ""
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr ""
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr ""
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr ""
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Salvar"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr ""
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr ""
diff --git a/plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..2099155da
--- /dev/null
+++ b/plugins/Facebook/locale/tl/LC_MESSAGES/Facebook.po
@@ -0,0 +1,578 @@
+# Translation of StatusNet - Facebook to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"Kumusta, %1$s. May pagpapaumanhin naming ipinababatid sa iyo na hindi namin "
+"naisapanahon ang iyong katayuan ng Facebook mula %2$s, at hindi namin "
+"pinagana ang aplikasyon ng Facebook para sa iyong akawnt. Maaaring dahil "
+"ito sa inalis mo ang pahintulot sa aplikasyon ng Facebook, o pagbura ng "
+"iyong akawnt sa Facebook. Maaari mong muling buhayin ang aplikasyon ng "
+"Facebook at kusang pagsasapanahon ng kalagayan sa pamamagitan ng muling "
+"pagtatalaga ng aplikasyon ng Facebook na %2$s.\n"
+"\n"
+"Nagpapahalaga,\n"
+"\n"
+"%2$s"
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr "Dapat na nakalagda ka sa Facebook upang magamit ang Ugnay sa Facebook."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr ""
+"Mayroon nang isang katutubong tagagamit na nakakawing sa ganitong akawnt ng "
+"Facebook."
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr "May isang suliranin sa iyong token ng sesyon. Paki subukan uli."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "Hindi ka makapagpapatala kung hindi ka sumasang-ayon sa lisensiya."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Isang hindi nalalamang kamalian ang naganap."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Ito ang iyong unang pagkakataong lumagda sa %s kaya't kailangan naming "
+"iugnay ang iyong Facebook sa isang katutubong akawnt. Maaari kang lumikha "
+"ng isang bagong akawnt, o umugnay sa pamamagitan ng iyong umiiral na akawnt, "
+"kung mayroon ka."
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Pagtatakda ng Akawnt ng Facebook"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Mga pagpipilian na pang-ugnay"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Ang aking teksto at mga talaksan ay makukuha sa ilalim ng %s maliban sa "
+"pribadong dato na ito: hudyat, tirahan ng e-liham, tirahan ng IM, at bilang "
+"na pangtelepono."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Lumikha ng bagong akawnt"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Lumikha ng isang bagong tagagamit na may ganitong palayaw."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Bagong palayaw"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"1 hanggang 64 na maliliit na mga titik o mga bilang, walang bantas o mga "
+"patlang"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Likhain"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Umugnay sa umiiral na akawnt"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+"Kung mayroon ka nang akawnt, lumagda sa pamamagitan ng iyong pangalan ng "
+"tagagamit at hudyat upang iugnay ito sa iyong Facebook."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Umiiral na palayaw"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Hudyat"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Umugnay"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Hindi pinapahintulutan ang pagpapatala."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "Hindi isang tanggap na kodigo ng paanyaya."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Ang palayaw ay dapat na may mga maliliit na mga titik lamang at mga bilang "
+"at walang mga patlang."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Hindi pinapahintulutan ang palayaw."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Ginagamit na ang palayaw. Subukan ang iba."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "May kamalian sa pag-ugnay ng tagagamit sa Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Hindi tanggap na pangalan ng tagagamit o hudyat."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Lumagda"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Magpadala ng pabatid"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Anong balita, %s?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Makukuhang mga panitik"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Ipadala"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Kamalian ng tapaghain: Hindi makuha ang tagagamit!"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Hindi tamang pangalan ng tagagamit o hudyat."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s at mga kaibigan"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"Kung nais mong kusang isapanahon ng aplikasyong %s ang iyong katayuan ng "
+"Facebook na may pinakabagong pabatid, kailangan mong bigyan ito ng "
+"pahintulot."
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "Sige, gawin iyan!"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Lagtawan"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Pagbilang ng pahina"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Pagkalipas ng"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Bago ang"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Salamat sa pag-anyaya sa iyong mga kaibigan na gamitin ang %s."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Ipinadala na ang mga paanyaya sa sumusunod ng mga tagagamit:"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Inaanyayahan ka sa %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Anyayahan ang iyong mga kaibigan na gamitin ang %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Mga kaibigang gumagamit na ng %s:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Ipadala ang mga paanyaya"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Pagkakaayos ng integrasyon ng Facebook"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Tagagamit ng Ugnay sa Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Lumagda o magpatalang ginagamit ang Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Mga Pagtatakda sa Ugnay sa Facebook"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+"Ang pamasak na Facebook ay nagpapahintulot ng integrasyon ng mga pagkakataon "
+"sa StatusNet sa pamamagitan ng <a href=\"http://facebook.com/\">Facebook</a> "
+"at Ugnay sa Facebook."
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Nakalagda na."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "Lumagda sa pamamagitan ng iyong Akawnt sa Facebook"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr "Paglagda sa Facebook"
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr "Hindi matanggal ang tagagamit ng Facebook."
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Tahanan"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Tahanan"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Anyayahan"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Anyayahan"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Mga pagtatakda"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Mga pagtatakda"
+
+#: facebookaction.php:233
+#, 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 ""
+"Upang magamit ang Aplikasyon ng Facebook na %s kailangan mong lumagda sa "
+"pamamagitan ng iyong pangalan ng tagagamit at hudyat. Wala ka pa bang "
+"bansag?"
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr "isang bagong akawnt."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Magpatala"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Palayaw"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Lumagda"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Hudyat na nawala o nakalimutan?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr "Walang laman ang pabatid!"
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr ""
+"Napakahaba niyan. Ang pinakamataas na sukat ng pabatid ay %d mga panitik."
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Mga pabatid"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr "Mga pagtatakda sa integrasyon ng Facebook"
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+"Hindi tanggap na susi sa API ng Facebook. Ang pinakamataas na haba ay 255 "
+"mga panitik."
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+"Hindi tanggap na lihim sa API ng Facebook. Ang pinakamataas na haba ay 255 "
+"mga panitik."
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr "Mga pagtatakda sa aplikasyon ng Facebook"
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr "Susi ng API"
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr "Ang susi ng API ay ibinigay ng Facebook"
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr "Lihim"
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr "Ang lihim ng API ay ibinigay ng Facebook"
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Sagipin"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr "Sagipin ang mga katakdaan ng Facebook"
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr "Pamahalaan kung paano umuugnay ang iyong akawnt sa Facebook"
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr "Walang tagagamit ng Facebook na nakaugnay sa akawnt na ito."
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr "Nakaugnay na tagagamit ng Facebook"
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr "Huwag iugnay ang aking akawnt mula sa Facebook"
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+"Ang pagtatanggal ng ugnay sa Facebook ay magsasanhi ng hindi mangyayaring "
+"paglagda! Paki "
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "magtakda ng isang hudyat"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr "muna."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr "Huwag umugnay"
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr "Hindi maalis ang pagkabit sa Facebook."
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr "Hindi ka na nakaugnay sa Facebook."
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr "Hindi sigurado kung ano ang sinusubok mong gawin."
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr "May isang suliranin sa pagsagip ng iyong mga nais sa pagsabay!"
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr "Nasagip ang mga nais sa pagsabay."
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr ""
+"Kusang isapanahon ang aking katayuan ng Facebook na may mga pabatid ko."
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr "Ipadala ang mga tugong \"@\" sa Facebook."
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Sagipin"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+"Kung nais mong kusang isapanahon ng %s ang iyong katayuan ng Facebook na may "
+"pinakabagong mga pabatid mo, kailangan mo itong bigyan ng pahintulot."
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr "Pahintulutan si %s na isapanahon ang aking katayuan ng Facebook"
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr "Mga nais sa pagsabay"
diff --git a/plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..7b8d8384f
--- /dev/null
+++ b/plugins/Facebook/locale/uk/LC_MESSAGES/Facebook.po
@@ -0,0 +1,568 @@
+# Translation of StatusNet - Facebook to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:44+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"Вітаємо, %1$s. Нам дуже прикро про це повідомляти, але ми не в змозі "
+"оновлювати ваш статус у Facebook з %2$s і відключаємо додаток Facebook для "
+"вашого акаунту. Таке могло статися тому, що ви, можливо, скасували "
+"авторизацію для додатку Facebook або видалили ваш акаунт Facebook. Ви маєте "
+"можливість перезапустити додаток для Facebook і автоматичний імпорт ваших "
+"статусів з %2$s до Facebook буде поновлено.\n"
+"\n"
+"З повагою,\n"
+"\n"
+"%2$s"
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr "Ви повинні увійти до Facebook або використати Facebook Connect."
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr ""
+"На даному сайті вже є користувач, котрий підключив цей акаунт Facebook."
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "Ви не зможете зареєструватись, якщо не погодитесь з умовами ліцензії."
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "Виникла якась незрозуміла помилка."
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Ви вперше увійшли до сайту %s, отже ми мусимо приєднати ваш акаунт Facebook "
+"до акаунту на даному сайті. Ви маєте можливість створити новий акаунт або "
+"використати такий, що вже існує."
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Налаштування акаунту Facebook"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "Опції з’єднання"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Мої дописи і файли доступні на умовах %s, окрім цих приватних даних: пароль, "
+"електронна адреса, адреса IM, телефонний номер."
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "Створити новий акаунт"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "Створити нового користувача з цим нікнеймом."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "Новий нікнейм"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"1-64 літери нижнього регістру і цифри, ніякої пунктуації або інтервалів"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Створити"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "Приєднати акаунт, який вже існує"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr ""
+"Якщо ви вже маєте акаунт, увійдіть з вашим ім’ям користувача та паролем, аби "
+"приєднати їх до Facebook."
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "Нікнейм, який вже існує"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "Пароль"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Під’єднати"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "Реєстрацію не дозволено."
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "Це не дійсний код запрошення."
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Ім’я користувача повинно складатись з літер нижнього регістру і цифр, ніяких "
+"інтервалів."
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "Нікнейм не допускається."
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "Цей нікнейм вже використовується. Спробуйте інший."
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "Помилка при підключенні до Facebook."
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "Невірне ім’я або пароль."
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "Увійти"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "Надіслати допис"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "Що нового, %s?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "Лишилось знаків"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "Так"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "Помилка сервера: не вдалося отримати користувача!"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "Неточне ім’я або пароль."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s з друзями"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"Якщо ви бажаєте, щоб додаток %s автоматично оновлював ваш статус у Facebook "
+"останнім повідомленням, ви повинні надати дозвіл."
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "Так, зробіть це!"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "Проскочити"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "Нумерація сторінок"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "Вперед"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "Назад"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "Дякуємо, що запросили своїх друзів на %s."
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "Запрошення було надіслано таким користувачам:"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "Вас було запрошено до %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "Запросіть своїх друзів до %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "Деякі друзі вже користуються %s:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "Розсилка запрошень"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Налаштування інтеграції з Facebook"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Facebook Connect"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "Увійти або зареєструватись з Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Налаштування Facebook Connect"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+"Додаток Facebook дозволяє інтегрувати StatusNet-сумісні сервіси з <a href="
+"\"http://facebook.com/\">Facebook</a> та Facebook Connect."
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "Тепер ви увійшли."
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "Увійти з акаунтом Facebook"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr "Вхід Facebook"
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr "Не вдалося видалити користувача Facebook."
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr "Дім"
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr "Дім"
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr "Запросити"
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr "Запросити"
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr "Налаштування"
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr "Налаштування"
+
+#: facebookaction.php:233
+#, 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 ""
+"Щоб використовувати додаток %s для Facebook, ви мусите увійти, "
+"використовуючи своє ім’я користувача та пароль. Ще не маєте імені "
+"користувача?"
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr " новий акаунт."
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr "Зареєструвати"
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr "Нікнейм"
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Увійти"
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr "Загубили або забули пароль?"
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr "Повідомлення порожнє!"
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr "Надто довго. Максимальний розмір допису — %d знаків."
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr "Дописи"
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr "Facebook"
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr "Налаштування інтеграції з Facebook"
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+"Помилковий ключ Facebook API. Максимальна довжина ключа — 255 символів."
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+"Помилковий секретний код Facebook API. Максимальна довжина — 255 символів."
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr "Налаштування додатку для Facebook"
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr "API-ключ"
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr "API-ключ, що був наданий Facebook"
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr "Секретний код"
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr "Секретний код API, що був наданий Facebook"
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr "Зберегти"
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr "Зберегти налаштування Facebook"
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr "Зазначте, яким чином ваш акаунт буде під’єднано до Facebook"
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr "Наразі жоден користувач Facebook не під’єднаний до цього акаунту."
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr "Під’єднаний користувач Facebook"
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr "Від’єднати мій акаунт від Facebook"
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+"Якщо ви від’єднаєте свій Facebook, то це унеможливить вхід до системи у "
+"майбутньому! Будь ласка, "
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr "встановіть пароль"
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr " спочатку."
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr "Від’єднати"
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr "Не можу видалити посилання на Facebook."
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr "Ви від’єдналися від Facebook."
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr "Хто зна, що ви намагаєтеся зробити."
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr "Виникла проблема при збереженні параметрів синхронізації!"
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr "Параметри синхронізації збережено."
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr "Автоматично оновлювати статус у Facebook моїми дописами."
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr "Надсилати «@» відповіді до Facebook."
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr "Зберегти"
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+"Якщо ви бажаєте, щоб додаток %s автоматично оновлював ваш статус у Facebook "
+"останнім повідомленням, ви повинні надати дозвіл."
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr "Дозволити додатку %s оновлювати мій статус у Facebook"
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr "Параметри синхронізації"
diff --git a/plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po b/plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po
new file mode 100644
index 000000000..62ef78f36
--- /dev/null
+++ b/plugins/Facebook/locale/zh_CN/LC_MESSAGES/Facebook.po
@@ -0,0 +1,548 @@
+# Translation of StatusNet - Facebook to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: Chenxiaoqino
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Facebook\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-facebook\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: facebookutil.php:425
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that we are unable to update your "
+"Facebook status from %2$s, and have disabled the Facebook application for "
+"your account. This may be because you have removed the Facebook "
+"application's authorization, or have deleted your Facebook account. You can "
+"re-enable the Facebook application and automatic status updating by re-"
+"installing the %2$s Facebook application.\n"
+"\n"
+"Regards,\n"
+"\n"
+"%2$s"
+msgstr ""
+"你好,%1$s。我们很抱歉的通知你我们无法从%2$s更新你的Facebook状态,并已禁用你"
+"帐户的Facebook应用。这可能是因为你取消了Facebook应用的授权,或者你删除了你的"
+"Facebook帐户。通过重新安装Facebook应用你可以重新启用你的Facebook应用的自动状"
+"态更新。\n"
+"\n"
+"祝好,\n"
+"\n"
+"%2$s"
+
+#: FBConnectAuth.php:51
+msgid "You must be logged into Facebook to use Facebook Connect."
+msgstr "你必须使用Facebook Connect来登入Facebook帐号。"
+
+#: FBConnectAuth.php:75
+msgid "There is already a local user linked with this Facebook account."
+msgstr "这里已经有一个用户连接了此Facebook帐号。"
+
+#: FBConnectAuth.php:87 FBConnectSettings.php:166
+msgid "There was a problem with your session token. Try again, please."
+msgstr "你的session token出错了。请重试。"
+
+#: FBConnectAuth.php:92
+msgid "You can't register if you don't agree to the license."
+msgstr "你必须同意许可协议才能注册。"
+
+#: FBConnectAuth.php:102
+msgid "An unknown error has occured."
+msgstr "发生未知错误。"
+
+#. TRANS: %s is the site name.
+#: FBConnectAuth.php:117
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your "
+"Facebook to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+" 这是你第一次登录到 %s,我们需要将你的Facebook帐号与一个本地的帐号关联。你可"
+"以新建一个帐号,或者使用你在本站已有的帐号。"
+
+#. TRANS: Page title.
+#: FBConnectAuth.php:124
+msgid "Facebook Account Setup"
+msgstr "Facebook帐号设置"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:158
+msgid "Connection options"
+msgstr "连接选项"
+
+#. TRANS: %s is the name of the license used by the user for their status updates.
+#: FBConnectAuth.php:168
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+" 我的文字和文件在%s下提供,除了如下隐私内容:密码、电子邮件地址、IM 地址和电"
+"话号码。"
+
+#. TRANS: Legend.
+#: FBConnectAuth.php:185
+msgid "Create new account"
+msgstr "创建新帐户"
+
+#: FBConnectAuth.php:187
+msgid "Create a new user with this nickname."
+msgstr "以此昵称创建新帐户"
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:191
+msgid "New nickname"
+msgstr "新昵称"
+
+#: FBConnectAuth.php:193
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1 到 64 个小写字母或数字,不包含标点或空格"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:197
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "创建"
+
+#: FBConnectAuth.php:203
+msgid "Connect existing account"
+msgstr "连接现有帐号"
+
+#: FBConnectAuth.php:205
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Facebook."
+msgstr "如果你已有帐号,请输入用户名和密码登录并连接至Facebook。"
+
+#. TRANS: Field label.
+#: FBConnectAuth.php:209
+msgid "Existing nickname"
+msgstr "已存在的昵称"
+
+#: FBConnectAuth.php:212 facebookaction.php:277
+msgid "Password"
+msgstr "密码"
+
+#. TRANS: Submit button.
+#: FBConnectAuth.php:216
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "连接"
+
+#. TRANS: Client error trying to register with registrations not allowed.
+#. TRANS: Client error trying to register with registrations 'invite only'.
+#: FBConnectAuth.php:233 FBConnectAuth.php:243
+msgid "Registration not allowed."
+msgstr "不允许注册。"
+
+#. TRANS: Client error trying to register with an invalid invitation code.
+#: FBConnectAuth.php:251
+msgid "Not a valid invitation code."
+msgstr "对不起,无效的邀请码。"
+
+#: FBConnectAuth.php:261
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "昵称只能使用小写字母和数字且不能使用空格。"
+
+#: FBConnectAuth.php:266
+msgid "Nickname not allowed."
+msgstr "昵称不被允许。"
+
+#: FBConnectAuth.php:271
+msgid "Nickname already in use. Try another one."
+msgstr "昵称已被使用,换一个吧。"
+
+#: FBConnectAuth.php:289 FBConnectAuth.php:323 FBConnectAuth.php:343
+msgid "Error connecting user to Facebook."
+msgstr "连接用户至Facebook时发生错误。"
+
+#: FBConnectAuth.php:309
+msgid "Invalid username or password."
+msgstr "用户名或密码不正确。"
+
+#. TRANS: Page title.
+#: facebooklogin.php:90 facebookaction.php:255
+msgid "Login"
+msgstr "登录"
+
+#. TRANS: Legend.
+#: facebooknoticeform.php:144
+msgid "Send a notice"
+msgstr "发送一个通知"
+
+#. TRANS: Field label.
+#: facebooknoticeform.php:157
+#, php-format
+msgid "What's up, %s?"
+msgstr "%s,最近怎么样?"
+
+#: facebooknoticeform.php:169
+msgid "Available characters"
+msgstr "可用的字符"
+
+#. TRANS: Button text.
+#: facebooknoticeform.php:196
+msgctxt "BUTTON"
+msgid "Send"
+msgstr "发送"
+
+#: facebookhome.php:103
+msgid "Server error: Couldn't get user!"
+msgstr "服务器错误:无法获取用户。"
+
+#: facebookhome.php:122
+msgid "Incorrect username or password."
+msgstr "用户名或密码不正确。"
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname
+#: facebookhome.php:157
+#, php-format
+msgid "%s and friends"
+msgstr "%s 和好友们"
+
+#. TRANS: Instructions. %s is the application name.
+#: facebookhome.php:185
+#, 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 ""
+"如果你希望 %s 应用自动更新你最新的状态到Facebook状态上,你需要给它设置权限。"
+
+#: facebookhome.php:210
+msgid "Okay, do it!"
+msgstr "好的!"
+
+#. TRANS: Button text. Clicking the button will skip updating Facebook permissions.
+#: facebookhome.php:217
+msgctxt "BUTTON"
+msgid "Skip"
+msgstr "跳过"
+
+#: facebookhome.php:244 facebookaction.php:336
+msgid "Pagination"
+msgstr "分页"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:254 facebookaction.php:345
+msgid "After"
+msgstr "之后"
+
+#. TRANS: Pagination link.
+#: facebookhome.php:263 facebookaction.php:353
+msgid "Before"
+msgstr "之前"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:69
+#, php-format
+msgid "Thanks for inviting your friends to use %s."
+msgstr "谢谢你邀请你的朋友们来使用 %s。"
+
+#. TRANS: Followed by an unordered list with invited friends.
+#: facebookinvite.php:72
+msgid "Invitations have been sent to the following users:"
+msgstr "邀请已发给一些的用户:"
+
+#: facebookinvite.php:91
+#, php-format
+msgid "You have been invited to %s"
+msgstr "你被邀请来到 %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:101
+#, php-format
+msgid "Invite your friends to use %s"
+msgstr "邀请你的朋友们来使用 %s"
+
+#. TRANS: %s is the name of the site.
+#: facebookinvite.php:124
+#, php-format
+msgid "Friends already using %s:"
+msgstr "已经使用 %s 的好友们:"
+
+#. TRANS: Page title.
+#: facebookinvite.php:143
+msgid "Send invitations"
+msgstr "发送邀请"
+
+#. TRANS: Menu item.
+#. TRANS: Menu item tab.
+#: FacebookPlugin.php:188 FacebookPlugin.php:461 FacebookPlugin.php:485
+msgctxt "MENU"
+msgid "Facebook"
+msgstr "Facebook"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:190
+msgid "Facebook integration configuration"
+msgstr "Facebook整合设置"
+
+#: FacebookPlugin.php:431
+msgid "Facebook Connect User"
+msgstr "Facebook Connect 用户"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#: FacebookPlugin.php:463
+msgid "Login or register using Facebook"
+msgstr "使用 Facebook 登陆或注册"
+
+#. TRANS: Tooltip for menu item "Facebook".
+#. TRANS: Page title.
+#: FacebookPlugin.php:487 FBConnectSettings.php:55
+msgid "Facebook Connect Settings"
+msgstr "Facebook Connect 设置"
+
+#: FacebookPlugin.php:591
+msgid ""
+"The Facebook plugin allows integrating StatusNet instances with <a href="
+"\"http://facebook.com/\">Facebook</a> and Facebook Connect."
+msgstr ""
+
+#: FBConnectLogin.php:33
+msgid "Already logged in."
+msgstr "已登录。"
+
+#. TRANS: Instructions.
+#: FBConnectLogin.php:42
+msgid "Login with your Facebook Account"
+msgstr "使用你的 Facebook 帐号登录"
+
+#. TRANS: Page title.
+#: FBConnectLogin.php:57
+msgid "Facebook Login"
+msgstr ""
+
+#: facebookremove.php:57
+msgid "Couldn't remove Facebook user."
+msgstr ""
+
+#. TRANS: Link description for 'Home' link that leads to a start page.
+#: facebookaction.php:169
+msgctxt "MENU"
+msgid "Home"
+msgstr ""
+
+#. TRANS: Tooltip for 'Home' link that leads to a start page.
+#: facebookaction.php:171
+msgid "Home"
+msgstr ""
+
+#. TRANS: Link description for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:180
+msgctxt "MENU"
+msgid "Invite"
+msgstr ""
+
+#. TRANS: Tooltip for 'Invite' link that leads to a page where friends can be invited.
+#: facebookaction.php:182
+msgid "Invite"
+msgstr ""
+
+#. TRANS: Link description for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:192
+msgctxt "MENU"
+msgid "Settings"
+msgstr ""
+
+#. TRANS: Tooltip for 'Settings' link that leads to a page user preferences can be set.
+#: facebookaction.php:194
+msgid "Settings"
+msgstr ""
+
+#: facebookaction.php:233
+#, 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 ""
+
+#: facebookaction.php:235
+msgid " a new account."
+msgstr ""
+
+#: facebookaction.php:242
+msgid "Register"
+msgstr ""
+
+#: facebookaction.php:274
+msgid "Nickname"
+msgstr ""
+
+#. TRANS: Login button.
+#: facebookaction.php:282
+msgctxt "BUTTON"
+msgid "Login"
+msgstr ""
+
+#: facebookaction.php:288
+msgid "Lost or forgotten password?"
+msgstr ""
+
+#: facebookaction.php:370
+msgid "No notice content!"
+msgstr ""
+
+#: facebookaction.php:377
+#, php-format
+msgid "That's too long. Max notice size is %d chars."
+msgstr ""
+
+#: facebookaction.php:431
+msgid "Notices"
+msgstr ""
+
+#: facebookadminpanel.php:52
+msgid "Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:62
+msgid "Facebook integration settings"
+msgstr ""
+
+#: facebookadminpanel.php:123
+msgid "Invalid Facebook API key. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:129
+msgid "Invalid Facebook API secret. Max length is 255 characters."
+msgstr ""
+
+#: facebookadminpanel.php:178
+msgid "Facebook application settings"
+msgstr ""
+
+#: facebookadminpanel.php:184
+msgid "API key"
+msgstr ""
+
+#: facebookadminpanel.php:185
+msgid "API key provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:193
+msgid "Secret"
+msgstr ""
+
+#: facebookadminpanel.php:194
+msgid "API secret provided by Facebook"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save"
+msgstr ""
+
+#: facebookadminpanel.php:210
+msgid "Save Facebook settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: FBConnectSettings.php:66
+msgid "Manage how your account connects to Facebook"
+msgstr ""
+
+#: FBConnectSettings.php:90
+msgid "There is no Facebook user connected to this account."
+msgstr ""
+
+#: FBConnectSettings.php:98
+msgid "Connected Facebook user"
+msgstr ""
+
+#. TRANS: Legend.
+#: FBConnectSettings.php:118
+msgid "Disconnect my account from Facebook"
+msgstr ""
+
+#. TRANS: Followed by a link containing text "set a password".
+#: FBConnectSettings.php:125
+msgid ""
+"Disconnecting your Faceboook would make it impossible to log in! Please "
+msgstr ""
+
+#. TRANS: Preceded by "Please " and followed by " first."
+#: FBConnectSettings.php:130
+msgid "set a password"
+msgstr ""
+
+#. TRANS: Preceded by "Please set a password".
+#: FBConnectSettings.php:132
+msgid " first."
+msgstr ""
+
+#. TRANS: Submit button.
+#: FBConnectSettings.php:145
+msgctxt "BUTTON"
+msgid "Disconnect"
+msgstr ""
+
+#: FBConnectSettings.php:180
+msgid "Couldn't delete link to Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:196
+msgid "You have disconnected from Facebook."
+msgstr ""
+
+#: FBConnectSettings.php:199
+msgid "Not sure what you're trying to do."
+msgstr ""
+
+#: facebooksettings.php:61
+msgid "There was a problem saving your sync preferences!"
+msgstr ""
+
+#. TRANS: Confirmation that synchronisation settings have been saved into the system.
+#: facebooksettings.php:64
+msgid "Sync preferences saved."
+msgstr ""
+
+#: facebooksettings.php:87
+msgid "Automatically update my Facebook status with my notices."
+msgstr ""
+
+#: facebooksettings.php:94
+msgid "Send \"@\" replies to Facebook."
+msgstr ""
+
+#. TRANS: Submit button to save synchronisation settings.
+#: facebooksettings.php:102
+msgctxt "BUTTON"
+msgid "Save"
+msgstr ""
+
+#. TRANS: %s is the application name.
+#: facebooksettings.php:111
+#, 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 ""
+
+#: facebooksettings.php:124
+#, php-format
+msgid "Allow %s to update my Facebook status"
+msgstr ""
+
+#. TRANS: Page title for synchronisation settings.
+#: facebooksettings.php:134
+msgid "Sync preferences"
+msgstr ""
diff --git a/plugins/FirePHP/FirePHPPlugin.php b/plugins/FirePHP/FirePHPPlugin.php
index d984ec1af..27f760c81 100644
--- a/plugins/FirePHP/FirePHPPlugin.php
+++ b/plugins/FirePHP/FirePHPPlugin.php
@@ -69,4 +69,3 @@ class FirePHPPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/FirePHP/locale/FirePHP.pot b/plugins/FirePHP/locale/FirePHP.pot
index fa16f283e..056d788c6 100644
--- a/plugins/FirePHP/locale/FirePHP.pot
+++ b/plugins/FirePHP/locale/FirePHP.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,6 +16,6 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: FirePHPPlugin.php:66
+#: FirePHPPlugin.php:68
msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
msgstr ""
diff --git a/plugins/FirePHP/locale/es/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/es/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..99eb31c5c
--- /dev/null
+++ b/plugins/FirePHP/locale/es/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - FirePHP to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr ""
+"La extensión FirePHP escribe la salida del registro de StatusNet en FirePHP."
diff --git a/plugins/FirePHP/locale/fi/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/fi/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..a7bae2b5e
--- /dev/null
+++ b/plugins/FirePHP/locale/fi/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - FirePHP to Finnish (Suomi)
+# Expored from translatewiki.net
+#
+# Author: Nike
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fi\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr "FirePHP-liitännäinen kirjoittaa StatusNetin tulosteen FirePHP:hen."
diff --git a/plugins/FirePHP/locale/fr/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/fr/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..b53390d4b
--- /dev/null
+++ b/plugins/FirePHP/locale/fr/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - FirePHP to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr ""
+"L’extension FirePHP écrit la sortie du journal de StatusNet dans FirePHP."
diff --git a/plugins/FirePHP/locale/ia/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/ia/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..bd26e50b7
--- /dev/null
+++ b/plugins/FirePHP/locale/ia/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - FirePHP to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr ""
+"Le plug-in FirePHP transmitte le output del registro de StatusNet a FirePHP."
diff --git a/plugins/FirePHP/locale/ja/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/ja/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..d2aea2bbb
--- /dev/null
+++ b/plugins/FirePHP/locale/ja/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - FirePHP to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr "FirePHPプラグインは、StatusNetの記録出力を、FirePHPへ書き出します。"
diff --git a/plugins/FirePHP/locale/mk/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/mk/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..d99a7abab
--- /dev/null
+++ b/plugins/FirePHP/locale/mk/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - FirePHP to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr ""
+"Приклучокот FirePHP ги врши излезните записи во дневникот на StatusNet во "
+"FirePHP."
diff --git a/plugins/FirePHP/locale/nb/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/nb/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..b1c0bdd08
--- /dev/null
+++ b/plugins/FirePHP/locale/nb/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - FirePHP to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr "Utvidelsen FirePHP skriver StatusNets logg-utdata til FirePHP."
diff --git a/plugins/FirePHP/locale/nl/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/nl/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..39167e2c7
--- /dev/null
+++ b/plugins/FirePHP/locale/nl/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - FirePHP to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr ""
+"De plug-in FirePHP schrijft de logboekuitvoer van StatusNet naar FirePHP."
diff --git a/plugins/FirePHP/locale/pt/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/pt/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..5ed7be0d6
--- /dev/null
+++ b/plugins/FirePHP/locale/pt/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - FirePHP to Portuguese (Português)
+# Expored from translatewiki.net
+#
+# Author: Waldir
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr "O plugin FirePHP envia a saída do log do StatusNet para o FirePHP."
diff --git a/plugins/FirePHP/locale/ru/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/ru/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..87008b2bd
--- /dev/null
+++ b/plugins/FirePHP/locale/ru/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - FirePHP to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr "Модуль FirePHP записывает вывод журнала StatusNet в FirePHP."
diff --git a/plugins/FirePHP/locale/tl/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/tl/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..ded26687e
--- /dev/null
+++ b/plugins/FirePHP/locale/tl/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - FirePHP to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr ""
+"Ang pamasak na FirePHP ay nagsusulat ng tala ng paglalabas ng StatusNet sa "
+"FirePHP."
diff --git a/plugins/FirePHP/locale/uk/LC_MESSAGES/FirePHP.po b/plugins/FirePHP/locale/uk/LC_MESSAGES/FirePHP.po
new file mode 100644
index 000000000..10883a657
--- /dev/null
+++ b/plugins/FirePHP/locale/uk/LC_MESSAGES/FirePHP.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - FirePHP to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - FirePHP\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-firephp\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: FirePHPPlugin.php:68
+msgid "The FirePHP plugin writes StatusNet's log output to FirePHP."
+msgstr "Додаток FirePHP записує лоґи StatusNet до FirePHP."
diff --git a/plugins/ForceGroup/ForceGroupPlugin.php b/plugins/ForceGroup/ForceGroupPlugin.php
new file mode 100644
index 000000000..fb9864484
--- /dev/null
+++ b/plugins/ForceGroup/ForceGroupPlugin.php
@@ -0,0 +1,108 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package ForceGroupPlugin
+ * @maintainer Brion Vibber <brion@status.net>
+ */
+
+if (!defined('STATUSNET')) { exit(1); }
+
+class ForceGroupPlugin extends Plugin
+{
+ /**
+ * Members of these groups will have all their posts mirrored into
+ * the group even if they don't explicitly mention it.
+ *
+ * List by local nickname.
+ */
+ public $post = array();
+
+ /**
+ * New user registrations will automatically join these groups on
+ * registration. They're not prevented from leaving, however.
+ *
+ * List by local nickname.
+ */
+ public $join = array();
+
+ /**
+ * If poster is in one of the forced groups, make sure their notice
+ * gets saved into that group even if not explicitly mentioned.
+ *
+ * @param Notice $notice
+ * @return boolean event hook return
+ */
+ function onStartNoticeDistribute($notice)
+ {
+ $profile = $notice->getProfile();
+ foreach ($this->post as $nickname) {
+ $group = User_group::getForNickname($nickname);
+ if ($group && $profile->isMember($group)) {
+ $notice->addToGroupInbox($group);
+ }
+ }
+ return true;
+ }
+
+ function onEndUserRegister($profile, $user)
+ {
+ $profile = $user->getProfile();
+ foreach ($this->join as $nickname) {
+ $group = User_group::getForNickname($nickname);
+ if ($group && !$profile->isMember($group)) {
+ try {
+ if (Event::handle('StartJoinGroup', array($group, $user))) {
+ Group_member::join($group->id, $user->id);
+ Event::handle('EndJoinGroup', array($group, $user));
+ }
+ } catch (Exception $e) {
+ // TRANS: Server exception.
+ // TRANS: %1$s is a user nickname, %2$s is a group nickname.
+ throw new ServerException(sprintf(_m('Could not join user %1$s to group %2$s.'),
+ $user->nickname, $group->nickname));
+ }
+ }
+ }
+ }
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:ForceGroup';
+
+ $versions[] = array('name' => 'ForceGroup',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Brion Vibber',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('Allows forced group memberships and forces all notices to appear in groups that users were forced in.'));
+
+ return true;
+ }
+}
diff --git a/plugins/ForceGroup/locale/ForceGroup.pot b/plugins/ForceGroup/locale/ForceGroup.pot
new file mode 100644
index 000000000..841f0d7a7
--- /dev/null
+++ b/plugins/ForceGroup/locale/ForceGroup.pot
@@ -0,0 +1,31 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
+#: ForceGroupPlugin.php:78
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr ""
+
+#. TRANS: Plugin description.
+#: ForceGroupPlugin.php:104
+msgid ""
+"Allows forced group memberships and forces all notices to appear in groups "
+"that users were forced in."
+msgstr ""
diff --git a/plugins/ForceGroup/locale/es/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/es/LC_MESSAGES/ForceGroup.po
new file mode 100644
index 000000000..7f9c5d245
--- /dev/null
+++ b/plugins/ForceGroup/locale/es/LC_MESSAGES/ForceGroup.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - ForceGroup to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ForceGroup\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:45+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:23+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-forcegroup\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
+#: ForceGroupPlugin.php:78
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr "No se pudo incluir al usuario %1$s en el grupo %2$s."
+
+#. TRANS: Plugin description.
+#: ForceGroupPlugin.php:104
+msgid ""
+"Allows forced group memberships and forces all notices to appear in groups "
+"that users were forced in."
+msgstr ""
+"Permite forzar inclusiones en grupos y fuerza la aparición de todos los "
+"mensajes en los grupos en los que los usuarios fueron incluidos a la fuerza."
diff --git a/plugins/ForceGroup/locale/ia/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/ia/LC_MESSAGES/ForceGroup.po
new file mode 100644
index 000000000..18a728c65
--- /dev/null
+++ b/plugins/ForceGroup/locale/ia/LC_MESSAGES/ForceGroup.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - ForceGroup to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ForceGroup\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:23+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-forcegroup\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
+#: ForceGroupPlugin.php:78
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr "Non poteva inscriber le usator %1$s in le gruppo %2$s."
+
+#. TRANS: Plugin description.
+#: ForceGroupPlugin.php:104
+msgid ""
+"Allows forced group memberships and forces all notices to appear in groups "
+"that users were forced in."
+msgstr ""
+"Permitte fortiar le inscription in gruppos e fortia que tote le notas appare "
+"in gruppos in que usatores esseva inscribite."
diff --git a/plugins/ForceGroup/locale/mk/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/mk/LC_MESSAGES/ForceGroup.po
new file mode 100644
index 000000000..0f1f88e7e
--- /dev/null
+++ b/plugins/ForceGroup/locale/mk/LC_MESSAGES/ForceGroup.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - ForceGroup to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ForceGroup\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:23+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-forcegroup\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
+#: ForceGroupPlugin.php:78
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr "Не можев да го зачленам корисникот %1$s во групата %2$s."
+
+#. TRANS: Plugin description.
+#: ForceGroupPlugin.php:104
+msgid ""
+"Allows forced group memberships and forces all notices to appear in groups "
+"that users were forced in."
+msgstr ""
+"Овозможува наметнати членства во групи и наметнува на сите забелешки да се "
+"јавуваат во групите кајшто корисниците имаат наметнати членства"
diff --git a/plugins/ForceGroup/locale/nl/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/nl/LC_MESSAGES/ForceGroup.po
new file mode 100644
index 000000000..a2f21de44
--- /dev/null
+++ b/plugins/ForceGroup/locale/nl/LC_MESSAGES/ForceGroup.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - ForceGroup to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ForceGroup\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:23+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-forcegroup\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
+#: ForceGroupPlugin.php:78
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr "Het was niet mogelijk gebruiker %1$s toe te voegen aan de groep %2$s."
+
+#. TRANS: Plugin description.
+#: ForceGroupPlugin.php:104
+msgid ""
+"Allows forced group memberships and forces all notices to appear in groups "
+"that users were forced in."
+msgstr ""
+"Maakt het mogelijk gedwongen lid te worden van groepen en alle mededelingen "
+"weer te geven in die groepen."
diff --git a/plugins/ForceGroup/locale/tl/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/tl/LC_MESSAGES/ForceGroup.po
new file mode 100644
index 000000000..6b755c3e2
--- /dev/null
+++ b/plugins/ForceGroup/locale/tl/LC_MESSAGES/ForceGroup.po
@@ -0,0 +1,39 @@
+# Translation of StatusNet - ForceGroup to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ForceGroup\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:23+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-forcegroup\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
+#: ForceGroupPlugin.php:78
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr "Hindi maisama ang tagagamit na %1$s sa pangkat na %2$s."
+
+#. TRANS: Plugin description.
+#: ForceGroupPlugin.php:104
+msgid ""
+"Allows forced group memberships and forces all notices to appear in groups "
+"that users were forced in."
+msgstr ""
+"Nagpapahintulot ng pinilit na mga pagkakasapi sa pangkat at pumipilit sa "
+"lahat ng mga pabatid na lumitaw sa loob ng mga pangkat na pinagpilitang "
+"paloob ng mga tagagamit."
diff --git a/plugins/ForceGroup/locale/uk/LC_MESSAGES/ForceGroup.po b/plugins/ForceGroup/locale/uk/LC_MESSAGES/ForceGroup.po
new file mode 100644
index 000000000..bd693e7ef
--- /dev/null
+++ b/plugins/ForceGroup/locale/uk/LC_MESSAGES/ForceGroup.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - ForceGroup to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ForceGroup\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:23+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-forcegroup\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is a user nickname, %2$s is a group nickname.
+#: ForceGroupPlugin.php:78
+#, php-format
+msgid "Could not join user %1$s to group %2$s."
+msgstr "Не вдалось долучити користувача %1$s до спільноти %2$s."
+
+#. TRANS: Plugin description.
+#: ForceGroupPlugin.php:104
+msgid ""
+"Allows forced group memberships and forces all notices to appear in groups "
+"that users were forced in."
+msgstr ""
+"Дозволяє примусове долучення користувачів до спільнот разом із дописами, "
+"котрі відповідають темі той чи іншої спільноти, до якої було примусово "
+"долучено користувача."
diff --git a/plugins/GeoURLPlugin.php b/plugins/GeoURL/GeoURLPlugin.php
index 01178f39c..91da81a5a 100644
--- a/plugins/GeoURLPlugin.php
+++ b/plugins/GeoURL/GeoURLPlugin.php
@@ -46,7 +46,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class GeoURLPlugin extends Plugin
{
public $ping = 'http://geourl.org/ping/';
@@ -58,7 +57,6 @@ class GeoURLPlugin extends Plugin
*
* @return boolean event handler flag
*/
-
function onEndShowHeadElements($action)
{
$name = $action->trimmed('action');
@@ -94,7 +92,6 @@ class GeoURLPlugin extends Plugin
*
* @return boolean event handler flag
*/
-
function onHandleQueuedNotice(&$notice)
{
if ($notice->is_local == 1) {
diff --git a/plugins/GeoURL/locale/GeoURL.pot b/plugins/GeoURL/locale/GeoURL.pot
new file mode 100644
index 000000000..ca4aa7021
--- /dev/null
+++ b/plugins/GeoURL/locale/GeoURL.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
diff --git a/plugins/GeoURL/locale/eo/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/eo/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..0ba3259f6
--- /dev/null
+++ b/plugins/GeoURL/locale/eo/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GeoURL to Esperanto (Esperanto)
+# Expored from translatewiki.net
+#
+# Author: LyzTyphone
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Esperanto <http://translatewiki.net/wiki/Portal:eo>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: eo\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"Eĥosondu <a href=\"http://geourl.org/\">GeoURL</a>-n, kiam sciigon pri "
+"plibonigo de terlokigado aperas."
diff --git a/plugins/GeoURL/locale/es/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/es/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..4d2211fd0
--- /dev/null
+++ b/plugins/GeoURL/locale/es/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GeoURL to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"Hacer ping al <a href=\"http://geourl.org/\">GeoURL</a> cade vez que se "
+"publique nuevos mensajes de geolocalización mejorados."
diff --git a/plugins/GeoURL/locale/fr/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/fr/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..4dff863f1
--- /dev/null
+++ b/plugins/GeoURL/locale/fr/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GeoURL to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"Interroger <a href=\"http://geourl.org/\">GeoURL</a> lorsque de nouveaux "
+"avis géolocalisés sont postés."
diff --git a/plugins/GeoURL/locale/ia/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/ia/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..bd29feced
--- /dev/null
+++ b/plugins/GeoURL/locale/ia/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GeoURL to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"Invia un ping a <a href=\"http://geourl.org/\">GeoURL</a> quando se publica "
+"nove notas con geolocalisation."
diff --git a/plugins/GeoURL/locale/mk/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/mk/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..0055bcfae
--- /dev/null
+++ b/plugins/GeoURL/locale/mk/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GeoURL to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"Пингувај <a href=\"http://geourl.org/\">GeoURL</a> при објавување на нови "
+"геолоцирани забелешки."
diff --git a/plugins/GeoURL/locale/nl/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/nl/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..b4cc4d4e7
--- /dev/null
+++ b/plugins/GeoURL/locale/nl/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GeoURL to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"<a href=\"http://geourl.org/\">GeoURL</a> pingen als nieuwe met "
+"geolocatiegegevens verrijkte mededelingen worden geplaatst."
diff --git a/plugins/GeoURL/locale/tl/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/tl/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..da00c3449
--- /dev/null
+++ b/plugins/GeoURL/locale/tl/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GeoURL to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"Kalansingin ang <a href=\"http://geourl.org/\">GeoURL</a> kapag napaskil ang "
+"mga bagong mga pabatid na pinainam ng heolokasyon."
diff --git a/plugins/GeoURL/locale/uk/LC_MESSAGES/GeoURL.po b/plugins/GeoURL/locale/uk/LC_MESSAGES/GeoURL.po
new file mode 100644
index 000000000..f0b54398f
--- /dev/null
+++ b/plugins/GeoURL/locale/uk/LC_MESSAGES/GeoURL.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - GeoURL to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GeoURL\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:50+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-geourl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: GeoURLPlugin.php:124
+msgid ""
+"Ping <a href=\"http://geourl.org/\">GeoURL</a> when new geolocation-enhanced "
+"notices are posted."
+msgstr ""
+"Пінґувати <a href=\"http://geourl.org/\">GeoURL</a>, якщо нові повідомлення "
+"позначаються іншим географічним розташуванням."
diff --git a/plugins/GeonamesPlugin.php b/plugins/Geonames/GeonamesPlugin.php
index b64ebdba9..d88014bb8 100644
--- a/plugins/GeonamesPlugin.php
+++ b/plugins/Geonames/GeonamesPlugin.php
@@ -46,7 +46,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class GeonamesPlugin extends Plugin
{
const LOCATION_NS = 1;
@@ -71,7 +70,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue (results in $location)
*/
-
function onLocationFromName($name, $language, &$location)
{
$loc = $this->getCache(array('name' => $name,
@@ -129,7 +127,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue (results in $location)
*/
-
function onLocationFromId($id, $ns, $language, &$location)
{
if ($ns != self::LOCATION_NS) {
@@ -198,7 +195,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue (results in $location)
*/
-
function onLocationFromLatLon($lat, $lon, $language, &$location)
{
// Make sure they're canonical
@@ -276,7 +272,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue
*/
-
function onLocationNameLanguage($location, $language, &$name)
{
if ($location->location_ns != self::LOCATION_NS) {
@@ -344,7 +339,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue
*/
-
function onLocationUrl($location, &$url)
{
if ($location->location_ns != self::LOCATION_NS) {
@@ -368,7 +362,6 @@ class GeonamesPlugin extends Plugin
*
* @return boolean whether to continue
*/
-
function onLocationRdfUrl($location, &$url)
{
if ($location->location_ns != self::LOCATION_NS) {
diff --git a/plugins/Geonames/locale/Geonames.pot b/plugins/Geonames/locale/Geonames.pot
new file mode 100644
index 000000000..10efb57ef
--- /dev/null
+++ b/plugins/Geonames/locale/Geonames.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
diff --git a/plugins/Geonames/locale/br/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/br/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..cf5fba135
--- /dev/null
+++ b/plugins/Geonames/locale/br/LC_MESSAGES/Geonames.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Geonames to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Fulup
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Implijout a ra ar servij <a href=\"http://geonames.org/\">Geonames</a> evit "
+"tapout anvadurioù douaroniel lennus gant mab-den evit lec'hiadoù diazezet "
+"war un daouad ledred/hedred pourchaset gant an implijer."
diff --git a/plugins/Geonames/locale/eo/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/eo/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..55ac440db
--- /dev/null
+++ b/plugins/Geonames/locale/eo/LC_MESSAGES/Geonames.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Geonames to Esperanto (Esperanto)
+# Expored from translatewiki.net
+#
+# Author: LyzTyphone
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Esperanto <http://translatewiki.net/wiki/Portal:eo>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: eo\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Uziĝas <a href=\"http://geonames.org/\">Geonames</a> servo por akiri "
+"kompreneblan nomon de lokoj baze de latituda-longituda paro donita de uzanto."
diff --git a/plugins/Geonames/locale/es/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/es/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..ad3841c94
--- /dev/null
+++ b/plugins/Geonames/locale/es/LC_MESSAGES/Geonames.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Geonames to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Usa el servicio <a href=\"http://geonames.org/\">Geonames</a>para obtener "
+"nombresde ubicaciones legibles por humanos, basadas en pares longitud/"
+"latitud provistos por el usuario."
diff --git a/plugins/Geonames/locale/fr/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/fr/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..8deaeed65
--- /dev/null
+++ b/plugins/Geonames/locale/fr/LC_MESSAGES/Geonames.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - Geonames to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Utilise le service <a href=\"http://geonames.org/\">Geonames</a> pour "
+"obtenir des dénominations géographiques lisibles par l’homme pour les "
+"emplacements basés sur des paires latitude/longitude fournies par "
+"l’utilisateur."
diff --git a/plugins/Geonames/locale/ia/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/ia/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..a367b5822
--- /dev/null
+++ b/plugins/Geonames/locale/ia/LC_MESSAGES/Geonames.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Geonames to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Usa le servicio <a href=\"http://geonames.org/\">Geonames</a> pro obtener "
+"nomines geographic ben legibile a base de coordinatas latitude/longitude "
+"fornite per usatores."
diff --git a/plugins/Geonames/locale/mk/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/mk/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..b57e675b4
--- /dev/null
+++ b/plugins/Geonames/locale/mk/LC_MESSAGES/Geonames.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Geonames to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Ја користи службата <a href=\"http://geonames.org/\">Geonames</a> за "
+"добивање на имиња на места за приказ врз основа на парови од географска "
+"ширина и должина внесени од корисниците."
diff --git a/plugins/Geonames/locale/nb/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/nb/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..7cf63717d
--- /dev/null
+++ b/plugins/Geonames/locale/nb/LC_MESSAGES/Geonames.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Geonames to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Bruker tjenesten <a href=\"http://geonames.org/\">Geonames</a> for å få "
+"lesbare navn for steder basert på brukergitte lengde- og breddegrader."
diff --git a/plugins/Geonames/locale/nl/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/nl/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..b8358b781
--- /dev/null
+++ b/plugins/Geonames/locale/nl/LC_MESSAGES/Geonames.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Geonames to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"De dienst <a href=\"http://geonames.org/\">Geonames</a> gebruiken om "
+"leesbare namen voor locaties te krijgen op basis van door gebruikers "
+"opgegeven paren van lengte en breedte."
diff --git a/plugins/Geonames/locale/ru/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/ru/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..1387047e6
--- /dev/null
+++ b/plugins/Geonames/locale/ru/LC_MESSAGES/Geonames.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - Geonames to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Сrower
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Использование сервиса <a href=\"http://geonames.org/\">GeoNames</a> для "
+"получения понятных для человека названий по указанным пользователем "
+"географическим координатам."
diff --git a/plugins/Geonames/locale/tl/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/tl/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..269a77434
--- /dev/null
+++ b/plugins/Geonames/locale/tl/LC_MESSAGES/Geonames.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Geonames to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Gumagamit ng serbisyong <a href=\"http://geonames.org/\">Geonames</a> upang "
+"kumuha ng mga pangalan mababasa ng tao para sa mga lokasyon batay sa mga "
+"pares ng lat/long na bigay ng tagagamit."
diff --git a/plugins/Geonames/locale/uk/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/uk/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..1ee4b40eb
--- /dev/null
+++ b/plugins/Geonames/locale/uk/LC_MESSAGES/Geonames.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - Geonames to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"Використання сервісу <a href=\"http://geonames.org/\">Geonames</a> дозволяє "
+"отримувати зрозумілі географічні назви замість координат, що були вказані "
+"користувачами."
diff --git a/plugins/Geonames/locale/zh_CN/LC_MESSAGES/Geonames.po b/plugins/Geonames/locale/zh_CN/LC_MESSAGES/Geonames.po
new file mode 100644
index 000000000..09a978470
--- /dev/null
+++ b/plugins/Geonames/locale/zh_CN/LC_MESSAGES/Geonames.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - Geonames to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Geonames\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:46+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-geonames\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: GeonamesPlugin.php:491
+msgid ""
+"Uses <a href=\"http://geonames.org/\">Geonames</a> service to get human-"
+"readable names for locations based on user-provided lat/long pairs."
+msgstr ""
+"使用 <a href=\"http://geonames.org/\">Geonames</a> 服务获取基于用户提供的经纬"
+"度坐标的可读的名称。"
diff --git a/plugins/GoogleAnalyticsPlugin.php b/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php
index c646bf113..bb937ec5b 100644
--- a/plugins/GoogleAnalyticsPlugin.php
+++ b/plugins/GoogleAnalytics/GoogleAnalyticsPlugin.php
@@ -47,7 +47,6 @@ if (!defined('STATUSNET')) {
*
* @see Event
*/
-
class GoogleAnalyticsPlugin extends Plugin
{
var $code = null;
@@ -79,7 +78,7 @@ class GoogleAnalyticsPlugin extends Plugin
'homepage' => 'http://status.net/wiki/Plugin:GoogleAnalytics',
'rawdescription' =>
_m('Use <a href="http://www.google.com/analytics/">Google Analytics</a>'.
- ' to track Web access.'));
+ ' to track web access.'));
return true;
}
}
diff --git a/plugins/GoogleAnalytics/locale/GoogleAnalytics.pot b/plugins/GoogleAnalytics/locale/GoogleAnalytics.pot
new file mode 100644
index 000000000..1b037740e
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/GoogleAnalytics.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
diff --git a/plugins/GoogleAnalytics/locale/es/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/es/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..36ccea9c7
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/es/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GoogleAnalytics to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Utiliza <a href=\"http://www.google.com/analytics/\">Google Analytics</a> "
+"para hacer seguimiento de accesos al sitio web."
diff --git a/plugins/GoogleAnalytics/locale/fr/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/fr/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..e644dc6a2
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/fr/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GoogleAnalytics to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Utiliser <a href=\"http://www.google.com/analytics/\">Google Analytics</a> "
+"pour tracer les accès Web."
diff --git a/plugins/GoogleAnalytics/locale/ia/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/ia/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..3cadef7b0
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/ia/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GoogleAnalytics to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Usar <a href=\"http://www.google.com/analytics/\">Google Analytics</a> pro "
+"traciar le accessos web."
diff --git a/plugins/GoogleAnalytics/locale/mk/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/mk/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..20d4cf633
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/mk/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GoogleAnalytics to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Користи <a href=\"http://www.google.com/analytics/\">Google Analytics</a> за "
+"следење на мрежен пристап."
diff --git a/plugins/GoogleAnalytics/locale/nb/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/nb/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..3362bac5b
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/nb/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GoogleAnalytics to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Bruk <a href=\"http://www.google.com/analytics/\">Google Analytics</a> til å "
+"spore nettilgang."
diff --git a/plugins/GoogleAnalytics/locale/nl/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/nl/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..bb141be17
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/nl/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GoogleAnalytics to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"<a href=\"http://www.google.com/analytics/\">Google Analytics</a> gebruiken "
+"om webtoegang te volgen."
diff --git a/plugins/GoogleAnalytics/locale/ru/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/ru/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..45422ecce
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/ru/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - GoogleAnalytics to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Сrower
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Использование <a href=\"http://www.google.com/analytics/\">Google Analytics</"
+"a> для отслеживания за посещением веб-страницы."
diff --git a/plugins/GoogleAnalytics/locale/tl/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/tl/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..6fd585c8e
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/tl/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - GoogleAnalytics to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Gamitin ang <a href=\"http://www.google.com/analytics/\">Analitiks ng "
+"Google</a> upang tugaygayin ang pagpunta sa web."
diff --git a/plugins/GoogleAnalytics/locale/uk/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/uk/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..49a20f2fe
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/uk/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - GoogleAnalytics to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"Використання <a href=\"http://www.google.com/analytics/\">Google Analytics</"
+"a> для стеження за відвідуваністю веб-сторінки."
diff --git a/plugins/GoogleAnalytics/locale/zh_CN/LC_MESSAGES/GoogleAnalytics.po b/plugins/GoogleAnalytics/locale/zh_CN/LC_MESSAGES/GoogleAnalytics.po
new file mode 100644
index 000000000..b7d5c2bba
--- /dev/null
+++ b/plugins/GoogleAnalytics/locale/zh_CN/LC_MESSAGES/GoogleAnalytics.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - GoogleAnalytics to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GoogleAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:47+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-googleanalytics\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: GoogleAnalyticsPlugin.php:80
+msgid ""
+"Use <a href=\"http://www.google.com/analytics/\">Google Analytics</a> to "
+"track web access."
+msgstr ""
+"使用 <a href=\"http://www.google.com/analytics/\">Google Analytics</a> 跟踪记"
+"录网站访问。"
diff --git a/plugins/Gravatar/GravatarPlugin.php b/plugins/Gravatar/GravatarPlugin.php
index 8a9721ea9..dd8ff7217 100644
--- a/plugins/Gravatar/GravatarPlugin.php
+++ b/plugins/Gravatar/GravatarPlugin.php
@@ -34,17 +34,17 @@ class GravatarPlugin extends Plugin
{
return true;
}
-
+
function onStartAvatarFormData($action)
{
$user = common_current_user();
$hasGravatar = $this->hasGravatar($user->id);
-
+
if($hasGravatar) {
return false;
}
}
-
+
function onEndAvatarFormData($action)
{
$user = common_current_user();
@@ -91,7 +91,7 @@ class GravatarPlugin extends Plugin
_m('To use a Gravatar first enter in an email address.'));
}
}
-
+
function onStartAvatarSaveForm($action)
{
if ($action->arg('add')) {
@@ -131,19 +131,18 @@ class GravatarPlugin extends Plugin
}
return false;
}
-
function gravatar_save()
{
$cur = common_current_user();
-
+
if(empty($cur->email)) {
- return array('message' => _m('You do not have a email set in your profile.'),
+ return array('message' => _m('You do not have an email address set in your profile.'),
'success' => false);
}
//Get rid of previous Avatar
$this->gravatar_remove();
-
+
foreach (array(AVATAR_PROFILE_SIZE, AVATAR_STREAM_SIZE, AVATAR_MINI_SIZE) as $size) {
$gravatar = new Avatar();
$gravatar->profile_id = $cur->id;
@@ -156,7 +155,7 @@ class GravatarPlugin extends Plugin
$gravatar->created = DB_DataObject_Cast::dateTime(); # current time
if (!$gravatar->insert()) {
- return array('message' => _m('Failed to save Gravatar to the DB.'),
+ return array('message' => _m('Failed to save Gravatar to the database.'),
'success' => false);
}
}
@@ -181,7 +180,7 @@ class GravatarPlugin extends Plugin
return array('message' => _m('Gravatar removed.'),
'success' => true);
}
-
+
function gravatar_url($email, $size)
{
$url = "http://www.gravatar.com/avatar.php?gravatar_id=".
@@ -202,4 +201,4 @@ class GravatarPlugin extends Plugin
return true;
}
-} \ No newline at end of file
+}
diff --git a/plugins/Gravatar/README b/plugins/Gravatar/README
index 9337e24a0..263904808 100644
--- a/plugins/Gravatar/README
+++ b/plugins/Gravatar/README
@@ -10,4 +10,4 @@ addPlugin('Gravatar', array());
ToDo:
Site default all on for gravatar by default
Migration Script
-Localize \ No newline at end of file
+Localize
diff --git a/plugins/Gravatar/locale/Gravatar.pot b/plugins/Gravatar/locale/Gravatar.pot
index d3a4cd86b..d4bc0f816 100644
--- a/plugins/Gravatar/locale/Gravatar.pot
+++ b/plugins/Gravatar/locale/Gravatar.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,51 +16,51 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: GravatarPlugin.php:57
+#: GravatarPlugin.php:60
msgid "Set Gravatar"
msgstr ""
-#: GravatarPlugin.php:60
+#: GravatarPlugin.php:63
msgid "If you want to use your Gravatar image, click \"Add\"."
msgstr ""
-#: GravatarPlugin.php:65
+#: GravatarPlugin.php:68
msgid "Add"
msgstr ""
-#: GravatarPlugin.php:75
+#: GravatarPlugin.php:78
msgid "Remove Gravatar"
msgstr ""
-#: GravatarPlugin.php:78
+#: GravatarPlugin.php:81
msgid "If you want to remove your Gravatar image, click \"Remove\"."
msgstr ""
-#: GravatarPlugin.php:83
+#: GravatarPlugin.php:86
msgid "Remove"
msgstr ""
-#: GravatarPlugin.php:88
+#: GravatarPlugin.php:91
msgid "To use a Gravatar first enter in an email address."
msgstr ""
-#: GravatarPlugin.php:137
-msgid "You do not have a email set in your profile."
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
msgstr ""
-#: GravatarPlugin.php:155
-msgid "Failed to save Gravatar to the DB."
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
msgstr ""
-#: GravatarPlugin.php:159
+#: GravatarPlugin.php:162
msgid "Gravatar added."
msgstr ""
-#: GravatarPlugin.php:177
+#: GravatarPlugin.php:180
msgid "Gravatar removed."
msgstr ""
-#: GravatarPlugin.php:196
+#: GravatarPlugin.php:200
msgid ""
"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
"com/\">Gravatar</a> with StatusNet."
diff --git a/plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..ae7e29286
--- /dev/null
+++ b/plugins/Gravatar/locale/de/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,78 @@
+# Translation of StatusNet - Gravatar to German (Deutsch)
+# Expored from translatewiki.net
+#
+# Author: Apmon
+# Author: The Evil IP address
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: de\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr ""
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr ""
+"Falls Sie Ihr Gravatar Bild verwenden wollen, klicken sie \"Hinzufügen\""
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Gravatar löschen"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr ""
+"Falls Sie Ihr Gravatar Bild entfernen wollen, klicken sie \"Entfernen\""
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Entfernen"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr ""
+"Um einen Gravatar zuverwenden geben Sie zunächst in eine E-Mail-Adresse ein."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr ""
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr ""
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Gravatar hinzugefügt."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Gravatar entfernt."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"Das Gravatar-Plugin erlaubt es Benutzern, ihr <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> mit StatusNet zu verwenden."
diff --git a/plugins/Gravatar/locale/es/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/es/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..918475de5
--- /dev/null
+++ b/plugins/Gravatar/locale/es/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,78 @@
+# Translation of StatusNet - Gravatar to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "Definir un Gravatar"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr "Si deseas utilizar tu imagen Gravatar, haz clic en \"Agregar\""
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Añadir"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Eliminar el Gravatar"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr "Si desesa eliminar tu imagen de Gravatar, haz clic en \"Eliminar\"."
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Borrar"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr ""
+"Para utilizar un Gravatar, primero introduce una dirección de correo "
+"electrónico."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr ""
+"No tienes una dirección de correo electrónico establecida en tu perfil."
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "Error al guardar Gravatar en la base de datos."
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Gravatar agregado."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Gravatar eliminado."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"La extensión Gravatar permite a los usuarios utilizar su <a href=\"http://"
+"www.gravatar.com/\">Gravatar</a> con StatusNet."
diff --git a/plugins/Gravatar/locale/fr/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/fr/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..4db0d0157
--- /dev/null
+++ b/plugins/Gravatar/locale/fr/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,77 @@
+# Translation of StatusNet - Gravatar to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "Définir un Gravatar"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr ""
+"Si vous souhaitez utiliser votre image Gravatar, cliquez sur « Ajouter »."
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Ajouter"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Supprimer le Gravatar"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr ""
+"Si vous souhaitez supprimer votre image Gravatar, cliquez sur « Supprimer »."
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Supprimer"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr ""
+"Pour utiliser un Gravatar, veuillez d’abord saisir une adresse courriel."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr "Vous n'avez pas d’adresse courriel définie dans votre profil."
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "Impossible de sauvegarder le Gravatar dans la base de données."
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Gravatar ajouté."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Gravatar supprimé."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"Le greffon Gravatar permet aux utilisateurs d’utiliser leur image <a href="
+"\"http://www.gravatar.com/\">Gravatar</a> avec StatusNet."
diff --git a/plugins/Gravatar/locale/ia/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/ia/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..af871eba5
--- /dev/null
+++ b/plugins/Gravatar/locale/ia/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,74 @@
+# Translation of StatusNet - Gravatar to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "Stabilir Gravatar"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr "Si tu vole usar tu imagine Gravatar, clicca \"Adder\"."
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Adder"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Remover Gravatar"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr "Si tu vole remover tu imagine Gravatar, clicca \"Remover\"."
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Remover"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr "Pro usar un Gravatar, entra primo un adresse de e-mail."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr "Tu non ha un adresse de e-mail definite in tu profilo."
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "Falleva de salveguardar le Gravatar in le base de datos."
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Gravatar addite."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Gravatar removite."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"Le plug-in Gravatar permitte al usatores de usar lor <a href=\"http://www."
+"gravatar.com/\">Gravatar</a> con StatusNet."
diff --git a/plugins/Gravatar/locale/mk/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/mk/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..6b8fb1bbc
--- /dev/null
+++ b/plugins/Gravatar/locale/mk/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,76 @@
+# Translation of StatusNet - Gravatar to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "Постави Gravatar"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr ""
+"Ако сакате да ја користите Вашата слика од Gravatar, кликнете на „Додај“."
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Додај"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Отстрани Gravatar"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr ""
+"Ако сакате да ја отстраните Вашата слика од Gravatar, кликнете на „Отстрани“."
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Отстрани"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr "За да користите Gravatar најпрвин внесете е-пошта."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr "Во профилот немате назначено е-пошта."
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "Не успеав да го зачувам Gravatar-от во базата на податоци."
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Gravatar-от е додаден."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Gravatar-от е отстранет."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"Приклучокот Gravatar им овозможува на корисниците да го користат својот <a "
+"href=\"http://www.gravatar.com/\">Gravatar</a> со StatusNet."
diff --git a/plugins/Gravatar/locale/nl/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/nl/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..8115b736f
--- /dev/null
+++ b/plugins/Gravatar/locale/nl/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,75 @@
+# Translation of StatusNet - Gravatar to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "Gravatar instellen"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr "Klik \"Toevoegen\" om uw afbeelding van Gravatar te gebruiken."
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Toevoegen"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Gravatar verwijderen"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr ""
+"Klik \"Verwijderen\" om uw afbeelding van Gravatar niet langer te gebruiken."
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Verwijderen"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr "Voer eerst een e-mailadres in om Gravatar te kunnen gebruiken."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr "U hebt geen e-mailadres ingesteld in uw profiel."
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "Het was niet mogelijk de Gravatar in the database op te slaan."
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "De Gravatar is toegevoegd."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "De Gravatar is verwijderd."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"De plug-in Gravatar maak het mogelijk dat gebruikers hun <a href=\"http://"
+"www.gravatar.com/\">Gravatar</a> gebruiken in StatusNet."
diff --git a/plugins/Gravatar/locale/tl/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/tl/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..d76b123cf
--- /dev/null
+++ b/plugins/Gravatar/locale/tl/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,78 @@
+# Translation of StatusNet - Gravatar to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "Itakda ang Gravatar"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr ""
+"Kung nais mong gamitin ang iyong larawan ng Gravatar, pindutin ang \"Idagdag"
+"\"."
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Idagdag"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Alisin ang Gravatar"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr ""
+"Kung nais mong alisin ang larawan mo ng Gravatar, pindutin ang \"Alisin\"."
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Alisin"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr ""
+"Upang gamitin ang isang Gravatar ipasok muna ang isang tirahan ng e-liham."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr "Wala kang tirahan ng e-liham na nakatakda sa iyong balangkas."
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "Nabigong sagipin ang Gravatar sa iyong kalipunan ng dato."
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Idinagdag ang Gravatar."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Inalis ang Gravatar."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"Ang pamasak na Gravatar ay nagpapahintulot sa mga tagagamit na gamitin ang "
+"kanilang <a href=\"http://www.gravatar.com/\">Gravatar</a> na may StatusNet."
diff --git a/plugins/Gravatar/locale/uk/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/uk/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..f8ac9f88d
--- /dev/null
+++ b/plugins/Gravatar/locale/uk/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,76 @@
+# Translation of StatusNet - Gravatar to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "Встановити Gravatar"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr "Якщо ви бажаєте використовувати аватари Gravatar, тисніть «Додати»."
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "Додати"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "Видалити Gravatar"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr ""
+"Якщо ви бажаєте видалити свою аватару надану Gravatar, тисніть «Видалити»."
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "Видалити"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr "Щоб використовувати Gravatar, спершу введіть адресу електронної пошти."
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr "У вашому профілі не вказано жодної електронної адреси."
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "Не вдалося зберегти Gravatar до бази даних."
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Gravatar додано."
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Gravatar вилучено."
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"Додаток Gravatar дозволяє користувачам встановлювати аватарки з <a href="
+"\"http://www.gravatar.com/\">Gravatar</a> для сайту StatusNet."
diff --git a/plugins/Gravatar/locale/zh_CN/LC_MESSAGES/Gravatar.po b/plugins/Gravatar/locale/zh_CN/LC_MESSAGES/Gravatar.po
new file mode 100644
index 000000000..906b171b9
--- /dev/null
+++ b/plugins/Gravatar/locale/zh_CN/LC_MESSAGES/Gravatar.po
@@ -0,0 +1,75 @@
+# Translation of StatusNet - Gravatar to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Gravatar\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:48+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-gravatar\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: GravatarPlugin.php:60
+msgid "Set Gravatar"
+msgstr "设置 Gravatar"
+
+#: GravatarPlugin.php:63
+msgid "If you want to use your Gravatar image, click \"Add\"."
+msgstr "如果你想使用你的 Gravatar 图像,点击“添加”"
+
+#: GravatarPlugin.php:68
+msgid "Add"
+msgstr "添加"
+
+#: GravatarPlugin.php:78
+msgid "Remove Gravatar"
+msgstr "删除 Gravatar"
+
+#: GravatarPlugin.php:81
+msgid "If you want to remove your Gravatar image, click \"Remove\"."
+msgstr "如果你想删除你的 Gravatar 图像,点击“删除”。"
+
+#: GravatarPlugin.php:86
+msgid "Remove"
+msgstr "删除"
+
+#: GravatarPlugin.php:91
+msgid "To use a Gravatar first enter in an email address."
+msgstr "要使用 Gravatar 先要填写一个 email 地址。"
+
+#: GravatarPlugin.php:140
+msgid "You do not have an email address set in your profile."
+msgstr "你的账号没有设置 email 地址。"
+
+#: GravatarPlugin.php:158
+msgid "Failed to save Gravatar to the database."
+msgstr "将 Gravatar 保存到数据库失败。"
+
+#: GravatarPlugin.php:162
+msgid "Gravatar added."
+msgstr "Gravatar 已添加。"
+
+#: GravatarPlugin.php:180
+msgid "Gravatar removed."
+msgstr "Gravatar 已删除。"
+
+#: GravatarPlugin.php:200
+msgid ""
+"The Gravatar plugin allows users to use their <a href=\"http://www.gravatar."
+"com/\">Gravatar</a> with StatusNet."
+msgstr ""
+"Gravatar 插件可以让用户在 StatusNet 站点使用自己的 <a href=\"http://www."
+"gravatar.com/\">Gravatar</a>。"
diff --git a/plugins/GroupFavorited/GroupFavoritedPlugin.php b/plugins/GroupFavorited/GroupFavoritedPlugin.php
new file mode 100644
index 000000000..27ce289c2
--- /dev/null
+++ b/plugins/GroupFavorited/GroupFavoritedPlugin.php
@@ -0,0 +1,103 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package GroupFavoritedPlugin
+ * @maintainer Brion Vibber <brion@status.net>
+ */
+
+if (!defined('STATUSNET')) { exit(1); }
+
+class GroupFavoritedPlugin extends Plugin
+{
+ /**
+ * Hook for RouterInitialized event.
+ *
+ * @param Net_URL_Mapper $m path-to-action mapper
+ * @return boolean hook return
+ */
+ function onRouterInitialized($m)
+ {
+ $m->connect('group/:nickname/favorited',
+ array('action' => 'groupfavorited'),
+ array('nickname' => '[a-zA-Z0-9]+'));
+
+ return true;
+ }
+
+ /**
+ * Automatically load the actions and libraries used by the plugin
+ *
+ * @param Class $cls the class
+ *
+ * @return boolean hook return
+ *
+ */
+ function onAutoload($cls)
+ {
+ $base = dirname(__FILE__);
+ $lower = strtolower($cls);
+ switch ($lower) {
+ case 'groupfavoritedaction':
+ require_once "$base/$lower.php";
+ return false;
+ default:
+ return true;
+ }
+ }
+
+ function onEndGroupGroupNav(GroupNav $nav)
+ {
+ $action_name = $nav->action->trimmed('action');
+ $nickname = $nav->group->nickname;
+ $nav->out->menuItem(common_local_url('groupfavorited', array('nickname' =>
+ $nickname)),
+ // TRANS: Menu item in the group navigation page.
+ _m('MENU', 'Popular'),
+ // TRANS: Tooltip for menu item in the group navigation page.
+ // TRANS: %s is the nickname of the group.
+ sprintf(_m('TOOLTIP','Popular notices in %s group'), $nickname),
+ $action_name == 'groupfavorited',
+ 'nav_group_group');
+ }
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:GroupFavorited';
+
+ $versions[] = array('name' => 'GroupFavorited',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Brion Vibber',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('This plugin adds a menu item for popular notices in groups.'));
+
+ return true;
+ }
+}
diff --git a/plugins/GroupFavorited/groupfavoritedaction.php b/plugins/GroupFavorited/groupfavoritedaction.php
new file mode 100644
index 000000000..dbd37abbc
--- /dev/null
+++ b/plugins/GroupFavorited/groupfavoritedaction.php
@@ -0,0 +1,110 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * List of popular notices
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Public
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2008-2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+class GroupFavoritedAction extends ShowgroupAction
+{
+ /**
+ * Title of the page
+ *
+ * @return string page title, with page number
+ */
+ function title()
+ {
+ if (!empty($this->group->fullname)) {
+ // @todo Create a core method to create this properly. i18n issue.
+ $base = $this->group->fullname . ' (' . $this->group->nickname . ')';
+ } else {
+ $base = $this->group->nickname;
+ }
+
+ if ($this->page == 1) {
+ // TRANS: %s is a group name.
+ return sprintf(_m('Popular posts in %s group'), $base);
+ } else {
+ // TRANS: %1$s is a group name, %2$s is a group number.
+ return sprintf(_m('Popular posts in %1$s group, page %2$d'),
+ $base,
+ $this->page);
+ }
+ }
+
+ /**
+ * Content area
+ *
+ * Shows the list of popular notices
+ *
+ * @return void
+ */
+ function showContent()
+ {
+ $groupId = intval($this->group->id);
+ $weightexpr = common_sql_weight('fave.modified', common_config('popular', 'dropoff'));
+ $cutoff = sprintf("fave.modified > '%s'",
+ common_sql_date(time() - common_config('popular', 'cutoff')));
+
+ $qry = 'SELECT notice.*, '.
+ $weightexpr . ' as weight ' .
+ 'FROM notice ' .
+ "JOIN group_inbox ON notice.id = group_inbox.notice_id " .
+ 'JOIN fave ON notice.id = fave.notice_id ' .
+ "WHERE $cutoff AND group_id = $groupId " .
+ 'GROUP BY id,profile_id,uri,content,rendered,url,created,notice.modified,reply_to,is_local,source,notice.conversation ' .
+ 'ORDER BY weight DESC';
+
+ $offset = ($this->page - 1) * NOTICES_PER_PAGE;
+ $limit = NOTICES_PER_PAGE + 1;
+
+ if (common_config('db', 'type') == 'pgsql') {
+ $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
+ } else {
+ $qry .= ' LIMIT ' . $offset . ', ' . $limit;
+ }
+
+ $notice = Memcached_DataObject::cachedQuery('Notice',
+ $qry,
+ 600);
+
+ $nl = new NoticeList($notice, $this);
+
+ $cnt = $nl->show();
+
+ if ($cnt == 0) {
+ //$this->showEmptyList();
+ }
+
+ $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
+ $this->page, 'groupfavorited',
+ array('nickname' => $this->group->nickname));
+ }
+}
diff --git a/plugins/GroupFavorited/locale/GroupFavorited.pot b/plugins/GroupFavorited/locale/GroupFavorited.pot
new file mode 100644
index 000000000..7a80d5e57
--- /dev/null
+++ b/plugins/GroupFavorited/locale/GroupFavorited.pot
@@ -0,0 +1,48 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANS: %s is a group name.
+#: groupfavoritedaction.php:53
+#, php-format
+msgid "Popular posts in %s group"
+msgstr ""
+
+#. TRANS: %1$s is a group name, %2$s is a group number.
+#: groupfavoritedaction.php:56
+#, php-format
+msgid "Popular posts in %1$s group, page %2$d"
+msgstr ""
+
+#. TRANS: Menu item in the group navigation page.
+#: GroupFavoritedPlugin.php:72
+msgctxt "MENU"
+msgid "Popular"
+msgstr ""
+
+#. TRANS: Tooltip for menu item in the group navigation page.
+#. TRANS: %s is the nickname of the group.
+#: GroupFavoritedPlugin.php:75
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Popular notices in %s group"
+msgstr ""
+
+#. TRANS: Plugin description.
+#: GroupFavoritedPlugin.php:99
+msgid "This plugin adds a menu item for popular notices in groups."
+msgstr ""
diff --git a/plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po
new file mode 100644
index 000000000..6b57a8837
--- /dev/null
+++ b/plugins/GroupFavorited/locale/es/LC_MESSAGES/GroupFavorited.po
@@ -0,0 +1,55 @@
+# Translation of StatusNet - GroupFavorited to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GroupFavorited\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:49+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a group name.
+#: groupfavoritedaction.php:53
+#, php-format
+msgid "Popular posts in %s group"
+msgstr "Mensajes populares en el grupo %s"
+
+#. TRANS: %1$s is a group name, %2$s is a group number.
+#: groupfavoritedaction.php:56
+#, php-format
+msgid "Popular posts in %1$s group, page %2$d"
+msgstr "Mensajes populares en el grupo %1$s, página %2$d"
+
+#. TRANS: Menu item in the group navigation page.
+#: GroupFavoritedPlugin.php:72
+msgctxt "MENU"
+msgid "Popular"
+msgstr "Popular"
+
+#. TRANS: Tooltip for menu item in the group navigation page.
+#. TRANS: %s is the nickname of the group.
+#: GroupFavoritedPlugin.php:75
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Popular notices in %s group"
+msgstr "Mensajes populares en el grupo %s"
+
+#. TRANS: Plugin description.
+#: GroupFavoritedPlugin.php:99
+msgid "This plugin adds a menu item for popular notices in groups."
+msgstr ""
+"Esta extensión añade un elemento de menú para los mensajes populares en "
+"grupos."
diff --git a/plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po
new file mode 100644
index 000000000..3d1b3e15f
--- /dev/null
+++ b/plugins/GroupFavorited/locale/ia/LC_MESSAGES/GroupFavorited.po
@@ -0,0 +1,53 @@
+# Translation of StatusNet - GroupFavorited to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GroupFavorited\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:49+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a group name.
+#: groupfavoritedaction.php:53
+#, php-format
+msgid "Popular posts in %s group"
+msgstr "Messages popular in gruppo %s"
+
+#. TRANS: %1$s is a group name, %2$s is a group number.
+#: groupfavoritedaction.php:56
+#, php-format
+msgid "Popular posts in %1$s group, page %2$d"
+msgstr "Messages popular in gruppo %1$s, pagina %2$d"
+
+#. TRANS: Menu item in the group navigation page.
+#: GroupFavoritedPlugin.php:72
+msgctxt "MENU"
+msgid "Popular"
+msgstr "Popular"
+
+#. TRANS: Tooltip for menu item in the group navigation page.
+#. TRANS: %s is the nickname of the group.
+#: GroupFavoritedPlugin.php:75
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Popular notices in %s group"
+msgstr "Notas popular in gruppo %s"
+
+#. TRANS: Plugin description.
+#: GroupFavoritedPlugin.php:99
+msgid "This plugin adds a menu item for popular notices in groups."
+msgstr "Iste plug-in adde un option de menu pro notas popular in gruppos."
diff --git a/plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po
new file mode 100644
index 000000000..48dc76c7a
--- /dev/null
+++ b/plugins/GroupFavorited/locale/mk/LC_MESSAGES/GroupFavorited.po
@@ -0,0 +1,54 @@
+# Translation of StatusNet - GroupFavorited to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GroupFavorited\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:49+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: %s is a group name.
+#: groupfavoritedaction.php:53
+#, php-format
+msgid "Popular posts in %s group"
+msgstr "Популарни објави во групата %s"
+
+#. TRANS: %1$s is a group name, %2$s is a group number.
+#: groupfavoritedaction.php:56
+#, php-format
+msgid "Popular posts in %1$s group, page %2$d"
+msgstr "Популарни објави во групата %1$s, страница %2$d"
+
+#. TRANS: Menu item in the group navigation page.
+#: GroupFavoritedPlugin.php:72
+msgctxt "MENU"
+msgid "Popular"
+msgstr "Популарни"
+
+#. TRANS: Tooltip for menu item in the group navigation page.
+#. TRANS: %s is the nickname of the group.
+#: GroupFavoritedPlugin.php:75
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Popular notices in %s group"
+msgstr "Популарни забелешки во групата %s"
+
+#. TRANS: Plugin description.
+#: GroupFavoritedPlugin.php:99
+msgid "This plugin adds a menu item for popular notices in groups."
+msgstr ""
+"Овој приклучок додава елемент во менито за популарни забелешки во групи."
diff --git a/plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po
new file mode 100644
index 000000000..85074b7ae
--- /dev/null
+++ b/plugins/GroupFavorited/locale/nl/LC_MESSAGES/GroupFavorited.po
@@ -0,0 +1,55 @@
+# Translation of StatusNet - GroupFavorited to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: SPQRobin
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GroupFavorited\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:49+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a group name.
+#: groupfavoritedaction.php:53
+#, php-format
+msgid "Popular posts in %s group"
+msgstr "Populaire berichten in de groep %s"
+
+#. TRANS: %1$s is a group name, %2$s is a group number.
+#: groupfavoritedaction.php:56
+#, php-format
+msgid "Popular posts in %1$s group, page %2$d"
+msgstr "Populaire berichten in de groep %1$s, pagina %2$d"
+
+#. TRANS: Menu item in the group navigation page.
+#: GroupFavoritedPlugin.php:72
+msgctxt "MENU"
+msgid "Popular"
+msgstr "Populair"
+
+#. TRANS: Tooltip for menu item in the group navigation page.
+#. TRANS: %s is the nickname of the group.
+#: GroupFavoritedPlugin.php:75
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Popular notices in %s group"
+msgstr "Populaire mededelingen in de groep %s"
+
+#. TRANS: Plugin description.
+#: GroupFavoritedPlugin.php:99
+msgid "This plugin adds a menu item for popular notices in groups."
+msgstr ""
+"Deze plug-in voegt een menukeuze toe voor populaire mededelingen in groepen."
diff --git a/plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po
new file mode 100644
index 000000000..deaa8b09c
--- /dev/null
+++ b/plugins/GroupFavorited/locale/tl/LC_MESSAGES/GroupFavorited.po
@@ -0,0 +1,55 @@
+# Translation of StatusNet - GroupFavorited to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GroupFavorited\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:49+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a group name.
+#: groupfavoritedaction.php:53
+#, php-format
+msgid "Popular posts in %s group"
+msgstr "Tanyag na mga pagpapaskila sa loob ng pangkat na %s"
+
+#. TRANS: %1$s is a group name, %2$s is a group number.
+#: groupfavoritedaction.php:56
+#, php-format
+msgid "Popular posts in %1$s group, page %2$d"
+msgstr "Tanyag na mga pagpapaskila sa loob ng pangkat na %1$s, pahina %2$d"
+
+#. TRANS: Menu item in the group navigation page.
+#: GroupFavoritedPlugin.php:72
+msgctxt "MENU"
+msgid "Popular"
+msgstr "Tanyag"
+
+#. TRANS: Tooltip for menu item in the group navigation page.
+#. TRANS: %s is the nickname of the group.
+#: GroupFavoritedPlugin.php:75
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Popular notices in %s group"
+msgstr "Bantog na mga pabatid sa loob ng pangkat na %s"
+
+#. TRANS: Plugin description.
+#: GroupFavoritedPlugin.php:99
+msgid "This plugin adds a menu item for popular notices in groups."
+msgstr ""
+"Ang pampasak na ito ay nagdaragdag ng isang bagay ng menu para sa mga bantog "
+"na pabatid sa loob ng mga pangkat."
diff --git a/plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po b/plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po
new file mode 100644
index 000000000..850263fc1
--- /dev/null
+++ b/plugins/GroupFavorited/locale/uk/LC_MESSAGES/GroupFavorited.po
@@ -0,0 +1,54 @@
+# Translation of StatusNet - GroupFavorited to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - GroupFavorited\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:49+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:49+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-groupfavorited\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: %s is a group name.
+#: groupfavoritedaction.php:53
+#, php-format
+msgid "Popular posts in %s group"
+msgstr "Популярні повідомлення спільноти %s"
+
+#. TRANS: %1$s is a group name, %2$s is a group number.
+#: groupfavoritedaction.php:56
+#, php-format
+msgid "Popular posts in %1$s group, page %2$d"
+msgstr "Популярні повідомлення спільноти %1$s, сторінка %2$d"
+
+#. TRANS: Menu item in the group navigation page.
+#: GroupFavoritedPlugin.php:72
+msgctxt "MENU"
+msgid "Popular"
+msgstr "Популярні"
+
+#. TRANS: Tooltip for menu item in the group navigation page.
+#. TRANS: %s is the nickname of the group.
+#: GroupFavoritedPlugin.php:75
+#, php-format
+msgctxt "TOOLTIP"
+msgid "Popular notices in %s group"
+msgstr "Популярні дописи спільноти %s"
+
+#. TRANS: Plugin description.
+#: GroupFavoritedPlugin.php:99
+msgid "This plugin adds a menu item for popular notices in groups."
+msgstr "Цей додаток долучає до меню пункт для популярних дописів у спільноті."
diff --git a/plugins/Imap/ImapPlugin.php b/plugins/Imap/ImapPlugin.php
index 66be799d3..8d8dbf223 100644
--- a/plugins/Imap/ImapPlugin.php
+++ b/plugins/Imap/ImapPlugin.php
@@ -51,16 +51,16 @@ class ImapPlugin extends Plugin
function initialize(){
if(!isset($this->mailbox)){
- throw new Exception("must specify a mailbox");
+ throw new Exception(_m("A mailbox must be specified."));
}
if(!isset($this->user)){
- throw new Exception("must specify a user");
+ throw new Exception(_m("A user must be specified."));
}
if(!isset($this->password)){
- throw new Exception("must specify a password");
+ throw new Exception(_m("A password must be specified."));
}
if(!isset($this->poll_frequency)){
- throw new Exception("must specify a poll_frequency");
+ throw new Exception(_m("A poll_frequency must be specified."));
}
return true;
diff --git a/plugins/Imap/imapmanager.php b/plugins/Imap/imapmanager.php
index cfc08c1ee..c49c06092 100644
--- a/plugins/Imap/imapmanager.php
+++ b/plugins/Imap/imapmanager.php
@@ -44,7 +44,7 @@ class ImapManager extends IoManager
*/
public static function get()
{
- throw new Exception('ImapManager should be created using it\'s constructor, not the static get method');
+ throw new Exception(_m('ImapManager should be created using its constructor, not the using the static get method.'));
}
/**
@@ -94,12 +94,12 @@ class ImapManager extends IoManager
{
return $this->check_mailbox() > 0;
}
-
+
function pollInterval()
{
return $this->plugin->poll_frequency;
}
-
+
protected function connect()
{
$this->conn = imap_open($this->plugin->mailbox, $this->plugin->user, $this->plugin->password);
diff --git a/plugins/Imap/locale/Imap.pot b/plugins/Imap/locale/Imap.pot
index ee8452aaa..aaef1d81f 100644
--- a/plugins/Imap/locale/Imap.pot
+++ b/plugins/Imap/locale/Imap.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -20,7 +20,29 @@ msgstr ""
msgid "Error"
msgstr ""
-#: ImapPlugin.php:101
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr ""
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr ""
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr ""
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr ""
+
+#: ImapPlugin.php:103
msgid ""
"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
"incoming mail containing user posts."
diff --git a/plugins/Imap/locale/fr/LC_MESSAGES/Imap.po b/plugins/Imap/locale/fr/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..3f48f9e97
--- /dev/null
+++ b/plugins/Imap/locale/fr/LC_MESSAGES/Imap.po
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Imap to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Erreur"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"ImapManager devrait être instancié en utilisant son constructeur et non pas "
+"en utilisant la méthode statique « get »."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "Une boîte aux lettres doit être spécifiée."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "Un nom d’utilisateur doit être spécifié."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Un mot de passe doit être spécifié."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "Une fréquence d’interrogation doit être spécifiée."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"L’extension IMAP permet à StatusNet de rechercher dans une boîte "
+"électronique POP ou IMAP les messages contenant des avis des utilisateurs."
diff --git a/plugins/Imap/locale/ia/LC_MESSAGES/Imap.po b/plugins/Imap/locale/ia/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..163722b63
--- /dev/null
+++ b/plugins/Imap/locale/ia/LC_MESSAGES/Imap.po
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Imap to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Error"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"ImapManager debe esser create per medio de su constructor, non con le "
+"methodo \"get\" static."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "Un cassa postal debe esser specificate."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "Un usator debe esser specificate."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Un contrasigno debe esser specificate."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "Un poll_frequency debe esser specificate."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"Le plug-in IMAP permitte que StatusNet verifica si cassas postal POP o IMAP "
+"ha recipite e-mail continente messages de usatores."
diff --git a/plugins/Imap/locale/mk/LC_MESSAGES/Imap.po b/plugins/Imap/locale/mk/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..ccf2313d7
--- /dev/null
+++ b/plugins/Imap/locale/mk/LC_MESSAGES/Imap.po
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Imap to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Грешка"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"ImapManager треба да се создаде користејќи го неговиот конструктор, а не "
+"преку статичниот метод на негово добивање."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "Мора да назначите сандаче."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "Мора да назначите корисник."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Мора да назначите лозинка."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "Мора да назначите poll_frequency."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"Приклучокот IMAP му овозможува на StatusNet да проверува дојдовни пораки со "
+"објави од корисници во POP или IMAP сандачиња ."
diff --git a/plugins/Imap/locale/nb/LC_MESSAGES/Imap.po b/plugins/Imap/locale/nb/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..694386f66
--- /dev/null
+++ b/plugins/Imap/locale/nb/LC_MESSAGES/Imap.po
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Imap to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Feil"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"ImapManager bør opprettes ved å bruke dets konstruktør, ikke ved å bruke "
+"dets statiske get-metode."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "En postkasse må spesifiseres."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "En bruker må spesifiseres."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Et passord må spesifiseres."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "En poll_frequency må spesifiseres."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"Utvidelsen IMAP gjør det mulig for StatusNet å sjekke en POP- eller IMAP-"
+"postkasse for innkommende e-post som innholder brukerinnlegg."
diff --git a/plugins/Imap/locale/nl/LC_MESSAGES/Imap.po b/plugins/Imap/locale/nl/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..68c0d2488
--- /dev/null
+++ b/plugins/Imap/locale/nl/LC_MESSAGES/Imap.po
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Imap to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Fout"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"ImapManager moet aangemaakt worden via de constructor en niet met de "
+"statische methode get."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "Er moet een postbus opgegeven worden."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "Er moet een gebruiker opgegeven worden."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Er moet een wachtwoord opgegeven worden."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "Er moet een poll_frequency opgegeven worden."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"De plug-in IMAP maakt het mogelijk om StatusNet een POP- of IMAP-postbus te "
+"laten controleren op inkomende e-mail die berichten van gebruikers bevat."
diff --git a/plugins/Imap/locale/ru/LC_MESSAGES/Imap.po b/plugins/Imap/locale/ru/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..42032f1a1
--- /dev/null
+++ b/plugins/Imap/locale/ru/LC_MESSAGES/Imap.po
@@ -0,0 +1,60 @@
+# Translation of StatusNet - Imap to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# Author: Сrower
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Ошибка"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"ImapManager должен быть создан с помощью конструктора, а не получен "
+"статическим методом."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "Должен быть указан почтовый ящик."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "Должен быть указан пользователь."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Должен быть указан пароль."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "Периодичность проверки должна быть задана в poll_frequency."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"Плагин IMAP позволяет StatusNet проверять почтовый ящик по протоколу POP или "
+"IMAP на предмет наличия во входящей почте сообщений от пользователей."
diff --git a/plugins/Imap/locale/tl/LC_MESSAGES/Imap.po b/plugins/Imap/locale/tl/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..459cfaf87
--- /dev/null
+++ b/plugins/Imap/locale/tl/LC_MESSAGES/Imap.po
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Imap to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Kamalian"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"Dapat na likhain ang ImapManager sa pamamagitan ng pambuo nito, hindi sa "
+"paggamit ng paraang hindi gumagalaw ang pagkuha."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "Dapat tukuyin ang isang kahon ng liham."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "Dapat tukuyin ang isang tagagamit."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Dapat tukuyin ang isang hudyat."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "Dapat tukuyin ang isang kadalasan ng botohan."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"Ang pamasak na IMAP ay nagpapahintulot na masuri ng StatusNet ang isang "
+"kahon ng liham ng POP o IMAP para sa papasok na liham na naglalaman ng mga "
+"pagpapaskil ng tagagamit."
diff --git a/plugins/Imap/locale/uk/LC_MESSAGES/Imap.po b/plugins/Imap/locale/uk/LC_MESSAGES/Imap.po
new file mode 100644
index 000000000..547650077
--- /dev/null
+++ b/plugins/Imap/locale/uk/LC_MESSAGES/Imap.po
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Imap to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Imap\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-28 19:23:16+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-imap\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: imapmailhandler.php:28
+msgid "Error"
+msgstr "Помилка"
+
+#: imapmanager.php:47
+msgid ""
+"ImapManager should be created using its constructor, not the using the "
+"static get method."
+msgstr ""
+"ImapManager має бути створений за допомогою конструктору, не статичним "
+"методом."
+
+#: ImapPlugin.php:54
+msgid "A mailbox must be specified."
+msgstr "Поштову скриньку має бути зазначено."
+
+#: ImapPlugin.php:57
+msgid "A user must be specified."
+msgstr "Користувача має бути зазначено."
+
+#: ImapPlugin.php:60
+msgid "A password must be specified."
+msgstr "Пароль має бути зазначено."
+
+#: ImapPlugin.php:63
+msgid "A poll_frequency must be specified."
+msgstr "Періодичність перевірки має бути зазначено."
+
+#: ImapPlugin.php:103
+msgid ""
+"The IMAP plugin allows for StatusNet to check a POP or IMAP mailbox for "
+"incoming mail containing user posts."
+msgstr ""
+"Додаток IMAP дозволяє перевіряти поштові скриньки за протоколами POP та IMAP "
+"на предмет наявності у вхідній пошті повідомлень від користувачів."
diff --git a/plugins/InfiniteScroll/locale/InfiniteScroll.pot b/plugins/InfiniteScroll/locale/InfiniteScroll.pot
index a0f466fcb..86aa2524f 100644
--- a/plugins/InfiniteScroll/locale/InfiniteScroll.pot
+++ b/plugins/InfiniteScroll/locale/InfiniteScroll.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/InfiniteScroll/locale/es/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/es/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..0dfb2ddfe
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/es/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - InfiniteScroll to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"Desplazamiento Infinito añade la siguiente funcionalidad a tu instalación "
+"StatusNet: Cuando un usuario se desplaza hacia el final de la página, la "
+"próxima página de mensajes se recupera y añade automáticamente. Esto "
+"significa que no será necesario hacer clic en \"Próxima página\", con lo que "
+"se aumenta dramáticamente la capacidad de retención."
diff --git a/plugins/InfiniteScroll/locale/fr/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/fr/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..be488f73a
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/fr/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,36 @@
+# Translation of StatusNet - InfiniteScroll to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"InfiniteScroll ajoute la fonctionnalité suivante à votre installation "
+"StatusNet : lorsqu’un utilisateur fait défiler la page jusqu’à la fin, la "
+"page d’avis suivante est automatiquement téléchargée et ajoutée à la suite. "
+"Ceci signifie que l’utilisateur n’a plus besoin de cliquer sur le bouton « "
+"Page suivante », ce qui augmente considérablement l’adhérence de "
+"l’utilisateur."
diff --git a/plugins/InfiniteScroll/locale/ia/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/ia/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..613eb1e5a
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/ia/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - InfiniteScroll to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"Infinite Scroll adde le sequente functionalitate a tu installation de "
+"StatusNet: Quando un usator face rolar le pagina verso le fundo, le sequente "
+"pagina de notas es automaticamente recuperate e adjungite. Isto significa "
+"que ille nunquam ha besonio de cliccar super \"Pagina sequente\", lo que "
+"augmenta dramaticamente le adherentia."
diff --git a/plugins/InfiniteScroll/locale/ja/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/ja/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..450a69c83
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/ja/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - InfiniteScroll to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"無限スクロールは、StatusNetのインストールに次の機能を追加します:ユーザーが"
+"ページの最後までスクロースしたとき、次のページの通知が自動的に取得され追加さ"
+"れます。これはつまり、「次のページ」をクリックする必要がなく、手間を劇的に改"
+"善します。"
diff --git a/plugins/InfiniteScroll/locale/mk/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/mk/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..bf70e304a
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/mk/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - InfiniteScroll to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"„Бесконечно лизгање“ ја додава следнава функција во Вашата инсталација на "
+"StatusNet: Кога еден корисник лизга кон дното на страницата, следната "
+"страница автоматски се појавува во продолжение. Со ова се отстранува "
+"потребата од стискање на „Следна страница“, што значително ја зголемува "
+"лепливоста."
diff --git a/plugins/InfiniteScroll/locale/nl/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/nl/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..55c40e9f6
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/nl/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - InfiniteScroll to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"Oneindig scrollen (Infinite Scroll) maakt het mogelijk om in een StatusNet-"
+"site naar onderaan de pagina te scrollen en dan automatisch de volgende "
+"pagina te zien laden. Een gebruiker hoeft dus nooit meer op \"Volgende pagina"
+"\" te klikken zodat ze langers op de site blijven."
diff --git a/plugins/InfiniteScroll/locale/ru/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/ru/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..8619644b0
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/ru/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,36 @@
+# Translation of StatusNet - InfiniteScroll to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Сrower
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"Бесконечная прокрутка добавляет следующую функциональность вашему сайту "
+"StatusNet: Когда пользователь прокручивает страницу уведомлений до самого "
+"низа, следующая страница уведомлений автоматически запрашивается и "
+"добавлятся. Это значит, что вам никогда не прийдётся нажимать кнопку "
+"\"Следующая страница\", что резко увеличивает клейкость."
diff --git a/plugins/InfiniteScroll/locale/tl/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/tl/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..e82745a2c
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/tl/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,36 @@
+# Translation of StatusNet - InfiniteScroll to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"Nagdaragdag ang Walang Hangganang Balumbon ng sumusunod na tungkulin sa "
+"iyong instalasyon ng StatusNet: Kapag ang isang tagagamit ay nagpapadulas "
+"papunta sa ilalim ng pahina, ang susunod na pahina ng mga pabatid ay kusang "
+"muling nakukuha at nadurugtong. Nangangahulugan ito na hindi nila kailangan "
+"kailanman na pindutin ang \"Susunod na Pahina\", na mabisang nagpapataas ng "
+"pagkamadikit."
diff --git a/plugins/InfiniteScroll/locale/uk/LC_MESSAGES/InfiniteScroll.po b/plugins/InfiniteScroll/locale/uk/LC_MESSAGES/InfiniteScroll.po
new file mode 100644
index 000000000..8948fdba6
--- /dev/null
+++ b/plugins/InfiniteScroll/locale/uk/LC_MESSAGES/InfiniteScroll.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - InfiniteScroll to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - InfiniteScroll\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:50+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-infinitescroll\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: InfiniteScrollPlugin.php:54
+msgid ""
+"Infinite Scroll adds the following functionality to your StatusNet "
+"installation: When a user scrolls towards the bottom of the page, the next "
+"page of notices is automatically retrieved and appended. This means they "
+"never need to click \"Next Page\", which dramatically increases stickiness."
+msgstr ""
+"Нескінченна прокрутка сторінки додає наступні функції сайту StatusNet: коли "
+"користувач прокручує сторінку до самого її низу, дописи з наступної сторінки "
+"додаються автоматично. Це означає, що вам не доведеться натискати «Назад» (до "
+"попередньої сторінки), аби переглянути повідомлення."
diff --git a/plugins/LdapAuthentication/locale/LdapAuthentication.pot b/plugins/LdapAuthentication/locale/LdapAuthentication.pot
index 8f09b1e51..23c773a9d 100644
--- a/plugins/LdapAuthentication/locale/LdapAuthentication.pot
+++ b/plugins/LdapAuthentication/locale/LdapAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/LdapAuthentication/locale/es/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/es/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..4ab4ea619
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/es/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthentication to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"La extensión de Autenticación LDAP permite a StatusNet manejar la "
+"autenticación a través de LDAP."
diff --git a/plugins/LdapAuthentication/locale/fr/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/fr/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..4eeb05da7
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/fr/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthentication to French (Français)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"L’extension LDAP Authentication permet à StatusNet de gérer l’identification "
+"par LDAP."
diff --git a/plugins/LdapAuthentication/locale/ia/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/ia/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..be4c697f3
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/ia/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthentication to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"Le plug-in LDAP Authentication permitte que StatusNet manea le "
+"authentication via LDAP."
diff --git a/plugins/LdapAuthentication/locale/ja/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/ja/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..0eff13831
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/ja/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - LdapAuthentication to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"LDAP認証プラグインは、StatusNetにLDAPによる認証を処理させることができます。"
diff --git a/plugins/LdapAuthentication/locale/mk/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/mk/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..b121de304
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/mk/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthentication to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"Приклучокот за потврдување LDAP му овозможува на StatusNet да работи со "
+"потврдувања преку LDAP."
diff --git a/plugins/LdapAuthentication/locale/nb/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/nb/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..dd3ceb8ed
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/nb/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthentication to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"Utvidelsen LDAP Authentication gjør det mulig for StatusNet å håndtere "
+"autentisering gjennom LDAP."
diff --git a/plugins/LdapAuthentication/locale/nl/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/nl/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..b31afe58b
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/nl/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthentication to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"De plug-in LDAP-authenticatie maakt het mogelijk om authenticatie voor "
+"StatusNet via LDAP af te handelen."
diff --git a/plugins/LdapAuthentication/locale/ru/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/ru/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..21c6e21ae
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/ru/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - LdapAuthentication to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"Плагин аутентификации LDAP позволяет обрабатывать запросы к StatusNet через "
+"сетевой протокол LDAP."
diff --git a/plugins/LdapAuthentication/locale/tl/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/tl/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..51ee5d68a
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/tl/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthentication to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"Ang pamasak na Pagpapatunay ng LDAP ay nagpapahintulot sa StatusNet na "
+"panghawakan ang pagpapatunay sa pamamagitan ng LDAP."
diff --git a/plugins/LdapAuthentication/locale/uk/LC_MESSAGES/LdapAuthentication.po b/plugins/LdapAuthentication/locale/uk/LC_MESSAGES/LdapAuthentication.po
new file mode 100644
index 000000000..7ea723b67
--- /dev/null
+++ b/plugins/LdapAuthentication/locale/uk/LC_MESSAGES/LdapAuthentication.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - LdapAuthentication to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthentication\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: LdapAuthenticationPlugin.php:146
+msgid ""
+"The LDAP Authentication plugin allows for StatusNet to handle authentication "
+"through LDAP."
+msgstr ""
+"Додаток автентифікації LDAP дозволяє обробляти запити автентифікації за "
+"допомогою LDAP."
diff --git a/plugins/LdapAuthorization/locale/LdapAuthorization.pot b/plugins/LdapAuthorization/locale/LdapAuthorization.pot
index 8156f6146..0cc414c10 100644
--- a/plugins/LdapAuthorization/locale/LdapAuthorization.pot
+++ b/plugins/LdapAuthorization/locale/LdapAuthorization.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/LdapAuthorization/locale/es/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/es/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..7ea15395f
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/es/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthorization to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"La extensión de Autorización LDAP permite a StatusNet para manejar la "
+"autorización a través de LDAP."
diff --git a/plugins/LdapAuthorization/locale/fr/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/fr/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..8ade16ce2
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/fr/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthorization to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"L’extension LDAP Authorization permet à StatusNet de gérer l’autorisation "
+"par LDAP."
diff --git a/plugins/LdapAuthorization/locale/ia/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/ia/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..ae34871af
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/ia/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthorization to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"Le plug-in LDAP Authorization permitte que StatusNet manea le autorisation "
+"via LDAP."
diff --git a/plugins/LdapAuthorization/locale/mk/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/mk/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..9511d5597
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/mk/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthorization to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"Приклучокот за овластување LDAP му овозможува на StatusNet да работи со "
+"овластувања преку LDAP."
diff --git a/plugins/LdapAuthorization/locale/nb/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/nb/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..3385768a4
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/nb/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthorization to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"Utvidelsen LDAP Authorization gjør det mulig for StatusNet å håndtere "
+"autorisasjon gjennom LDAP."
diff --git a/plugins/LdapAuthorization/locale/nl/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/nl/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..034a0cee9
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/nl/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthorization to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"De plug-in LDAP-autorisatie maakt het mogelijk om autorisatie voor StatusNet "
+"via LDAP af te handelen."
diff --git a/plugins/LdapAuthorization/locale/ru/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/ru/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..f366956e6
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/ru/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - LdapAuthorization to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"Плагин авторизации LDAP позволяет обрабатывать запросы к StatusNet через "
+"сетевой протокол LDAP."
diff --git a/plugins/LdapAuthorization/locale/tl/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/tl/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..683885f16
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/tl/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - LdapAuthorization to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:51+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"Ang pamasak na Pahintulot na pang-LDAP ay nagpapahintulot sa StatusNet na "
+"panghawakan ang pahintulot sa pamamagitan ng LDAP."
diff --git a/plugins/LdapAuthorization/locale/uk/LC_MESSAGES/LdapAuthorization.po b/plugins/LdapAuthorization/locale/uk/LC_MESSAGES/LdapAuthorization.po
new file mode 100644
index 000000000..e8ef754dd
--- /dev/null
+++ b/plugins/LdapAuthorization/locale/uk/LC_MESSAGES/LdapAuthorization.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - LdapAuthorization to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LdapAuthorization\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:18:54+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-ldapauthorization\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: LdapAuthorizationPlugin.php:124
+msgid ""
+"The LDAP Authorization plugin allows for StatusNet to handle authorization "
+"through LDAP."
+msgstr ""
+"Додаток авторизації LDAP дозволяє обробляти запити авторизації за допомогою "
+"LDAP."
diff --git a/plugins/LdapCommon/LdapCommon.php b/plugins/LdapCommon/LdapCommon.php
index 09ff54bad..579fe4b64 100644
--- a/plugins/LdapCommon/LdapCommon.php
+++ b/plugins/LdapCommon/LdapCommon.php
@@ -60,13 +60,13 @@ class LdapCommon
$this->ldap_config = $this->get_ldap_config();
if(!isset($this->host)){
- throw new Exception("must specify a host");
+ throw new Exception(_m("A host must be specified."));
}
if(!isset($this->basedn)){
- throw new Exception("must specify a basedn");
+ throw new Exception(_m('"basedn" must be specified.'));
}
if(!isset($this->attributes['username'])){
- throw new Exception("username attribute must be set.");
+ throw new Exception(_m('The username attribute must be set.'));
}
}
@@ -179,7 +179,7 @@ class LdapCommon
$ldap = $this->get_ldap_connection($config);
$entry = $this->get_user($username,array(),$ldap);
-
+
$newCryptedPassword = $this->hashPassword($newpassword, $this->password_encoding);
if ($newCryptedPassword===false) {
return false;
@@ -260,15 +260,14 @@ class LdapCommon
* @return string The hashed password.
*
*/
-
- function hashPassword( $passwordClear, $encodageType )
+ function hashPassword( $passwordClear, $encodageType )
{
$encodageType = strtolower( $encodageType );
switch( $encodageType ) {
- case 'crypt':
- $cryptedPassword = '{CRYPT}' . crypt($passwordClear,$this->randomSalt(2));
+ case 'crypt':
+ $cryptedPassword = '{CRYPT}' . crypt($passwordClear,$this->randomSalt(2));
break;
-
+
case 'ext_des':
// extended des crypt. see OpenBSD crypt man page.
if ( ! defined( 'CRYPT_EXT_DES' ) || CRYPT_EXT_DES == 0 ) {return FALSE;} //Your system crypt library does not support extended DES encryption.
@@ -351,8 +350,7 @@ class LdapCommon
* @param int $length The length of the salt string to generate.
* @return string The generated salt string.
*/
-
- function randomSalt( $length )
+ function randomSalt( $length )
{
$possible = '0123456789'.
'abcdefghijklmnopqrstuvwxyz'.
@@ -366,10 +364,8 @@ class LdapCommon
return $str;
}
-
}
class LdapInvalidCredentialsException extends Exception
{
-
}
diff --git a/plugins/LdapCommon/MemcacheSchemaCache.php b/plugins/LdapCommon/MemcacheSchemaCache.php
index 4ee2e8e16..960164fd3 100644
--- a/plugins/LdapCommon/MemcacheSchemaCache.php
+++ b/plugins/LdapCommon/MemcacheSchemaCache.php
@@ -1,5 +1,5 @@
<?php
-/**
+/**
* StatusNet, the distributed open-source microblogging tool
*
* Cache the LDAP schema in memcache to improve performance
@@ -32,14 +32,14 @@ class MemcacheSchemaCache implements Net_LDAP2_SchemaCache
protected $cacheKey;
/**
- * Initialize the simple cache
- *
- * Config is as following:
- * memcache memcache instance
- * cachekey the key in the cache to look at
- *
- * @param array $cfg Config array
- */
+ * Initialize the simple cache
+ *
+ * Config is as following:
+ * memcache memcache instance
+ * cachekey the key in the cache to look at
+ *
+ * @param array $cfg Config array
+ */
public function MemcacheSchemaCache($cfg)
{
$this->c = $cfg['c'];
@@ -57,18 +57,18 @@ class MemcacheSchemaCache implements Net_LDAP2_SchemaCache
}
/**
- * Store a schema object in the cache
- *
- * This method will be called, if Net_LDAP2 has fetched a fresh
- * schema object from LDAP and wants to init or refresh the cache.
- *
- * To invalidate the cache and cause Net_LDAP2 to refresh the cache,
- * you can call this method with null or false as value.
- * The next call to $ldap->schema() will then refresh the caches object.
- *
- * @param mixed $schema The object that should be cached
- * @return true|Net_LDAP2_Error|false
- */
+ * Store a schema object in the cache
+ *
+ * This method will be called, if Net_LDAP2 has fetched a fresh
+ * schema object from LDAP and wants to init or refresh the cache.
+ *
+ * To invalidate the cache and cause Net_LDAP2 to refresh the cache,
+ * you can call this method with null or false as value.
+ * The next call to $ldap->schema() will then refresh the caches object.
+ *
+ * @param mixed $schema The object that should be cached
+ * @return true|Net_LDAP2_Error|false
+ */
public function storeSchema($schema) {
return $this->c->set($this->cacheKey, $schema);
}
diff --git a/plugins/LilUrl/LilUrlPlugin.php b/plugins/LilUrl/LilUrlPlugin.php
index 06ea49ff5..b63cc8a55 100644
--- a/plugins/LilUrl/LilUrlPlugin.php
+++ b/plugins/LilUrl/LilUrlPlugin.php
@@ -38,7 +38,7 @@ class LilUrlPlugin extends UrlShortenerPlugin
function onInitializePlugin(){
parent::onInitializePlugin();
if(!isset($this->serviceUrl)){
- throw new Exception("must specify a serviceUrl");
+ throw new Exception(_m('A serviceUrl must be specified.'));
}
}
@@ -69,4 +69,3 @@ class LilUrlPlugin extends UrlShortenerPlugin
return true;
}
}
-
diff --git a/plugins/LilUrl/locale/LilUrl.pot b/plugins/LilUrl/locale/LilUrl.pot
index 47ed36727..65f0baf68 100644
--- a/plugins/LilUrl/locale/LilUrl.pot
+++ b/plugins/LilUrl/locale/LilUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,6 +16,10 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr ""
+
#: LilUrlPlugin.php:68
#, php-format
msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
diff --git a/plugins/LilUrl/locale/fr/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/fr/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..9594e8354
--- /dev/null
+++ b/plugins/LilUrl/locale/fr/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - LilUrl to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "Une URL de service doit être spécifiée."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utilise le service de raccourcissement d’URL <a href=\"http://%1$s/\">%1$s</"
+"a>."
diff --git a/plugins/LilUrl/locale/ia/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/ia/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..a1a360101
--- /dev/null
+++ b/plugins/LilUrl/locale/ia/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - LilUrl to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "Un serviceUrl debe esser specificate."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Usa le servicio de accurtamento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/LilUrl/locale/ja/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/ja/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..97261be9f
--- /dev/null
+++ b/plugins/LilUrl/locale/ja/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - LilUrl to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr ""
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "<a href=\"http://%1$s/\">%1$s</a>をURL短縮サービスとして利用する。"
diff --git a/plugins/LilUrl/locale/mk/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/mk/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..7a09a9df6
--- /dev/null
+++ b/plugins/LilUrl/locale/mk/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - LilUrl to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "Мора да се назначи адреса на службата (serviceUrl)."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Користи <a href=\"http://%1$s/\">%1$s</a> - служба за скратување на URL-"
+"адреси."
diff --git a/plugins/LilUrl/locale/nb/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/nb/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..4699be8b2
--- /dev/null
+++ b/plugins/LilUrl/locale/nb/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - LilUrl to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "En tjeneste-Url må spesifiseres."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Bruker URL-forkortertjenesten <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/LilUrl/locale/nl/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/nl/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..a139c9d4f
--- /dev/null
+++ b/plugins/LilUrl/locale/nl/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - LilUrl to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "Er moet een serviceUrl opgegeven worden."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gebruikt de dienst <a href=\"http://%1$s/\">%1$s</a> om URL's korter te "
+"maken."
diff --git a/plugins/LilUrl/locale/ru/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/ru/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..1523fd5cd
--- /dev/null
+++ b/plugins/LilUrl/locale/ru/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - LilUrl to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:52+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "Должен быть указан URL-адрес сервису."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Использование службы сокращения URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/LilUrl/locale/tl/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/tl/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..f7dfe8a18
--- /dev/null
+++ b/plugins/LilUrl/locale/tl/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - LilUrl to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "Dapat tukuyin ang isang URL ng palingkuran."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gumagamit ng <a href=\"http://%1$s/\">%1$s</a> na serbisyong pampaikli ng "
+"URL."
diff --git a/plugins/LilUrl/locale/uk/LC_MESSAGES/LilUrl.po b/plugins/LilUrl/locale/uk/LC_MESSAGES/LilUrl.po
new file mode 100644
index 000000000..5eb5059c6
--- /dev/null
+++ b/plugins/LilUrl/locale/uk/LC_MESSAGES/LilUrl.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - LilUrl to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - LilUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-lilurl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: LilUrlPlugin.php:43
+msgid "A serviceUrl must be specified."
+msgstr "URL-адресу сервісу має бути зазначено."
+
+#: LilUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Використання <a href=\"http://%1$s/\">%1$s</a> для скорочення URL-адрес."
diff --git a/plugins/LinkbackPlugin.php b/plugins/Linkback/LinkbackPlugin.php
index 8e44beae1..797572d7f 100644
--- a/plugins/LinkbackPlugin.php
+++ b/plugins/Linkback/LinkbackPlugin.php
@@ -49,7 +49,6 @@ define('LINKBACKPLUGIN_VERSION', '0.1');
*
* @see Event
*/
-
class LinkbackPlugin extends Plugin
{
var $notice = null;
@@ -154,7 +153,6 @@ class LinkbackPlugin extends Plugin
// Largely cadged from trackback_cls.php by
// Ran Aroussi <ran@blogish.org>, GPL2 or any later version
// http://phptrackback.sourceforge.net/
-
function getTrackback($text, $url)
{
if (preg_match_all('/(<rdf:RDF.*?<\/rdf:RDF>)/sm', $text, $match, PREG_SET_ORDER)) {
diff --git a/plugins/Linkback/locale/Linkback.pot b/plugins/Linkback/locale/Linkback.pot
new file mode 100644
index 000000000..1d1b0437c
--- /dev/null
+++ b/plugins/Linkback/locale/Linkback.pot
@@ -0,0 +1,25 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
diff --git a/plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..dec449471
--- /dev/null
+++ b/plugins/Linkback/locale/es/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Notificar a los autores de blogs cunado sus publicaciones hayan sido "
+"vinculadas en mensajes de microblogs mediante protocolos<a href=\"http://www."
+"hixie.ch/specs/pingback/pingback\">Pingback</a> o <a href=\"http://www."
+"movabletype.org/docs/mttrackback.html\">Trackback</a> protocols."
diff --git a/plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..525c681dc
--- /dev/null
+++ b/plugins/Linkback/locale/fr/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Avertissez les auteurs de blogues lorsque leurs publications ont été liées "
+"dans des avis « microblogue », au moyen des protocoles <a href=\"http://www."
+"hixie.ch/specs/pingback/pingback\">Pingback</a> ou <a href=\"http://www."
+"movabletype.org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..46c10ff82
--- /dev/null
+++ b/plugins/Linkback/locale/ia/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Notificar autores de blogs quando lor articulos ha essite ligate in notas de "
+"microblog usante le protocollos <a href=\"http://www.hixie.ch/specs/pingback/"
+"pingback\">Pingback</a> o <a href=\"http://www.movabletype.org/docs/"
+"mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..3f45b8dd9
--- /dev/null
+++ b/plugins/Linkback/locale/mk/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Извести ги авторите на блоговите кога некој стави врска до нивните објави во "
+"забелешки од микроблогови користејќи ги протоколите <a href=\"http://www."
+"hixie.ch/specs/pingback/pingback\">Pingback</a> или <a href=\"http://www."
+"movabletype.org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..cc1267288
--- /dev/null
+++ b/plugins/Linkback/locale/nb/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Varsle bloggforfattere når deres innlegg har blitt lenket til i "
+"mikrobloggvarsler ved å bruke <a href=\"http://www.hixie.ch/specs/pingback/"
+"pingback\">Pingback</a>- eller <a href=\"http://www.movabletype.org/docs/"
+"mttrackback.html\">Trackback</a>-protokoller."
diff --git a/plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..9d923ba79
--- /dev/null
+++ b/plugins/Linkback/locale/nl/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Blogauteurs laten weten wanneer naar hun berichten wordt verwezen in "
+"mededelingen met behulp van de protocollen <a href=\"http://www.hixie.ch/"
+"specs/pingback/pingback\">Pingback</a> of <a href=\"http://www.movabletype."
+"org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..f61749d75
--- /dev/null
+++ b/plugins/Linkback/locale/tl/LC_MESSAGES/Linkback.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - Linkback to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Ipaalam sa mga may-akda ng blog kapag ang kanilang ang mga pagpapaskil ay "
+"ikinawing sa mga pabatid ng mikroblog sa pamamagitan ng mga protokol na <a "
+"href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> o <a href="
+"\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po b/plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po
new file mode 100644
index 000000000..6a2b00d9b
--- /dev/null
+++ b/plugins/Linkback/locale/uk/LC_MESSAGES/Linkback.po
@@ -0,0 +1,35 @@
+# Translation of StatusNet - Linkback to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Linkback\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:53+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:53+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-linkback\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: LinkbackPlugin.php:241
+msgid ""
+"Notify blog authors when their posts have been linked in microblog notices "
+"using <a href=\"http://www.hixie.ch/specs/pingback/pingback\">Pingback</a> "
+"or <a href=\"http://www.movabletype.org/docs/mttrackback.html\">Trackback</"
+"a> protocols."
+msgstr ""
+"Сповіщення авторів блоґів, якщо їхні дописи стають об’єктом уваги у "
+"мікроблоґах, використовуючи протоколи <a href=\"http://www.hixie.ch/specs/"
+"pingback/pingback\">Pingback</a> або <a href=\"http://www.movabletype.org/"
+"docs/mttrackback.html\">Trackback</a>."
diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php
index e7240a644..c4ba6464e 100644
--- a/plugins/Mapstraction/MapstractionPlugin.php
+++ b/plugins/Mapstraction/MapstractionPlugin.php
@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
*
* @seeAlso Location
*/
-
class MapstractionPlugin extends Plugin
{
const VERSION = STATUSNET_VERSION;
@@ -64,7 +63,6 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onRouterInitialized($m)
{
$m->connect(':nickname/all/map',
@@ -85,7 +83,6 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onAutoload($cls)
{
switch ($cls)
@@ -109,7 +106,6 @@ class MapstractionPlugin extends Plugin
*
* @return boolean event handler return
*/
-
function onEndShowScripts($action)
{
$actionName = $action->trimmed('action');
@@ -190,6 +186,7 @@ class MapstractionPlugin extends Plugin
array('nickname' => $action->trimmed('nickname')));
$action->element('a', array('href' => $mapUrl),
+ // TRANS: Clickable item to allow opening the map in full size.
_m("Full size"));
$action->elementEnd('div');
@@ -203,8 +200,7 @@ class MapstractionPlugin extends Plugin
'homepage' => 'http://status.net/wiki/Plugin:Mapstraction',
'rawdescription' =>
_m('Show maps of users\' and friends\' notices '.
- 'with <a href="http://www.mapstraction.com/">Mapstraction</a> '.
- 'JavaScript library.'));
+ 'with <a href="http://www.mapstraction.com/">Mapstraction</a>.'));
return true;
}
}
diff --git a/plugins/Mapstraction/allmap.php b/plugins/Mapstraction/allmap.php
index 5dab670e2..fa05ccc7a 100644
--- a/plugins/Mapstraction/allmap.php
+++ b/plugins/Mapstraction/allmap.php
@@ -42,7 +42,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class AllmapAction extends MapAction
{
function prepare($args)
@@ -63,16 +62,22 @@ class AllmapAction extends MapAction
function title()
{
if (!empty($this->profile->fullname)) {
+ // @todo FIXME: Bad i18n. Should be "%1$s (%2$s)".
$base = $this->profile->fullname . ' (' . $this->user->nickname . ') ';
} else {
$base = $this->user->nickname;
}
if ($this->page == 1) {
+ // TRANS: Page title.
+ // TRANS: %s is a user nickname.
return sprintf(_m("%s friends map"),
$base);
} else {
- return sprintf(_m("%s friends map, page %d"),
+ // @todo CHECKME: does this even happen? May not be needed.
+ // TRANS: Page title.
+ // TRANS: %1$s is a user nickname, %2$d is a page number.
+ return sprintf(_m("%1$s friends map, page %2$d"),
$base,
$this->page);
}
diff --git a/plugins/Mapstraction/locale/Mapstraction.pot b/plugins/Mapstraction/locale/Mapstraction.pot
index 764bf7b29..3c5339100 100644
--- a/plugins/Mapstraction/locale/Mapstraction.pot
+++ b/plugins/Mapstraction/locale/Mapstraction.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,18 +16,19 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: MapstractionPlugin.php:182
+#: MapstractionPlugin.php:178
msgid "Map"
msgstr ""
-#: MapstractionPlugin.php:193
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
msgid "Full size"
msgstr ""
-#: MapstractionPlugin.php:205
+#: MapstractionPlugin.php:202
msgid ""
"Show maps of users' and friends' notices with <a href=\"http://www."
-"mapstraction.com/\">Mapstraction</a> JavaScript library."
+"mapstraction.com/\">Mapstraction</a>."
msgstr ""
#: map.php:72
@@ -38,17 +39,14 @@ msgstr ""
msgid "User has no profile."
msgstr ""
-#: allmap.php:71
-#, php-format
-msgid "%s friends map"
-msgstr ""
-
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
#: allmap.php:74
#, php-format
-msgid "%s friends map, page %d"
+msgid "%s friends map"
msgstr ""
-#: usermap.php:71
+#: usermap.php:73
#, php-format
msgid "%s map, page %d"
msgstr ""
diff --git a/plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..7a926598b
--- /dev/null
+++ b/plugins/Mapstraction/locale/br/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,57 @@
+# Translation of StatusNet - Mapstraction to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Kartenn"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr ""
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+
+#: map.php:72
+msgid "No such user."
+msgstr "N'eus ket eus an implijer-se."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr ""
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Kartenn mignoned %s"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr "%s gartenn, pajenn %d"
diff --git a/plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..8e3b8d54d
--- /dev/null
+++ b/plugins/Mapstraction/locale/de/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,57 @@
+# Translation of StatusNet - Mapstraction to German (Deutsch)
+# Expored from translatewiki.net
+#
+# Author: Apmon
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: de\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Karte"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr ""
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+
+#: map.php:72
+msgid "No such user."
+msgstr "Unbekannter Benutzer."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Benutzer hat kein Profil."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr ""
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr ""
diff --git a/plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..a6f8b0d93
--- /dev/null
+++ b/plugins/Mapstraction/locale/fi/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,57 @@
+# Translation of StatusNet - Mapstraction to Finnish (Suomi)
+# Expored from translatewiki.net
+#
+# Author: Nike
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Finnish <http://translatewiki.net/wiki/Portal:fi>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fi\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Kartta"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Täysi koko"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+
+#: map.php:72
+msgid "No such user."
+msgstr "Käyttäjää ei ole."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Käyttäjällä ei ole profiilia."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Kartta käyttäjän %s ystävistä"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr ""
diff --git a/plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..5de819b1b
--- /dev/null
+++ b/plugins/Mapstraction/locale/fr/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Mapstraction to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Cartographie"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Pleine taille"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+"Affiche des cartes localisant les avis des utilisateurs et amis avec <a href="
+"\"http://www.mapstraction.com/\">Mapstraction</a>."
+
+#: map.php:72
+msgid "No such user."
+msgstr "Utilisateur inexistant."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Aucun profil ne correspond à cet utilisateur."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Carte des amis de %s"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr "Carte %s, page %d"
diff --git a/plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..340a21114
--- /dev/null
+++ b/plugins/Mapstraction/locale/gl/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,57 @@
+# Translation of StatusNet - Mapstraction to Galician (Galego)
+# Expored from translatewiki.net
+#
+# Author: Toliño
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: gl\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Mapa"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Tamaño completo"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+
+#: map.php:72
+msgid "No such user."
+msgstr "Non existe tal usuario."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "O usuario non ten perfil."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr ""
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr ""
diff --git a/plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..c2fcc51b6
--- /dev/null
+++ b/plugins/Mapstraction/locale/ia/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Mapstraction to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Mappa"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Dimension complete"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+"Monstra mappas de notas de usatores e amicos con <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+
+#: map.php:72
+msgid "No such user."
+msgstr "Iste usator non existe."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Le usator non ha un profilo."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Mappa del amicos de %s"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr "Mappa de %s, pagina %d"
diff --git a/plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..840e337f5
--- /dev/null
+++ b/plugins/Mapstraction/locale/mk/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Mapstraction to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Карта"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Полна големина"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+"Прикажувај карти со забелешките на корисниците и пријателите со <a href="
+"\"http://www.mapstraction.com/\">Mapstraction</a>"
+
+#: map.php:72
+msgid "No such user."
+msgstr "Нема таков корисник."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Корисникот нема профил."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Карта на пријатели на %s"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr "Карта на %s, стр. %d"
diff --git a/plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..f4fade52b
--- /dev/null
+++ b/plugins/Mapstraction/locale/nl/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,60 @@
+# Translation of StatusNet - Mapstraction to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Kaart"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Groter"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+"Geeft een kaart met de mededelingen van de gebruiker en vrienden weer met "
+"behulp van <a href=\"http://www.mapstraction.com/\">Mapstraction</a>."
+
+#: map.php:72
+msgid "No such user."
+msgstr "Deze gebruiker bestaat niet"
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Deze gebruiker heeft geen profiel."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Kaart van %s en vrienden"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr "Kaart van %s, pagina %d"
diff --git a/plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..da8cb7aaa
--- /dev/null
+++ b/plugins/Mapstraction/locale/ru/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,58 @@
+# Translation of StatusNet - Mapstraction to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Карта"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Полный размер"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+
+#: map.php:72
+msgid "No such user."
+msgstr "Нет такого пользователя."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "У пользователя нет профиля."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Карта друзей: %s"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr ""
diff --git a/plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..1253cd82b
--- /dev/null
+++ b/plugins/Mapstraction/locale/tl/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,59 @@
+# Translation of StatusNet - Mapstraction to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Mapa"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Buong sukat"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+"Nagpapakita ng mga mapa ng mga pabatid ng mga tagagamit at ng mga kaibigan "
+"sa pamamagitan ng <a href=\"http://www.mapstraction.com/\">Mapstraction</a>."
+
+#: map.php:72
+msgid "No such user."
+msgstr "Walang ganyang tagagamit."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Walang balangkas ang tagagamit."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "%s na mapa ng mga kaibigan"
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr "%s na mapa, pahina %d"
diff --git a/plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po b/plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po
new file mode 100644
index 000000000..b10928213
--- /dev/null
+++ b/plugins/Mapstraction/locale/uk/LC_MESSAGES/Mapstraction.po
@@ -0,0 +1,60 @@
+# Translation of StatusNet - Mapstraction to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Mapstraction\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:54+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-mapstraction\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MapstractionPlugin.php:178
+msgid "Map"
+msgstr "Мапа"
+
+#. TRANS: Clickable item to allow opening the map in full size.
+#: MapstractionPlugin.php:190
+msgid "Full size"
+msgstr "Повний розмір"
+
+#: MapstractionPlugin.php:202
+msgid ""
+"Show maps of users' and friends' notices with <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+msgstr ""
+"Показ мапи дописів користувачів і друзів за допомогою <a href=\"http://www."
+"mapstraction.com/\">Mapstraction</a>."
+
+#: map.php:72
+msgid "No such user."
+msgstr "Такого користувача немає."
+
+#: map.php:79
+msgid "User has no profile."
+msgstr "Користувач не має профілю."
+
+#. TRANS: Page title.
+#. TRANS: %s is a user nickname.
+#: allmap.php:74
+#, php-format
+msgid "%s friends map"
+msgstr "Мапа друзів %s."
+
+#: usermap.php:73
+#, php-format
+msgid "%s map, page %d"
+msgstr "Мапа друзів %s, сторінка %d"
diff --git a/plugins/Mapstraction/map.php b/plugins/Mapstraction/map.php
index 7dab8e10a..50ff82b67 100644
--- a/plugins/Mapstraction/map.php
+++ b/plugins/Mapstraction/map.php
@@ -42,7 +42,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class MapAction extends OwnerDesignAction
{
var $profile = null;
@@ -116,7 +115,6 @@ class MapAction extends OwnerDesignAction
*
* @return boolean event handler return
*/
-
function showScripts()
{
parent::showScripts();
diff --git a/plugins/Mapstraction/usermap.php b/plugins/Mapstraction/usermap.php
index 094334f60..0ee956159 100644
--- a/plugins/Mapstraction/usermap.php
+++ b/plugins/Mapstraction/usermap.php
@@ -42,10 +42,8 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class UsermapAction extends MapAction
{
-
function prepare($args)
{
if(parent::prepare($args)) {
@@ -61,14 +59,17 @@ class UsermapAction extends MapAction
function title()
{
if (!empty($this->profile->fullname)) {
- $base = $this->profile->fullname . ' (' . $this->user->nickname . ') ';
+ // @todo FIXME: Bad i18n. Should be '%1$s (%2$s)'
+ $base = $this->profile->fullname . ' (' . $this->user->nickname . ')';
} else {
$base = $this->user->nickname;
}
if ($this->page == 1) {
+ // @todo CHECKME: inconsisten with paged variant below. " map" missing.
return $base;
} else {
+ // @todo CHECKME: Is the part ", page %2$d" relevant here?
return sprintf(_m("%s map, page %d"),
$base,
$this->page);
diff --git a/plugins/MemcachePlugin.php b/plugins/Memcache/MemcachePlugin.php
index c3ca5c135..f0c473c31 100644
--- a/plugins/MemcachePlugin.php
+++ b/plugins/Memcache/MemcachePlugin.php
@@ -48,7 +48,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class MemcachePlugin extends Plugin
{
static $cacheInitialized = false;
@@ -70,7 +69,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean flag value
*/
-
function onInitializePlugin()
{
if (self::$cacheInitialized) {
@@ -101,7 +99,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheGet(&$key, &$value)
{
$this->_ensureConn();
@@ -121,7 +118,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
{
$this->_ensureConn();
@@ -160,7 +156,6 @@ class MemcachePlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheDelete(&$key, &$success)
{
$this->_ensureConn();
@@ -194,7 +189,6 @@ class MemcachePlugin extends Plugin
*
* @return void
*/
-
private function _ensureConn()
{
if (empty($this->_conn)) {
@@ -253,4 +247,3 @@ class MemcachePlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/Memcache/locale/Memcache.pot b/plugins/Memcache/locale/Memcache.pot
new file mode 100644
index 000000000..53b0536d5
--- /dev/null
+++ b/plugins/Memcache/locale/Memcache.pot
@@ -0,0 +1,22 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
diff --git a/plugins/Memcache/locale/es/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/es/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..21dc68690
--- /dev/null
+++ b/plugins/Memcache/locale/es/LC_MESSAGES/Memcache.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcache to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Utilizar <a href=\"http://memcached.org/\">Memcached</a> para cachear "
+"resultados de consulta."
diff --git a/plugins/Memcache/locale/fr/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/fr/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..b3c4d8bd3
--- /dev/null
+++ b/plugins/Memcache/locale/fr/LC_MESSAGES/Memcache.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcache to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Utiliser <a href=\"http://memcached.org/\">Memcached</a> pour mettre en "
+"cache les résultats de requêtes."
diff --git a/plugins/Memcache/locale/ia/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/ia/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..8035bdb46
--- /dev/null
+++ b/plugins/Memcache/locale/ia/LC_MESSAGES/Memcache.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcache to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Usar <a href=\"http://memcached.org/\">Memcached</a> pro immagazinar "
+"resultatos de consultas in cache."
diff --git a/plugins/Memcache/locale/mk/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/mk/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..489434f78
--- /dev/null
+++ b/plugins/Memcache/locale/mk/LC_MESSAGES/Memcache.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcache to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Користи <a href=\"http://memcached.org/\">Memcached</a> за кеширање на "
+"резултати од барања."
diff --git a/plugins/Memcache/locale/nb/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/nb/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..8cb0896c9
--- /dev/null
+++ b/plugins/Memcache/locale/nb/LC_MESSAGES/Memcache.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcache to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Bruk <a href=\"http://memcached.org/\">Memcached</a> for å hurtiglagre "
+"søkeresultat."
diff --git a/plugins/Memcache/locale/nl/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/nl/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..2f0ddbffc
--- /dev/null
+++ b/plugins/Memcache/locale/nl/LC_MESSAGES/Memcache.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcache to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"<a href=\"http://memcached.org/\">Memcached</a> gebruiken om zoekresultaten "
+"te cachen."
diff --git a/plugins/Memcache/locale/ru/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/ru/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..94d0d27a7
--- /dev/null
+++ b/plugins/Memcache/locale/ru/LC_MESSAGES/Memcache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Memcache to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Lockal
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Использование <a href=\"http://memcached.org/\">Memcached</a> для "
+"кеширования результатов запросов."
diff --git a/plugins/Memcache/locale/tl/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/tl/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..bd9a9417a
--- /dev/null
+++ b/plugins/Memcache/locale/tl/LC_MESSAGES/Memcache.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcache to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Gamitin ang <a href=\"http://memcached.org/\">Memcached</a> upang itago ang "
+"mga resulta ng pagtatanong."
diff --git a/plugins/Memcache/locale/uk/LC_MESSAGES/Memcache.po b/plugins/Memcache/locale/uk/LC_MESSAGES/Memcache.po
new file mode 100644
index 000000000..afaef9b2c
--- /dev/null
+++ b/plugins/Memcache/locale/uk/LC_MESSAGES/Memcache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Memcache to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:38:59+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-memcache\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MemcachePlugin.php:246
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Використання <a href=\"http://memcached.org/\">Memcached</a> для кешування "
+"результатів запитів."
diff --git a/plugins/MemcachedPlugin.php b/plugins/Memcached/MemcachedPlugin.php
index 77b989b95..3b3383d49 100644
--- a/plugins/MemcachedPlugin.php
+++ b/plugins/Memcached/MemcachedPlugin.php
@@ -69,7 +69,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean flag value
*/
-
function onInitializePlugin()
{
$this->_ensureConn();
@@ -87,7 +86,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheGet(&$key, &$value)
{
$this->_ensureConn();
@@ -107,7 +105,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheSet(&$key, &$value, &$flag, &$expiry, &$success)
{
$this->_ensureConn();
@@ -146,7 +143,6 @@ class MemcachedPlugin extends Plugin
*
* @return boolean hook success
*/
-
function onStartCacheDelete(&$key, &$success)
{
$this->_ensureConn();
@@ -169,7 +165,6 @@ class MemcachedPlugin extends Plugin
*
* @return void
*/
-
private function _ensureConn()
{
if (empty($this->_conn)) {
@@ -224,4 +219,3 @@ class MemcachedPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/Memcached/locale/Memcached.pot b/plugins/Memcached/locale/Memcached.pot
new file mode 100644
index 000000000..03d62b7cd
--- /dev/null
+++ b/plugins/Memcached/locale/Memcached.pot
@@ -0,0 +1,22 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
diff --git a/plugins/Memcached/locale/es/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/es/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..e7473802d
--- /dev/null
+++ b/plugins/Memcached/locale/es/LC_MESSAGES/Memcached.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Utilizar <a href=\"http://memcached.org/\">Memcached</a> para cachear "
+"resultados de consulta."
diff --git a/plugins/Memcached/locale/fr/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/fr/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..7b0edf91e
--- /dev/null
+++ b/plugins/Memcached/locale/fr/LC_MESSAGES/Memcached.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Utiliser <a href=\"http://memcached.org/\">Memcached</a> pour mettre en "
+"cache les résultats de requêtes."
diff --git a/plugins/Memcached/locale/ia/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/ia/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..9f043fa4a
--- /dev/null
+++ b/plugins/Memcached/locale/ia/LC_MESSAGES/Memcached.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Usar <a href=\"http://memcached.org/\">Memcached</a> pro immagazinar "
+"resultatos de consultas in cache."
diff --git a/plugins/Memcached/locale/mk/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/mk/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..5062665ab
--- /dev/null
+++ b/plugins/Memcached/locale/mk/LC_MESSAGES/Memcached.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Користи <a href=\"http://memcached.org/\">Memcached</a> за кеширање на "
+"резултати од барања."
diff --git a/plugins/Memcached/locale/nb/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/nb/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..72775e02c
--- /dev/null
+++ b/plugins/Memcached/locale/nb/LC_MESSAGES/Memcached.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Bruk <a href=\"http://memcached.org/\">Memcached</a> for å hurtiglagre "
+"søkeresultat."
diff --git a/plugins/Memcached/locale/nl/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/nl/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..ebd7c25cb
--- /dev/null
+++ b/plugins/Memcached/locale/nl/LC_MESSAGES/Memcached.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"<a href=\"http://memcached.org/\">Memcached</a> gebruiken om zoekresultaten "
+"te cachen."
diff --git a/plugins/Memcached/locale/ru/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/ru/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..1cc22c363
--- /dev/null
+++ b/plugins/Memcached/locale/ru/LC_MESSAGES/Memcached.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Memcached to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Lockal
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Использование <a href=\"http://memcached.org/\">Memcached</a> для "
+"кеширования результатов запросов."
diff --git a/plugins/Memcached/locale/tl/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/tl/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..b6be85ca9
--- /dev/null
+++ b/plugins/Memcached/locale/tl/LC_MESSAGES/Memcached.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - Memcached to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Gamitin ang <a href=\"http://memcached.org/\">Memcached</a> upang ikubli ang "
+"mga resulta ng pagtatanong."
diff --git a/plugins/Memcached/locale/uk/LC_MESSAGES/Memcached.po b/plugins/Memcached/locale/uk/LC_MESSAGES/Memcached.po
new file mode 100644
index 000000000..abdb41137
--- /dev/null
+++ b/plugins/Memcached/locale/uk/LC_MESSAGES/Memcached.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - Memcached to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Memcached\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:55+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:55+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-memcached\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MemcachedPlugin.php:218
+msgid ""
+"Use <a href=\"http://memcached.org/\">Memcached</a> to cache query results."
+msgstr ""
+"Використання <a href=\"http://memcached.org/\">Memcached</a> для зберігання "
+"пошукових запитів в кеші."
diff --git a/plugins/Meteor/MeteorPlugin.php b/plugins/Meteor/MeteorPlugin.php
index ec8c9e217..a48c52b56 100644
--- a/plugins/Meteor/MeteorPlugin.php
+++ b/plugins/Meteor/MeteorPlugin.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class MeteorPlugin extends RealtimePlugin
{
public $webserver = null;
@@ -112,7 +111,8 @@ class MeteorPlugin extends RealtimePlugin
// May throw an exception.
$this->_socket = stream_socket_client("tcp://{$controlserver}:{$this->controlport}", $errno, $errstr, $timeout, $flags);
if (!$this->_socket) {
- throw new Exception("Couldn't connect to {$controlserver} on {$this->controlport}");
+ // TRANS: Exception. %1$s is the control server, %2$s is the control port.
+ throw new Exception(sprintf(_m('Couldn\'t connect to %1$s on %2$s.'),$controlserver,$this->controlport));
}
}
@@ -124,7 +124,8 @@ class MeteorPlugin extends RealtimePlugin
$cnt = fwrite($this->_socket, $cmd);
$result = fgets($this->_socket);
if (preg_match('/^ERR (.*)$/', $result, $matches)) {
- throw new Exception('Error adding meteor message "'.$matches[1].'"');
+ // TRANS: Exception. %s is the Meteor message that could not be added.
+ throw new Exception(sprintf(_m('Error adding meteor message "%s"'),$matches[1]));
}
// TODO: parse and deal with result
}
@@ -146,4 +147,15 @@ class MeteorPlugin extends RealtimePlugin
}
return implode('-', $path);
}
+
+ function onPluginVersion(&$versions)
+ {
+ $versions[] = array('name' => 'Meteor',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => 'http://status.net/wiki/Plugin:Meteor',
+ 'rawdescription' =>
+ _m('Plugin to do "real time" updates using Comet/Bayeux.'));
+ return true;
+ }
}
diff --git a/plugins/Meteor/locale/Meteor.pot b/plugins/Meteor/locale/Meteor.pot
new file mode 100644
index 000000000..86ddef2cb
--- /dev/null
+++ b/plugins/Meteor/locale/Meteor.pot
@@ -0,0 +1,33 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
+#: MeteorPlugin.php:115
+#, php-format
+msgid "Couldn't connect to %1$s on %2$s."
+msgstr ""
+
+#. TRANS: Exception. %s is the Meteor message that could not be added.
+#: MeteorPlugin.php:128
+#, php-format
+msgid "Error adding meteor message \"%s\""
+msgstr ""
+
+#: MeteorPlugin.php:158
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
diff --git a/plugins/Meteor/locale/fr/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/fr/LC_MESSAGES/Meteor.po
new file mode 100644
index 000000000..438b67318
--- /dev/null
+++ b/plugins/Meteor/locale/fr/LC_MESSAGES/Meteor.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - Meteor to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Meteor\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-meteor\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
+#: MeteorPlugin.php:115
+#, php-format
+msgid "Couldn't connect to %1$s on %2$s."
+msgstr "Impossible de se connecter à %1$s sur le port %2$s."
+
+#. TRANS: Exception. %s is the Meteor message that could not be added.
+#: MeteorPlugin.php:128
+#, php-format
+msgid "Error adding meteor message \"%s\""
+msgstr "Erreur lors de l’ajout d'un message du message meteor « %s »"
+
+#: MeteorPlugin.php:158
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Extension pour réaliser des mises à jour « en temps réel » en utilisant Comet/"
+"Bayeux."
diff --git a/plugins/Meteor/locale/ia/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/ia/LC_MESSAGES/Meteor.po
new file mode 100644
index 000000000..0344b551f
--- /dev/null
+++ b/plugins/Meteor/locale/ia/LC_MESSAGES/Meteor.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Meteor to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Meteor\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-meteor\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
+#: MeteorPlugin.php:115
+#, php-format
+msgid "Couldn't connect to %1$s on %2$s."
+msgstr "Non poteva connecter a %1$s sur %2$s."
+
+#. TRANS: Exception. %s is the Meteor message that could not be added.
+#: MeteorPlugin.php:128
+#, php-format
+msgid "Error adding meteor message \"%s\""
+msgstr "Error durante le addition del message Meteor \"%s\""
+
+#: MeteorPlugin.php:158
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr "Plug-in pro facer actualisationes \"in directo\" usante Comet/Bayeux."
diff --git a/plugins/Meteor/locale/mk/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/mk/LC_MESSAGES/Meteor.po
new file mode 100644
index 000000000..b5ca82b69
--- /dev/null
+++ b/plugins/Meteor/locale/mk/LC_MESSAGES/Meteor.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Meteor to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Meteor\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-meteor\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
+#: MeteorPlugin.php:115
+#, php-format
+msgid "Couldn't connect to %1$s on %2$s."
+msgstr "Не можев да се поврзам со %1$s на %2$s."
+
+#. TRANS: Exception. %s is the Meteor message that could not be added.
+#: MeteorPlugin.php:128
+#, php-format
+msgid "Error adding meteor message \"%s\""
+msgstr "Грешка при додавање на Meteor-овата порака „%s“"
+
+#: MeteorPlugin.php:158
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr "Приклучок за вршење на поднови „во живо“ со Comet/Bayeux."
diff --git a/plugins/Meteor/locale/nl/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/nl/LC_MESSAGES/Meteor.po
new file mode 100644
index 000000000..65f98c24b
--- /dev/null
+++ b/plugins/Meteor/locale/nl/LC_MESSAGES/Meteor.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Meteor to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Meteor\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-meteor\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
+#: MeteorPlugin.php:115
+#, php-format
+msgid "Couldn't connect to %1$s on %2$s."
+msgstr "Het was niet mogelijk te verbinden met %1$s op %2$s."
+
+#. TRANS: Exception. %s is the Meteor message that could not be added.
+#: MeteorPlugin.php:128
+#, php-format
+msgid "Error adding meteor message \"%s\""
+msgstr "Fout bij het toevoegen van meteorbericht \"%s\""
+
+#: MeteorPlugin.php:158
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr "Plug-in voor het maken van \"real time\" updates via Comet/Bayeux."
diff --git a/plugins/Meteor/locale/tl/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/tl/LC_MESSAGES/Meteor.po
new file mode 100644
index 000000000..cd5a4f206
--- /dev/null
+++ b/plugins/Meteor/locale/tl/LC_MESSAGES/Meteor.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - Meteor to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Meteor\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-meteor\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
+#: MeteorPlugin.php:115
+#, php-format
+msgid "Couldn't connect to %1$s on %2$s."
+msgstr "Hindi makaugnay sa %1$s sa %2$s."
+
+#. TRANS: Exception. %s is the Meteor message that could not be added.
+#: MeteorPlugin.php:128
+#, php-format
+msgid "Error adding meteor message \"%s\""
+msgstr "Kamalian sa pagdaragdag ng mensahe ng meteor na \"%s\""
+
+#: MeteorPlugin.php:158
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Pamasak upang makagawa ng mga pagsasapanahong nasa \"tunay na panahon\" na "
+"gimagamitan ng Comet/Bayeux."
diff --git a/plugins/Meteor/locale/uk/LC_MESSAGES/Meteor.po b/plugins/Meteor/locale/uk/LC_MESSAGES/Meteor.po
new file mode 100644
index 000000000..de5c31d72
--- /dev/null
+++ b/plugins/Meteor/locale/uk/LC_MESSAGES/Meteor.po
@@ -0,0 +1,41 @@
+# Translation of StatusNet - Meteor to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Meteor\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-meteor\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Exception. %1$s is the control server, %2$s is the control port.
+#: MeteorPlugin.php:115
+#, php-format
+msgid "Couldn't connect to %1$s on %2$s."
+msgstr "Не вдається підключитися до %1$s на %2$s."
+
+#. TRANS: Exception. %s is the Meteor message that could not be added.
+#: MeteorPlugin.php:128
+#, php-format
+msgid "Error adding meteor message \"%s\""
+msgstr "Помилка при додаванні швидкого повідомлення «%s»"
+
+#: MeteorPlugin.php:158
+msgid "Plugin to do \"real time\" updates using Comet/Bayeux."
+msgstr ""
+"Додаток для оновлення стрічки повідомлень у «реальному часі» використовуючи "
+"Comet/Bayeux."
diff --git a/plugins/Minify/MinifyPlugin.php b/plugins/Minify/MinifyPlugin.php
index afe6edf5f..cfed0779b 100644
--- a/plugins/Minify/MinifyPlugin.php
+++ b/plugins/Minify/MinifyPlugin.php
@@ -51,7 +51,6 @@ class MinifyPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onStartInitializeRouter($m)
{
$m->connect('main/min',
@@ -177,8 +176,7 @@ class MinifyPlugin extends Plugin
'author' => 'Craig Andrews',
'homepage' => 'http://status.net/wiki/Plugin:Minify',
'rawdescription' =>
- _m('The Minify plugin minifies your CSS and Javascript, removing whitespace and comments.'));
+ _m('The Minify plugin minifies StatusNet\'s CSS and JavaScript, removing whitespace and comments.'));
return true;
}
}
-
diff --git a/plugins/Minify/locale/Minify.pot b/plugins/Minify/locale/Minify.pot
index 6f7372d40..1323e4436 100644
--- a/plugins/Minify/locale/Minify.pot
+++ b/plugins/Minify/locale/Minify.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,8 +16,20 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr ""
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr ""
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr ""
+
#: MinifyPlugin.php:179
msgid ""
-"The Minify plugin minifies your CSS and Javascript, removing whitespace and "
-"comments."
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
msgstr ""
diff --git a/plugins/Minify/locale/fr/LC_MESSAGES/Minify.po b/plugins/Minify/locale/fr/LC_MESSAGES/Minify.po
new file mode 100644
index 000000000..8fa40c082
--- /dev/null
+++ b/plugins/Minify/locale/fr/LC_MESSAGES/Minify.po
@@ -0,0 +1,42 @@
+# Translation of StatusNet - Minify to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Minify\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-minify\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr "Le paramètre « f » ne contient pas un chemin valide."
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr "Le paramètre « f » est nécessaire mais absent."
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr "Type de fichier non pris en charge."
+
+#: MinifyPlugin.php:179
+msgid ""
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
+msgstr ""
+"Le greffon Minify minimise vos CSS et Javascript, en supprimant les espaces "
+"et les commentaires."
diff --git a/plugins/Minify/locale/ia/LC_MESSAGES/Minify.po b/plugins/Minify/locale/ia/LC_MESSAGES/Minify.po
new file mode 100644
index 000000000..93d1af8b5
--- /dev/null
+++ b/plugins/Minify/locale/ia/LC_MESSAGES/Minify.po
@@ -0,0 +1,42 @@
+# Translation of StatusNet - Minify to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Minify\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-minify\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr "Le parametro \"f\" non es un cammino valide."
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr "Le parametro \"f\" es necessari, ma manca."
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr "Typo de file non supportate."
+
+#: MinifyPlugin.php:179
+msgid ""
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
+msgstr ""
+"Le plug-in Minify minimisa le CSS e JavaScript de StatusNet, removente "
+"spatio blanc e commentos."
diff --git a/plugins/Minify/locale/mk/LC_MESSAGES/Minify.po b/plugins/Minify/locale/mk/LC_MESSAGES/Minify.po
new file mode 100644
index 000000000..09bc7d07d
--- /dev/null
+++ b/plugins/Minify/locale/mk/LC_MESSAGES/Minify.po
@@ -0,0 +1,42 @@
+# Translation of StatusNet - Minify to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Minify\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-minify\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr "Параметарот „f“ не претставува важечка патека."
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr "Параметарот „f“ е задолжителен, но недостасува."
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr "Овој топ на податотека не е поддржан."
+
+#: MinifyPlugin.php:179
+msgid ""
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
+msgstr ""
+"Приклучокот Minify ги смалува CSS и JavaScript на StatusNet, отстранувајќи "
+"бели простори и коментари."
diff --git a/plugins/Minify/locale/nl/LC_MESSAGES/Minify.po b/plugins/Minify/locale/nl/LC_MESSAGES/Minify.po
new file mode 100644
index 000000000..e3ab34b14
--- /dev/null
+++ b/plugins/Minify/locale/nl/LC_MESSAGES/Minify.po
@@ -0,0 +1,42 @@
+# Translation of StatusNet - Minify to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Minify\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:56+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-minify\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr "De parameter \"f\" is geen geldig pad."
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr "De parameter \"f\" is vereist, maar ontbreekt."
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr "Dit bestandstype wordt niet ondersteund"
+
+#: MinifyPlugin.php:179
+msgid ""
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
+msgstr ""
+"De plug-in Minify maakt CSS en JavaScript kleiner door witruimte en "
+"opmerkingen te verwijderen."
diff --git a/plugins/Minify/locale/tl/LC_MESSAGES/Minify.po b/plugins/Minify/locale/tl/LC_MESSAGES/Minify.po
new file mode 100644
index 000000000..a46b798a1
--- /dev/null
+++ b/plugins/Minify/locale/tl/LC_MESSAGES/Minify.po
@@ -0,0 +1,42 @@
+# Translation of StatusNet - Minify to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Minify\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:57+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-minify\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr "Ang parametrong \"f\" ay hindi isang tanggap na landas."
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr "Ang parametrong \"f\" ay kailangan ngunit nawawala."
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr "Hindi tinatangkilik ang uri ng talaksan."
+
+#: MinifyPlugin.php:179
+msgid ""
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
+msgstr ""
+"Ang pamasak na Minify ay nagpapaliit sa CSS at JavaScript ng StatusNet, na "
+"nagtatanggal ng puting puwang at mga puna."
diff --git a/plugins/Minify/locale/uk/LC_MESSAGES/Minify.po b/plugins/Minify/locale/uk/LC_MESSAGES/Minify.po
new file mode 100644
index 000000000..028c3dcbf
--- /dev/null
+++ b/plugins/Minify/locale/uk/LC_MESSAGES/Minify.po
@@ -0,0 +1,43 @@
+# Translation of StatusNet - Minify to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Minify\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:57+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:56+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-minify\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: minify.php:49
+msgid "The parameter \"f\" is not a valid path."
+msgstr "Параметр «f» не є правильним шляхом."
+
+#: minify.php:53
+msgid "The parameter \"f\" is required but missing."
+msgstr "Параметр «f» має бути зазначено, але він відсутній."
+
+#: minify.php:111
+msgid "File type not supported."
+msgstr "Тип файлу не підтримується."
+
+#: MinifyPlugin.php:179
+msgid ""
+"The Minify plugin minifies StatusNet's CSS and JavaScript, removing "
+"whitespace and comments."
+msgstr ""
+"Додаток Minify мінімізує CSS та JavaScript сайту StatusNet, усуваючи "
+"пропуски і коментарі."
diff --git a/plugins/Minify/minify.php b/plugins/Minify/minify.php
index bac1df8e2..e012a4027 100644
--- a/plugins/Minify/minify.php
+++ b/plugins/Minify/minify.php
@@ -46,11 +46,11 @@ class MinifyAction extends Action
if(file_exists($this->file)) {
return true;
} else {
- $this->clientError(_('f parameter is not a valid path'),404);
+ $this->clientError(_m('The parameter "f" is not a valid path.'),404);
return false;
}
}else{
- $this->clientError(_('f parameter is required'),500);
+ $this->clientError(_m('The parameter "f" is required but missing.'),500);
return false;
}
}
@@ -108,10 +108,9 @@ class MinifyAction extends Action
header('Content-Type: ' . self::TYPE_CSS);
break;
default:
- $this->clientError(_('File type not supported'),500);
+ $this->clientError(_m('File type not supported.'),500);
return false;
}
return $out;
}
}
-
diff --git a/plugins/MobileProfile/MobileProfilePlugin.php b/plugins/MobileProfile/MobileProfilePlugin.php
index 72a6a04fb..b042bf7ed 100644
--- a/plugins/MobileProfile/MobileProfilePlugin.php
+++ b/plugins/MobileProfile/MobileProfilePlugin.php
@@ -36,7 +36,6 @@ define('PAGE_TYPE_PREFS_MOBILEPROFILE',
require_once INSTALLDIR.'/plugins/Mobile/WAP20Plugin.php';
-
/**
* Superclass for plugin to output XHTML Mobile Profile
*
@@ -46,7 +45,6 @@ require_once INSTALLDIR.'/plugins/Mobile/WAP20Plugin.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class MobileProfilePlugin extends WAP20Plugin
{
public $DTD = null;
@@ -60,14 +58,13 @@ class MobileProfilePlugin extends WAP20Plugin
parent::__construct();
}
-
function onStartShowHTML($action)
{
// XXX: This should probably graduate to WAP20Plugin
// If they are on the mobile site, serve them MP
if ((common_config('site', 'mobileserver').'/'.
- common_config('site', 'path').'/' ==
+ common_config('site', 'path').'/' ==
$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'])) {
$this->serveMobile = true;
@@ -78,18 +75,18 @@ class MobileProfilePlugin extends WAP20Plugin
//if (strstr('application/vnd.wap.xhtml+xml', $type) !== false) {
// $this->serveMobile = true;
//} else {
- // If they are a mobile device that supports WAP 2.0,
+ // If they are a mobile device that supports WAP 2.0,
// serve them MP
// XXX: Browser sniffing sucks
- // I really don't like going through this every page,
+ // I really don't like going through this every page,
// perhaps use $_SESSION or cookies
- // May be better to group the devices in terms of
+ // May be better to group the devices in terms of
// low,mid,high-end
- // Or, detect the mobile devices based on their support for
+ // Or, detect the mobile devices based on their support for
// MP 1.0, 1.1, or 1.2 may be ideal. Possible?
$this->mobiledevices = array(
@@ -165,11 +162,11 @@ class MobileProfilePlugin extends WAP20Plugin
}
//}
- // If they are okay with MP, and the site has a mobile server,
+ // If they are okay with MP, and the site has a mobile server,
// redirect there
- if ($this->serveMobile &&
+ if ($this->serveMobile &&
common_config('site', 'mobileserver') !== false &&
- (common_config('site', 'mobileserver') !=
+ (common_config('site', 'mobileserver') !=
common_config('site', 'server'))) {
// FIXME: Redirect to equivalent page on mobile site instead
@@ -193,8 +190,8 @@ class MobileProfilePlugin extends WAP20Plugin
$type = common_negotiate_type($cp, $sp);
if (!$type) {
- throw new ClientException(_('This page is not available in a '.
- 'media type you accept'), 406);
+ throw new ClientException(_m('This page is not available in a '.
+ 'media type you accept.'), 406);
}
//}
@@ -217,7 +214,6 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function setMobileFeatures($useragent)
{
$mobiledeviceInputFileType = array(
@@ -234,7 +230,6 @@ class MobileProfilePlugin extends WAP20Plugin
}
}
-
function onStartShowStatusNetStyles($action)
{
if (!$this->serveMobile) {
@@ -262,7 +257,6 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function onStartShowUAStyles($action) {
if (!$this->serveMobile) {
return true;
@@ -288,18 +282,17 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function _showLogo($action)
{
$action->elementStart('address', 'vcard');
$action->elementStart('a', array('class' => 'url home bookmark',
'href' => common_local_url('public')));
- if (common_config('site', 'mobilelogo') ||
- file_exists(Theme::file('logo.png')) ||
+ if (common_config('site', 'mobilelogo') ||
+ file_exists(Theme::file('logo.png')) ||
file_exists(Theme::file('mobilelogo.png'))) {
$action->element('img', array('class' => 'photo',
- 'src' => (common_config('site', 'mobilelogo')) ? common_config('site', 'mobilelogo') :
+ 'src' => (common_config('site', 'mobilelogo')) ? common_config('site', 'mobilelogo') :
((file_exists(Theme::file('mobilelogo.png'))) ? (Theme::path('mobilelogo.png')) : Theme::path('logo.png')),
'alt' => common_config('site', 'name')));
}
@@ -308,44 +301,42 @@ class MobileProfilePlugin extends WAP20Plugin
$action->elementEnd('address');
}
-
function _showPrimaryNav($action)
{
$user = common_current_user();
$action->elementStart('ul', array('id' => 'site_nav_global_primary'));
if ($user) {
$action->menuItem(common_local_url('all', array('nickname' => $user->nickname)),
- _('Home'));
+ _m('Home'));
$action->menuItem(common_local_url('profilesettings'),
- _('Account'));
+ _m('Account'));
$action->menuItem(common_local_url('oauthconnectionssettings'),
- _('Connect'));
+ _m('Connect'));
if ($user->hasRight(Right::CONFIGURESITE)) {
$action->menuItem(common_local_url('siteadminpanel'),
- _('Admin'), _('Change site configuration'), false, 'nav_admin');
+ _m('Admin'), _m('Change site configuration'), false, 'nav_admin');
}
if (common_config('invite', 'enabled')) {
$action->menuItem(common_local_url('invite'),
- _('Invite'));
+ _m('Invite'));
}
$action->menuItem(common_local_url('logout'),
- _('Logout'));
+ _m('Logout'));
} else {
if (!common_config('site', 'closed')) {
$action->menuItem(common_local_url('register'),
- _('Register'));
+ _m('Register'));
}
$action->menuItem(common_local_url('login'),
- _('Login'));
+ _m('Login'));
}
if ($user || !common_config('site', 'private')) {
$action->menuItem(common_local_url('peoplesearch'),
- _('Search'));
+ _m('Search'));
}
$action->elementEnd('ul');
}
-
function onStartShowNoticeFormData($form)
{
if (!$this->serveMobile) {
@@ -367,11 +358,11 @@ class MobileProfilePlugin extends WAP20Plugin
if (common_config('attachments', 'uploads')) {
if ($this->mobileFeatures['inputfiletype']) {
- $form->out->element('label', array('for' => 'notice_data-attach'), _('Attach'));
+ $form->out->element('label', array('for' => 'notice_data-attach'), _m('Attach'));
$form->out->element('input', array('id' => 'notice_data-attach',
'type' => 'file',
'name' => 'attach',
- 'title' => _('Attach a file')));
+ 'title' => _m('Attach a file')));
$form->out->hidden('MAX_FILE_SIZE', common_config('attachments', 'file_quota'));
}
}
@@ -383,7 +374,6 @@ class MobileProfilePlugin extends WAP20Plugin
return false;
}
-
function onStartShowAside($action)
{
if ($this->serveMobile) {
@@ -391,13 +381,11 @@ class MobileProfilePlugin extends WAP20Plugin
}
}
-
function onStartShowScripts($action)
{
}
-
function _common_path($relative, $ssl=false)
{
$pathpart = (common_config('site', 'path')) ? common_config('site', 'path')."/" : '';
diff --git a/plugins/MobileProfile/locale/MobileProfile.pot b/plugins/MobileProfile/locale/MobileProfile.pot
index 9495e975b..9af3c011b 100644
--- a/plugins/MobileProfile/locale/MobileProfile.pot
+++ b/plugins/MobileProfile/locale/MobileProfile.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,6 +16,58 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: MobileProfilePlugin.php:424
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr ""
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr ""
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr ""
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr ""
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr ""
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr ""
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr ""
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr ""
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr ""
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr ""
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr ""
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr ""
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr ""
+
+#: MobileProfilePlugin.php:417
msgid "XHTML MobileProfile output for supporting user agents."
msgstr ""
diff --git a/plugins/MobileProfile/locale/br/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/br/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..e735e59f6
--- /dev/null
+++ b/plugins/MobileProfile/locale/br/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,78 @@
+# Translation of StatusNet - MobileProfile to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Gwendal
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr ""
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Degemer"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Kont"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "Kevreañ"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Merour"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Kemmañ arventennoù al lec'hienn"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Pediñ"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Digevreañ"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "Marilhañ"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Kevreañ"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Klask"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Stagañ"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Stagañ ur restr"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr ""
diff --git a/plugins/MobileProfile/locale/fr/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/fr/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..ce7b1a22f
--- /dev/null
+++ b/plugins/MobileProfile/locale/fr/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,80 @@
+# Translation of StatusNet - MobileProfile to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr ""
+"Cette page n’est pas disponible dans un des types de média que vous acceptez."
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Accueil"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Compte"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "Connexion"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Administrateur"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Modifier la configuration du site"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Inviter"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Déconnexion"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "S’inscrire"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Connexion"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Rechercher"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Joindre"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Joindre un fichier"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr "Sortie XHTML MobileProfile pour les navigateurs compatibles."
diff --git a/plugins/MobileProfile/locale/ia/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/ia/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..356f52297
--- /dev/null
+++ b/plugins/MobileProfile/locale/ia/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,80 @@
+# Translation of StatusNet - MobileProfile to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr "Iste pagina non es disponibile in un formato que tu accepta."
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Initio"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Conto"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "Connecter"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Admin"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Modificar le configuration del sito"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Invitar"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Clauder session"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "Crear conto"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Aperir session"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Cercar"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Annexar"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Annexar un file"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr ""
+"Production de XHTML MobileProfile pro le programmas de usator que lo "
+"supporta."
diff --git a/plugins/MobileProfile/locale/mk/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/mk/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..08a6c5a1d
--- /dev/null
+++ b/plugins/MobileProfile/locale/mk/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,78 @@
+# Translation of StatusNet - MobileProfile to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr "Страницава не е достапна во форматот кој Вие го прифаќате."
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Почетна"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Сметка"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "Поврзи се"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Администратор"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Промена на поставките на мрежното место"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Покани"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Одјава"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "Регистрација"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Најава"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Пребарај"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Приложи"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Приложи податотека"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr "Излез „XHTML MobileProfile“ за поддршка на кориснички агенти."
diff --git a/plugins/MobileProfile/locale/nl/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/nl/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..772eea0f6
--- /dev/null
+++ b/plugins/MobileProfile/locale/nl/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,81 @@
+# Translation of StatusNet - MobileProfile to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr "Deze pagina is niet beschikbaar in een mediumtype dat u accepteert."
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Hoofdmenu"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Gebruiker"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "Koppelen"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Beheer"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Websiteinstellingen wijzigen"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Uitnodigen"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Afmelden"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "Registreren"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Aanmelden"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Zoeken"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Toevoegen"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Bestand toevoegen"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr ""
+"Uitvoer in MobileProfile XHTML voor de gebruikersprogramma's die dat "
+"ondersteunen."
diff --git a/plugins/MobileProfile/locale/ru/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/ru/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..40c4819d9
--- /dev/null
+++ b/plugins/MobileProfile/locale/ru/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,79 @@
+# Translation of StatusNet - MobileProfile to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr "Страница недоступна для того типа, который вы задействовали."
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Домой"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Аккаунт"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "Подключиться"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Администратор"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Изменить конфигурацию сайта"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Пригласить"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Выйти"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "Регистрация"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Представиться"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Поиск"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Прикрепить"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Прикрепить файл"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr ""
diff --git a/plugins/MobileProfile/locale/tl/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/tl/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..e427905a6
--- /dev/null
+++ b/plugins/MobileProfile/locale/tl/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,80 @@
+# Translation of StatusNet - MobileProfile to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr "Ang pahinang ito ay hindi makukuha sa uri ng midya na tinanggap mo."
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Tahanan"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Akawnt"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "Umugnay"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Tagapangasiwa"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Baguhin ang pagkakaayos ng sityo"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Anyayahan"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Umalis sa pagkakalagda"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "Magpatala"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Lumagda"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Humanap"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Ilakip"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Maglakip ng isang talaksan"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr ""
+"Mga paglalabas na XHTML na MobileProfile para sa pagtataguyo ng mga ahente "
+"ng tagagamit."
diff --git a/plugins/MobileProfile/locale/uk/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/uk/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..e76dd223f
--- /dev/null
+++ b/plugins/MobileProfile/locale/uk/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,80 @@
+# Translation of StatusNet - MobileProfile to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr "Ця сторінка не доступна для того типу медіа, з яким ви погодились."
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr "Дім"
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "Акаунт"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "З’єднання"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "Адмін"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "Змінити конфігурацію сайту"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "Запросити"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "Вийти"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "Реєстрація"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "Увійти"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "Пошук"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "Вкласти"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "Вкласти файл"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr ""
+"Додаток MobileProfile генерує XHTML прийнятний для мобільних пристроїв."
diff --git a/plugins/MobileProfile/locale/zh_CN/LC_MESSAGES/MobileProfile.po b/plugins/MobileProfile/locale/zh_CN/LC_MESSAGES/MobileProfile.po
new file mode 100644
index 000000000..123ed6a1a
--- /dev/null
+++ b/plugins/MobileProfile/locale/zh_CN/LC_MESSAGES/MobileProfile.po
@@ -0,0 +1,79 @@
+# Translation of StatusNet - MobileProfile to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - MobileProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-mobileprofile\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: MobileProfilePlugin.php:193
+msgid "This page is not available in a media type you accept."
+msgstr ""
+
+#: MobileProfilePlugin.php:310
+msgid "Home"
+msgstr ""
+
+#: MobileProfilePlugin.php:312
+msgid "Account"
+msgstr "账号"
+
+#: MobileProfilePlugin.php:314
+msgid "Connect"
+msgstr "关联"
+
+#: MobileProfilePlugin.php:317
+msgid "Admin"
+msgstr "管理"
+
+#: MobileProfilePlugin.php:317
+msgid "Change site configuration"
+msgstr "更改网站配置"
+
+#: MobileProfilePlugin.php:321
+msgid "Invite"
+msgstr "邀请"
+
+#: MobileProfilePlugin.php:324
+msgid "Logout"
+msgstr "登出"
+
+#: MobileProfilePlugin.php:328
+msgid "Register"
+msgstr "注册"
+
+#: MobileProfilePlugin.php:331
+msgid "Login"
+msgstr "登录"
+
+#: MobileProfilePlugin.php:335
+msgid "Search"
+msgstr "搜索"
+
+#: MobileProfilePlugin.php:361
+msgid "Attach"
+msgstr "附件"
+
+#: MobileProfilePlugin.php:365
+msgid "Attach a file"
+msgstr "添加一个文件附件"
+
+#: MobileProfilePlugin.php:417
+msgid "XHTML MobileProfile output for supporting user agents."
+msgstr ""
diff --git a/plugins/NoticeTitle/NoticeTitlePlugin.php b/plugins/NoticeTitle/NoticeTitlePlugin.php
index 9f53173db..269f06189 100644
--- a/plugins/NoticeTitle/NoticeTitlePlugin.php
+++ b/plugins/NoticeTitle/NoticeTitlePlugin.php
@@ -51,6 +51,12 @@ define('NOTICE_TITLE_PLUGIN_VERSION', '0.1');
class NoticeTitlePlugin extends Plugin
{
+
+ // By default, notice-title widget will be available to all users.
+ // With restricted on, only users who have been granted the
+ // "richedit" role get it.
+ public $restricted = false;
+
/**
* Database schema setup
*
@@ -123,7 +129,7 @@ class NoticeTitlePlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => $url,
'rawdescription' =>
- _m('Adds optional titles to notices'));
+ _m('Adds optional titles to notices.'));
return true;
}
@@ -137,14 +143,16 @@ class NoticeTitlePlugin extends Plugin
function onStartShowNoticeFormData($form)
{
- $form->out->element('style',
- null,
- 'label#notice_data-text-label { display: none }');
- $form->out->element('input', array('type' => 'text',
- 'id' => 'notice_title',
- 'name' => 'notice_title',
- 'size' => 40,
- 'maxlength' => Notice_title::MAXCHARS));
+ if ($this->isAllowedRichEdit()) {
+ $form->out->element('style',
+ null,
+ 'label#notice_data-text-label { display: none }');
+ $form->out->element('input', array('type' => 'text',
+ 'id' => 'notice_title',
+ 'name' => 'notice_title',
+ 'size' => 40,
+ 'maxlength' => Notice_title::MAXCHARS));
+ }
return true;
}
@@ -162,9 +170,9 @@ class NoticeTitlePlugin extends Plugin
function onStartNoticeSaveWeb($action, &$authorId, &$text, &$options)
{
$title = $action->trimmed('notice_title');
- if (!empty($title)) {
+ if (!empty($title) && $this->isAllowedRichEdit()) {
if (mb_strlen($title) > Notice_title::MAXCHARS) {
- throw new Exception(sprintf(_m("Notice title too long (max %d)",
+ throw new Exception(sprintf(_m("The notice title is too long (max %d characters).",
Notice_title::MAXCHARS)));
}
}
@@ -186,7 +194,7 @@ class NoticeTitlePlugin extends Plugin
$title = $action->trimmed('notice_title');
- if (!empty($title)) {
+ if (!empty($title) && $this->isAllowedRichEdit()) {
$nt = new Notice_title();
@@ -296,7 +304,7 @@ class NoticeTitlePlugin extends Plugin
if (!empty($title)) {
$action->element('title', null,
// TRANS: Page title. %1$s is the title, %2$s is the site name.
- sprintf(_("%1\$s - %2\$s"),
+ sprintf(_m("%1\$s - %2\$s"),
$title,
common_config('site', 'name')));
}
@@ -327,5 +335,24 @@ class NoticeTitlePlugin extends Plugin
return true;
}
-}
+ /**
+ * Does the current user have permission to use the notice-title widget?
+ * Always true unless the plugin's "restricted" setting is on, in which
+ * case it's limited to users with the "richedit" role.
+ *
+ * @fixme make that more sanely configurable :)
+ *
+ * @return boolean
+ */
+ private function isAllowedRichEdit()
+ {
+ if ($this->restricted) {
+ $user = common_current_user();
+ return !empty($user) && $user->hasRole('richedit');
+ } else {
+ return true;
+ }
+ }
+
+}
diff --git a/plugins/NoticeTitle/locale/NoticeTitle.pot b/plugins/NoticeTitle/locale/NoticeTitle.pot
new file mode 100644
index 000000000..6a3ac86f2
--- /dev/null
+++ b/plugins/NoticeTitle/locale/NoticeTitle.pot
@@ -0,0 +1,27 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr ""
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr ""
diff --git a/plugins/NoticeTitle/locale/br/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/br/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..a2c5b823d
--- /dev/null
+++ b/plugins/NoticeTitle/locale/br/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr ""
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
diff --git a/plugins/NoticeTitle/locale/fr/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/fr/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..c13b48b66
--- /dev/null
+++ b/plugins/NoticeTitle/locale/fr/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr "Ajoute des titres optionnels aux avis."
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s — %2$s"
diff --git a/plugins/NoticeTitle/locale/ia/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/ia/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..ae75c1f55
--- /dev/null
+++ b/plugins/NoticeTitle/locale/ia/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr "Adde optional titulos a notas."
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
diff --git a/plugins/NoticeTitle/locale/mk/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/mk/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..6fe2084e6
--- /dev/null
+++ b/plugins/NoticeTitle/locale/mk/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr "Додава наслови на забелешките (по избор)."
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
diff --git a/plugins/NoticeTitle/locale/nb/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/nb/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..c7309d847
--- /dev/null
+++ b/plugins/NoticeTitle/locale/nb/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr "Legger valgfrie titler til notiser."
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
diff --git a/plugins/NoticeTitle/locale/nl/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/nl/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..6881e630f
--- /dev/null
+++ b/plugins/NoticeTitle/locale/nl/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr "Voegt optioneel titels toe aan mededelingen."
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
diff --git a/plugins/NoticeTitle/locale/te/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/te/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..b098f20b5
--- /dev/null
+++ b/plugins/NoticeTitle/locale/te/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to Telugu (తెలుగు)
+# Expored from translatewiki.net
+#
+# Author: Veeven
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Telugu <http://translatewiki.net/wiki/Portal:te>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: te\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr ""
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s - %2$s"
diff --git a/plugins/NoticeTitle/locale/tl/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/tl/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..fd0831302
--- /dev/null
+++ b/plugins/NoticeTitle/locale/tl/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - NoticeTitle to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr "Nagdaragdag ng maaaring wala na mga pamagat sa mga pabatid."
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr " %1$s - %2$s"
diff --git a/plugins/NoticeTitle/locale/uk/LC_MESSAGES/NoticeTitle.po b/plugins/NoticeTitle/locale/uk/LC_MESSAGES/NoticeTitle.po
new file mode 100644
index 000000000..ad4445d97
--- /dev/null
+++ b/plugins/NoticeTitle/locale/uk/LC_MESSAGES/NoticeTitle.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - NoticeTitle to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - NoticeTitle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:58+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-noticetitle\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: NoticeTitlePlugin.php:132
+msgid "Adds optional titles to notices."
+msgstr "Додавати до повідомлень необов’язкові заголовки."
+
+#. TRANS: Page title. %1$s is the title, %2$s is the site name.
+#: NoticeTitlePlugin.php:307
+#, php-format
+msgid "%1$s - %2$s"
+msgstr "%1$s — %2$s"
diff --git a/plugins/OStatus/OStatusPlugin.php b/plugins/OStatus/OStatusPlugin.php
index dd1509954..601243b42 100644
--- a/plugins/OStatus/OStatusPlugin.php
+++ b/plugins/OStatus/OStatusPlugin.php
@@ -221,6 +221,7 @@ class OStatusPlugin extends Plugin
array('nickname' => $profile->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
+ // TRANS: Link description for link to subscribe to a remote user.
_m('Subscribe'));
$output->elementEnd('li');
@@ -239,6 +240,7 @@ class OStatusPlugin extends Plugin
array('group' => $group->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
+ // TRANS: Link description for link to join a remote group.
_m('Join'));
}
@@ -451,6 +453,7 @@ class OStatusPlugin extends Plugin
}
$url = $notice->url;
+ // TRANSLATE: %s is a domain.
$title = sprintf(_m("Sent from %s via OStatus"), $domain);
return false;
}
@@ -522,6 +525,7 @@ class OStatusPlugin extends Plugin
}
if (!$oprofile->subscribe()) {
+ // TRANS: Exception.
throw new Exception(_m('Could not set up remote subscription.'));
}
}
@@ -551,25 +555,10 @@ class OStatusPlugin extends Plugin
return true;
}
- $act = new Activity();
-
- $act->verb = ActivityVerb::FOLLOW;
-
- $act->id = TagURI::mint('follow:%d:%d:%s',
- $subscriber->id,
- $other->id,
- common_date_iso8601(time()));
-
- $act->time = time();
- $act->title = _("Follow");
- // TRANS: Success message for subscribe to user attempt through OStatus.
- // TRANS: %1$s is the subscriber name, %2$s is the subscribed user's name.
- $act->content = sprintf(_("%1$s is now following %2$s."),
- $subscriber->getBestName(),
- $other->getBestName());
+ $sub = Subscription::pkeyGet(array('subscriber' => $subscriber->id,
+ 'subscribed' => $other->id));
- $act->actor = ActivityObject::fromProfile($subscriber);
- $act->object = ActivityObject::fromProfile($other);
+ $act = $sub->asActivity();
$oprofile->notifyActivity($act, $subscriber);
@@ -611,10 +600,10 @@ class OStatusPlugin extends Plugin
common_date_iso8601(time()));
$act->time = time();
- $act->title = _("Unfollow");
+ $act->title = _m('Unfollow');
// TRANS: Success message for unsubscribe from user attempt through OStatus.
// TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
- $act->content = sprintf(_("%1$s stopped following %2$s."),
+ $act->content = sprintf(_m('%1$s stopped following %2$s.'),
$profile->getBestName(),
$other->getBestName());
@@ -645,6 +634,9 @@ class OStatusPlugin extends Plugin
throw new Exception(_m('Could not set up remote group membership.'));
}
+ // NOTE: we don't use Group_member::asActivity() since that record
+ // has not yet been created.
+
$member = Profile::staticGet($user->id);
$act = new Activity();
@@ -669,6 +661,7 @@ class OStatusPlugin extends Plugin
return true;
} else {
$oprofile->garbageCollect();
+ // TRANS: Exception.
throw new Exception(_m("Failed joining remote group."));
}
}
@@ -727,7 +720,6 @@ class OStatusPlugin extends Plugin
* @param Notice $notice being favored
* @return hook return value
*/
-
function onEndFavorNotice(Profile $profile, Notice $notice)
{
$user = User::staticGet('id', $profile->id);
@@ -742,24 +734,15 @@ class OStatusPlugin extends Plugin
return true;
}
- $act = new Activity();
+ $fav = Fave::pkeyGet(array('user_id' => $user->id,
+ 'notice_id' => $notice->id));
- $act->verb = ActivityVerb::FAVORITE;
- $act->id = TagURI::mint('favor:%d:%d:%s',
- $profile->id,
- $notice->id,
- common_date_iso8601(time()));
+ if (empty($fav)) {
+ // That's weird.
+ return true;
+ }
- $act->time = time();
- $act->title = _("Favor");
- // TRANS: Success message for adding a favorite notice through OStatus.
- // TRANS: %1$s is the favoring user's name, %2$s is URI to the favored notice.
- $act->content = sprintf(_("%1$s marked notice %2$s as a favorite."),
- $profile->getBestName(),
- $notice->uri);
-
- $act->actor = ActivityObject::fromProfile($profile);
- $act->object = ActivityObject::fromNotice($notice);
+ $act = $fav->asActivity();
$oprofile->notifyActivity($act, $profile);
@@ -797,10 +780,10 @@ class OStatusPlugin extends Plugin
$notice->id,
common_date_iso8601(time()));
$act->time = time();
- $act->title = _("Disfavor");
+ $act->title = _m('Disfavor');
// TRANS: Success message for remove a favorite notice through OStatus.
// TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
- $act->content = sprintf(_("%1$s marked notice %2$s as no longer a favorite."),
+ $act->content = sprintf(_m('%1$s marked notice %2$s as no longer a favorite.'),
$profile->getBestName(),
$notice->uri);
@@ -874,8 +857,9 @@ class OStatusPlugin extends Plugin
$action->elementStart('p', array('id' => 'entity_remote_subscribe',
'class' => 'entity_subscribe'));
$action->element('a', array('href' => common_local_url($target),
- 'class' => 'entity_remote_subscribe')
- , _m('Remote')); // @todo: i18n: Add translator hint for this text.
+ 'class' => 'entity_remote_subscribe'),
+ // TRANS: Link text for link to remote subscribe.
+ _m('Remote'));
$action->elementEnd('p');
$action->elementEnd('div');
}
@@ -914,6 +898,7 @@ class OStatusPlugin extends Plugin
$profile->id,
common_date_iso8601(time()));
$act->time = time();
+ // TRANS: Title for activity.
$act->title = _m("Profile update");
// TRANS: Ping text for remote profile update through OStatus.
// TRANS: %s is user that updated their profile.
@@ -946,7 +931,8 @@ class OStatusPlugin extends Plugin
array('nickname' => $profileUser->nickname));
$output->element('a', array('href' => $url,
'class' => 'entity_remote_subscribe'),
- _m('Subscribe')); // @todo: i18n: Add context.
+ // TRANS: Link text for a user to subscribe to an OStatus user.
+ _m('Subscribe'));
$output->elementEnd('li');
}
}
@@ -960,15 +946,15 @@ class OStatusPlugin extends Plugin
'version' => STATUSNET_VERSION,
'author' => 'Evan Prodromou, James Walker, Brion Vibber, Zach Copley',
'homepage' => 'http://status.net/wiki/Plugin:OStatus',
- 'rawdescription' =>
- _m('Follow people across social networks that implement '.
- '<a href="http://ostatus.org/">OStatus</a>.')); // @todo i18n: Add translator hint.
+ // TRANS: Plugin description.
+ 'rawdescription' => _m('Follow people across social networks that implement '.
+ '<a href="http://ostatus.org/">OStatus</a>.'));
return true;
}
/**
- * Utility function to check if the given URL is a canonical group profile
+ * Utility function to check if the given URI is a canonical group profile
* page, and if so return the ID number.
*
* @param string $url
@@ -976,11 +962,22 @@ class OStatusPlugin extends Plugin
*/
public static function localGroupFromUrl($url)
{
- $template = common_local_url('groupbyid', array('id' => '31337'));
- $template = preg_quote($template, '/');
- $template = str_replace('31337', '(\d+)', $template);
- if (preg_match("/$template/", $url, $matches)) {
- return intval($matches[1]);
+ $group = User_group::staticGet('uri', $url);
+ if ($group) {
+ $local = Local_group::staticGet('id', $group->id);
+ if ($local) {
+ return $group->id;
+ }
+ } else {
+ // To find local groups which haven't had their uri fields filled out...
+ // If the domain has changed since a subscriber got the URI, it'll
+ // be broken.
+ $template = common_local_url('groupbyid', array('id' => '31337'));
+ $template = preg_quote($template, '/');
+ $template = str_replace('31337', '(\d+)', $template);
+ if (preg_match("/$template/", $url, $matches)) {
+ return intval($matches[1]);
+ }
}
return false;
}
diff --git a/plugins/OStatus/actions/groupsalmon.php b/plugins/OStatus/actions/groupsalmon.php
index 5094dccf0..3a3d63fe2 100644
--- a/plugins/OStatus/actions/groupsalmon.php
+++ b/plugins/OStatus/actions/groupsalmon.php
@@ -17,15 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/**
- * @package OStatusPlugin
- * @author James Walker <james@status.net>
- */
-
if (!defined('STATUSNET')) {
exit(1);
}
+/**
+ * @package OStatusPlugin
+ * @author James Walker <james@status.net>
+ */
class GroupsalmonAction extends SalmonAction
{
var $group = null;
@@ -37,17 +36,20 @@ class GroupsalmonAction extends SalmonAction
$id = $this->trimmed('id');
if (!$id) {
- $this->clientError(_('No ID.'));
+ // TRANS: Client error.
+ $this->clientError(_m('No ID.'));
}
$this->group = User_group::staticGet('id', $id);
if (empty($this->group)) {
- $this->clientError(_('No such group.'));
+ // TRANS: Client error.
+ $this->clientError(_m('No such group.'));
}
$oprofile = Ostatus_profile::staticGet('group_id', $id);
if ($oprofile) {
+ // TRANS: Client error.
$this->clientError(_m("Can't accept remote posts for a remote group."));
}
@@ -57,7 +59,6 @@ class GroupsalmonAction extends SalmonAction
/**
* We've gotten a post event on the Salmon backchannel, probably a reply.
*/
-
function handlePost()
{
// @fixme process all objects?
@@ -69,18 +70,20 @@ class GroupsalmonAction extends SalmonAction
case ActivityObject::COMMENT:
break;
default:
+ // TRANS: Client exception.
throw new ClientException("Can't handle that kind of post.");
}
// Notice must be to the attention of this group
-
$context = $this->activity->context;
if (empty($context->attention)) {
+ // TRANS: Client exception.
throw new ClientException("Not to the attention of anyone.");
} else {
$uri = common_local_url('groupbyid', array('id' => $this->group->id));
if (!in_array($uri, $context->attention)) {
+ // TRANS: Client exception.
throw new ClientException("Not to the attention of this group.");
}
}
@@ -116,14 +119,15 @@ class GroupsalmonAction extends SalmonAction
* currently we're doing the main logic in joingroup action
* and so have to repeat it here.
*/
-
function handleJoin()
{
$oprofile = $this->ensureProfile();
if (!$oprofile) {
+ // TRANS: Client error.
$this->clientError(_m("Can't read profile to set up group membership."));
}
if ($oprofile->isGroup()) {
+ // TRANS: Client error.
$this->clientError(_m("Groups can't join groups."));
}
@@ -137,7 +141,7 @@ class GroupsalmonAction extends SalmonAction
}
if (Group_block::isBlocked($this->group, $profile)) {
- $this->clientError(_('You have been blocked from that group by the admin.'), 403);
+ $this->clientError(_m('You have been blocked from that group by the admin.'), 403);
return false;
}
@@ -151,6 +155,7 @@ class GroupsalmonAction extends SalmonAction
//Event::handle('EndJoinGroup', array($this->group, $profile));
//}
} catch (Exception $e) {
+ // TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
$this->serverError(sprintf(_m('Could not join remote user %1$s to group %2$s.'),
$oprofile->uri, $this->group->nickname));
}
@@ -159,7 +164,6 @@ class GroupsalmonAction extends SalmonAction
/**
* A remote user left our group.
*/
-
function handleLeave()
{
$oprofile = $this->ensureProfile();
@@ -180,10 +184,10 @@ class GroupsalmonAction extends SalmonAction
//Event::handle('EndLeaveGroup', array($this->group, $profile));
//}
} catch (Exception $e) {
+ // TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
$this->serverError(sprintf(_m('Could not remove remote user %1$s from group %2$s.'),
$oprofile->uri, $this->group->nickname));
return;
}
}
-
}
diff --git a/plugins/OStatus/actions/ostatusgroup.php b/plugins/OStatus/actions/ostatusgroup.php
index 1861e866f..7db00ffbe 100644
--- a/plugins/OStatus/actions/ostatusgroup.php
+++ b/plugins/OStatus/actions/ostatusgroup.php
@@ -72,13 +72,16 @@ class OStatusGroupAction extends OStatusSubAction
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('profile',
+ // TRANS: Field label.
_m('Join group'),
$this->profile_uri,
+ // TRANS: Tooltip for field label "Join group".
_m("OStatus group's address, like http://example.net/group/nickname."));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('validate', _m('Continue'));
+ // TRANS: Button text.
+ $this->submit('validate', _m('BUTTON','Continue'));
$this->elementEnd('fieldset');
@@ -156,7 +159,6 @@ class OStatusGroupAction extends OStatusSubAction
*
* @return string Title of the page
*/
-
function title()
{
// TRANS: Page title for OStatus remote group join form
@@ -168,9 +170,9 @@ class OStatusGroupAction extends OStatusSubAction
*
* @return instructions for use
*/
-
function getInstructions()
{
+ // TRANS: Instructions.
return _m('You can subscribe to groups from other supported sites. Paste the group\'s profile URI below:');
}
diff --git a/plugins/OStatus/actions/ostatusinit.php b/plugins/OStatus/actions/ostatusinit.php
index 0c991aba9..f576823e3 100644
--- a/plugins/OStatus/actions/ostatusinit.php
+++ b/plugins/OStatus/actions/ostatusinit.php
@@ -27,7 +27,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
class OStatusInitAction extends Action
{
-
var $nickname;
var $group;
var $profile;
@@ -38,6 +37,7 @@ class OStatusInitAction extends Action
parent::prepare($args);
if (common_logged_in()) {
+ // TRANS: Client error.
$this->clientError(_m('You can use the local subscription!'));
return false;
}
@@ -78,6 +78,7 @@ class OStatusInitAction extends Action
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
+ // TRANS: Form title.
$this->element('title', null, _m('Subscribe to user'));
$this->elementEnd('head');
$this->elementStart('body');
@@ -92,11 +93,15 @@ class OStatusInitAction extends Action
function showContent()
{
if ($this->group) {
+ // TRANS: Form legend.
$header = sprintf(_m('Join group %s'), $this->group);
- $submit = _m('Join');
+ // TRANS: Button text.
+ $submit = _m('BUTTON','Join');
} else {
+ // TRANS: Form legend.
$header = sprintf(_m('Subscribe to %s'), $this->nickname);
- $submit = _m('Subscribe');
+ // TRANS: Button text.
+ $submit = _m('BUTTON','Subscribe');
}
$this->elementStart('form', array('id' => 'form_ostatus_connect',
'method' => 'post',
@@ -108,12 +113,15 @@ class OStatusInitAction extends Action
$this->elementStart('ul', 'form_data');
$this->elementStart('li', array('id' => 'ostatus_nickname'));
+ // TRANS: Field label.
$this->input('nickname', _m('User nickname'), $this->nickname,
_m('Nickname of the user you want to follow.'));
$this->hidden('group', $this->group); // pass-through for magic links
$this->elementEnd('li');
$this->elementStart('li', array('id' => 'ostatus_profile'));
+ // TRANS: Field label.
$this->input('profile', _m('Profile Account'), $this->profile,
+ // TRANS: Tooltip for field label "Profile Account".
_m('Your account id (e.g. user@identi.ca).'));
$this->elementEnd('li');
$this->elementEnd('ul');
@@ -135,6 +143,7 @@ class OStatusInitAction extends Action
} elseif (strpos($this->profile, '@') !== false) {
$this->connectWebfinger($this->profile);
} else {
+ // TRANS: Client error.
$this->clientError(_m("Must provide a remote profile."));
}
}
@@ -146,6 +155,7 @@ class OStatusInitAction extends Action
$disco = new Discovery;
$result = $disco->lookup($acct);
if (!$result) {
+ // TRANS: Client error.
$this->clientError(_m("Couldn't look up OStatus account profile."));
}
@@ -158,6 +168,7 @@ class OStatusInitAction extends Action
}
}
+ // TRANS: Client error.
$this->clientError(_m("Couldn't confirm remote profile address."));
}
@@ -183,6 +194,7 @@ class OStatusInitAction extends Action
if ($user) {
return common_local_url('userbyid', array('id' => $user->id));
} else {
+ // TRANS: Client error.
$this->clientError("No such user.");
}
} else if ($this->group) {
@@ -190,16 +202,18 @@ class OStatusInitAction extends Action
if ($group) {
return common_local_url('groupbyid', array('id' => $group->group_id));
} else {
+ // TRANS: Client error.
$this->clientError("No such group.");
}
} else {
+ // TRANS: Client error.
$this->clientError("No local user or group nickname provided.");
}
}
function title()
{
+ // TRANS: Page title.
return _m('OStatus Connect');
}
-
}
diff --git a/plugins/OStatus/actions/ostatussub.php b/plugins/OStatus/actions/ostatussub.php
index 4cbd7d034..493b51965 100644
--- a/plugins/OStatus/actions/ostatussub.php
+++ b/plugins/OStatus/actions/ostatussub.php
@@ -62,13 +62,15 @@ class OStatusSubAction extends Action
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->input('profile',
+ // TRANS: Field label for a field that takes an OStatus user address.
_m('Subscribe to'),
$this->profile_uri,
- _m("OStatus user's address, like nickname@example.com or http://example.net/nickname")); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Tooltip for field label "Subscribe to".
+ _m('OStatus user\'s address, like nickname@example.com or http://example.net/nickname'));
$this->elementEnd('li');
$this->elementEnd('ul');
-
- $this->submit('validate', _m('Continue')); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Button text.
+ $this->submit('validate', _m('BUTTON','Continue'));
$this->elementEnd('fieldset');
@@ -103,10 +105,14 @@ class OStatusSubAction extends Action
$this->hidden('profile', $this->profile_uri);
if ($this->oprofile->isGroup()) {
$this->submit('submit', _m('Join'), 'submit', null,
- _m('Join this group')); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Button text.
+ // TRANS: Tooltip for button "Join".
+ _m('BUTTON','Join this group'));
} else {
- $this->submit('submit', _m('Confirm'), 'submit', null,
- _m('Subscribe to this user')); // @todo i18n FIXME: needs context/translator hint.
+ // TRANS: Button text.
+ $this->submit('submit', _m('BUTTON','Confirm'), 'submit', null,
+ // TRANS: Tooltip for button "Confirm".
+ _m('Subscribe to this user'));
}
$this->elementEnd('fieldset');
$this->elementEnd('form');
@@ -156,7 +162,7 @@ class OStatusSubAction extends Action
$this->elementStart('div', 'entity_profile vcard');
$this->elementStart('dl', 'entity_depiction');
- $this->element('dt', null, _('Photo'));
+ $this->element('dt', null, _m('Photo'));
$this->elementStart('dd');
$this->element('img', array('src' => $avatar,
'class' => 'photo avatar',
@@ -167,7 +173,7 @@ class OStatusSubAction extends Action
$this->elementEnd('dl');
$this->elementStart('dl', 'entity_nickname');
- $this->element('dt', null, _('Nickname'));
+ $this->element('dt', null, _m('Nickname'));
$this->elementStart('dd');
$hasFN = ($fullname !== '') ? 'nickname' : 'fn nickname';
$this->elementStart('a', array('href' => $profile,
@@ -188,7 +194,7 @@ class OStatusSubAction extends Action
}
if (!is_null($location)) {
$this->elementStart('dl', 'entity_location');
- $this->element('dt', null, _('Location'));
+ $this->element('dt', null, _m('Location'));
$this->elementStart('dd', 'label');
$this->raw($location);
$this->elementEnd('dd');
@@ -197,7 +203,7 @@ class OStatusSubAction extends Action
if (!is_null($homepage)) {
$this->elementStart('dl', 'entity_url');
- $this->element('dt', null, _('URL'));
+ $this->element('dt', null, _m('URL'));
$this->elementStart('dd');
$this->elementStart('a', array('href' => $homepage,
'class' => 'url'));
@@ -209,7 +215,7 @@ class OStatusSubAction extends Action
if (!is_null($note)) {
$this->elementStart('dl', 'entity_note');
- $this->element('dt', null, _('Note'));
+ $this->element('dt', null, _m('Note'));
$this->elementStart('dd', 'note');
$this->raw($note);
$this->elementEnd('dd');
@@ -244,31 +250,39 @@ class OStatusSubAction extends Action
} else if (Validate::uri($this->profile_uri)) {
$this->oprofile = Ostatus_profile::ensureProfileURL($this->profile_uri);
} else {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug('Invalid address format.', __FILE__);
return false;
}
return true;
} catch (FeedSubBadURLException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug('Invalid URL or could not reach server.', __FILE__);
} catch (FeedSubBadResponseException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Cannot read feed; server returned error.', __FILE__);
} catch (FeedSubEmptyException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Cannot read feed; server returned an empty page.', __FILE__);
} catch (FeedSubBadHTMLException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Bad HTML, could not find feed link.', __FILE__);
} catch (FeedSubNoFeedException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Could not find a feed linked from this URL.', __FILE__);
} catch (FeedSubUnrecognizedTypeException $e) {
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that feed. Please try that OStatus address again later.");
common_debug('Not a recognized feed type.', __FILE__);
} catch (Exception $e) {
// Any new ones we forgot about
+ // TRANS: Error text.
$this->error = _m("Sorry, we could not reach that address. Please make sure that the OStatus address is like nickname@example.com or http://example.net/nickname.");
common_debug(sprintf('Bad feed URL: %s %s', get_class($e), $e->getMessage()), __FILE__);
}
@@ -350,7 +364,7 @@ class OStatusSubAction extends Action
// CSRF protection
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
- $this->showForm(_('There was a problem with your session token. '.
+ $this->showForm(_m('There was a problem with your session token. '.
'Try again, please.'));
return;
}
@@ -377,6 +391,7 @@ class OStatusSubAction extends Action
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
+ // TRANS: Form title.
$this->element('title', null, _m('Subscribe to user'));
$this->elementEnd('head');
$this->elementStart('body');
@@ -408,6 +423,7 @@ class OStatusSubAction extends Action
function getInstructions()
{
+ // TRANS: Instructions.
return _m('You can subscribe to users from other supported sites. Paste their address or profile URI below:');
}
@@ -426,7 +442,6 @@ class OStatusSubAction extends Action
*
* @return void
*/
-
function showContent()
{
if ($this->oprofile) {
@@ -459,5 +474,4 @@ class OStatusSubAction extends Action
function showNoticeForm() {
// nop
}
-
}
diff --git a/plugins/OStatus/actions/ownerxrd.php b/plugins/OStatus/actions/ownerxrd.php
index 3fcb982b8..9e84f72ec 100644
--- a/plugins/OStatus/actions/ownerxrd.php
+++ b/plugins/OStatus/actions/ownerxrd.php
@@ -34,7 +34,7 @@ class OwnerxrdAction extends XrdAction
$this->user = User::siteOwner();
if (!$this->user) {
- $this->clientError(_('No such user.'), 404);
+ $this->clientError(_m('No such user.'), 404);
return false;
}
diff --git a/plugins/OStatus/actions/pushcallback.php b/plugins/OStatus/actions/pushcallback.php
index 6c6978745..701a39c16 100644
--- a/plugins/OStatus/actions/pushcallback.php
+++ b/plugins/OStatus/actions/pushcallback.php
@@ -24,7 +24,6 @@
if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
class PushCallbackAction extends Action
{
function handle()
@@ -46,13 +45,13 @@ class PushCallbackAction extends Action
$feedid = $this->arg('feed');
common_log(LOG_INFO, "POST for feed id $feedid");
if (!$feedid) {
- throw new ServerException('Empty or invalid feed id.', 400);
+ throw new ServerException(_m('Empty or invalid feed id.'), 400);
}
$feedsub = FeedSub::staticGet('id', $feedid);
if (!$feedsub) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ServerException('Unknown PuSH feed id ' . $feedid, 400);
+ // TRANS: Server exception. %s is a feed ID.
+ throw new ServerException(sprintf(_m('Unknown PuSH feed id %s'),$feedid), 400);
}
$hmac = '';
@@ -84,30 +83,31 @@ class PushCallbackAction extends Action
$verify_token = $this->arg('hub_verify_token');
if ($mode != 'subscribe' && $mode != 'unsubscribe') {
- throw new ClientException("Bad hub.mode $mode", 404);
+ // TRANS: Client exception. %s is an invalid value for hub.mode.
+ throw new ClientException(sprintf(_m('Bad hub.mode "$s".',$mode)), 404);
}
$feedsub = FeedSub::staticGet('uri', $topic);
if (!$feedsub) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Bad hub.topic feed $topic.", 404);
+ // TRANS: Client exception. %s is an invalid feed name.
+ throw new ClientException(sprintf(_m('Bad hub.topic feed "%s".'),$topic), 404);
}
if ($feedsub->verify_token !== $verify_token) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Bad hub.verify_token $token for $topic.", 404);
+ // TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+ throw new ClientException(sprintf(_m('Bad hub.verify_token %1$s for %2$s.'),$token,$topic), 404);
}
if ($mode == 'subscribe') {
// We may get re-sub requests legitimately.
if ($feedsub->sub_state != 'subscribe' && $feedsub->sub_state != 'active') {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unexpected subscribe request for $topic.", 404);
+ // TRANS: Client exception. %s is an invalid topic.
+ throw new ClientException(sprintf(_m('Unexpected subscribe request for %s.'),$topic), 404);
}
} else {
if ($feedsub->sub_state != 'unsubscribe') {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unexpected unsubscribe request for $topic.", 404);
+ // TRANS: Client exception. %s is an invalid topic.
+ throw new ClientException(sprintf(_m('Unexpected unsubscribe request for %s.'),$topic), 404);
}
}
diff --git a/plugins/OStatus/actions/pushhub.php b/plugins/OStatus/actions/pushhub.php
index 6909b8539..68035ab5c 100644
--- a/plugins/OStatus/actions/pushhub.php
+++ b/plugins/OStatus/actions/pushhub.php
@@ -62,11 +62,11 @@ class PushHubAction extends Action
$this->subunsub($mode);
break;
case "publish":
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Publishing outside feeds not supported.", 400);
+ // TRANS: Client exception.
+ throw new ClientException(_m('Publishing outside feeds not supported.'), 400);
default:
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unrecognized mode '$mode'.", 400);
+ // TRANS: Client exception. %s is a mode.
+ throw new ClientException(sprintf(_m('Unrecognized mode "%s".'),$mode), 400);
}
}
@@ -85,28 +85,28 @@ class PushHubAction extends Action
$topic = $this->argUrl('hub.topic');
if (!$this->recognizedFeed($topic)) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Unsupported hub.topic $topic; this hub only serves local user and group Atom feeds.");
+ // TRANS: Client exception. %s is a topic.
+ throw new ClientException(sprintf(_m('Unsupported hub.topic %s this hub only serves local user and group Atom feeds.'),$topic));
}
$verify = $this->arg('hub.verify'); // @fixme may be multiple
if ($verify != 'sync' && $verify != 'async') {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.verify $verify; must be sync or async.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.verify "%s". It must be sync or async.'),$verify));
}
$lease = $this->arg('hub.lease_seconds', null);
if ($mode == 'subscribe' && $lease != '' && !preg_match('/^\d+$/', $lease)) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.lease $lease; must be empty or positive integer.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.lease "%s". It must be empty or positive integer.'),$lease));
}
$token = $this->arg('hub.verify_token', null);
$secret = $this->arg('hub.secret', null);
if ($secret != '' && strlen($secret) >= 200) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.secret $secret; must be under 200 bytes.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.secret "%s". It must be under 200 bytes.'),$secret));
}
$sub = HubSub::staticGet($topic, $callback);
@@ -157,8 +157,8 @@ class PushHubAction extends Action
if ($feed == $userFeed) {
$user = User::staticGet('id', $id);
if (!$user) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.topic $feed; user doesn't exist.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintt(_m('Invalid hub.topic "%s". User doesn\'t exist.'),$feed));
} else {
return true;
}
@@ -166,8 +166,8 @@ class PushHubAction extends Action
if ($feed == $groupFeed) {
$user = User_group::staticGet('id', $id);
if (!$user) {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid hub.topic $feed; group doesn't exist.");
+ // TRANS: Client exception.
+ throw new ClientException(sprintf(_m('Invalid hub.topic "%s". Group doesn\'t exist.'),$feed));
} else {
return true;
}
@@ -190,8 +190,9 @@ class PushHubAction extends Action
if (Validate::uri($url, $params)) {
return $url;
} else {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new ClientException("Invalid URL passed for $arg: '$url'");
+ // TRANS: Client exception.
+ // TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+ throw new ClientException(sprintf(_m('Invalid URL passed for %1$s: "%2$s"'),$arg,$url));
}
}
diff --git a/plugins/OStatus/actions/usersalmon.php b/plugins/OStatus/actions/usersalmon.php
index 06a72bf02..e78c65330 100644
--- a/plugins/OStatus/actions/usersalmon.php
+++ b/plugins/OStatus/actions/usersalmon.php
@@ -17,15 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-/**
- * @package OStatusPlugin
- * @author James Walker <james@status.net>
- */
-
if (!defined('STATUSNET')) {
exit(1);
}
+/**
+ * @package OStatusPlugin
+ * @author James Walker <james@status.net>
+ */
class UsersalmonAction extends SalmonAction
{
function prepare($args)
@@ -35,13 +34,13 @@ class UsersalmonAction extends SalmonAction
$id = $this->trimmed('id');
if (!$id) {
- $this->clientError(_('No ID.'));
+ $this->clientError(_m('No ID.'));
}
$this->user = User::staticGet('id', $id);
if (empty($this->user)) {
- $this->clientError(_('No such user.'));
+ $this->clientError(_m('No such user.'));
}
return true;
@@ -78,20 +77,24 @@ class UsersalmonAction extends SalmonAction
if (!empty($context->replyToID)) {
$notice = Notice::staticGet('uri', $context->replyToID);
if (empty($notice)) {
- throw new ClientException("In reply to unknown notice");
+ // TRANS: Client exception.
+ throw new ClientException(_m('In reply to unknown notice.'));
}
if ($notice->profile_id != $this->user->id &&
!in_array($this->user->id, $notice->getReplies())) {
- throw new ClientException("In reply to a notice not by this user and not mentioning this user");
+ // TRANS: Client exception.
+ throw new ClientException(_m('In reply to a notice not by this user and not mentioning this user.'));
}
} else if (!empty($context->attention)) {
if (!in_array($this->user->uri, $context->attention) &&
!in_array(common_profile_url($this->user->nickname), $context->attention)) {
common_log(LOG_ERR, "{$this->user->uri} not in attention list (".implode(',', $context->attention).")");
- throw new ClientException("To the attention of user(s) not including this one!");
+ // TRANS: Client exception.
+ throw new ClientException('To the attention of user(s), not including this one.');
}
} else {
- throw new ClientException("Not to anyone in reply to anything!");
+ // TRANS: Client exception.
+ throw new ClientException('Not to anyone in reply to anything.');
}
$existing = Notice::staticGet('uri', $this->activity->objects[0]->id);
@@ -108,7 +111,6 @@ class UsersalmonAction extends SalmonAction
* We've gotten a follow/subscribe notification from a remote user.
* Save a subscription relationship for them.
*/
-
function handleFollow()
{
$oprofile = $this->ensureProfile();
@@ -152,11 +154,13 @@ class UsersalmonAction extends SalmonAction
'notice_id' => $notice->id));
if (!empty($old)) {
- throw new ClientException("We already know that's a fave!");
+ // TRANS: Client exception.
+ throw new ClientException(_('This is already a favorite.'));
}
if (!Fave::addNew($profile, $notice)) {
- throw new ClientException("Could not save new favorite.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Could not save new favorite.'));
}
}
@@ -172,7 +176,8 @@ class UsersalmonAction extends SalmonAction
$fave = Fave::pkeyGet(array('user_id' => $profile->id,
'notice_id' => $notice->id));
if (empty($fave)) {
- throw new ClientException("Notice wasn't favorited!");
+ // TRANS: Client exception.
+ throw new ClientException(_('Notice wasn\'t favorited!'));
}
$fave->delete();
@@ -186,7 +191,8 @@ class UsersalmonAction extends SalmonAction
function getNotice($object)
{
if (!$object) {
- throw new ClientException("Can't favorite/unfavorite without an object.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Can\'t favorite/unfavorite without an object.'));
}
switch ($object->type) {
@@ -197,20 +203,22 @@ class UsersalmonAction extends SalmonAction
case ActivityObject::COMMENT:
break;
default:
- throw new ClientException("Can't handle that kind of object for liking/faving.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Can\'t handle that kind of object for liking/faving.'));
}
$notice = Notice::staticGet('uri', $object->id);
if (empty($notice)) {
- throw new ClientException("Notice with ID $object->id unknown.");
+ // TRANS: Client exception. %s is an object ID.
+ throw new ClientException(sprintf(_m('Notice with ID %s unknown.'),$object->id));
}
if ($notice->profile_id != $this->user->id) {
- throw new ClientException("Notice with ID $object->id not posted by $this->user->id.");
+ // TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+ throw new ClientException(sprintf(_m('Notice with ID %1$s not posted by %2$s.'),$object->id,$this->user->id));
}
return $notice;
}
-
}
diff --git a/plugins/OStatus/actions/userxrd.php b/plugins/OStatus/actions/userxrd.php
index dd720568b..8179505a5 100644
--- a/plugins/OStatus/actions/userxrd.php
+++ b/plugins/OStatus/actions/userxrd.php
@@ -17,16 +17,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+if (!defined('STATUSNET')) { exit(1); }
+
/**
* @package OStatusPlugin
* @maintainer James Walker <james@status.net>
*/
-
-if (!defined('STATUSNET')) { exit(1); }
-
class UserxrdAction extends XrdAction
{
-
function prepare($args)
{
parent::prepare($args);
@@ -39,6 +37,8 @@ class UserxrdAction extends XrdAction
if (count($parts) == 2) {
list($nick, $domain) = $parts;
// @fixme confirm the domain too
+ // @fixme if domain checking is added, ensure that it will not
+ // cause problems with sites that have changed domains!
$nick = common_canonical_nickname($nick);
$this->user = User::staticGet('nickname', $nick);
}
@@ -46,7 +46,7 @@ class UserxrdAction extends XrdAction
$this->user = User::staticGet('uri', $this->uri);
}
if (!$this->user) {
- $this->clientError(_('No such user.'), 404);
+ $this->clientError(_m('No such user.'), 404);
return false;
}
diff --git a/plugins/OStatus/classes/FeedSub.php b/plugins/OStatus/classes/FeedSub.php
index 6f9e0856a..58beec673 100644
--- a/plugins/OStatus/classes/FeedSub.php
+++ b/plugins/OStatus/classes/FeedSub.php
@@ -39,7 +39,6 @@ PuSH subscription flow:
hub sends us updates via POST
*/
-
class FeedDBException extends FeedSubException
{
public $obj;
@@ -88,7 +87,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -143,7 +141,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -157,7 +154,6 @@ class FeedSub extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('id' => 'K', 'uri' => 'U');
@@ -249,7 +245,7 @@ class FeedSub extends Memcached_DataObject
// We'll never actually get updates in this mode.
return true;
} else {
- throw new ServerException("Attempting to start PuSH subscription for feed with no hub.");
+ throw new ServerException(_m('Attempting to start PuSH subscription for feed with no hub.'));
}
}
@@ -279,7 +275,7 @@ class FeedSub extends Memcached_DataObject
// We'll never actually get updates in this mode.
return true;
} else {
- throw new ServerException("Attempting to end PuSH subscription for feed with no hub.");
+ throw new ServerException(_m('Attempting to end PuSH subscription for feed with no hub.'));
}
}
@@ -500,5 +496,4 @@ class FeedSub extends Memcached_DataObject
}
return false;
}
-
}
diff --git a/plugins/OStatus/classes/HubSub.php b/plugins/OStatus/classes/HubSub.php
index e01ae4e79..825d36ebd 100644
--- a/plugins/OStatus/classes/HubSub.php
+++ b/plugins/OStatus/classes/HubSub.php
@@ -54,7 +54,6 @@ class HubSub extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('hashkey' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
@@ -112,7 +111,6 @@ class HubSub extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('hashkey' => 'K');
@@ -206,8 +204,8 @@ class HubSub extends Memcached_DataObject
if ($status >= 200 && $status < 300) {
common_log(LOG_INFO, "Verified $mode of $this->callback:$this->topic");
} else {
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new ClientException("Hub subscriber verification returned HTTP $status");
+ // TRANS: Client exception. %s is a HTTP status code.
+ throw new ClientException(sprintf(_m('Hub subscriber verification returned HTTP %s.'),$status));
}
$old = HubSub::staticGet($this->topic, $this->callback);
@@ -353,10 +351,9 @@ class HubSub extends Memcached_DataObject
if ($response->isOk()) {
return true;
} else {
- throw new Exception("Callback returned status: " .
- $response->getStatus() .
- "; body: " .
- trim($response->getBody()));
+ // TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+ throw new Exception(sprintf(_m('Callback returned status: %1$s. Body: %2$s'),
+ $response->getStatus(),trim($response->getBody())));
}
}
}
diff --git a/plugins/OStatus/classes/Magicsig.php b/plugins/OStatus/classes/Magicsig.php
index e39a6d8f7..20025c37a 100644
--- a/plugins/OStatus/classes/Magicsig.php
+++ b/plugins/OStatus/classes/Magicsig.php
@@ -31,7 +31,6 @@ require_once 'Crypt/RSA.php';
class Magicsig extends Memcached_DataObject
{
-
const PUBLICKEYREL = 'magic-public-key';
public $__table = 'magicsig';
@@ -86,7 +85,6 @@ class Magicsig extends Memcached_DataObject
64, false));
}
-
function keys()
{
return array_keys($this->keyTypes());
@@ -126,7 +124,6 @@ class Magicsig extends Memcached_DataObject
$this->insert();
}
-
public function toString($full_pair = true)
{
$mod = Magicsig::base64_url_encode($this->publicKey->modulus->toBytes());
@@ -197,7 +194,6 @@ class Magicsig extends Memcached_DataObject
case 'RSA-SHA256':
return 'sha256';
}
-
}
public function sign($bytes)
diff --git a/plugins/OStatus/classes/Ostatus_profile.php b/plugins/OStatus/classes/Ostatus_profile.php
index 19fe5169b..10cee917e 100644
--- a/plugins/OStatus/classes/Ostatus_profile.php
+++ b/plugins/OStatus/classes/Ostatus_profile.php
@@ -21,7 +21,6 @@
* @package OStatusPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
-
class Ostatus_profile extends Memcached_DataObject
{
public $__table = 'ostatus_profile';
@@ -51,7 +50,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('uri' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
@@ -92,7 +90,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -106,7 +103,6 @@ class Ostatus_profile extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('uri' => 'K', 'profile_id' => 'U', 'group_id' => 'U', 'feeduri' => 'U');
@@ -188,11 +184,11 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($this->group_id && !$this->profile_id) {
return true;
} else if ($this->group_id && $this->profile_id) {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ServerException("Invalid ostatus_profile state: both group and profile IDs set for $this->uri.");
+ // TRANS: Server exception.
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs set for %s.'),$this->uri));
} else {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ServerException("Invalid ostatus_profile state: both group and profile IDs empty for $this->uri.");
+ // TRANS: Server exception.
+ throw new ServerException(sprintf(_m('Invalid ostatus_profile state: both group and profile IDs empty for %s.'),$this->uri));
}
}
@@ -280,7 +276,9 @@ class Ostatus_profile extends Memcached_DataObject
if ($type == 'object') {
$type = get_class($actor);
}
- throw new ServerException("Invalid actor passed to " . __METHOD__ . ": " . $type);
+ // TRANS: Server exception.
+ // TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+ throw new ServerException(sprintf(_m('Invalid actor passed to %1$s: %2$s.'),__METHOD__,$type));
}
if ($object == null) {
$object = $this;
@@ -372,8 +370,8 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($entry instanceof Notice) {
return $preamble . $entry->asAtomEntry(true, true);
} else {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ServerException("Invalid type passed to Ostatus_profile::notify; must be XML string or Activity entry.");
+ // TRANS: Server exception.
+ throw new ServerException(_m('Invalid type passed to Ostatus_profile::notify. It must be XML string or Activity entry.'));
}
}
@@ -403,7 +401,7 @@ class Ostatus_profile extends Memcached_DataObject
} else if ($feed->localName == 'rss') { // @fixme check namespace
$this->processRssFeed($feed, $source);
} else {
- throw new Exception("Unknown feed format.");
+ throw new Exception(_m('Unknown feed format.'));
}
}
@@ -426,7 +424,7 @@ class Ostatus_profile extends Memcached_DataObject
$channels = $rss->getElementsByTagName('channel');
if ($channels->length == 0) {
- throw new Exception("RSS feed without a channel.");
+ throw new Exception(_m('RSS feed without a channel.'));
} else if ($channels->length > 1) {
common_log(LOG_WARNING, __METHOD__ . ": more than one channel in an RSS feed");
}
@@ -470,7 +468,8 @@ class Ostatus_profile extends Memcached_DataObject
}
break;
default:
- throw new ClientException("Can't handle that kind of post.");
+ // TRANS: Client exception.
+ throw new ClientException(_m('Can\'t handle that kind of post.'));
}
Event::handle('EndHandleFeedEntry', array($activity));
@@ -552,14 +551,14 @@ class Ostatus_profile extends Memcached_DataObject
$sourceContent = $note->title;
} else {
// @fixme fetch from $sourceUrl?
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new ClientException("No content for notice {$sourceUri}.");
+ // TRANS: Client exception. %s is a source URL.
+ throw new ClientException(sprintf(_m('No content for notice %s.'),$sourceUri));
}
// Get (safe!) HTML and text versions of the content
$rendered = $this->purify($sourceContent);
- $content = html_entity_decode(strip_tags($rendered));
+ $content = html_entity_decode(strip_tags($rendered), ENT_QUOTES, 'UTF-8');
$shortened = common_shorten_links($content);
@@ -570,7 +569,7 @@ class Ostatus_profile extends Memcached_DataObject
if (Notice::contentTooLong($shortened)) {
$attachment = $this->saveHTMLFile($note->title, $rendered);
- $summary = html_entity_decode(strip_tags($note->summary));
+ $summary = html_entity_decode(strip_tags($note->summary), ENT_QUOTES, 'UTF-8');
if (empty($summary)) {
$summary = $content;
}
@@ -584,14 +583,17 @@ class Ostatus_profile extends Memcached_DataObject
// We mark up the attachment link specially for the HTML output
// so we can fold-out the full version inline.
+
+ // TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+ $showMoreText = _m('Show more');
$attachUrl = common_local_url('attachment',
array('attachment' => $attachment->id));
$rendered = common_render_text($shortSummary) .
'<a href="' . htmlspecialchars($attachUrl) .'"'.
' class="attachment more"' .
- ' title="'. htmlspecialchars(_m('Show more')) . '">' .
+ ' title="'. htmlspecialchars($showMoreText) . '">' .
'&#8230;' .
- '</a>'; // @todo i18n FIXME: add translator hint/context.
+ '</a>';
}
}
@@ -703,23 +705,7 @@ class Ostatus_profile extends Memcached_DataObject
continue;
}
- // Is the recipient a remote group?
- $oprofile = Ostatus_profile::ensureProfileURI($recipient);
-
- if ($oprofile) {
- if ($oprofile->isGroup()) {
- // Deliver to local members of this remote group.
- // @fixme sender verification?
- $groups[] = $oprofile->group_id;
- } else {
- // may be canonicalized or something
- $replies[] = $oprofile->uri;
- }
- continue;
- }
-
// Is the recipient a local group?
- // @fixme uri on user_group isn't reliable yet
// $group = User_group::staticGet('uri', $recipient);
$id = OStatusPlugin::localGroupFromUrl($recipient);
if ($id) {
@@ -738,7 +724,22 @@ class Ostatus_profile extends Memcached_DataObject
}
}
- common_log(LOG_DEBUG, "Skipping reply to unrecognized profile $recipient");
+ // Is the recipient a remote user or group?
+ try {
+ $oprofile = Ostatus_profile::ensureProfileURI($recipient);
+ if ($oprofile->isGroup()) {
+ // Deliver to local members of this remote group.
+ // @fixme sender verification?
+ $groups[] = $oprofile->group_id;
+ } else {
+ // may be canonicalized or something
+ $replies[] = $oprofile->uri;
+ }
+ continue;
+ } catch (Exception $e) {
+ // Neither a recognizable local nor remote user!
+ common_log(LOG_DEBUG, "Skipping reply to unrecognized profile $recipient: " . $e->getMessage());
+ }
}
$attention_uris = $replies;
@@ -776,8 +777,8 @@ class Ostatus_profile extends Memcached_DataObject
$response = $client->get($profile_url);
if (!$response->isOk()) {
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new Exception("Could not reach profile page: " . $profile_url);
+ // TRANS: Exception. %s is a profile URL.
+ throw new Exception(sprintf(_m('Could not reach profile page %s.'),$profile_url));
}
// Check if we have a non-canonical URL
@@ -834,8 +835,8 @@ class Ostatus_profile extends Memcached_DataObject
return self::ensureFeedURL($feedurl, $hints);
}
- // @todo i18n FIXME: use sprintf and add i18n.
- throw new Exception("Could not find a feed URL for profile page " . $finalUrl);
+ // TRANS: Exception.
+ throw new Exception(sprintf(_m('Could not find a feed URL for profile page %s.'),$finalUrl));
}
/**
@@ -867,7 +868,7 @@ class Ostatus_profile extends Memcached_DataObject
$user = User::staticGet('id', $profile->id);
if (!empty($user)) {
- // @todo i18n FIXME: use sprintf and add i18n.
+ // @todo i18n FIXME: use sprintf and add i18n (?)
throw new OStatusShadowException($profile, "'$profile_url' is the profile for local user '{$user->nickname}'.");
}
@@ -972,8 +973,7 @@ class Ostatus_profile extends Memcached_DataObject
}
// XXX: make some educated guesses here
-
- throw new FeedSubException("Can't find enough profile information to make a feed.");
+ throw new FeedSubException(_m('Can\'t find enough profile information to make a feed.'));
}
/**
@@ -1088,7 +1088,7 @@ class Ostatus_profile extends Memcached_DataObject
* @return mixed URL string or false
*/
- protected static function getActivityObjectAvatar($object, $hints=array())
+ public static function getActivityObjectAvatar($object, $hints=array())
{
if ($object->avatarLinks) {
$best = false;
@@ -1271,13 +1271,13 @@ class Ostatus_profile extends Memcached_DataObject
$user = User::staticGet('uri', $homeuri);
if ($user) {
- // @todo i18n FIXME: add i18n.
- throw new Exception("Local user can't be referenced as remote.");
+ // TRANS: Exception.
+ throw new Exception(_m('Local user can\'t be referenced as remote.'));
}
if (OStatusPlugin::localGroupFromUrl($homeuri)) {
- // @todo i18n FIXME: add i18n.
- throw new Exception("Local group can't be referenced as remote.");
+ // TRANS: Exception.
+ throw new Exception(_m('Local group can\'t be referenced as remote.'));
}
if (array_key_exists('feedurl', $hints)) {
@@ -1328,8 +1328,8 @@ class Ostatus_profile extends Memcached_DataObject
$oprofile->profile_id = $profile->insert();
if (!$oprofile->profile_id) {
- // @todo i18n FIXME: add i18n.
- throw new ServerException("Can't save local profile.");
+ // TRANS: Exception.
+ throw new ServerException(_m('Can\'t save local profile.'));
}
} else {
$group = new User_group();
@@ -1339,16 +1339,16 @@ class Ostatus_profile extends Memcached_DataObject
$oprofile->group_id = $group->insert();
if (!$oprofile->group_id) {
- // @todo i18n FIXME: add i18n.
- throw new ServerException("Can't save local profile.");
+ // TRANS: Exception.
+ throw new ServerException(_m('Can\'t save local profile.'));
}
}
$ok = $oprofile->insert();
if (!$ok) {
- // @todo i18n FIXME: add i18n.
- throw new ServerException("Can't save OStatus profile.");
+ // TRANS: Exception.
+ throw new ServerException(_m('Can\'t save OStatus profile.'));
}
$avatar = self::getActivityObjectAvatar($object, $hints);
@@ -1390,7 +1390,7 @@ class Ostatus_profile extends Memcached_DataObject
}
}
- protected static function updateProfile($profile, $object, $hints=array())
+ public static function updateProfile($profile, $object, $hints=array())
{
$orig = clone($profile);
@@ -1518,7 +1518,7 @@ class Ostatus_profile extends Memcached_DataObject
return $bio;
}
- protected static function getActivityObjectNickname($object, $hints=array())
+ public static function getActivityObjectNickname($object, $hints=array())
{
if ($object->poco) {
if (!empty($object->poco->preferredUsername)) {
@@ -1606,8 +1606,8 @@ class Ostatus_profile extends Memcached_DataObject
if ($uri !== false) {
if (is_null($uri)) {
// Negative cache entry
- // @todo i18n FIXME: add i18n.
- throw new Exception('Not a valid webfinger address.');
+ // TRANS: Exception.
+ throw new Exception(_m('Not a valid webfinger address.'));
}
$oprofile = Ostatus_profile::staticGet('uri', $uri);
if (!empty($oprofile)) {
@@ -1634,8 +1634,8 @@ class Ostatus_profile extends Memcached_DataObject
// Save negative cache entry so we don't waste time looking it up again.
// @fixme distinguish temporary failures?
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), null);
- // @todo i18n FIXME: add i18n.
- throw new Exception('Not a valid webfinger address.');
+ // TRANS: Exception.
+ throw new Exception(_m('Not a valid webfinger address.'));
}
$hints = array('webfinger' => $addr);
@@ -1716,8 +1716,8 @@ class Ostatus_profile extends Memcached_DataObject
if (!$profile_id) {
common_log_db_error($profile, 'INSERT', __FILE__);
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new Exception("Couldn't save profile for '$addr'.");
+ // TRANS: Exception. %s is a webfinger address.
+ throw new Exception(sprintf(_m('Couldn\'t save profile for "%s".'),$addr));
}
$oprofile = new Ostatus_profile();
@@ -1735,16 +1735,16 @@ class Ostatus_profile extends Memcached_DataObject
if (!$result) {
common_log_db_error($oprofile, 'INSERT', __FILE__);
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new Exception("Couldn't save ostatus_profile for '$addr'.");
+ // TRANS: Exception. %s is a webfinger address.
+ throw new Exception(sprintf(_m('Couldn\'t save ostatus_profile for "%s".'),$addr));
}
self::cacheSet(sprintf('ostatus_profile:webfinger:%s', $addr), $oprofile->uri);
return $oprofile;
}
- // @todo i18n FIXME: add i18n and use sprintf for parameter.
- throw new Exception("Couldn't find a valid profile for '$addr'");
+ // TRANS: Exception. %s is a webfinger address.
+ throw new Exception(sprintf(_m('Couldn\'t find a valid profile for "%s".'),$addr));
}
/**
@@ -1786,7 +1786,7 @@ class Ostatus_profile extends Memcached_DataObject
if ($file_id === false) {
common_log_db_error($file, "INSERT", __FILE__);
- throw new ServerException(_('Could not store HTML content of long post as file.'));
+ throw new ServerException(_m('Could not store HTML content of long post as file.'));
}
return $file;
diff --git a/plugins/OStatus/classes/Ostatus_source.php b/plugins/OStatus/classes/Ostatus_source.php
index e6ce7d442..b76bbce56 100644
--- a/plugins/OStatus/classes/Ostatus_source.php
+++ b/plugins/OStatus/classes/Ostatus_source.php
@@ -21,7 +21,6 @@
* @package OStatusPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
-
class Ostatus_source extends Memcached_DataObject
{
public $__table = 'ostatus_source';
@@ -43,7 +42,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('notice_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -69,7 +67,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -83,7 +80,6 @@ class Ostatus_source extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return array('notice_id' => 'K');
diff --git a/plugins/OStatus/lib/discovery.php b/plugins/OStatus/lib/discovery.php
index 04c672720..905ece2ca 100644
--- a/plugins/OStatus/lib/discovery.php
+++ b/plugins/OStatus/lib/discovery.php
@@ -106,8 +106,8 @@ class Discovery
}
}
- // @todo Needs i18n.
- throw new Exception('Unable to find services for '. $id . '.');
+ // TRANS: Exception.
+ throw new Exception(sprintf(_m('Unable to find services for %s.'),$id));
}
public static function getService($links, $service) {
diff --git a/plugins/OStatus/lib/discoveryhints.php b/plugins/OStatus/lib/discoveryhints.php
index fa2ead732..a98f4a6d6 100644
--- a/plugins/OStatus/lib/discoveryhints.php
+++ b/plugins/OStatus/lib/discoveryhints.php
@@ -20,7 +20,6 @@
*/
class DiscoveryHints {
-
static function fromXRD($xrd)
{
$hints = array();
diff --git a/plugins/OStatus/lib/linkheader.php b/plugins/OStatus/lib/linkheader.php
index cd78d31ce..efa3f65ff 100644
--- a/plugins/OStatus/lib/linkheader.php
+++ b/plugins/OStatus/lib/linkheader.php
@@ -1,4 +1,7 @@
<?php
+/**
+ * @todo Add file header and documentation.
+ */
class LinkHeader
{
diff --git a/plugins/OStatus/lib/magicenvelope.php b/plugins/OStatus/lib/magicenvelope.php
index bbd4ce17a..03e6f7c66 100644
--- a/plugins/OStatus/lib/magicenvelope.php
+++ b/plugins/OStatus/lib/magicenvelope.php
@@ -76,7 +76,8 @@ class MagicEnvelope
}
}
}
- throw new Exception('Unable to locate signer public key.');
+ // TRANS: Exception.
+ throw new Exception(_m('Unable to locate signer public key.'));
}
@@ -92,7 +93,6 @@ class MagicEnvelope
'sig' => $signature_alg->sign($armored_text),
'alg' => $signature_alg->getName()
);
-
}
public function toXML($env) {
@@ -110,7 +110,6 @@ class MagicEnvelope
return $string;
}
-
public function unfold($env)
{
$dom = new DOMDocument();
@@ -218,5 +217,4 @@ class MagicEnvelope
'sig' => preg_replace('/\s/', '', $sig_element->nodeValue),
);
}
-
}
diff --git a/plugins/OStatus/lib/ostatusqueuehandler.php b/plugins/OStatus/lib/ostatusqueuehandler.php
index 9814cab9f..5e0ab46a5 100644
--- a/plugins/OStatus/lib/ostatusqueuehandler.php
+++ b/plugins/OStatus/lib/ostatusqueuehandler.php
@@ -221,5 +221,4 @@ class OStatusQueueHandler extends QueueHandler
return $feed;
}
-
}
diff --git a/plugins/OStatus/lib/pushinqueuehandler.php b/plugins/OStatus/lib/pushinqueuehandler.php
index 1fd29ae30..965d04266 100644
--- a/plugins/OStatus/lib/pushinqueuehandler.php
+++ b/plugins/OStatus/lib/pushinqueuehandler.php
@@ -22,7 +22,6 @@
* @package FeedSub
* @author Brion Vibber <brion@status.net>
*/
-
class PushInQueueHandler extends QueueHandler
{
function transport()
diff --git a/plugins/OStatus/lib/salmon.php b/plugins/OStatus/lib/salmon.php
index 631ebc7d8..963da6508 100644
--- a/plugins/OStatus/lib/salmon.php
+++ b/plugins/OStatus/lib/salmon.php
@@ -89,8 +89,8 @@ class Salmon
$magickey->generate($user->id);
}
} else {
- // @todo i18n FIXME: added i18n and use sprintf when using parameters.
- throw new Exception("Salmon invalid actor for signing.");
+ // TRANS: Exception.
+ throw new Exception(_m('Salmon invalid actor for signing.'));
}
try {
@@ -101,7 +101,6 @@ class Salmon
return $magic_env->toXML($env);
}
-
public function verifyMagicEnv($text)
{
$magic_env = new MagicEnvelope();
diff --git a/plugins/OStatus/lib/salmonaction.php b/plugins/OStatus/lib/salmonaction.php
index 5fdb11abe..41bdb4892 100644
--- a/plugins/OStatus/lib/salmonaction.php
+++ b/plugins/OStatus/lib/salmonaction.php
@@ -38,10 +38,12 @@ class SalmonAction extends Action
parent::prepare($args);
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
+ // TRANS: Client error. POST is a HTTP command. It should not be translated.
$this->clientError(_m('This method requires a POST.'));
}
if (empty($_SERVER['CONTENT_TYPE']) || $_SERVER['CONTENT_TYPE'] != 'application/magic-envelope+xml') {
+ // TRANS: Client error. Do not translate "application/magic-envelope+xml"
$this->clientError(_m('Salmon requires "application/magic-envelope+xml".'));
}
@@ -51,6 +53,7 @@ class SalmonAction extends Action
$salmon = new Salmon;
if (!$salmon->verifyMagicEnv($xml)) {
common_log(LOG_DEBUG, "Salmon signature verification failed.");
+ // TRANS: Client error.
$this->clientError(_m('Salmon signature verification failed.'));
} else {
$magic_env = new MagicEnvelope();
@@ -62,6 +65,7 @@ class SalmonAction extends Action
if ($dom->documentElement->namespaceURI != Activity::ATOM ||
$dom->documentElement->localName != 'entry') {
common_log(LOG_DEBUG, "Got invalid Salmon post: $xml");
+ // TRANS: Client error.
$this->clientError(_m('Salmon post must be an Atom entry.'));
}
@@ -110,6 +114,7 @@ class SalmonAction extends Action
$this->handleUpdateProfile();
break;
default:
+ // TRANS: Client exception.
throw new ClientException(_m("Unrecognized activity type."));
}
Event::handle('EndHandleSalmon', array($this->activity));
@@ -118,41 +123,49 @@ class SalmonAction extends Action
function handlePost()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand posts."));
}
function handleFollow()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand follows."));
}
function handleUnfollow()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand unfollows."));
}
function handleFavorite()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand favorites."));
}
function handleUnfavorite()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand unfavorites."));
}
function handleShare()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand share events."));
}
function handleJoin()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand joins."));
}
function handleLeave()
{
+ // TRANS: Client exception.
throw new ClientException(_m("This target doesn't understand leave events."));
}
@@ -180,7 +193,8 @@ class SalmonAction extends Action
if (empty($actor->id)) {
common_log(LOG_ERR, "broken actor: " . var_export($actor, true));
common_log(LOG_ERR, "activity with no actor: " . var_export($this->activity, true));
- throw new Exception("Received a salmon slap from unidentified actor.");
+ // TRANS: Exception.
+ throw new Exception(_m('Received a salmon slap from unidentified actor.'));
}
return Ostatus_profile::ensureActivityObjectProfile($actor);
diff --git a/plugins/OStatus/lib/xrdaction.php b/plugins/OStatus/lib/xrdaction.php
index 91bb87cc2..c8b5beff3 100644
--- a/plugins/OStatus/lib/xrdaction.php
+++ b/plugins/OStatus/lib/xrdaction.php
@@ -103,5 +103,4 @@ class XrdAction extends Action
header('Content-type: application/xrd+xml');
print $xrd->toXML();
}
-
}
diff --git a/plugins/OStatus/locale/OStatus.pot b/plugins/OStatus/locale/OStatus.pot
index 97d593ead..a55b30f4b 100644
--- a/plugins/OStatus/locale/OStatus.pot
+++ b/plugins/OStatus/locale/OStatus.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,316 +16,724 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: OStatusPlugin.php:210 OStatusPlugin.php:913 actions/ostatusinit.php:99
+#. TRANS: Link description for link to subscribe to a remote user.
+#. TRANS: Link text for a user to subscribe to an OStatus user.
+#: OStatusPlugin.php:227 OStatusPlugin.php:937
msgid "Subscribe"
msgstr ""
-#: OStatusPlugin.php:228 OStatusPlugin.php:635 actions/ostatussub.php:105
-#: actions/ostatusinit.php:96
+#. TRANS: Link description for link to join a remote group.
+#: OStatusPlugin.php:246 OStatusPlugin.php:655 actions/ostatussub.php:107
msgid "Join"
msgstr ""
-#: OStatusPlugin.php:451
+#. TRANSLATE: %s is a domain.
+#: OStatusPlugin.php:459
#, php-format
msgid "Sent from %s via OStatus"
msgstr ""
-#: OStatusPlugin.php:503
+#. TRANS: Exception.
+#: OStatusPlugin.php:531
msgid "Could not set up remote subscription."
msgstr ""
-#: OStatusPlugin.php:619
-msgid "Could not set up remote group membership."
+#: OStatusPlugin.php:605
+msgid "Unfollow"
msgstr ""
-#: OStatusPlugin.php:636
+#. TRANS: Success message for unsubscribe from user attempt through OStatus.
+#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
+#: OStatusPlugin.php:608
#, php-format
-msgid "%s has joined group %s."
+msgid "%1$s stopped following %2$s."
+msgstr ""
+
+#: OStatusPlugin.php:636
+msgid "Could not set up remote group membership."
msgstr ""
-#: OStatusPlugin.php:644
+#. TRANS: Exception.
+#: OStatusPlugin.php:667
msgid "Failed joining remote group."
msgstr ""
-#: OStatusPlugin.php:684
+#: OStatusPlugin.php:707
msgid "Leave"
msgstr ""
-#: OStatusPlugin.php:685
+#: OStatusPlugin.php:785
+msgid "Disfavor"
+msgstr ""
+
+#. TRANS: Success message for remove a favorite notice through OStatus.
+#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
+#: OStatusPlugin.php:788
#, php-format
-msgid "%s has left group %s."
+msgid "%1$s marked notice %2$s as no longer a favorite."
msgstr ""
-#: OStatusPlugin.php:844
+#. TRANS: Link text for link to remote subscribe.
+#: OStatusPlugin.php:864
msgid "Remote"
msgstr ""
-#: OStatusPlugin.php:883
+#. TRANS: Title for activity.
+#: OStatusPlugin.php:904
msgid "Profile update"
msgstr ""
-#: OStatusPlugin.php:884
+#. TRANS: Ping text for remote profile update through OStatus.
+#. TRANS: %s is user that updated their profile.
+#: OStatusPlugin.php:907
#, php-format
msgid "%s has updated their profile page."
msgstr ""
-#: OStatusPlugin.php:928
+#. TRANS: Plugin description.
+#: OStatusPlugin.php:952
msgid ""
"Follow people across social networks that implement <a href=\"http://ostatus."
"org/\">OStatus</a>."
msgstr ""
-#: classes/Ostatus_profile.php:566
+#: classes/FeedSub.php:248
+msgid "Attempting to start PuSH subscription for feed with no hub."
+msgstr ""
+
+#: classes/FeedSub.php:278
+msgid "Attempting to end PuSH subscription for feed with no hub."
+msgstr ""
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:188
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
+msgstr ""
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:191
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
+msgstr ""
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+#: classes/Ostatus_profile.php:281
+#, php-format
+msgid "Invalid actor passed to %1$s: %2$s."
+msgstr ""
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:374
+msgid ""
+"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
+"Activity entry."
+msgstr ""
+
+#: classes/Ostatus_profile.php:404
+msgid "Unknown feed format."
+msgstr ""
+
+#: classes/Ostatus_profile.php:427
+msgid "RSS feed without a channel."
+msgstr ""
+
+#. TRANS: Client exception.
+#: classes/Ostatus_profile.php:472
+msgid "Can't handle that kind of post."
+msgstr ""
+
+#. TRANS: Client exception. %s is a source URL.
+#: classes/Ostatus_profile.php:555
+#, php-format
+msgid "No content for notice %s."
+msgstr ""
+
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+#: classes/Ostatus_profile.php:588
msgid "Show more"
msgstr ""
-#: classes/Ostatus_profile.php:1004
+#. TRANS: Exception. %s is a profile URL.
+#: classes/Ostatus_profile.php:781
+#, php-format
+msgid "Could not reach profile page %s."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:839
+#, php-format
+msgid "Could not find a feed URL for profile page %s."
+msgstr ""
+
+#: classes/Ostatus_profile.php:976
+msgid "Can't find enough profile information to make a feed."
+msgstr ""
+
+#: classes/Ostatus_profile.php:1035
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr ""
+
+#: classes/Ostatus_profile.php:1045
+#, php-format
+msgid "Tried to update avatar for unsaved remote profile %s."
+msgstr ""
+
+#: classes/Ostatus_profile.php:1053
#, php-format
-msgid "Invalid avatar URL %s"
+msgid "Unable to fetch avatar from %s."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1275
+msgid "Local user can't be referenced as remote."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1280
+msgid "Local group can't be referenced as remote."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1332 classes/Ostatus_profile.php:1343
+msgid "Can't save local profile."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1351
+msgid "Can't save OStatus profile."
+msgstr ""
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1610 classes/Ostatus_profile.php:1638
+msgid "Not a valid webfinger address."
+msgstr ""
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1720
+#, php-format
+msgid "Couldn't save profile for \"%s\"."
+msgstr ""
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1739
+#, php-format
+msgid "Couldn't save ostatus_profile for \"%s\"."
+msgstr ""
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1747
+#, php-format
+msgid "Couldn't find a valid profile for \"%s\"."
+msgstr ""
+
+#: classes/Ostatus_profile.php:1789
+msgid "Could not store HTML content of long post as file."
msgstr ""
-#: classes/Ostatus_profile.php:1014
+#. TRANS: Client exception. %s is a HTTP status code.
+#: classes/HubSub.php:208
#, php-format
-msgid "Tried to update avatar for unsaved remote profile %s"
+msgid "Hub subscriber verification returned HTTP %s."
msgstr ""
-#: classes/Ostatus_profile.php:1022
+#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+#: classes/HubSub.php:355
#, php-format
-msgid "Unable to fetch avatar from %s"
+msgid "Callback returned status: %1$s. Body: %2$s"
msgstr ""
-#: lib/salmonaction.php:41
+#. TRANS: Client error. POST is a HTTP command. It should not be translated.
+#: lib/salmonaction.php:42
msgid "This method requires a POST."
msgstr ""
-#: lib/salmonaction.php:45
-msgid "Salmon requires application/magic-envelope+xml"
+#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
+#: lib/salmonaction.php:47
+msgid "Salmon requires \"application/magic-envelope+xml\"."
msgstr ""
-#: lib/salmonaction.php:55
+#. TRANS: Client error.
+#: lib/salmonaction.php:57
msgid "Salmon signature verification failed."
msgstr ""
-#: lib/salmonaction.php:67
+#. TRANS: Client error.
+#: lib/salmonaction.php:69
msgid "Salmon post must be an Atom entry."
msgstr ""
-#: lib/salmonaction.php:115
+#. TRANS: Client exception.
+#: lib/salmonaction.php:118
msgid "Unrecognized activity type."
msgstr ""
-#: lib/salmonaction.php:123
+#. TRANS: Client exception.
+#: lib/salmonaction.php:127
msgid "This target doesn't understand posts."
msgstr ""
-#: lib/salmonaction.php:128
+#. TRANS: Client exception.
+#: lib/salmonaction.php:133
msgid "This target doesn't understand follows."
msgstr ""
-#: lib/salmonaction.php:133
+#. TRANS: Client exception.
+#: lib/salmonaction.php:139
msgid "This target doesn't understand unfollows."
msgstr ""
-#: lib/salmonaction.php:138
+#. TRANS: Client exception.
+#: lib/salmonaction.php:145
msgid "This target doesn't understand favorites."
msgstr ""
-#: lib/salmonaction.php:143
+#. TRANS: Client exception.
+#: lib/salmonaction.php:151
msgid "This target doesn't understand unfavorites."
msgstr ""
-#: lib/salmonaction.php:148
+#. TRANS: Client exception.
+#: lib/salmonaction.php:157
msgid "This target doesn't understand share events."
msgstr ""
-#: lib/salmonaction.php:153
+#. TRANS: Client exception.
+#: lib/salmonaction.php:163
msgid "This target doesn't understand joins."
msgstr ""
-#: lib/salmonaction.php:158
+#. TRANS: Client exception.
+#: lib/salmonaction.php:169
msgid "This target doesn't understand leave events."
msgstr ""
+#. TRANS: Exception.
+#: lib/salmonaction.php:197
+msgid "Received a salmon slap from unidentified actor."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/discovery.php:110
+#, php-format
+msgid "Unable to find services for %s."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/xrd.php:64
+msgid "Invalid XML."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/xrd.php:69
+msgid "Invalid XML, missing XRD root."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/magicenvelope.php:80
+msgid "Unable to locate signer public key."
+msgstr ""
+
+#. TRANS: Exception.
+#: lib/salmon.php:93
+msgid "Salmon invalid actor for signing."
+msgstr ""
+
#: tests/gettext-speedtest.php:57
msgid "Feeds"
msgstr ""
-#: actions/ostatusgroup.php:75
+#. TRANS: Client exception.
+#: actions/pushhub.php:66
+msgid "Publishing outside feeds not supported."
+msgstr ""
+
+#. TRANS: Client exception. %s is a mode.
+#: actions/pushhub.php:69
+#, php-format
+msgid "Unrecognized mode \"%s\"."
+msgstr ""
+
+#. TRANS: Client exception. %s is a topic.
+#: actions/pushhub.php:89
+#, php-format
+msgid ""
+"Unsupported hub.topic %s this hub only serves local user and group Atom "
+"feeds."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:95
+#, php-format
+msgid "Invalid hub.verify \"%s\". It must be sync or async."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:101
+#, php-format
+msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:109
+#, php-format
+msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:161
+#, php-format
+msgid "Invalid hub.topic \"%s\". User doesn't exist."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:170
+#, php-format
+msgid "Invalid hub.topic \"%s\". Group doesn't exist."
+msgstr ""
+
+#. TRANS: Client exception.
+#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+#: actions/pushhub.php:195
+#, php-format
+msgid "Invalid URL passed for %1$s: \"%2$s\""
+msgstr ""
+
+#: actions/userxrd.php:49 actions/ownerxrd.php:37 actions/usersalmon.php:43
+msgid "No such user."
+msgstr ""
+
+#. TRANS: Client error.
+#: actions/usersalmon.php:37 actions/groupsalmon.php:40
+msgid "No ID."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:81
+msgid "In reply to unknown notice."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:86
+msgid "In reply to a notice not by this user and not mentioning this user."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:163
+msgid "Could not save new favorite."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:195
+msgid "Can't favorite/unfavorite without an object."
+msgstr ""
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:207
+msgid "Can't handle that kind of object for liking/faving."
+msgstr ""
+
+#. TRANS: Client exception. %s is an object ID.
+#: actions/usersalmon.php:214
+#, php-format
+msgid "Notice with ID %s unknown."
+msgstr ""
+
+#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+#: actions/usersalmon.php:219
+#, php-format
+msgid "Notice with ID %1$s not posted by %2$s."
+msgstr ""
+
+#. TRANS: Field label.
+#: actions/ostatusgroup.php:76
msgid "Join group"
msgstr ""
-#: actions/ostatusgroup.php:77
-msgid "OStatus group's address, like http://example.net/group/nickname"
+#. TRANS: Tooltip for field label "Join group".
+#: actions/ostatusgroup.php:79
+msgid "OStatus group's address, like http://example.net/group/nickname."
msgstr ""
-#: actions/ostatusgroup.php:81 actions/ostatussub.php:71
+#. TRANS: Button text.
+#: actions/ostatusgroup.php:84 actions/ostatussub.php:73
+msgctxt "BUTTON"
msgid "Continue"
msgstr ""
-#: actions/ostatusgroup.php:100
+#: actions/ostatusgroup.php:103
msgid "You are already a member of this group."
msgstr ""
#. TRANS: OStatus remote group subscription dialog error.
-#: actions/ostatusgroup.php:135
+#: actions/ostatusgroup.php:138
msgid "Already a member!"
msgstr ""
#. TRANS: OStatus remote group subscription dialog error.
-#: actions/ostatusgroup.php:146
+#: actions/ostatusgroup.php:149
msgid "Remote group join failed!"
msgstr ""
#. TRANS: OStatus remote group subscription dialog error.
-#: actions/ostatusgroup.php:150
+#: actions/ostatusgroup.php:153
msgid "Remote group join aborted!"
msgstr ""
#. TRANS: Page title for OStatus remote group join form
-#: actions/ostatusgroup.php:163
+#: actions/ostatusgroup.php:165
msgid "Confirm joining remote group"
msgstr ""
-#: actions/ostatusgroup.php:174
+#. TRANS: Instructions.
+#: actions/ostatusgroup.php:176
msgid ""
"You can subscribe to groups from other supported sites. Paste the group's "
"profile URI below:"
msgstr ""
-#: actions/groupsalmon.php:51
+#. TRANS: Client error.
+#: actions/groupsalmon.php:47
+msgid "No such group."
+msgstr ""
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:53
msgid "Can't accept remote posts for a remote group."
msgstr ""
-#: actions/groupsalmon.php:124
+#. TRANS: Client error.
+#: actions/groupsalmon.php:127
msgid "Can't read profile to set up group membership."
msgstr ""
-#: actions/groupsalmon.php:127 actions/groupsalmon.php:170
+#. TRANS: Client error.
+#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
msgid "Groups can't join groups."
msgstr ""
-#: actions/groupsalmon.php:154
+#: actions/groupsalmon.php:144
+msgid "You have been blocked from that group by the admin."
+msgstr ""
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:159
#, php-format
msgid "Could not join remote user %1$s to group %2$s."
msgstr ""
-#: actions/groupsalmon.php:167
+#: actions/groupsalmon.php:171
msgid "Can't read profile to cancel group membership."
msgstr ""
-#: actions/groupsalmon.php:183
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:188
#, php-format
msgid "Could not remove remote user %1$s from group %2$s."
msgstr ""
-#: actions/ostatussub.php:65
+#. TRANS: Field label for a field that takes an OStatus user address.
+#: actions/ostatussub.php:66
msgid "Subscribe to"
msgstr ""
-#: actions/ostatussub.php:67
+#. TRANS: Tooltip for field label "Subscribe to".
+#: actions/ostatussub.php:69
msgid ""
"OStatus user's address, like nickname@example.com or http://example.net/"
"nickname"
msgstr ""
-#: actions/ostatussub.php:106
+#. TRANS: Button text.
+#. TRANS: Tooltip for button "Join".
+#: actions/ostatussub.php:110
+msgctxt "BUTTON"
msgid "Join this group"
msgstr ""
-#. TRANS: Page title for OStatus remote subscription form
-#: actions/ostatussub.php:108 actions/ostatussub.php:400
+#. TRANS: Button text.
+#: actions/ostatussub.php:113
+msgctxt "BUTTON"
msgid "Confirm"
msgstr ""
-#: actions/ostatussub.php:109
+#. TRANS: Tooltip for button "Confirm".
+#: actions/ostatussub.php:115
msgid "Subscribe to this user"
msgstr ""
-#: actions/ostatussub.php:130
+#: actions/ostatussub.php:136
msgid "You are already subscribed to this user."
msgstr ""
-#: actions/ostatussub.php:247 actions/ostatussub.php:253
-#: actions/ostatussub.php:272
+#: actions/ostatussub.php:165
+msgid "Photo"
+msgstr ""
+
+#: actions/ostatussub.php:176
+msgid "Nickname"
+msgstr ""
+
+#: actions/ostatussub.php:197
+msgid "Location"
+msgstr ""
+
+#: actions/ostatussub.php:206
+msgid "URL"
+msgstr ""
+
+#: actions/ostatussub.php:218
+msgid "Note"
+msgstr ""
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:254 actions/ostatussub.php:261
+#: actions/ostatussub.php:286
msgid ""
"Sorry, we could not reach that address. Please make sure that the OStatus "
-"address is like nickname@example.com or http://example.net/nickname"
+"address is like nickname@example.com or http://example.net/nickname."
msgstr ""
-#: actions/ostatussub.php:256 actions/ostatussub.php:259
-#: actions/ostatussub.php:262 actions/ostatussub.php:265
-#: actions/ostatussub.php:268
+#. TRANS: Error text.
+#: actions/ostatussub.php:265 actions/ostatussub.php:269
+#: actions/ostatussub.php:273 actions/ostatussub.php:277
+#: actions/ostatussub.php:281
msgid ""
"Sorry, we could not reach that feed. Please try that OStatus address again "
"later."
msgstr ""
#. TRANS: OStatus remote subscription dialog error.
-#: actions/ostatussub.php:301
+#: actions/ostatussub.php:315
msgid "Already subscribed!"
msgstr ""
#. TRANS: OStatus remote subscription dialog error.
-#: actions/ostatussub.php:306
+#: actions/ostatussub.php:320
msgid "Remote subscription failed!"
msgstr ""
-#: actions/ostatussub.php:380 actions/ostatusinit.php:81
+#: actions/ostatussub.php:367 actions/ostatusinit.php:63
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#. TRANS: Form title.
+#: actions/ostatussub.php:395 actions/ostatusinit.php:82
msgid "Subscribe to user"
msgstr ""
-#: actions/ostatussub.php:411
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:415
+msgid "Confirm"
+msgstr ""
+
+#. TRANS: Instructions.
+#: actions/ostatussub.php:427
msgid ""
"You can subscribe to users from other supported sites. Paste their address "
"or profile URI below:"
msgstr ""
+#. TRANS: Client error.
#: actions/ostatusinit.php:41
msgid "You can use the local subscription!"
msgstr ""
-#: actions/ostatusinit.php:63
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: actions/ostatusinit.php:95
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:97
#, php-format
msgid "Join group %s"
msgstr ""
-#: actions/ostatusinit.php:98
+#. TRANS: Button text.
+#: actions/ostatusinit.php:99
+msgctxt "BUTTON"
+msgid "Join"
+msgstr ""
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:102
#, php-format
msgid "Subscribe to %s"
msgstr ""
-#: actions/ostatusinit.php:111
+#. TRANS: Button text.
+#: actions/ostatusinit.php:104
+msgctxt "BUTTON"
+msgid "Subscribe"
+msgstr ""
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:117
msgid "User nickname"
msgstr ""
-#: actions/ostatusinit.php:112
-msgid "Nickname of the user you want to follow"
+#: actions/ostatusinit.php:118
+msgid "Nickname of the user you want to follow."
msgstr ""
-#: actions/ostatusinit.php:116
+#. TRANS: Field label.
+#: actions/ostatusinit.php:123
msgid "Profile Account"
msgstr ""
-#: actions/ostatusinit.php:117
-msgid "Your account id (i.e. user@identi.ca)"
+#. TRANS: Tooltip for field label "Profile Account".
+#: actions/ostatusinit.php:125
+msgid "Your account id (e.g. user@identi.ca)."
msgstr ""
-#: actions/ostatusinit.php:138
+#. TRANS: Client error.
+#: actions/ostatusinit.php:147
msgid "Must provide a remote profile."
msgstr ""
-#: actions/ostatusinit.php:149
+#. TRANS: Client error.
+#: actions/ostatusinit.php:159
msgid "Couldn't look up OStatus account profile."
msgstr ""
-#: actions/ostatusinit.php:161
+#. TRANS: Client error.
+#: actions/ostatusinit.php:172
msgid "Couldn't confirm remote profile address."
msgstr ""
-#: actions/ostatusinit.php:202
+#. TRANS: Page title.
+#: actions/ostatusinit.php:217
msgid "OStatus Connect"
msgstr ""
+
+#: actions/pushcallback.php:48
+msgid "Empty or invalid feed id."
+msgstr ""
+
+#. TRANS: Server exception. %s is a feed ID.
+#: actions/pushcallback.php:54
+#, php-format
+msgid "Unknown PuSH feed id %s"
+msgstr ""
+
+#. TRANS: Client exception. %s is an invalid feed name.
+#: actions/pushcallback.php:93
+#, php-format
+msgid "Bad hub.topic feed \"%s\"."
+msgstr ""
+
+#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+#: actions/pushcallback.php:98
+#, php-format
+msgid "Bad hub.verify_token %1$s for %2$s."
+msgstr ""
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:105
+#, php-format
+msgid "Unexpected subscribe request for %s."
+msgstr ""
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:110
+#, php-format
+msgid "Unexpected unsubscribe request for %s."
+msgstr ""
diff --git a/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po
new file mode 100644
index 000000000..39101b839
--- /dev/null
+++ b/plugins/OStatus/locale/fr/LC_MESSAGES/OStatus.po
@@ -0,0 +1,796 @@
+# Translation of StatusNet - OStatus to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OStatus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:15+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-ostatus\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Link description for link to subscribe to a remote user.
+#. TRANS: Link text for a user to subscribe to an OStatus user.
+#: OStatusPlugin.php:227 OStatusPlugin.php:937
+msgid "Subscribe"
+msgstr "S'abonner"
+
+#. TRANS: Link description for link to join a remote group.
+#: OStatusPlugin.php:246 OStatusPlugin.php:655 actions/ostatussub.php:107
+msgid "Join"
+msgstr "Rejoindre"
+
+#. TRANSLATE: %s is a domain.
+#: OStatusPlugin.php:459
+#, php-format
+msgid "Sent from %s via OStatus"
+msgstr "Envoyé depuis %s via OStatus"
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:531
+msgid "Could not set up remote subscription."
+msgstr "Impossible de mettre en place l’abonnement distant."
+
+#: OStatusPlugin.php:605
+msgid "Unfollow"
+msgstr "Ne plus suivre"
+
+#. TRANS: Success message for unsubscribe from user attempt through OStatus.
+#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
+#: OStatusPlugin.php:608
+#, php-format
+msgid "%1$s stopped following %2$s."
+msgstr "%1$s a cessé de suivre %2$s."
+
+#: OStatusPlugin.php:636
+msgid "Could not set up remote group membership."
+msgstr "Impossible de mettre en place l’appartenance au groupe distant."
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:667
+msgid "Failed joining remote group."
+msgstr "Échec lors de l’adhésion au groupe distant."
+
+#: OStatusPlugin.php:707
+msgid "Leave"
+msgstr "Sortir"
+
+#: OStatusPlugin.php:785
+msgid "Disfavor"
+msgstr "Retirer des favoris"
+
+#. TRANS: Success message for remove a favorite notice through OStatus.
+#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
+#: OStatusPlugin.php:788
+#, php-format
+msgid "%1$s marked notice %2$s as no longer a favorite."
+msgstr "%1$s a retiré l’avis %2$s de ses favoris."
+
+#. TRANS: Link text for link to remote subscribe.
+#: OStatusPlugin.php:864
+msgid "Remote"
+msgstr "À distance"
+
+#. TRANS: Title for activity.
+#: OStatusPlugin.php:904
+msgid "Profile update"
+msgstr "Mise à jour du profil"
+
+#. TRANS: Ping text for remote profile update through OStatus.
+#. TRANS: %s is user that updated their profile.
+#: OStatusPlugin.php:907
+#, php-format
+msgid "%s has updated their profile page."
+msgstr "%s a mis à jour sa page de profil."
+
+#. TRANS: Plugin description.
+#: OStatusPlugin.php:952
+msgid ""
+"Follow people across social networks that implement <a href=\"http://ostatus."
+"org/\">OStatus</a>."
+msgstr ""
+"Suivez les personnes à travers les réseaux sociaux mettant en œuvre <a href="
+"\"http://ostatus.org/\">OStatus</a> ."
+
+#: classes/FeedSub.php:248
+msgid "Attempting to start PuSH subscription for feed with no hub."
+msgstr ""
+"Tente de démarrer l’inscription PuSH à un flux d’information sans "
+"concentrateur."
+
+#: classes/FeedSub.php:278
+msgid "Attempting to end PuSH subscription for feed with no hub."
+msgstr ""
+"Tente d’arrêter l’inscription PuSH à un flux d’information sans "
+"concentrateur."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:188
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
+msgstr ""
+"État invalide du profil OStatus : identifiants à la fois de groupe et de "
+"profil définis pour « %s »."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:191
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
+msgstr ""
+"État invalide du profil OStatus : identifiants à la fois de groupe et de "
+"profil non renseignés pour « %s »."
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+#: classes/Ostatus_profile.php:281
+#, php-format
+msgid "Invalid actor passed to %1$s: %2$s."
+msgstr "Type d’acteur invalide passé à la méthode « %1$s » : « %2$s »."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:374
+msgid ""
+"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
+"Activity entry."
+msgstr ""
+"Type invalide passé à la méthode « Ostatus_profile::notify ». Ce doit être "
+"une chaîne XML ou une entrée « Activity »."
+
+#: classes/Ostatus_profile.php:404
+msgid "Unknown feed format."
+msgstr "Format de flux d’information inconnu."
+
+#: classes/Ostatus_profile.php:427
+msgid "RSS feed without a channel."
+msgstr "Flux RSS sans canal."
+
+#. TRANS: Client exception.
+#: classes/Ostatus_profile.php:472
+msgid "Can't handle that kind of post."
+msgstr "Impossible de gérer cette sorte de publication."
+
+#. TRANS: Client exception. %s is a source URL.
+#: classes/Ostatus_profile.php:555
+#, php-format
+msgid "No content for notice %s."
+msgstr "Aucun contenu dans l’avis « %s »."
+
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+#: classes/Ostatus_profile.php:588
+msgid "Show more"
+msgstr "Voir davantage"
+
+#. TRANS: Exception. %s is a profile URL.
+#: classes/Ostatus_profile.php:781
+#, php-format
+msgid "Could not reach profile page %s."
+msgstr "Impossible d’atteindre la page de profil « %s »."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:839
+#, php-format
+msgid "Could not find a feed URL for profile page %s."
+msgstr ""
+"Impossible de trouver une adresse URL de flux d’information pour la page de "
+"profil « %s »."
+
+#: classes/Ostatus_profile.php:976
+msgid "Can't find enough profile information to make a feed."
+msgstr ""
+"Impossible de trouver assez d’informations de profil pour créer un flux "
+"d’information."
+
+#: classes/Ostatus_profile.php:1035
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Adresse URL d’avatar « %s » invalide."
+
+#: classes/Ostatus_profile.php:1045
+#, php-format
+msgid "Tried to update avatar for unsaved remote profile %s."
+msgstr ""
+"Tente de mettre à jour l’avatar associé au profil distant non sauvegardé « %s "
+"»."
+
+#: classes/Ostatus_profile.php:1053
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Impossible de récupérer l’avatar depuis « %s »."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1275
+msgid "Local user can't be referenced as remote."
+msgstr "L’utilisateur local ne peut être référencé comme distant."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1280
+msgid "Local group can't be referenced as remote."
+msgstr "Le groupe local ne peut être référencé comme distant."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1332 classes/Ostatus_profile.php:1343
+msgid "Can't save local profile."
+msgstr "Impossible de sauvegarder le profil local."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1351
+msgid "Can't save OStatus profile."
+msgstr "Impossible de sauvegarder le profil OStatus."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1610 classes/Ostatus_profile.php:1638
+msgid "Not a valid webfinger address."
+msgstr "Ce n’est pas une adresse « webfinger » valide."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1720
+#, php-format
+msgid "Couldn't save profile for \"%s\"."
+msgstr "Impossible de sauvegarder le profil pour « %s »."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1739
+#, php-format
+msgid "Couldn't save ostatus_profile for \"%s\"."
+msgstr "Impossible d’enregistrer le profil OStatus pour « %s »."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1747
+#, php-format
+msgid "Couldn't find a valid profile for \"%s\"."
+msgstr "Impossible de trouver un profil valide pour « %s »."
+
+#: classes/Ostatus_profile.php:1789
+msgid "Could not store HTML content of long post as file."
+msgstr ""
+"Impossible de stocker le contenu HTML d’une longue publication en un fichier."
+
+#. TRANS: Client exception. %s is a HTTP status code.
+#: classes/HubSub.php:208
+#, php-format
+msgid "Hub subscriber verification returned HTTP %s."
+msgstr ""
+"La vérification d’abonné sur le concentrateur a retourné le statut HTTP « %s "
+"»."
+
+#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+#: classes/HubSub.php:355
+#, php-format
+msgid "Callback returned status: %1$s. Body: %2$s"
+msgstr "La routine de rappel a retourné le statut « %1$s ». Corps : %2$s"
+
+#. TRANS: Client error. POST is a HTTP command. It should not be translated.
+#: lib/salmonaction.php:42
+msgid "This method requires a POST."
+msgstr "Cette méthode nécessite une commande HTTP « POST »."
+
+#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
+#: lib/salmonaction.php:47
+msgid "Salmon requires \"application/magic-envelope+xml\"."
+msgstr "Salmon exige le type « application/magic-envelope+xml »."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:57
+msgid "Salmon signature verification failed."
+msgstr "La vérification de signature Salmon a échoué."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:69
+msgid "Salmon post must be an Atom entry."
+msgstr "Une publication Salmon doit être une entrée « Atom »."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:118
+msgid "Unrecognized activity type."
+msgstr "Type d’activité non reconnu."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:127
+msgid "This target doesn't understand posts."
+msgstr "Cette cible ne reconnaît pas les publications."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:133
+msgid "This target doesn't understand follows."
+msgstr "Cette cible ne reconnaît pas les indications de début de suivi."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:139
+msgid "This target doesn't understand unfollows."
+msgstr "Cette cible ne reconnaît pas les indications de fin de suivi."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:145
+msgid "This target doesn't understand favorites."
+msgstr "Cette cible ne reconnaît pas les indications de mise en favoris."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:151
+msgid "This target doesn't understand unfavorites."
+msgstr "Cette cible ne reconnaît pas les indications de retrait des favoris."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:157
+msgid "This target doesn't understand share events."
+msgstr "Cette cible ne reconnaît pas les évènements partagés."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:163
+msgid "This target doesn't understand joins."
+msgstr "Cette cible ne reconnaît pas les indications d’adhésion."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:169
+msgid "This target doesn't understand leave events."
+msgstr "Cette cible ne reconnaît pas les indications de retrait d’évènements."
+
+#. TRANS: Exception.
+#: lib/salmonaction.php:197
+msgid "Received a salmon slap from unidentified actor."
+msgstr "Réception d’une giffle Salmon d’un acteur non identifié."
+
+#. TRANS: Exception.
+#: lib/discovery.php:110
+#, php-format
+msgid "Unable to find services for %s."
+msgstr "Impossible de trouver des services pour « %s »."
+
+#. TRANS: Exception.
+#: lib/xrd.php:64
+msgid "Invalid XML."
+msgstr "XML invalide."
+
+#. TRANS: Exception.
+#: lib/xrd.php:69
+msgid "Invalid XML, missing XRD root."
+msgstr "XML invalide, racine XRD manquante."
+
+#. TRANS: Exception.
+#: lib/magicenvelope.php:80
+msgid "Unable to locate signer public key."
+msgstr "Impossible de trouver la clé publique du signataire."
+
+#. TRANS: Exception.
+#: lib/salmon.php:93
+msgid "Salmon invalid actor for signing."
+msgstr "Acteur Salmon invalide pour la signature."
+
+#: tests/gettext-speedtest.php:57
+msgid "Feeds"
+msgstr "Flux d’informations"
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:66
+msgid "Publishing outside feeds not supported."
+msgstr "La publication des flux externes n’est pas supportée."
+
+#. TRANS: Client exception. %s is a mode.
+#: actions/pushhub.php:69
+#, php-format
+msgid "Unrecognized mode \"%s\"."
+msgstr "Mode « %s » non reconnu."
+
+#. TRANS: Client exception. %s is a topic.
+#: actions/pushhub.php:89
+#, php-format
+msgid ""
+"Unsupported hub.topic %s this hub only serves local user and group Atom "
+"feeds."
+msgstr ""
+"Le sujet de concentrateur « %s » n’est pas supporté. Ce concentrateur ne sert "
+"que les flux Atom d’utilisateurs et groupes locaux."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:95
+#, php-format
+msgid "Invalid hub.verify \"%s\". It must be sync or async."
+msgstr ""
+"La vérification de concentrateur « %s » est invalide. Ce doit être « sync » ou "
+"« async »."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:101
+#, php-format
+msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
+msgstr ""
+"Le bail de concentrateur « %s » est invalide. Ce doit être vide ou un entier "
+"positif."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:109
+#, php-format
+msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
+msgstr ""
+"Le secret de concentrateur « %s » est invalide. Il doit faire moins de 200 "
+"octets."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:161
+#, php-format
+msgid "Invalid hub.topic \"%s\". User doesn't exist."
+msgstr ""
+"Le sujet de concentrateur « %s » est invalide. L’utilisateur n’existe pas."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:170
+#, php-format
+msgid "Invalid hub.topic \"%s\". Group doesn't exist."
+msgstr "Le sujet de concentrateur « %s » est invalide. Le groupe n’existe pas."
+
+#. TRANS: Client exception.
+#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+#: actions/pushhub.php:195
+#, php-format
+msgid "Invalid URL passed for %1$s: \"%2$s\""
+msgstr "URL invalide passée à la méthode « %1$s » : « %2$s »"
+
+#: actions/userxrd.php:49 actions/ownerxrd.php:37 actions/usersalmon.php:43
+msgid "No such user."
+msgstr "Utilisateur inexistant."
+
+#. TRANS: Client error.
+#: actions/usersalmon.php:37 actions/groupsalmon.php:40
+msgid "No ID."
+msgstr "Aucun identifiant."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:81
+msgid "In reply to unknown notice."
+msgstr "En réponse à l’avis inconnu."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:86
+msgid "In reply to a notice not by this user and not mentioning this user."
+msgstr ""
+"En réponse à un avis non émis par cet utilisateur et ne mentionnant pas cet "
+"utilisateur."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:163
+msgid "Could not save new favorite."
+msgstr "Impossible de sauvegarder le nouveau favori."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:195
+msgid "Can't favorite/unfavorite without an object."
+msgstr "Impossible de mettre en favoris ou retirer des favoris sans un objet."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:207
+msgid "Can't handle that kind of object for liking/faving."
+msgstr ""
+"Impossible de gérer ce genre d’objet parmi les sujets appréciés ou favoris."
+
+#. TRANS: Client exception. %s is an object ID.
+#: actions/usersalmon.php:214
+#, php-format
+msgid "Notice with ID %s unknown."
+msgstr "Avis d’identifiant « %s » inconnu."
+
+#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+#: actions/usersalmon.php:219
+#, php-format
+msgid "Notice with ID %1$s not posted by %2$s."
+msgstr "Avis d’identifiant « %1$s » non publié par %2$s."
+
+#. TRANS: Field label.
+#: actions/ostatusgroup.php:76
+msgid "Join group"
+msgstr "Rejoindre le groupe"
+
+#. TRANS: Tooltip for field label "Join group".
+#: actions/ostatusgroup.php:79
+msgid "OStatus group's address, like http://example.net/group/nickname."
+msgstr ""
+"Une adresse de groupe OStatus telle que « http://example.net/group/pseudonyme "
+"»."
+
+#. TRANS: Button text.
+#: actions/ostatusgroup.php:84 actions/ostatussub.php:73
+msgctxt "BUTTON"
+msgid "Continue"
+msgstr "Continuer"
+
+#: actions/ostatusgroup.php:103
+msgid "You are already a member of this group."
+msgstr "Vous êtes déjà membre de ce groupe."
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:138
+msgid "Already a member!"
+msgstr "Déjà membre !"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:149
+msgid "Remote group join failed!"
+msgstr "L’adhésion au groupe distant a échoué !"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:153
+msgid "Remote group join aborted!"
+msgstr "L’adhésion au groupe distant a été avortée !"
+
+#. TRANS: Page title for OStatus remote group join form
+#: actions/ostatusgroup.php:165
+msgid "Confirm joining remote group"
+msgstr "Confirmer l’adhésion au groupe distant"
+
+#. TRANS: Instructions.
+#: actions/ostatusgroup.php:176
+msgid ""
+"You can subscribe to groups from other supported sites. Paste the group's "
+"profile URI below:"
+msgstr ""
+"Vous pouvez souscrire aux groupes d’autres sites supportés. Collez l’adresse "
+"URI du profil du groupe ci-dessous :"
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:47
+msgid "No such group."
+msgstr "Groupe inexistant."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:53
+msgid "Can't accept remote posts for a remote group."
+msgstr ""
+"Impossible d’accepter des envois distants de messages pour un groupe distant."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:127
+msgid "Can't read profile to set up group membership."
+msgstr ""
+"Impossible de lire le profil pour mettre en place l’adhésion à un groupe."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
+msgid "Groups can't join groups."
+msgstr "Les groupes ne peuvent pas adhérer à des groupes."
+
+#: actions/groupsalmon.php:144
+msgid "You have been blocked from that group by the admin."
+msgstr "Vous avez été bloqué de ce groupe par l’administrateur."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:159
+#, php-format
+msgid "Could not join remote user %1$s to group %2$s."
+msgstr "Impossible de joindre l’utilisateur distant %1$s au groupe %2$s."
+
+#: actions/groupsalmon.php:171
+msgid "Can't read profile to cancel group membership."
+msgstr "Impossible de lire le profil pour annuler l’adhésion à un groupe."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:188
+#, php-format
+msgid "Could not remove remote user %1$s from group %2$s."
+msgstr "Impossible de retirer l’utilisateur distant %1$s du groupe %2$s."
+
+#. TRANS: Field label for a field that takes an OStatus user address.
+#: actions/ostatussub.php:66
+msgid "Subscribe to"
+msgstr "S’abonner à"
+
+#. TRANS: Tooltip for field label "Subscribe to".
+#: actions/ostatussub.php:69
+msgid ""
+"OStatus user's address, like nickname@example.com or http://example.net/"
+"nickname"
+msgstr ""
+"Adresse d’un utilisateur OStatus ou de sa page de profil, telle que "
+"pseudonyme@example.com ou http://example.net/pseudonyme"
+
+#. TRANS: Button text.
+#. TRANS: Tooltip for button "Join".
+#: actions/ostatussub.php:110
+msgctxt "BUTTON"
+msgid "Join this group"
+msgstr "Rejoindre ce groupe"
+
+#. TRANS: Button text.
+#: actions/ostatussub.php:113
+msgctxt "BUTTON"
+msgid "Confirm"
+msgstr "Confirmer"
+
+#. TRANS: Tooltip for button "Confirm".
+#: actions/ostatussub.php:115
+msgid "Subscribe to this user"
+msgstr "S’abonner à cet utilisateur"
+
+#: actions/ostatussub.php:136
+msgid "You are already subscribed to this user."
+msgstr "Vous êtes déjà abonné à cet utilisateur."
+
+#: actions/ostatussub.php:165
+msgid "Photo"
+msgstr "Photo"
+
+#: actions/ostatussub.php:176
+msgid "Nickname"
+msgstr "Pseudonyme"
+
+#: actions/ostatussub.php:197
+msgid "Location"
+msgstr "Emplacement"
+
+#: actions/ostatussub.php:206
+msgid "URL"
+msgstr "Adresse URL"
+
+#: actions/ostatussub.php:218
+msgid "Note"
+msgstr "Note"
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:254 actions/ostatussub.php:261
+#: actions/ostatussub.php:286
+msgid ""
+"Sorry, we could not reach that address. Please make sure that the OStatus "
+"address is like nickname@example.com or http://example.net/nickname."
+msgstr ""
+"Désolé, nous n’avons pas pu atteindre cette adresse. Veuillez vous assurer "
+"que l’adresse OStatus de l’utilisateur ou de sa page de profil est de la "
+"forme pseudonyme@example.com ou http://example.net/pseudonyme."
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:265 actions/ostatussub.php:269
+#: actions/ostatussub.php:273 actions/ostatussub.php:277
+#: actions/ostatussub.php:281
+msgid ""
+"Sorry, we could not reach that feed. Please try that OStatus address again "
+"later."
+msgstr ""
+"Désolé, nous n’avons pas pu atteindre ce flux. Veuillez réessayer plus tard "
+"cette adresse OStatus."
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:315
+msgid "Already subscribed!"
+msgstr "Déjà abonné !"
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:320
+msgid "Remote subscription failed!"
+msgstr "Ĺ’abonnement distant a échoué !"
+
+#: actions/ostatussub.php:367 actions/ostatusinit.php:63
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
+"nouveau."
+
+#. TRANS: Form title.
+#: actions/ostatussub.php:395 actions/ostatusinit.php:82
+msgid "Subscribe to user"
+msgstr "S’abonner à un utilisateur"
+
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:415
+msgid "Confirm"
+msgstr "Confirmer"
+
+#. TRANS: Instructions.
+#: actions/ostatussub.php:427
+msgid ""
+"You can subscribe to users from other supported sites. Paste their address "
+"or profile URI below:"
+msgstr ""
+"Vous pouvez vous abonner aux utilisateurs d’autres sites pris en charge. "
+"Collez leur adresse ou l’URI de leur profil ci-dessous :"
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:41
+msgid "You can use the local subscription!"
+msgstr "Vous pouvez utiliser l’abonnement local !"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:97
+#, php-format
+msgid "Join group %s"
+msgstr "Rejoindre le groupe « %s »"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:99
+msgctxt "BUTTON"
+msgid "Join"
+msgstr "Rejoindre"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:102
+#, php-format
+msgid "Subscribe to %s"
+msgstr "S’abonner à « %s »"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:104
+msgctxt "BUTTON"
+msgid "Subscribe"
+msgstr "S’abonner"
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:117
+msgid "User nickname"
+msgstr "Pseudonyme de l’utilisateur"
+
+#: actions/ostatusinit.php:118
+msgid "Nickname of the user you want to follow."
+msgstr "Pseudonyme de l’utilisateur que vous voulez suivre."
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:123
+msgid "Profile Account"
+msgstr "Compte de profil"
+
+#. TRANS: Tooltip for field label "Profile Account".
+#: actions/ostatusinit.php:125
+msgid "Your account id (e.g. user@identi.ca)."
+msgstr "Votre identifiant de compte (utilisateur@identi.ca, par exemple)."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:147
+msgid "Must provide a remote profile."
+msgstr "Vous devez fournir un profil distant."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:159
+msgid "Couldn't look up OStatus account profile."
+msgstr "Impossible de consulter le profil de compte OStatus."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:172
+msgid "Couldn't confirm remote profile address."
+msgstr "Impossible de confirmer l’adresse de profil distant."
+
+#. TRANS: Page title.
+#: actions/ostatusinit.php:217
+msgid "OStatus Connect"
+msgstr "Connexion OStatus"
+
+#: actions/pushcallback.php:48
+msgid "Empty or invalid feed id."
+msgstr "Identifiant de flux vide ou invalide."
+
+#. TRANS: Server exception. %s is a feed ID.
+#: actions/pushcallback.php:54
+#, php-format
+msgid "Unknown PuSH feed id %s"
+msgstr "Identifiant de flux PuSH inconnu : « %s »"
+
+#. TRANS: Client exception. %s is an invalid feed name.
+#: actions/pushcallback.php:93
+#, php-format
+msgid "Bad hub.topic feed \"%s\"."
+msgstr "Flux de sujet de concentrateur incorrect : « %s »"
+
+#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+#: actions/pushcallback.php:98
+#, php-format
+msgid "Bad hub.verify_token %1$s for %2$s."
+msgstr ""
+"Jeton de vérification de concentrateur incorrect « %1$s » pour le sujet « %2$s "
+"»."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:105
+#, php-format
+msgid "Unexpected subscribe request for %s."
+msgstr "Demande d’abonnement inattendue pour le sujet invalide « %s »."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:110
+#, php-format
+msgid "Unexpected unsubscribe request for %s."
+msgstr "Demande de désabonnement inattendue pour le sujet invalide « %s »."
diff --git a/plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po
new file mode 100644
index 000000000..cd5eebd16
--- /dev/null
+++ b/plugins/OStatus/locale/ia/LC_MESSAGES/OStatus.po
@@ -0,0 +1,768 @@
+# Translation of StatusNet - OStatus to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OStatus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:15+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-ostatus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Link description for link to subscribe to a remote user.
+#. TRANS: Link text for a user to subscribe to an OStatus user.
+#: OStatusPlugin.php:227 OStatusPlugin.php:937
+msgid "Subscribe"
+msgstr "Subscriber"
+
+#. TRANS: Link description for link to join a remote group.
+#: OStatusPlugin.php:246 OStatusPlugin.php:655 actions/ostatussub.php:107
+msgid "Join"
+msgstr "Inscriber"
+
+#. TRANSLATE: %s is a domain.
+#: OStatusPlugin.php:459
+#, php-format
+msgid "Sent from %s via OStatus"
+msgstr "Inviate de %s via OStatus"
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:531
+msgid "Could not set up remote subscription."
+msgstr "Non poteva configurar le subscription remote."
+
+#: OStatusPlugin.php:605
+msgid "Unfollow"
+msgstr "Non plus sequer"
+
+#. TRANS: Success message for unsubscribe from user attempt through OStatus.
+#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
+#: OStatusPlugin.php:608
+#, php-format
+msgid "%1$s stopped following %2$s."
+msgstr "%1$s cessava de sequer %2$s."
+
+#: OStatusPlugin.php:636
+msgid "Could not set up remote group membership."
+msgstr "Non poteva configurar le membrato del gruppo remote."
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:667
+msgid "Failed joining remote group."
+msgstr "Falleva de facer se membro del gruppo remote."
+
+#: OStatusPlugin.php:707
+msgid "Leave"
+msgstr "Quitar"
+
+#: OStatusPlugin.php:785
+msgid "Disfavor"
+msgstr "Disfavorir"
+
+#. TRANS: Success message for remove a favorite notice through OStatus.
+#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
+#: OStatusPlugin.php:788
+#, php-format
+msgid "%1$s marked notice %2$s as no longer a favorite."
+msgstr "%1$s marcava le nota %2$s como non plus favorite."
+
+#. TRANS: Link text for link to remote subscribe.
+#: OStatusPlugin.php:864
+msgid "Remote"
+msgstr "Remote"
+
+#. TRANS: Title for activity.
+#: OStatusPlugin.php:904
+msgid "Profile update"
+msgstr "Actualisation de profilo"
+
+#. TRANS: Ping text for remote profile update through OStatus.
+#. TRANS: %s is user that updated their profile.
+#: OStatusPlugin.php:907
+#, php-format
+msgid "%s has updated their profile page."
+msgstr "%s ha actualisate su pagina de profilo."
+
+#. TRANS: Plugin description.
+#: OStatusPlugin.php:952
+msgid ""
+"Follow people across social networks that implement <a href=\"http://ostatus."
+"org/\">OStatus</a>."
+msgstr ""
+"Sequer personas trans retes social que implementa <a href=\"http://ostatus."
+"org/\">OStatus</a>."
+
+#: classes/FeedSub.php:248
+msgid "Attempting to start PuSH subscription for feed with no hub."
+msgstr "Tentativa de comenciar subscription PuSH pro syndication sin centro."
+
+#: classes/FeedSub.php:278
+msgid "Attempting to end PuSH subscription for feed with no hub."
+msgstr "Tentativa de terminar subscription PuSH pro syndication sin centro."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:188
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
+msgstr ""
+"Stato ostatus_profile invalide: IDs e de gruppo e de profilo definite pro %s."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:191
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
+msgstr ""
+"Stato ostatus_profile invalide: IDs e de gruppo e de profilo vacue pro %s."
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+#: classes/Ostatus_profile.php:281
+#, php-format
+msgid "Invalid actor passed to %1$s: %2$s."
+msgstr "Actor invalide passate a %1$s: %2$s."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:374
+msgid ""
+"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
+"Activity entry."
+msgstr ""
+"Typo invalide passate a Ostatos_profile::notify. Illo debe esser catena XML "
+"o entrata Activity."
+
+#: classes/Ostatus_profile.php:404
+msgid "Unknown feed format."
+msgstr "Formato de syndication incognite."
+
+#: classes/Ostatus_profile.php:427
+msgid "RSS feed without a channel."
+msgstr "Syndication RSS sin canal."
+
+#. TRANS: Client exception.
+#: classes/Ostatus_profile.php:472
+msgid "Can't handle that kind of post."
+msgstr "Non pote tractar iste typo de message."
+
+#. TRANS: Client exception. %s is a source URL.
+#: classes/Ostatus_profile.php:555
+#, php-format
+msgid "No content for notice %s."
+msgstr "Nulle contento pro nota %s."
+
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+#: classes/Ostatus_profile.php:588
+msgid "Show more"
+msgstr "Monstrar plus"
+
+#. TRANS: Exception. %s is a profile URL.
+#: classes/Ostatus_profile.php:781
+#, php-format
+msgid "Could not reach profile page %s."
+msgstr "Non poteva attinger pagina de profilo %s."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:839
+#, php-format
+msgid "Could not find a feed URL for profile page %s."
+msgstr "Non poteva trovar un URL de syndication pro pagina de profilo %s."
+
+#: classes/Ostatus_profile.php:976
+msgid "Can't find enough profile information to make a feed."
+msgstr ""
+"Non pote trovar satis de information de profilo pro facer un syndication."
+
+#: classes/Ostatus_profile.php:1035
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "URL de avatar %s invalide."
+
+#: classes/Ostatus_profile.php:1045
+#, php-format
+msgid "Tried to update avatar for unsaved remote profile %s."
+msgstr "Tentava actualisar avatar pro profilo remote non salveguardate %s."
+
+#: classes/Ostatus_profile.php:1053
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Incapace de obtener avatar ab %s."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1275
+msgid "Local user can't be referenced as remote."
+msgstr "Usator local non pote esser referentiate como remote."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1280
+msgid "Local group can't be referenced as remote."
+msgstr "Gruppo local non pote esser referentiate como remote."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1332 classes/Ostatus_profile.php:1343
+msgid "Can't save local profile."
+msgstr "Non pote salveguardar profilo local."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1351
+msgid "Can't save OStatus profile."
+msgstr "Non pote salveguardar profilo OStatus."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1610 classes/Ostatus_profile.php:1638
+msgid "Not a valid webfinger address."
+msgstr "Adresse webfinger invalide."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1720
+#, php-format
+msgid "Couldn't save profile for \"%s\"."
+msgstr "Non poteva salveguardar profilo pro \"%s\"."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1739
+#, php-format
+msgid "Couldn't save ostatus_profile for \"%s\"."
+msgstr "Non poteva salveguardar osatus_profile pro %s."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1747
+#, php-format
+msgid "Couldn't find a valid profile for \"%s\"."
+msgstr "Non poteva trovar un profilo valide pro \"%s\"."
+
+#: classes/Ostatus_profile.php:1789
+msgid "Could not store HTML content of long post as file."
+msgstr "Non poteva immagazinar contento HTML de longe message como file."
+
+#. TRANS: Client exception. %s is a HTTP status code.
+#: classes/HubSub.php:208
+#, php-format
+msgid "Hub subscriber verification returned HTTP %s."
+msgstr "Verification de subscriptor de centro retornava HTTP %s."
+
+#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+#: classes/HubSub.php:355
+#, php-format
+msgid "Callback returned status: %1$s. Body: %2$s"
+msgstr "Appello de retorno retornava stato: %1$s. Corpore: %2$s"
+
+#. TRANS: Client error. POST is a HTTP command. It should not be translated.
+#: lib/salmonaction.php:42
+msgid "This method requires a POST."
+msgstr "Iste methodo require un POST."
+
+#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
+#: lib/salmonaction.php:47
+msgid "Salmon requires \"application/magic-envelope+xml\"."
+msgstr "Salmon require \"application/magic-envelope+xml\"."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:57
+msgid "Salmon signature verification failed."
+msgstr "Verification de signatura Salmon falleva."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:69
+msgid "Salmon post must be an Atom entry."
+msgstr "Message Salmon debe esser un entrata Atom."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:118
+msgid "Unrecognized activity type."
+msgstr "Typo de activitate non recognoscite."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:127
+msgid "This target doesn't understand posts."
+msgstr "Iste destination non comprende messages."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:133
+msgid "This target doesn't understand follows."
+msgstr "Iste destination non comprende sequimentos."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:139
+msgid "This target doesn't understand unfollows."
+msgstr "Iste destination non comprende cessationes de sequimento."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:145
+msgid "This target doesn't understand favorites."
+msgstr "Iste destination non comprende le addition de favorites."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:151
+msgid "This target doesn't understand unfavorites."
+msgstr "Iste destination non comprende le remotion de favorites."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:157
+msgid "This target doesn't understand share events."
+msgstr "Iste destination non comprende eventos commun."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:163
+msgid "This target doesn't understand joins."
+msgstr "Iste destination non comprende indicationes de adhesion."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:169
+msgid "This target doesn't understand leave events."
+msgstr "Iste destination non comprende eventos de partita."
+
+#. TRANS: Exception.
+#: lib/salmonaction.php:197
+msgid "Received a salmon slap from unidentified actor."
+msgstr "Recipeva un claffo de salmon de un actor non identificate."
+
+#. TRANS: Exception.
+#: lib/discovery.php:110
+#, php-format
+msgid "Unable to find services for %s."
+msgstr "Incapace de trovar servicios pro %s."
+
+#. TRANS: Exception.
+#: lib/xrd.php:64
+msgid "Invalid XML."
+msgstr "XML invalide."
+
+#. TRANS: Exception.
+#: lib/xrd.php:69
+msgid "Invalid XML, missing XRD root."
+msgstr "XML invalide, radice XRD mancante."
+
+#. TRANS: Exception.
+#: lib/magicenvelope.php:80
+msgid "Unable to locate signer public key."
+msgstr "Incapace de localisar le clave public del signator."
+
+#. TRANS: Exception.
+#: lib/salmon.php:93
+msgid "Salmon invalid actor for signing."
+msgstr "Salmon: actor invalide pro signar."
+
+#: tests/gettext-speedtest.php:57
+msgid "Feeds"
+msgstr "Syndicationes"
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:66
+msgid "Publishing outside feeds not supported."
+msgstr "Le publication de syndicationes externe non es supportate."
+
+#. TRANS: Client exception. %s is a mode.
+#: actions/pushhub.php:69
+#, php-format
+msgid "Unrecognized mode \"%s\"."
+msgstr "Modo \"%s\" non recognoscite."
+
+#. TRANS: Client exception. %s is a topic.
+#: actions/pushhub.php:89
+#, php-format
+msgid ""
+"Unsupported hub.topic %s this hub only serves local user and group Atom "
+"feeds."
+msgstr ""
+"Le topico de centro %s non es supportate. Iste centro servi solmente le "
+"syndicationes Atom de usatores e gruppos local."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:95
+#, php-format
+msgid "Invalid hub.verify \"%s\". It must be sync or async."
+msgstr "Invalide hub.verify \"%s\". Debe esser sync o async."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:101
+#, php-format
+msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
+msgstr ""
+"Invalide hub.lease \"%s\". Debe esser vacue o un numero integre positive."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:109
+#, php-format
+msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
+msgstr "Invalide hub.secret \"%s\". Debe pesar minus de 200 bytes."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:161
+#, php-format
+msgid "Invalid hub.topic \"%s\". User doesn't exist."
+msgstr "Invalide hub.topic \"%s\". Usator non existe."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:170
+#, php-format
+msgid "Invalid hub.topic \"%s\". Group doesn't exist."
+msgstr "Invalide hub.topic \"%s\". Gruppo non existe."
+
+#. TRANS: Client exception.
+#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+#: actions/pushhub.php:195
+#, php-format
+msgid "Invalid URL passed for %1$s: \"%2$s\""
+msgstr "Invalide URL passate pro %1$s: \"%2$s\""
+
+#: actions/userxrd.php:49 actions/ownerxrd.php:37 actions/usersalmon.php:43
+msgid "No such user."
+msgstr "Iste usator non existe."
+
+#. TRANS: Client error.
+#: actions/usersalmon.php:37 actions/groupsalmon.php:40
+msgid "No ID."
+msgstr "Nulle ID."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:81
+msgid "In reply to unknown notice."
+msgstr "In responsa a un nota incognite."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:86
+msgid "In reply to a notice not by this user and not mentioning this user."
+msgstr ""
+"In responsa a un nota non scribite per iste usator e que non mentiona iste "
+"usator."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:163
+msgid "Could not save new favorite."
+msgstr "Non poteva salveguardar le nove favorite."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:195
+msgid "Can't favorite/unfavorite without an object."
+msgstr "Non pote favorir/disfavorir sin objecto."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:207
+msgid "Can't handle that kind of object for liking/faving."
+msgstr "Non pote manear iste typo de objecto pro appreciar/favorir."
+
+#. TRANS: Client exception. %s is an object ID.
+#: actions/usersalmon.php:214
+#, php-format
+msgid "Notice with ID %s unknown."
+msgstr "Nota con ID %s incognite."
+
+#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+#: actions/usersalmon.php:219
+#, php-format
+msgid "Notice with ID %1$s not posted by %2$s."
+msgstr "Nota con ID %1$s non publicate per %2$s."
+
+#. TRANS: Field label.
+#: actions/ostatusgroup.php:76
+msgid "Join group"
+msgstr "Adherer al gruppo"
+
+#. TRANS: Tooltip for field label "Join group".
+#: actions/ostatusgroup.php:79
+msgid "OStatus group's address, like http://example.net/group/nickname."
+msgstr ""
+"Un adresse de gruppo OStatus, como http://example.net/group/pseudonymo."
+
+#. TRANS: Button text.
+#: actions/ostatusgroup.php:84 actions/ostatussub.php:73
+msgctxt "BUTTON"
+msgid "Continue"
+msgstr "Continuar"
+
+#: actions/ostatusgroup.php:103
+msgid "You are already a member of this group."
+msgstr "Tu es ja membro de iste gruppo."
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:138
+msgid "Already a member!"
+msgstr "Ja membro!"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:149
+msgid "Remote group join failed!"
+msgstr "Le adhesion al gruppo remote ha fallite!"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:153
+msgid "Remote group join aborted!"
+msgstr "Le adhesion al gruppo remote ha essite abortate!"
+
+#. TRANS: Page title for OStatus remote group join form
+#: actions/ostatusgroup.php:165
+msgid "Confirm joining remote group"
+msgstr "Confirmar adhesion a gruppo remote"
+
+#. TRANS: Instructions.
+#: actions/ostatusgroup.php:176
+msgid ""
+"You can subscribe to groups from other supported sites. Paste the group's "
+"profile URI below:"
+msgstr ""
+"Tu pote subscriber a gruppos de altere sitos supportate. Colla le URI del "
+"profilo del gruppo hic infra:"
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:47
+msgid "No such group."
+msgstr "Gruppo non existe."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:53
+msgid "Can't accept remote posts for a remote group."
+msgstr "Non pote acceptar messages remote pro un gruppo remote."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:127
+msgid "Can't read profile to set up group membership."
+msgstr "Non pote leger profilo pro establir membrato de gruppo."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
+msgid "Groups can't join groups."
+msgstr "Gruppos non pote adherer a gruppos."
+
+#: actions/groupsalmon.php:144
+msgid "You have been blocked from that group by the admin."
+msgstr "Le administrator te ha blocate de iste gruppo."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:159
+#, php-format
+msgid "Could not join remote user %1$s to group %2$s."
+msgstr "Non poteva inscriber le usator remote %1$s in le gruppo %2$s."
+
+#: actions/groupsalmon.php:171
+msgid "Can't read profile to cancel group membership."
+msgstr "Non pote leger profilo pro cancellar membrato de gruppo."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:188
+#, php-format
+msgid "Could not remove remote user %1$s from group %2$s."
+msgstr "Non poteva remover le usator remote %1$s del gruppo %2$s."
+
+#. TRANS: Field label for a field that takes an OStatus user address.
+#: actions/ostatussub.php:66
+msgid "Subscribe to"
+msgstr "Subscriber a"
+
+#. TRANS: Tooltip for field label "Subscribe to".
+#: actions/ostatussub.php:69
+msgid ""
+"OStatus user's address, like nickname@example.com or http://example.net/"
+"nickname"
+msgstr ""
+"Le adresse de un usator OStatus, como pseudonymo@example.com o http://"
+"example.net/pseudonymo"
+
+#. TRANS: Button text.
+#. TRANS: Tooltip for button "Join".
+#: actions/ostatussub.php:110
+msgctxt "BUTTON"
+msgid "Join this group"
+msgstr "Adherer a iste gruppo"
+
+#. TRANS: Button text.
+#: actions/ostatussub.php:113
+msgctxt "BUTTON"
+msgid "Confirm"
+msgstr "Confirmar"
+
+#. TRANS: Tooltip for button "Confirm".
+#: actions/ostatussub.php:115
+msgid "Subscribe to this user"
+msgstr "Subscriber a iste usator"
+
+#: actions/ostatussub.php:136
+msgid "You are already subscribed to this user."
+msgstr "Tu es ja subscribite a iste usator."
+
+#: actions/ostatussub.php:165
+msgid "Photo"
+msgstr "Photo"
+
+#: actions/ostatussub.php:176
+msgid "Nickname"
+msgstr "Pseudonymo"
+
+#: actions/ostatussub.php:197
+msgid "Location"
+msgstr "Loco"
+
+#: actions/ostatussub.php:206
+msgid "URL"
+msgstr "URL"
+
+#: actions/ostatussub.php:218
+msgid "Note"
+msgstr "Nota"
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:254 actions/ostatussub.php:261
+#: actions/ostatussub.php:286
+msgid ""
+"Sorry, we could not reach that address. Please make sure that the OStatus "
+"address is like nickname@example.com or http://example.net/nickname."
+msgstr ""
+"Regrettabilemente, nos non poteva attinger iste adresse. Per favor assecura "
+"te que le adresse OStatus es como pseudonymo@example.com o http://example."
+"net/pseudonymo."
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:265 actions/ostatussub.php:269
+#: actions/ostatussub.php:273 actions/ostatussub.php:277
+#: actions/ostatussub.php:281
+msgid ""
+"Sorry, we could not reach that feed. Please try that OStatus address again "
+"later."
+msgstr ""
+"Regrettabilemente, nos non poteva attinger iste syndication. Per favor "
+"reproba iste adresse OStatus plus tarde."
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:315
+msgid "Already subscribed!"
+msgstr "Ja subscribite!"
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:320
+msgid "Remote subscription failed!"
+msgstr "Subscription remote fallite!"
+
+#: actions/ostatussub.php:367 actions/ostatusinit.php:63
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
+
+#. TRANS: Form title.
+#: actions/ostatussub.php:395 actions/ostatusinit.php:82
+msgid "Subscribe to user"
+msgstr "Subscriber a usator"
+
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:415
+msgid "Confirm"
+msgstr "Confirmar"
+
+#. TRANS: Instructions.
+#: actions/ostatussub.php:427
+msgid ""
+"You can subscribe to users from other supported sites. Paste their address "
+"or profile URI below:"
+msgstr ""
+"Tu pote subscriber a usatores de altere sitos supportate. Colla su adresse o "
+"URI de profilo hic infra:"
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:41
+msgid "You can use the local subscription!"
+msgstr "Tu pote usar le subscription local!"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:97
+#, php-format
+msgid "Join group %s"
+msgstr "Adherer al gruppo %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:99
+msgctxt "BUTTON"
+msgid "Join"
+msgstr "Inscriber"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:102
+#, php-format
+msgid "Subscribe to %s"
+msgstr "Subscriber a %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:104
+msgctxt "BUTTON"
+msgid "Subscribe"
+msgstr "Subscriber"
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:117
+msgid "User nickname"
+msgstr "Pseudonymo del usator"
+
+#: actions/ostatusinit.php:118
+msgid "Nickname of the user you want to follow."
+msgstr "Le pseudonymo del usator que tu vole sequer."
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:123
+msgid "Profile Account"
+msgstr "Conto de profilo"
+
+#. TRANS: Tooltip for field label "Profile Account".
+#: actions/ostatusinit.php:125
+msgid "Your account id (e.g. user@identi.ca)."
+msgstr "Le ID de tu conto (p.ex. usator@identi.ca)."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:147
+msgid "Must provide a remote profile."
+msgstr "Debe fornir un profilo remote."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:159
+msgid "Couldn't look up OStatus account profile."
+msgstr "Non poteva cercar le profilo del conto OStatus."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:172
+msgid "Couldn't confirm remote profile address."
+msgstr "Non poteva confirmar le adresse del profilo remote."
+
+#. TRANS: Page title.
+#: actions/ostatusinit.php:217
+msgid "OStatus Connect"
+msgstr "Connexion OStatus"
+
+#: actions/pushcallback.php:48
+msgid "Empty or invalid feed id."
+msgstr "ID de syndication vacue o invalide."
+
+#. TRANS: Server exception. %s is a feed ID.
+#: actions/pushcallback.php:54
+#, php-format
+msgid "Unknown PuSH feed id %s"
+msgstr "ID de syndication PuSH %s incognite"
+
+#. TRANS: Client exception. %s is an invalid feed name.
+#: actions/pushcallback.php:93
+#, php-format
+msgid "Bad hub.topic feed \"%s\"."
+msgstr "Syndication hub.topic \"%s\" incorrecte."
+
+#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+#: actions/pushcallback.php:98
+#, php-format
+msgid "Bad hub.verify_token %1$s for %2$s."
+msgstr "Incorrecte hub.verify_token %1$s pro %2$s."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:105
+#, php-format
+msgid "Unexpected subscribe request for %s."
+msgstr "Requesta de subscription inexpectate pro %s."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:110
+#, php-format
+msgid "Unexpected unsubscribe request for %s."
+msgstr "Requesta de cancellation de subscription inexpectate pro %s."
diff --git a/plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po
new file mode 100644
index 000000000..fc2e4b1e2
--- /dev/null
+++ b/plugins/OStatus/locale/mk/LC_MESSAGES/OStatus.po
@@ -0,0 +1,771 @@
+# Translation of StatusNet - OStatus to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OStatus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:15+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-ostatus\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Link description for link to subscribe to a remote user.
+#. TRANS: Link text for a user to subscribe to an OStatus user.
+#: OStatusPlugin.php:227 OStatusPlugin.php:937
+msgid "Subscribe"
+msgstr "Претплати се"
+
+#. TRANS: Link description for link to join a remote group.
+#: OStatusPlugin.php:246 OStatusPlugin.php:655 actions/ostatussub.php:107
+msgid "Join"
+msgstr "Придружи се"
+
+#. TRANSLATE: %s is a domain.
+#: OStatusPlugin.php:459
+#, php-format
+msgid "Sent from %s via OStatus"
+msgstr "Испратено од %s преку OStatus"
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:531
+msgid "Could not set up remote subscription."
+msgstr "Не можев да ја поставам далечинската претплата."
+
+#: OStatusPlugin.php:605
+msgid "Unfollow"
+msgstr "Престани со следење"
+
+#. TRANS: Success message for unsubscribe from user attempt through OStatus.
+#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
+#: OStatusPlugin.php:608
+#, php-format
+msgid "%1$s stopped following %2$s."
+msgstr "%1$s престана да го/ја следи %2$s."
+
+#: OStatusPlugin.php:636
+msgid "Could not set up remote group membership."
+msgstr "Не можев да го поставам членството во далечинската група."
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:667
+msgid "Failed joining remote group."
+msgstr "Не успеав да Ве зачленам во далечинската група."
+
+#: OStatusPlugin.php:707
+msgid "Leave"
+msgstr "Напушти"
+
+#: OStatusPlugin.php:785
+msgid "Disfavor"
+msgstr "Откажи бендисана"
+
+#. TRANS: Success message for remove a favorite notice through OStatus.
+#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
+#: OStatusPlugin.php:788
+#, php-format
+msgid "%1$s marked notice %2$s as no longer a favorite."
+msgstr "%1$s повеќе не ја бендисува забелешката %2$s."
+
+#. TRANS: Link text for link to remote subscribe.
+#: OStatusPlugin.php:864
+msgid "Remote"
+msgstr "Далечински"
+
+#. TRANS: Title for activity.
+#: OStatusPlugin.php:904
+msgid "Profile update"
+msgstr "Поднова на профил"
+
+#. TRANS: Ping text for remote profile update through OStatus.
+#. TRANS: %s is user that updated their profile.
+#: OStatusPlugin.php:907
+#, php-format
+msgid "%s has updated their profile page."
+msgstr "%s ја поднови својата профилна страница."
+
+#. TRANS: Plugin description.
+#: OStatusPlugin.php:952
+msgid ""
+"Follow people across social networks that implement <a href=\"http://ostatus."
+"org/\">OStatus</a>."
+msgstr ""
+"Следете луѓе низ разни друштвени мрежи што го применуваат <a href=\"http://"
+"ostatus.org/\">OStatus</a>."
+
+#: classes/FeedSub.php:248
+msgid "Attempting to start PuSH subscription for feed with no hub."
+msgstr "Се обидов да ја започнам PuSH-претплатата за канал без средиште."
+
+#: classes/FeedSub.php:278
+msgid "Attempting to end PuSH subscription for feed with no hub."
+msgstr ""
+"Се обидувам да ставам крај на PuSH-претплатата за емитување без средиште."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:188
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
+msgstr ""
+"Неважечка ostatus_profile-состојба: назнаките (ID) на групата и профилот се "
+"наместени за %s."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:191
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
+msgstr ""
+"Неважечка ostatus_profile-состојба: назнаките (ID) за групата и профилот се "
+"празни за %s."
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+#: classes/Ostatus_profile.php:281
+#, php-format
+msgid "Invalid actor passed to %1$s: %2$s."
+msgstr "На %1$s е пренесен неважечки учесник: %2$s."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:374
+msgid ""
+"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
+"Activity entry."
+msgstr ""
+"На Ostatus_profile::notify е пренесен неважечки тип. Мора да биде XML-низа "
+"или ставка во Activity."
+
+#: classes/Ostatus_profile.php:404
+msgid "Unknown feed format."
+msgstr "Непознат формат на каналско емитување."
+
+#: classes/Ostatus_profile.php:427
+msgid "RSS feed without a channel."
+msgstr "RSS-емитување без канал."
+
+#. TRANS: Client exception.
+#: classes/Ostatus_profile.php:472
+msgid "Can't handle that kind of post."
+msgstr "Не можам да работам со таква објава."
+
+#. TRANS: Client exception. %s is a source URL.
+#: classes/Ostatus_profile.php:555
+#, php-format
+msgid "No content for notice %s."
+msgstr "Нема содржина за забелешката %s."
+
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+#: classes/Ostatus_profile.php:588
+msgid "Show more"
+msgstr "Повеќе"
+
+#. TRANS: Exception. %s is a profile URL.
+#: classes/Ostatus_profile.php:781
+#, php-format
+msgid "Could not reach profile page %s."
+msgstr "Не можев да ја добијам профилната страница %s."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:839
+#, php-format
+msgid "Could not find a feed URL for profile page %s."
+msgstr "Не можев да пронајдам каналска URL-адреса за профилната страница %s."
+
+#: classes/Ostatus_profile.php:976
+msgid "Can't find enough profile information to make a feed."
+msgstr "Не можев да најдам доволно профилни податоци за да направам канал."
+
+#: classes/Ostatus_profile.php:1035
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Неважечка URL-адреса за аватарот: %s."
+
+#: classes/Ostatus_profile.php:1045
+#, php-format
+msgid "Tried to update avatar for unsaved remote profile %s."
+msgstr ""
+"Се обидов да го подновам аватарот за незачуваниот далечински профил %s."
+
+#: classes/Ostatus_profile.php:1053
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Не можам да го добијам аватарот од %s."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1275
+msgid "Local user can't be referenced as remote."
+msgstr "Локалниот корисник не може да се наведе како далечински."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1280
+msgid "Local group can't be referenced as remote."
+msgstr "Локалната група не може да се наведе како далечинска."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1332 classes/Ostatus_profile.php:1343
+msgid "Can't save local profile."
+msgstr "Не можам да го зачувам локалниот профил."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1351
+msgid "Can't save OStatus profile."
+msgstr "Не можам да го зачувам профилот од OStatus."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1610 classes/Ostatus_profile.php:1638
+msgid "Not a valid webfinger address."
+msgstr "Ова не е важечка Webfinger-адреса"
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1720
+#, php-format
+msgid "Couldn't save profile for \"%s\"."
+msgstr "Не можам да го зачувам профилот за „%s“."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1739
+#, php-format
+msgid "Couldn't save ostatus_profile for \"%s\"."
+msgstr "Не можам да го зачувам ostatus_profile за „%s“."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1747
+#, php-format
+msgid "Couldn't find a valid profile for \"%s\"."
+msgstr "Не можев да пронајдам важечки профил за „%s“."
+
+#: classes/Ostatus_profile.php:1789
+msgid "Could not store HTML content of long post as file."
+msgstr ""
+"Не можам да ја складирам HTML-содржината на долгата објава како податотека."
+
+#. TRANS: Client exception. %s is a HTTP status code.
+#: classes/HubSub.php:208
+#, php-format
+msgid "Hub subscriber verification returned HTTP %s."
+msgstr "Потврдата на претплатникот на средиштето даде HTTP %s."
+
+#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+#: classes/HubSub.php:355
+#, php-format
+msgid "Callback returned status: %1$s. Body: %2$s"
+msgstr "Повратниот повик даде статус: %1$s. Содржина: %2$s"
+
+#. TRANS: Client error. POST is a HTTP command. It should not be translated.
+#: lib/salmonaction.php:42
+msgid "This method requires a POST."
+msgstr "Овој метод бара POST."
+
+#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
+#: lib/salmonaction.php:47
+msgid "Salmon requires \"application/magic-envelope+xml\"."
+msgstr "Salmon бара „програм/magic-envelope+xml“."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:57
+msgid "Salmon signature verification failed."
+msgstr "Salmon-овото потврдување на потпис не успеа."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:69
+msgid "Salmon post must be an Atom entry."
+msgstr "Salmon-овата објава мора да биде Atom-ова ставка."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:118
+msgid "Unrecognized activity type."
+msgstr "Непризнаен вид на активност."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:127
+msgid "This target doesn't understand posts."
+msgstr "Оваа цел не разбира објави."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:133
+msgid "This target doesn't understand follows."
+msgstr "Оваа цел не разбира следења."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:139
+msgid "This target doesn't understand unfollows."
+msgstr "Оваа цел не разбира прекини на следења."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:145
+msgid "This target doesn't understand favorites."
+msgstr "Оваа цел не разбира бендисување на забелешки."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:151
+msgid "This target doesn't understand unfavorites."
+msgstr "Оваа цел не разбира одбендисување на забелешки."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:157
+msgid "This target doesn't understand share events."
+msgstr "Оваа цел не разбира споделување на настани."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:163
+msgid "This target doesn't understand joins."
+msgstr "Оваа цел не разбира придружувања."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:169
+msgid "This target doesn't understand leave events."
+msgstr "Оваа цел не разбира напуштање на настани."
+
+#. TRANS: Exception.
+#: lib/salmonaction.php:197
+msgid "Received a salmon slap from unidentified actor."
+msgstr "Примив Salmon-шамар од непознат учесник."
+
+#. TRANS: Exception.
+#: lib/discovery.php:110
+#, php-format
+msgid "Unable to find services for %s."
+msgstr "Не можев да најдам служби за %s."
+
+#. TRANS: Exception.
+#: lib/xrd.php:64
+msgid "Invalid XML."
+msgstr "Неважечко XML."
+
+#. TRANS: Exception.
+#: lib/xrd.php:69
+msgid "Invalid XML, missing XRD root."
+msgstr "Неважечко XML. Нема XRD-основа."
+
+#. TRANS: Exception.
+#: lib/magicenvelope.php:80
+msgid "Unable to locate signer public key."
+msgstr "Не можам да го пронајдам јавниот клуч на потписникот."
+
+#. TRANS: Exception.
+#: lib/salmon.php:93
+msgid "Salmon invalid actor for signing."
+msgstr "Ова е неважечки учесник во потпишувањето според Salmon."
+
+#: tests/gettext-speedtest.php:57
+msgid "Feeds"
+msgstr "Канали"
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:66
+msgid "Publishing outside feeds not supported."
+msgstr "Објавувањето вон каналите не е поддржано."
+
+#. TRANS: Client exception. %s is a mode.
+#: actions/pushhub.php:69
+#, php-format
+msgid "Unrecognized mode \"%s\"."
+msgstr "Непрепознат режим „%s“."
+
+#. TRANS: Client exception. %s is a topic.
+#: actions/pushhub.php:89
+#, php-format
+msgid ""
+"Unsupported hub.topic %s this hub only serves local user and group Atom "
+"feeds."
+msgstr ""
+"Неподдржан hub.topic %s - ова средиште служи само за само Atom-емитувања од "
+"локални корисници и групи."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:95
+#, php-format
+msgid "Invalid hub.verify \"%s\". It must be sync or async."
+msgstr "Неважечки hub.verify „%s“. Мора да биде sync или async."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:101
+#, php-format
+msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
+msgstr "Неважечки hub.lease „%s“. Мора да биде празно или позитивен цел број."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:109
+#, php-format
+msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
+msgstr "Неважечки hub.secret „%s“. Мора да биде под 200 бајти."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:161
+#, php-format
+msgid "Invalid hub.topic \"%s\". User doesn't exist."
+msgstr "Неважеки hub.topic „%s“. Корисникот не постои."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:170
+#, php-format
+msgid "Invalid hub.topic \"%s\". Group doesn't exist."
+msgstr "Неважечки hub.topic „%s“. Групата не постои."
+
+#. TRANS: Client exception.
+#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+#: actions/pushhub.php:195
+#, php-format
+msgid "Invalid URL passed for %1$s: \"%2$s\""
+msgstr "Добив неважечка URL-адреса за %1$s: „%2$s“"
+
+#: actions/userxrd.php:49 actions/ownerxrd.php:37 actions/usersalmon.php:43
+msgid "No such user."
+msgstr "Нема таков корисник."
+
+#. TRANS: Client error.
+#: actions/usersalmon.php:37 actions/groupsalmon.php:40
+msgid "No ID."
+msgstr "Нема ID."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:81
+msgid "In reply to unknown notice."
+msgstr "Како одговор на непозната забелешка."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:86
+msgid "In reply to a notice not by this user and not mentioning this user."
+msgstr ""
+"Како одговор на забелешка која не е од овој корисник и не го споменува."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:163
+msgid "Could not save new favorite."
+msgstr "Не можам да го зачувам новобендисаното."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:195
+msgid "Can't favorite/unfavorite without an object."
+msgstr "Не можам да означам како бендисано или да тргнам бендисано без објект."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:207
+msgid "Can't handle that kind of object for liking/faving."
+msgstr ""
+"Не можам да работам со таков објект за ставање врски/означување бендисани."
+
+#. TRANS: Client exception. %s is an object ID.
+#: actions/usersalmon.php:214
+#, php-format
+msgid "Notice with ID %s unknown."
+msgstr "Не ја распознавам забелешката со ID %s."
+
+#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+#: actions/usersalmon.php:219
+#, php-format
+msgid "Notice with ID %1$s not posted by %2$s."
+msgstr "Забелешката со ID %1$s не е објавена од %2$s."
+
+#. TRANS: Field label.
+#: actions/ostatusgroup.php:76
+msgid "Join group"
+msgstr "Придружи се на групата"
+
+#. TRANS: Tooltip for field label "Join group".
+#: actions/ostatusgroup.php:79
+msgid "OStatus group's address, like http://example.net/group/nickname."
+msgstr ""
+"Адреса на групата на OStatus, како на пр. http://primer.net/group/prekar."
+
+#. TRANS: Button text.
+#: actions/ostatusgroup.php:84 actions/ostatussub.php:73
+msgctxt "BUTTON"
+msgid "Continue"
+msgstr "Продолжи"
+
+#: actions/ostatusgroup.php:103
+msgid "You are already a member of this group."
+msgstr "Веќе членувате во групава."
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:138
+msgid "Already a member!"
+msgstr "Веќе членувате!"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:149
+msgid "Remote group join failed!"
+msgstr "Придружувањето на далечинската група не успеа!"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:153
+msgid "Remote group join aborted!"
+msgstr "Придружувањето на далечинската група е откажано!"
+
+#. TRANS: Page title for OStatus remote group join form
+#: actions/ostatusgroup.php:165
+msgid "Confirm joining remote group"
+msgstr "Потврди придружување кон далечинска група."
+
+#. TRANS: Instructions.
+#: actions/ostatusgroup.php:176
+msgid ""
+"You can subscribe to groups from other supported sites. Paste the group's "
+"profile URI below:"
+msgstr ""
+"Можете да се претплаќате на групи од други поддржани мреж. места. Подолу "
+"залепете го URI-то на профилот на групата."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:47
+msgid "No such group."
+msgstr "Нема таква група."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:53
+msgid "Can't accept remote posts for a remote group."
+msgstr "Не можам да прифаќам далечински објави од далечинска група."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:127
+msgid "Can't read profile to set up group membership."
+msgstr ""
+"Не можев да го прочитам профилот за да го поставам членството во групата."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
+msgid "Groups can't join groups."
+msgstr "Во групите не можат да се зачленуваат групи."
+
+#: actions/groupsalmon.php:144
+msgid "You have been blocked from that group by the admin."
+msgstr "Блокирани сте на таа група од администратор."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:159
+#, php-format
+msgid "Could not join remote user %1$s to group %2$s."
+msgstr "Не можев да го зачленам далечинскиот корисник %1$s во групата %2$s."
+
+#: actions/groupsalmon.php:171
+msgid "Can't read profile to cancel group membership."
+msgstr "Не можам да го прочитам профилот за откажам членство во групата."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:188
+#, php-format
+msgid "Could not remove remote user %1$s from group %2$s."
+msgstr "Не можев да го отстранам далечинскиот корисник %1$s од групата %2$s."
+
+#. TRANS: Field label for a field that takes an OStatus user address.
+#: actions/ostatussub.php:66
+msgid "Subscribe to"
+msgstr "Претплати се"
+
+#. TRANS: Tooltip for field label "Subscribe to".
+#: actions/ostatussub.php:69
+msgid ""
+"OStatus user's address, like nickname@example.com or http://example.net/"
+"nickname"
+msgstr ""
+"Адреса на корисникот на OStatus, како на пр. prekar@primer.com or http://"
+"primer.net/prekar"
+
+#. TRANS: Button text.
+#. TRANS: Tooltip for button "Join".
+#: actions/ostatussub.php:110
+msgctxt "BUTTON"
+msgid "Join this group"
+msgstr "Зачлени се во групава"
+
+#. TRANS: Button text.
+#: actions/ostatussub.php:113
+msgctxt "BUTTON"
+msgid "Confirm"
+msgstr "Потврди"
+
+#. TRANS: Tooltip for button "Confirm".
+#: actions/ostatussub.php:115
+msgid "Subscribe to this user"
+msgstr "Претплати се на корисников"
+
+#: actions/ostatussub.php:136
+msgid "You are already subscribed to this user."
+msgstr "Веќе сте претплатени на овој корисник."
+
+#: actions/ostatussub.php:165
+msgid "Photo"
+msgstr "Слика"
+
+#: actions/ostatussub.php:176
+msgid "Nickname"
+msgstr "Прекар"
+
+#: actions/ostatussub.php:197
+msgid "Location"
+msgstr "Место"
+
+#: actions/ostatussub.php:206
+msgid "URL"
+msgstr "URL-адереса"
+
+#: actions/ostatussub.php:218
+msgid "Note"
+msgstr "Белешка"
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:254 actions/ostatussub.php:261
+#: actions/ostatussub.php:286
+msgid ""
+"Sorry, we could not reach that address. Please make sure that the OStatus "
+"address is like nickname@example.com or http://example.net/nickname."
+msgstr ""
+"Нажалост, не можевме да ја добиеме таа адреса. Проверете дали адресата од "
+"OStatus е од типот prekar@primer.com или http://primer.net/prekar."
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:265 actions/ostatussub.php:269
+#: actions/ostatussub.php:273 actions/ostatussub.php:277
+#: actions/ostatussub.php:281
+msgid ""
+"Sorry, we could not reach that feed. Please try that OStatus address again "
+"later."
+msgstr ""
+"Нажалост, не можевме да го добиеме тој канал. Обидете се со таа OStatus-"
+"адреса подоцна."
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:315
+msgid "Already subscribed!"
+msgstr "Веќе сте претплатени!"
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:320
+msgid "Remote subscription failed!"
+msgstr "Далечинската претплата не успеа!"
+
+#: actions/ostatussub.php:367 actions/ostatusinit.php:63
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се повторно."
+
+#. TRANS: Form title.
+#: actions/ostatussub.php:395 actions/ostatusinit.php:82
+msgid "Subscribe to user"
+msgstr "Претплати се на корисник"
+
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:415
+msgid "Confirm"
+msgstr "Потврди"
+
+#. TRANS: Instructions.
+#: actions/ostatussub.php:427
+msgid ""
+"You can subscribe to users from other supported sites. Paste their address "
+"or profile URI below:"
+msgstr ""
+"Можете да се претплатите на корисници од други поддржани мрежни места. "
+"Ископирајте ја нивната адреса или профилно URI подолу:"
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:41
+msgid "You can use the local subscription!"
+msgstr "Можете да ја користите локалната претплата!"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:97
+#, php-format
+msgid "Join group %s"
+msgstr "Зачлени се во групата %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:99
+msgctxt "BUTTON"
+msgid "Join"
+msgstr "Зачлени се"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:102
+#, php-format
+msgid "Subscribe to %s"
+msgstr "Претплати се на %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:104
+msgctxt "BUTTON"
+msgid "Subscribe"
+msgstr "Претплати се"
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:117
+msgid "User nickname"
+msgstr "Прекар на корисникот"
+
+#: actions/ostatusinit.php:118
+msgid "Nickname of the user you want to follow."
+msgstr "Прекарот на корисникот што сакате да го следите."
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:123
+msgid "Profile Account"
+msgstr "Профилна сметка"
+
+#. TRANS: Tooltip for field label "Profile Account".
+#: actions/ostatusinit.php:125
+msgid "Your account id (e.g. user@identi.ca)."
+msgstr "Вашата назнака (ID) на сметката (на пр. korisnik@identi.ca)."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:147
+msgid "Must provide a remote profile."
+msgstr "Мора да наведете далечински профил."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:159
+msgid "Couldn't look up OStatus account profile."
+msgstr "Не можев да го проверам профилот на OStatus-сметката."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:172
+msgid "Couldn't confirm remote profile address."
+msgstr "Не можев да ја потврдам адресата на далечинскиот профил."
+
+#. TRANS: Page title.
+#: actions/ostatusinit.php:217
+msgid "OStatus Connect"
+msgstr "OStatus - Поврзување"
+
+#: actions/pushcallback.php:48
+msgid "Empty or invalid feed id."
+msgstr "Празен или неважечки ID за канал"
+
+#. TRANS: Server exception. %s is a feed ID.
+#: actions/pushcallback.php:54
+#, php-format
+msgid "Unknown PuSH feed id %s"
+msgstr "Непознат ID %s за PuSH-канал"
+
+#. TRANS: Client exception. %s is an invalid feed name.
+#: actions/pushcallback.php:93
+#, php-format
+msgid "Bad hub.topic feed \"%s\"."
+msgstr "Лош hub.topic-канал „%s“."
+
+#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+#: actions/pushcallback.php:98
+#, php-format
+msgid "Bad hub.verify_token %1$s for %2$s."
+msgstr "Лош hub.verify_token %1$s за %2$s."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:105
+#, php-format
+msgid "Unexpected subscribe request for %s."
+msgstr "Неочекувано барање за претплата за %s."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:110
+#, php-format
+msgid "Unexpected unsubscribe request for %s."
+msgstr "Неочекувано барање за отпишување од претплата за %s."
diff --git a/plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po
new file mode 100644
index 000000000..e0c6c4aa8
--- /dev/null
+++ b/plugins/OStatus/locale/nl/LC_MESSAGES/OStatus.po
@@ -0,0 +1,800 @@
+# Translation of StatusNet - OStatus to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OStatus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-ostatus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Link description for link to subscribe to a remote user.
+#. TRANS: Link text for a user to subscribe to an OStatus user.
+#: OStatusPlugin.php:227 OStatusPlugin.php:937
+msgid "Subscribe"
+msgstr "Abonneren"
+
+#. TRANS: Link description for link to join a remote group.
+#: OStatusPlugin.php:246 OStatusPlugin.php:655 actions/ostatussub.php:107
+msgid "Join"
+msgstr "Toetreden"
+
+#. TRANSLATE: %s is a domain.
+#: OStatusPlugin.php:459
+#, php-format
+msgid "Sent from %s via OStatus"
+msgstr "Verzonden vanaf %s via OStatus"
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:531
+msgid "Could not set up remote subscription."
+msgstr ""
+"Het was niet mogelijk het abonnement via een andere dienst in te stellen."
+
+#: OStatusPlugin.php:605
+msgid "Unfollow"
+msgstr "Niet langer volgen"
+
+#. TRANS: Success message for unsubscribe from user attempt through OStatus.
+#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
+#: OStatusPlugin.php:608
+#, php-format
+msgid "%1$s stopped following %2$s."
+msgstr "%1$s volgt %2$s niet langer."
+
+#: OStatusPlugin.php:636
+msgid "Could not set up remote group membership."
+msgstr ""
+"Het was niet mogelijk het groepslidmaatschap via een andere dienst in te "
+"stellen."
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:667
+msgid "Failed joining remote group."
+msgstr ""
+"Het was niet mogelijk toe te streden to de groep van een andere dienst."
+
+#: OStatusPlugin.php:707
+msgid "Leave"
+msgstr "Verlaten"
+
+#: OStatusPlugin.php:785
+msgid "Disfavor"
+msgstr "Uit favorieten verwijderen"
+
+#. TRANS: Success message for remove a favorite notice through OStatus.
+#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
+#: OStatusPlugin.php:788
+#, php-format
+msgid "%1$s marked notice %2$s as no longer a favorite."
+msgstr "%1$s heeft de mededeling %2$s als favoriet verwijderd."
+
+#. TRANS: Link text for link to remote subscribe.
+#: OStatusPlugin.php:864
+msgid "Remote"
+msgstr "Via andere dienst"
+
+#. TRANS: Title for activity.
+#: OStatusPlugin.php:904
+msgid "Profile update"
+msgstr "Profielupdate"
+
+#. TRANS: Ping text for remote profile update through OStatus.
+#. TRANS: %s is user that updated their profile.
+#: OStatusPlugin.php:907
+#, php-format
+msgid "%s has updated their profile page."
+msgstr "Het profiel van %s is bijgewerkt."
+
+#. TRANS: Plugin description.
+#: OStatusPlugin.php:952
+msgid ""
+"Follow people across social networks that implement <a href=\"http://ostatus."
+"org/\">OStatus</a>."
+msgstr ""
+"Mensen volgen over sociale netwerken die gebruik maken van <a href=\"http://"
+"ostatus.org/\">OStatus</a>."
+
+#: classes/FeedSub.php:248
+msgid "Attempting to start PuSH subscription for feed with no hub."
+msgstr ""
+"Aan het proberen een PuSH-abonnement te krijgen op een feed zonder hub."
+
+#: classes/FeedSub.php:278
+msgid "Attempting to end PuSH subscription for feed with no hub."
+msgstr ""
+"Aan het proberen een PuSH-abonnement te verwijderen voor een feed zonder hub."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:188
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
+msgstr ""
+"Ongeldige ostatus_profile status: het ID voor zowel de groep als het profiel "
+"voor %s is ingesteld."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:191
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
+msgstr ""
+"Ongeldige ostatus_profile status: het ID voor zowel de groep als het profiel "
+"voor %s is leeg."
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+#: classes/Ostatus_profile.php:281
+#, php-format
+msgid "Invalid actor passed to %1$s: %2$s."
+msgstr "Ongeldige actor doorgegeven aan %1$s: %2$s."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:374
+msgid ""
+"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
+"Activity entry."
+msgstr ""
+"Ongeldig type doorgegeven aan Ostatus_profile::notify. Het moet een XML-"
+"string of Activity zijn."
+
+#: classes/Ostatus_profile.php:404
+msgid "Unknown feed format."
+msgstr "Onbekend feedformaat"
+
+#: classes/Ostatus_profile.php:427
+msgid "RSS feed without a channel."
+msgstr "RSS-feed zonder kanaal."
+
+#. TRANS: Client exception.
+#: classes/Ostatus_profile.php:472
+msgid "Can't handle that kind of post."
+msgstr "Dat type post kan niet verwerkt worden."
+
+#. TRANS: Client exception. %s is a source URL.
+#: classes/Ostatus_profile.php:555
+#, php-format
+msgid "No content for notice %s."
+msgstr "Geen inhoud voor mededeling %s."
+
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+#: classes/Ostatus_profile.php:588
+msgid "Show more"
+msgstr "Meer weergeven"
+
+#. TRANS: Exception. %s is a profile URL.
+#: classes/Ostatus_profile.php:781
+#, php-format
+msgid "Could not reach profile page %s."
+msgstr "Het was niet mogelijk de profielpagina %s te bereiken."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:839
+#, php-format
+msgid "Could not find a feed URL for profile page %s."
+msgstr "Het was niet mogelijk de feed-URL voor de profielpagina %s te vinden."
+
+#: classes/Ostatus_profile.php:976
+msgid "Can't find enough profile information to make a feed."
+msgstr ""
+"Het was niet mogelijk voldoende profielinformatie te vinden om een feed te "
+"maken."
+
+#: classes/Ostatus_profile.php:1035
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Ongeldige avatar-URL %s."
+
+#: classes/Ostatus_profile.php:1045
+#, php-format
+msgid "Tried to update avatar for unsaved remote profile %s."
+msgstr ""
+"Geprobeerd om een avatar bij te werken voor het niet opgeslagen profiel %s."
+
+#: classes/Ostatus_profile.php:1053
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Het was niet mogelijk de avatar op te halen van %s."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1275
+msgid "Local user can't be referenced as remote."
+msgstr ""
+"Naar een lokale gebruiker kan niet verwezen worden alsof die zich bij een "
+"andere dienst bevindt."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1280
+msgid "Local group can't be referenced as remote."
+msgstr ""
+"Naar een lokale groep kan niet verwezen worden alsof die zich bij een andere "
+"dienst bevindt."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1332 classes/Ostatus_profile.php:1343
+msgid "Can't save local profile."
+msgstr "Het was niet mogelijk het lokale profiel op te slaan."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1351
+msgid "Can't save OStatus profile."
+msgstr "Het was niet mogelijk het Ostatusprofiel op te slaan."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1610 classes/Ostatus_profile.php:1638
+msgid "Not a valid webfinger address."
+msgstr "Geen geldig webfingeradres."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1720
+#, php-format
+msgid "Couldn't save profile for \"%s\"."
+msgstr "Het was niet mogelijk het profiel voor \"%s\" op te slaan."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1739
+#, php-format
+msgid "Couldn't save ostatus_profile for \"%s\"."
+msgstr "Het was niet mogelijk het ostatus_profile voor \"%s\" op te slaan."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1747
+#, php-format
+msgid "Couldn't find a valid profile for \"%s\"."
+msgstr "Er is geen geldig profiel voor \"%s\" gevonden."
+
+#: classes/Ostatus_profile.php:1789
+msgid "Could not store HTML content of long post as file."
+msgstr ""
+"Het was niet mogelijk de HTML-inhoud van het lange bericht als bestand op te "
+"slaan."
+
+#. TRANS: Client exception. %s is a HTTP status code.
+#: classes/HubSub.php:208
+#, php-format
+msgid "Hub subscriber verification returned HTTP %s."
+msgstr "De controle voor de hubabonnee heeft een HTTP %s teruggegeven."
+
+#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+#: classes/HubSub.php:355
+#, php-format
+msgid "Callback returned status: %1$s. Body: %2$s"
+msgstr "De callback heeft de status %1$s teruggegeven. Inhoud: %2$s."
+
+#. TRANS: Client error. POST is a HTTP command. It should not be translated.
+#: lib/salmonaction.php:42
+msgid "This method requires a POST."
+msgstr "Deze methode vereist een POST."
+
+#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
+#: lib/salmonaction.php:47
+msgid "Salmon requires \"application/magic-envelope+xml\"."
+msgstr "Salmon vereist \"application/magic-envelope+xml\"."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:57
+msgid "Salmon signature verification failed."
+msgstr "De controle voor Salmon is mislukt."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:69
+msgid "Salmon post must be an Atom entry."
+msgstr "Een Salmonbericht moet in Atomopmaak gemaakt zijn."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:118
+msgid "Unrecognized activity type."
+msgstr "Onbekend activiteitentype."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:127
+msgid "This target doesn't understand posts."
+msgstr "Deze bestemming begrijpt berichten niet."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:133
+msgid "This target doesn't understand follows."
+msgstr "Deze bestemming begrijpt volgen niet."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:139
+msgid "This target doesn't understand unfollows."
+msgstr "Deze bestemming begrijpt niet langer volgen niet."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:145
+msgid "This target doesn't understand favorites."
+msgstr "Deze bestemming begrijpt favorieten niet."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:151
+msgid "This target doesn't understand unfavorites."
+msgstr "Deze bestemming begrijpt favorieten verwijderen niet."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:157
+msgid "This target doesn't understand share events."
+msgstr "Deze bestemming begrijpt gebeurtenissen delen niet."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:163
+msgid "This target doesn't understand joins."
+msgstr "Deze bestemming begrijpt lid worden niet."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:169
+msgid "This target doesn't understand leave events."
+msgstr "Deze bestemming begrijpt uitschrijven van gebeurtenissen niet."
+
+#. TRANS: Exception.
+#: lib/salmonaction.php:197
+msgid "Received a salmon slap from unidentified actor."
+msgstr "Er is een Salmonslap ontvangen van een niet-geïdentificeerde actor."
+
+#. TRANS: Exception.
+#: lib/discovery.php:110
+#, php-format
+msgid "Unable to find services for %s."
+msgstr "Het was niet mogelijk diensten te vinden voor %s."
+
+#. TRANS: Exception.
+#: lib/xrd.php:64
+msgid "Invalid XML."
+msgstr "Ongeldige XML."
+
+#. TRANS: Exception.
+#: lib/xrd.php:69
+msgid "Invalid XML, missing XRD root."
+msgstr "Ongeldige XML. De XRD-root mist."
+
+#. TRANS: Exception.
+#: lib/magicenvelope.php:80
+msgid "Unable to locate signer public key."
+msgstr ""
+"Het was niet mogelijk de publieke sleutel van de ondertekenaar te vinden."
+
+#. TRANS: Exception.
+#: lib/salmon.php:93
+msgid "Salmon invalid actor for signing."
+msgstr "Ongeldige actor voor het ondertekenen van Salmon."
+
+#: tests/gettext-speedtest.php:57
+msgid "Feeds"
+msgstr "Feeds"
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:66
+msgid "Publishing outside feeds not supported."
+msgstr "Publiceren buiten feeds om wordt niet ondersteund."
+
+#. TRANS: Client exception. %s is a mode.
+#: actions/pushhub.php:69
+#, php-format
+msgid "Unrecognized mode \"%s\"."
+msgstr "Niet herkende modus \"%s\"."
+
+#. TRANS: Client exception. %s is a topic.
+#: actions/pushhub.php:89
+#, php-format
+msgid ""
+"Unsupported hub.topic %s this hub only serves local user and group Atom "
+"feeds."
+msgstr ""
+"Niet ondersteund hub.topic \"%s\". Deze hub serveert alleen Atom feeds van "
+"lokale gebruikers en groepen."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:95
+#, php-format
+msgid "Invalid hub.verify \"%s\". It must be sync or async."
+msgstr ""
+"Ongeldige waarde voor hub.verify \"%s\". Het moet \"sync\" of \"async\" zijn."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:101
+#, php-format
+msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
+msgstr ""
+"Ongeldige waarde voor hub.lease \"%s\". Deze waarde moet leeg zijn of een "
+"positief geheel getal."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:109
+#, php-format
+msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
+msgstr ""
+"Ongeldig hub.secret \"%s\". Het moet minder dan tweehonderd bytes bevatten."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:161
+#, php-format
+msgid "Invalid hub.topic \"%s\". User doesn't exist."
+msgstr "Ongeldig hub.topic \"%s\". De gebruiker bestaat niet."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:170
+#, php-format
+msgid "Invalid hub.topic \"%s\". Group doesn't exist."
+msgstr "Ongeldig hub.topic \"%s\". De groep bestaat niet."
+
+#. TRANS: Client exception.
+#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+#: actions/pushhub.php:195
+#, php-format
+msgid "Invalid URL passed for %1$s: \"%2$s\""
+msgstr "Er is een ongeldige URL doorgegeven voor %1$s: \"%2$s\""
+
+#: actions/userxrd.php:49 actions/ownerxrd.php:37 actions/usersalmon.php:43
+msgid "No such user."
+msgstr "Onbekende gebruiker."
+
+#. TRANS: Client error.
+#: actions/usersalmon.php:37 actions/groupsalmon.php:40
+msgid "No ID."
+msgstr "Geen ID."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:81
+msgid "In reply to unknown notice."
+msgstr "In antwoord op een onbekende mededeling."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:86
+msgid "In reply to a notice not by this user and not mentioning this user."
+msgstr ""
+"In antwoord op een mededeling niet door deze gebruiker en niet over of aan "
+"deze gebruiker."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:163
+msgid "Could not save new favorite."
+msgstr "Het was niet mogelijk de nieuwe favoriet op te slaan."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:195
+msgid "Can't favorite/unfavorite without an object."
+msgstr ""
+"Het is niet mogelijk (niet langer) als favoriet te markeren zonder object."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:207
+msgid "Can't handle that kind of object for liking/faving."
+msgstr ""
+"Dat object is niet beschikbaar voor (niet langer) als favoriet aanmerken."
+
+#. TRANS: Client exception. %s is an object ID.
+#: actions/usersalmon.php:214
+#, php-format
+msgid "Notice with ID %s unknown."
+msgstr "De mededeling met ID %s is onbekend."
+
+#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+#: actions/usersalmon.php:219
+#, php-format
+msgid "Notice with ID %1$s not posted by %2$s."
+msgstr "De mededeling met ID %1$s is niet geplaatst foor %2$s."
+
+#. TRANS: Field label.
+#: actions/ostatusgroup.php:76
+msgid "Join group"
+msgstr "Lid worden van groep"
+
+#. TRANS: Tooltip for field label "Join group".
+#: actions/ostatusgroup.php:79
+msgid "OStatus group's address, like http://example.net/group/nickname."
+msgstr ""
+"Het adres voor de OStatusgroep. Bijvoorbeeld; http://example.net/group/"
+"nickname."
+
+#. TRANS: Button text.
+#: actions/ostatusgroup.php:84 actions/ostatussub.php:73
+msgctxt "BUTTON"
+msgid "Continue"
+msgstr "Doorgaan"
+
+#: actions/ostatusgroup.php:103
+msgid "You are already a member of this group."
+msgstr "U bent al lid van deze groep."
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:138
+msgid "Already a member!"
+msgstr "U bent al lid!"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:149
+msgid "Remote group join failed!"
+msgstr "Het verlaten van de groep bij een andere dienst is mislukt."
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:153
+msgid "Remote group join aborted!"
+msgstr "Het lid worden van de groep bij een andere dienst is afgebroken."
+
+#. TRANS: Page title for OStatus remote group join form
+#: actions/ostatusgroup.php:165
+msgid "Confirm joining remote group"
+msgstr "Lid worden van groep bij andere dienst"
+
+#. TRANS: Instructions.
+#: actions/ostatusgroup.php:176
+msgid ""
+"You can subscribe to groups from other supported sites. Paste the group's "
+"profile URI below:"
+msgstr ""
+"U kunt abonneren op groepen van andere ondersteunde sites. Plak hieronder de "
+"URI van het groepsprofiel:"
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:47
+msgid "No such group."
+msgstr "De opgegeven groep bestaat niet."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:53
+msgid "Can't accept remote posts for a remote group."
+msgstr ""
+"Berichten van andere diensten voor groepen bij andere diensten worden niet "
+"geaccepteerd."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:127
+msgid "Can't read profile to set up group membership."
+msgstr "Het profiel om lid te worden van een groep kon niet gelezen worden."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
+msgid "Groups can't join groups."
+msgstr "Groepen kunnen geen lid worden van groepen."
+
+#: actions/groupsalmon.php:144
+msgid "You have been blocked from that group by the admin."
+msgstr "Een beheerder heeft ingesteld dat u geen lid mag worden van die groep."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:159
+#, php-format
+msgid "Could not join remote user %1$s to group %2$s."
+msgstr ""
+"De gebruiker %1$s van een andere dienst kon niet lid worden van de groep %2"
+"$s."
+
+#: actions/groupsalmon.php:171
+msgid "Can't read profile to cancel group membership."
+msgstr ""
+"Het profiel om groepslidmaatschap te annuleren kon niet gelezen worden."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:188
+#, php-format
+msgid "Could not remove remote user %1$s from group %2$s."
+msgstr ""
+"Het was niet mogelijk gebruiker %1$s van een andere dienst uit de groep %2$s "
+"te verwijderen."
+
+#. TRANS: Field label for a field that takes an OStatus user address.
+#: actions/ostatussub.php:66
+msgid "Subscribe to"
+msgstr "Abonneren op"
+
+#. TRANS: Tooltip for field label "Subscribe to".
+#: actions/ostatussub.php:69
+msgid ""
+"OStatus user's address, like nickname@example.com or http://example.net/"
+"nickname"
+msgstr ""
+"Het OStatusadres van de gebruiker. Bijvoorbeeld nickname@example.com of "
+"http://example.net/nickname"
+
+#. TRANS: Button text.
+#. TRANS: Tooltip for button "Join".
+#: actions/ostatussub.php:110
+msgctxt "BUTTON"
+msgid "Join this group"
+msgstr "Lid worden van deze groep"
+
+#. TRANS: Button text.
+#: actions/ostatussub.php:113
+msgctxt "BUTTON"
+msgid "Confirm"
+msgstr "Bevestigen"
+
+#. TRANS: Tooltip for button "Confirm".
+#: actions/ostatussub.php:115
+msgid "Subscribe to this user"
+msgstr "Abonneren op deze gebruiker"
+
+#: actions/ostatussub.php:136
+msgid "You are already subscribed to this user."
+msgstr "U bent al geabonneerd op deze gebruiker."
+
+#: actions/ostatussub.php:165
+msgid "Photo"
+msgstr "Foto"
+
+#: actions/ostatussub.php:176
+msgid "Nickname"
+msgstr "Gebruikersnaam"
+
+#: actions/ostatussub.php:197
+msgid "Location"
+msgstr "Locatie"
+
+#: actions/ostatussub.php:206
+msgid "URL"
+msgstr "URL"
+
+#: actions/ostatussub.php:218
+msgid "Note"
+msgstr "Opmerking"
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:254 actions/ostatussub.php:261
+#: actions/ostatussub.php:286
+msgid ""
+"Sorry, we could not reach that address. Please make sure that the OStatus "
+"address is like nickname@example.com or http://example.net/nickname."
+msgstr ""
+"Dat adres is helaas niet te bereiken. Zorg dat het OStatusadres de voor heft "
+"van gebruiker@example.com of http://example.net/gebruiker."
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:265 actions/ostatussub.php:269
+#: actions/ostatussub.php:273 actions/ostatussub.php:277
+#: actions/ostatussub.php:281
+msgid ""
+"Sorry, we could not reach that feed. Please try that OStatus address again "
+"later."
+msgstr ""
+"Die feed was niet te bereiken. Probeer dat OStatusadres later nog een keer."
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:315
+msgid "Already subscribed!"
+msgstr "U bent al gebonneerd!"
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:320
+msgid "Remote subscription failed!"
+msgstr "Abonneren via een andere dienst is mislukt!"
+
+#: actions/ostatussub.php:367 actions/ostatusinit.php:63
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
+"alstublieft."
+
+#. TRANS: Form title.
+#: actions/ostatussub.php:395 actions/ostatusinit.php:82
+msgid "Subscribe to user"
+msgstr "Abonneren op gebruiker"
+
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:415
+msgid "Confirm"
+msgstr "Bevestigen"
+
+#. TRANS: Instructions.
+#: actions/ostatussub.php:427
+msgid ""
+"You can subscribe to users from other supported sites. Paste their address "
+"or profile URI below:"
+msgstr ""
+"U kunt abonneren op gebruikers van andere ondersteunde sites. Plak hun adres "
+"of profiel-URI hieronder:"
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:41
+msgid "You can use the local subscription!"
+msgstr "U kunt het lokale abonnement gebruiken!"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:97
+#, php-format
+msgid "Join group %s"
+msgstr "Lid worden van de groep %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:99
+msgctxt "BUTTON"
+msgid "Join"
+msgstr "Toetreden"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:102
+#, php-format
+msgid "Subscribe to %s"
+msgstr "Abonneren op %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:104
+msgctxt "BUTTON"
+msgid "Subscribe"
+msgstr "Abonneren"
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:117
+msgid "User nickname"
+msgstr "Gebruikersnaam"
+
+#: actions/ostatusinit.php:118
+msgid "Nickname of the user you want to follow."
+msgstr "Gebruikersnaam van de gebruiker waarop u wilt abonneren."
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:123
+msgid "Profile Account"
+msgstr "Gebruikersprofiel"
+
+#. TRANS: Tooltip for field label "Profile Account".
+#: actions/ostatusinit.php:125
+msgid "Your account id (e.g. user@identi.ca)."
+msgstr "Uw gebruikers-ID (bv. gebruiker@identi.ca)."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:147
+msgid "Must provide a remote profile."
+msgstr "Er moet een profiel bij een andere dienst opgegeven worden."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:159
+msgid "Couldn't look up OStatus account profile."
+msgstr "Het was niet mogelijk het OStatusgebruikersprofiel te vinden."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:172
+msgid "Couldn't confirm remote profile address."
+msgstr ""
+"Het was niet mogelijk het profieladres bij de andere dienst te bevestigen."
+
+#. TRANS: Page title.
+#: actions/ostatusinit.php:217
+msgid "OStatus Connect"
+msgstr "OStatuskoppeling"
+
+#: actions/pushcallback.php:48
+msgid "Empty or invalid feed id."
+msgstr "Het feed-ID is leeg of ongeldig."
+
+#. TRANS: Server exception. %s is a feed ID.
+#: actions/pushcallback.php:54
+#, php-format
+msgid "Unknown PuSH feed id %s"
+msgstr "Het PuSH feed-ID %s is onbekend"
+
+#. TRANS: Client exception. %s is an invalid feed name.
+#: actions/pushcallback.php:93
+#, php-format
+msgid "Bad hub.topic feed \"%s\"."
+msgstr "Ongeldige hub.topic feed \"%s\"."
+
+#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+#: actions/pushcallback.php:98
+#, php-format
+msgid "Bad hub.verify_token %1$s for %2$s."
+msgstr "Ongeldig hub.verify_token %1$s voor %2$s."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:105
+#, php-format
+msgid "Unexpected subscribe request for %s."
+msgstr "Onverwacht abonneringsverzoek voor %s."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:110
+#, php-format
+msgid "Unexpected unsubscribe request for %s."
+msgstr "Onverwacht verzoek om abonnement op te hebben voor %s."
diff --git a/plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po b/plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po
new file mode 100644
index 000000000..0f49a0245
--- /dev/null
+++ b/plugins/OStatus/locale/uk/LC_MESSAGES/OStatus.po
@@ -0,0 +1,782 @@
+# Translation of StatusNet - OStatus to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OStatus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-ostatus\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Link description for link to subscribe to a remote user.
+#. TRANS: Link text for a user to subscribe to an OStatus user.
+#: OStatusPlugin.php:227 OStatusPlugin.php:937
+msgid "Subscribe"
+msgstr "Підписатись"
+
+#. TRANS: Link description for link to join a remote group.
+#: OStatusPlugin.php:246 OStatusPlugin.php:655 actions/ostatussub.php:107
+msgid "Join"
+msgstr "Приєднатися"
+
+#. TRANSLATE: %s is a domain.
+#: OStatusPlugin.php:459
+#, php-format
+msgid "Sent from %s via OStatus"
+msgstr "Надіслано з %s через OStatus"
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:531
+msgid "Could not set up remote subscription."
+msgstr "Не вдалося створити віддалену підписку."
+
+#: OStatusPlugin.php:605
+msgid "Unfollow"
+msgstr "Не читати"
+
+#. TRANS: Success message for unsubscribe from user attempt through OStatus.
+#. TRANS: %1$s is the unsubscriber's name, %2$s is the unsubscribed user's name.
+#: OStatusPlugin.php:608
+#, php-format
+msgid "%1$s stopped following %2$s."
+msgstr "%1$s припинив читати ваші дописи %2$s."
+
+#: OStatusPlugin.php:636
+msgid "Could not set up remote group membership."
+msgstr "Не вдалося приєднатися до віддаленої спільноти."
+
+#. TRANS: Exception.
+#: OStatusPlugin.php:667
+msgid "Failed joining remote group."
+msgstr "Помилка приєднання до віддаленої спільноти."
+
+#: OStatusPlugin.php:707
+msgid "Leave"
+msgstr "Залишити"
+
+#: OStatusPlugin.php:785
+msgid "Disfavor"
+msgstr "Не обраний"
+
+#. TRANS: Success message for remove a favorite notice through OStatus.
+#. TRANS: %1$s is the unfavoring user's name, %2$s is URI to the no longer favored notice.
+#: OStatusPlugin.php:788
+#, php-format
+msgid "%1$s marked notice %2$s as no longer a favorite."
+msgstr "%1$s позначив допис %2$s, як такий, що більше не є обраним."
+
+#. TRANS: Link text for link to remote subscribe.
+#: OStatusPlugin.php:864
+msgid "Remote"
+msgstr "Віддалено"
+
+#. TRANS: Title for activity.
+#: OStatusPlugin.php:904
+msgid "Profile update"
+msgstr "Оновлення профілю"
+
+#. TRANS: Ping text for remote profile update through OStatus.
+#. TRANS: %s is user that updated their profile.
+#: OStatusPlugin.php:907
+#, php-format
+msgid "%s has updated their profile page."
+msgstr "%s оновив сторінку свого профілю."
+
+#. TRANS: Plugin description.
+#: OStatusPlugin.php:952
+msgid ""
+"Follow people across social networks that implement <a href=\"http://ostatus."
+"org/\">OStatus</a>."
+msgstr ""
+"Додає можливість слідкувати за дописами людей з інших мереж, які підтримують "
+"протокол <a href=\"http://ostatus.org/\">OStatus</a>."
+
+#: classes/FeedSub.php:248
+msgid "Attempting to start PuSH subscription for feed with no hub."
+msgstr ""
+"Спроба підписатися за допомогою PuSH до веб-стрічки, котра не має вузла."
+
+#: classes/FeedSub.php:278
+msgid "Attempting to end PuSH subscription for feed with no hub."
+msgstr ""
+"Спроба скасувати підписку за допомогою PuSH до веб-стрічки, котра не має "
+"вузла."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:188
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs set for %s."
+msgstr ""
+"Невірний стан параметру ostatus_profile: як групові, так і персональні "
+"ідентифікатори встановлено для %s."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:191
+#, php-format
+msgid "Invalid ostatus_profile state: both group and profile IDs empty for %s."
+msgstr ""
+"Невірний стан параметру ostatus_profile: як групові, так і персональні "
+"ідентифікатори порожні для %s."
+
+#. TRANS: Server exception.
+#. TRANS: %1$s is the method name the exception occured in, %2$s is the actor type.
+#: classes/Ostatus_profile.php:281
+#, php-format
+msgid "Invalid actor passed to %1$s: %2$s."
+msgstr "До %1$s передано невірний об’єкт: %2$s."
+
+#. TRANS: Server exception.
+#: classes/Ostatus_profile.php:374
+msgid ""
+"Invalid type passed to Ostatus_profile::notify. It must be XML string or "
+"Activity entry."
+msgstr ""
+"До параметру Ostatus_profile::notify передано невірний тип. Це має бути або "
+"рядок у форматі XML, або запис активності."
+
+#: classes/Ostatus_profile.php:404
+msgid "Unknown feed format."
+msgstr "Невідомий формат веб-стрічки."
+
+#: classes/Ostatus_profile.php:427
+msgid "RSS feed without a channel."
+msgstr "RSS-стрічка не має каналу."
+
+#. TRANS: Client exception.
+#: classes/Ostatus_profile.php:472
+msgid "Can't handle that kind of post."
+msgstr "Не вдається обробити такий тип допису."
+
+#. TRANS: Client exception. %s is a source URL.
+#: classes/Ostatus_profile.php:555
+#, php-format
+msgid "No content for notice %s."
+msgstr "Допис %s не має змісту."
+
+#. TRANS: Shown when a notice is longer than supported and/or when attachments are present.
+#: classes/Ostatus_profile.php:588
+msgid "Show more"
+msgstr "Дивитись далі"
+
+#. TRANS: Exception. %s is a profile URL.
+#: classes/Ostatus_profile.php:781
+#, php-format
+msgid "Could not reach profile page %s."
+msgstr "Не вдалося досягти сторінки профілю %s."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:839
+#, php-format
+msgid "Could not find a feed URL for profile page %s."
+msgstr "Не вдалося знайти URL веб-стрічки для сторінки профілю %s."
+
+#: classes/Ostatus_profile.php:976
+msgid "Can't find enough profile information to make a feed."
+msgstr ""
+"Не можу знайти достатньо інформації про профіль, аби сформувати веб-стрічку."
+
+#: classes/Ostatus_profile.php:1035
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Невірна URL-адреса аватари %s."
+
+#: classes/Ostatus_profile.php:1045
+#, php-format
+msgid "Tried to update avatar for unsaved remote profile %s."
+msgstr "Намагаюся оновити аватару для не збереженого віддаленого профілю %s."
+
+#: classes/Ostatus_profile.php:1053
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Неможливо завантажити аватару з %s."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1275
+msgid "Local user can't be referenced as remote."
+msgstr "Місцевий користувач не може бути зазначеним у якості віддаленого."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1280
+msgid "Local group can't be referenced as remote."
+msgstr "Локальну спільноту не можна зазначити у якості віддаленої."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1332 classes/Ostatus_profile.php:1343
+msgid "Can't save local profile."
+msgstr "Не вдається зберегти місцевий профіль."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1351
+msgid "Can't save OStatus profile."
+msgstr "Не вдається зберегти профіль OStatus."
+
+#. TRANS: Exception.
+#: classes/Ostatus_profile.php:1610 classes/Ostatus_profile.php:1638
+msgid "Not a valid webfinger address."
+msgstr "Це недійсна адреса для протоколу WebFinger."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1720
+#, php-format
+msgid "Couldn't save profile for \"%s\"."
+msgstr "Не можу зберегти профіль для «%s»."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1739
+#, php-format
+msgid "Couldn't save ostatus_profile for \"%s\"."
+msgstr "Не можу зберегти профіль OStatus для «%s»."
+
+#. TRANS: Exception. %s is a webfinger address.
+#: classes/Ostatus_profile.php:1747
+#, php-format
+msgid "Couldn't find a valid profile for \"%s\"."
+msgstr "не можу знайти відповідний й профіль для «%s»."
+
+#: classes/Ostatus_profile.php:1789
+msgid "Could not store HTML content of long post as file."
+msgstr "Не можу зберегти HTML місткого допису у якості файлу."
+
+#. TRANS: Client exception. %s is a HTTP status code.
+#: classes/HubSub.php:208
+#, php-format
+msgid "Hub subscriber verification returned HTTP %s."
+msgstr "Перевірка вузла підписки завершилася зі статусом HTTP %s."
+
+#. TRANS: Exception. %1$s is a response status code, %2$s is the body of the response.
+#: classes/HubSub.php:355
+#, php-format
+msgid "Callback returned status: %1$s. Body: %2$s"
+msgstr "Зворотній виклик повернуто зі статусом: %1$s. Зміст: %2$s"
+
+#. TRANS: Client error. POST is a HTTP command. It should not be translated.
+#: lib/salmonaction.php:42
+msgid "This method requires a POST."
+msgstr "Цей метод вимагає команди POST."
+
+#. TRANS: Client error. Do not translate "application/magic-envelope+xml"
+#: lib/salmonaction.php:47
+msgid "Salmon requires \"application/magic-envelope+xml\"."
+msgstr "Протокол Salmon вимагає \"application/magic-envelope+xml\"."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:57
+msgid "Salmon signature verification failed."
+msgstr "Перевірка підпису протоколу Salmon не вдалася."
+
+#. TRANS: Client error.
+#: lib/salmonaction.php:69
+msgid "Salmon post must be an Atom entry."
+msgstr "Дописи за протоколом Salmon мають бути у форматі Atom."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:118
+msgid "Unrecognized activity type."
+msgstr "Невідомий тип діяльності."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:127
+msgid "This target doesn't understand posts."
+msgstr "Ціль не розуміє, що таке «дописи»."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:133
+msgid "This target doesn't understand follows."
+msgstr "Ціль не розуміє, що таке «слідувати»."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:139
+msgid "This target doesn't understand unfollows."
+msgstr "Ціль не розуміє, що таке «не слідувати»."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:145
+msgid "This target doesn't understand favorites."
+msgstr "Ціль не розуміє, що таке «додати до обраних»."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:151
+msgid "This target doesn't understand unfavorites."
+msgstr "Ціль не розуміє, що таке «вилучити з обраних»."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:157
+msgid "This target doesn't understand share events."
+msgstr "Ціль не розуміє, що таке «поділитися подією»."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:163
+msgid "This target doesn't understand joins."
+msgstr "Ціль не розуміє, що таке «приєднатися»."
+
+#. TRANS: Client exception.
+#: lib/salmonaction.php:169
+msgid "This target doesn't understand leave events."
+msgstr "Ціль не розуміє, що таке «залишати подію»."
+
+#. TRANS: Exception.
+#: lib/salmonaction.php:197
+msgid "Received a salmon slap from unidentified actor."
+msgstr "Отримано ляпаса від невизначеного учасника за протоколом Salmon."
+
+#. TRANS: Exception.
+#: lib/discovery.php:110
+#, php-format
+msgid "Unable to find services for %s."
+msgstr "Не вдається знайти сервіси для %s."
+
+#. TRANS: Exception.
+#: lib/xrd.php:64
+msgid "Invalid XML."
+msgstr "Невірний XML."
+
+#. TRANS: Exception.
+#: lib/xrd.php:69
+msgid "Invalid XML, missing XRD root."
+msgstr "Невірний XML, корінь XRD відсутній."
+
+#. TRANS: Exception.
+#: lib/magicenvelope.php:80
+msgid "Unable to locate signer public key."
+msgstr "Не вдалося знайти публічного ключа підписанта."
+
+#. TRANS: Exception.
+#: lib/salmon.php:93
+msgid "Salmon invalid actor for signing."
+msgstr "Недійсний учасник подій за протоколом Salmon для підписання."
+
+#: tests/gettext-speedtest.php:57
+msgid "Feeds"
+msgstr "Веб-стрічки"
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:66
+msgid "Publishing outside feeds not supported."
+msgstr "Публікація змісту зовнішніх веб-стрічок не підтримується."
+
+#. TRANS: Client exception. %s is a mode.
+#: actions/pushhub.php:69
+#, php-format
+msgid "Unrecognized mode \"%s\"."
+msgstr "Невизначений режим «%s»."
+
+#. TRANS: Client exception. %s is a topic.
+#: actions/pushhub.php:89
+#, php-format
+msgid ""
+"Unsupported hub.topic %s this hub only serves local user and group Atom "
+"feeds."
+msgstr ""
+"hub.topic %s не підтримується. Цей вузол використовується лише тутешніми "
+"користувачами та групою веб-стрічок у форматі Atom."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:95
+#, php-format
+msgid "Invalid hub.verify \"%s\". It must be sync or async."
+msgstr "hub.verify «%s» невірний. Він має бути синхронним або ж асинхронним."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:101
+#, php-format
+msgid "Invalid hub.lease \"%s\". It must be empty or positive integer."
+msgstr ""
+"hub.lease «%s» невірний. Він має бути порожнім або містити ціле позитивне "
+"число."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:109
+#, php-format
+msgid "Invalid hub.secret \"%s\". It must be under 200 bytes."
+msgstr "hub.secret «%s» невірний. 200 байтів — не більше."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:161
+#, php-format
+msgid "Invalid hub.topic \"%s\". User doesn't exist."
+msgstr "hub.topic «%s» невірний. Користувача не існує."
+
+#. TRANS: Client exception.
+#: actions/pushhub.php:170
+#, php-format
+msgid "Invalid hub.topic \"%s\". Group doesn't exist."
+msgstr "hub.topic «%s» невірний. Спільноти не існує."
+
+#. TRANS: Client exception.
+#. TRANS: %1$s is this argument to the method this exception occurs in, %2$s is a URL.
+#: actions/pushhub.php:195
+#, php-format
+msgid "Invalid URL passed for %1$s: \"%2$s\""
+msgstr "Для %1$s передано невірний URL: «%2$s»"
+
+#: actions/userxrd.php:49 actions/ownerxrd.php:37 actions/usersalmon.php:43
+msgid "No such user."
+msgstr "Такого користувача немає."
+
+#. TRANS: Client error.
+#: actions/usersalmon.php:37 actions/groupsalmon.php:40
+msgid "No ID."
+msgstr "Немає ідентифікатора."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:81
+msgid "In reply to unknown notice."
+msgstr "У відповідь на невідомий допис."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:86
+msgid "In reply to a notice not by this user and not mentioning this user."
+msgstr ""
+"У відповідь на допис іншого користувача, а даний користувач у ньому навіть "
+"не згадується."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:163
+msgid "Could not save new favorite."
+msgstr "Не вдалося зберегти як новий обраний допис."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:195
+msgid "Can't favorite/unfavorite without an object."
+msgstr ""
+"Неможливо додати до обраних або видалити зі списку обраних, якщо немає "
+"об’єкта."
+
+#. TRANS: Client exception.
+#: actions/usersalmon.php:207
+msgid "Can't handle that kind of object for liking/faving."
+msgstr ""
+"Не вдається обробити подібний об’єкт для додавання його до списку обраних."
+
+#. TRANS: Client exception. %s is an object ID.
+#: actions/usersalmon.php:214
+#, php-format
+msgid "Notice with ID %s unknown."
+msgstr "Допис з ідентифікатором %s є невідомим."
+
+#. TRANS: Client exception. %1$s is a notice ID, %2$s is a user ID.
+#: actions/usersalmon.php:219
+#, php-format
+msgid "Notice with ID %1$s not posted by %2$s."
+msgstr "Допис з ідентифікатором %1$s було надіслано не %2$s."
+
+#. TRANS: Field label.
+#: actions/ostatusgroup.php:76
+msgid "Join group"
+msgstr "Долучитися до спільноти"
+
+#. TRANS: Tooltip for field label "Join group".
+#: actions/ostatusgroup.php:79
+msgid "OStatus group's address, like http://example.net/group/nickname."
+msgstr ""
+"Адреса спільноти згідно протоколу OStatus, наприклад http://example.net/"
+"group/nickname."
+
+#. TRANS: Button text.
+#: actions/ostatusgroup.php:84 actions/ostatussub.php:73
+msgctxt "BUTTON"
+msgid "Continue"
+msgstr "Продовжити"
+
+#: actions/ostatusgroup.php:103
+msgid "You are already a member of this group."
+msgstr "Ви вже є учасником цієї спільноти."
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:138
+msgid "Already a member!"
+msgstr "Ви вже учасник!"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:149
+msgid "Remote group join failed!"
+msgstr "Приєднатися до віддаленої спільноти не вдалося!"
+
+#. TRANS: OStatus remote group subscription dialog error.
+#: actions/ostatusgroup.php:153
+msgid "Remote group join aborted!"
+msgstr "Приєднання до віддаленої спільноти перервано!"
+
+#. TRANS: Page title for OStatus remote group join form
+#: actions/ostatusgroup.php:165
+msgid "Confirm joining remote group"
+msgstr "Підтвердження приєднання до віддаленої спільноти"
+
+#. TRANS: Instructions.
+#: actions/ostatusgroup.php:176
+msgid ""
+"You can subscribe to groups from other supported sites. Paste the group's "
+"profile URI below:"
+msgstr ""
+"Ви можете долучатися до спільнот на аналогічних сайтах. Просто вставте URI "
+"профілю спільноти тут:"
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:47
+msgid "No such group."
+msgstr "Такої спільноти немає."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:53
+msgid "Can't accept remote posts for a remote group."
+msgstr "Не можу узгодити віддалену пересилку дописів до віддаленої спільноти."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:127
+msgid "Can't read profile to set up group membership."
+msgstr "Не можу прочитати профіль, аби долучитися до спільноти."
+
+#. TRANS: Client error.
+#: actions/groupsalmon.php:131 actions/groupsalmon.php:174
+msgid "Groups can't join groups."
+msgstr "Спільноти ніяк не можуть приєднуватися до спільнот."
+
+#: actions/groupsalmon.php:144
+msgid "You have been blocked from that group by the admin."
+msgstr "Адміністратор спільноти заблокував ваш профіль."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:159
+#, php-format
+msgid "Could not join remote user %1$s to group %2$s."
+msgstr ""
+"Віддаленому користувачеві %1$s не вдалося долучитися до спільноти %2$s."
+
+#: actions/groupsalmon.php:171
+msgid "Can't read profile to cancel group membership."
+msgstr ""
+"Не вдається прочитати профіль користувача, щоб скасувати його перебування у "
+"спільноті."
+
+#. TRANS: Server error. %1$s is a profile URI, %2$s is a group nickname.
+#: actions/groupsalmon.php:188
+#, php-format
+msgid "Could not remove remote user %1$s from group %2$s."
+msgstr "Не вдалось видалити віддаленого користувача %1$s зі спільноти %2$s."
+
+#. TRANS: Field label for a field that takes an OStatus user address.
+#: actions/ostatussub.php:66
+msgid "Subscribe to"
+msgstr "Підписатися"
+
+#. TRANS: Tooltip for field label "Subscribe to".
+#: actions/ostatussub.php:69
+msgid ""
+"OStatus user's address, like nickname@example.com or http://example.net/"
+"nickname"
+msgstr ""
+"Адреса користувача згідно протоколу OStatus, щось на зразок nickname@example."
+"com або http://example.net/nickname"
+
+#. TRANS: Button text.
+#. TRANS: Tooltip for button "Join".
+#: actions/ostatussub.php:110
+msgctxt "BUTTON"
+msgid "Join this group"
+msgstr "Приєднатися до спільноти"
+
+#. TRANS: Button text.
+#: actions/ostatussub.php:113
+msgctxt "BUTTON"
+msgid "Confirm"
+msgstr "Підтвердити"
+
+#. TRANS: Tooltip for button "Confirm".
+#: actions/ostatussub.php:115
+msgid "Subscribe to this user"
+msgstr "Підписатись до цього користувача"
+
+#: actions/ostatussub.php:136
+msgid "You are already subscribed to this user."
+msgstr "Ви вже підписані до цього користувача."
+
+#: actions/ostatussub.php:165
+msgid "Photo"
+msgstr "Фото"
+
+#: actions/ostatussub.php:176
+msgid "Nickname"
+msgstr "Псевдонім"
+
+#: actions/ostatussub.php:197
+msgid "Location"
+msgstr "Розташування"
+
+#: actions/ostatussub.php:206
+msgid "URL"
+msgstr "URL-адреса"
+
+#: actions/ostatussub.php:218
+msgid "Note"
+msgstr "Примітка"
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:254 actions/ostatussub.php:261
+#: actions/ostatussub.php:286
+msgid ""
+"Sorry, we could not reach that address. Please make sure that the OStatus "
+"address is like nickname@example.com or http://example.net/nickname."
+msgstr ""
+"Вибачайте, але ми в змозі розшукати дану адресу. Будь ласка, переконайтеся, "
+"що адресу зазначено згідно правил протоколу OStatus, щось на зразок "
+"nickname@example.com або ж http://example.net/nickname."
+
+#. TRANS: Error text.
+#: actions/ostatussub.php:265 actions/ostatussub.php:269
+#: actions/ostatussub.php:273 actions/ostatussub.php:277
+#: actions/ostatussub.php:281
+msgid ""
+"Sorry, we could not reach that feed. Please try that OStatus address again "
+"later."
+msgstr ""
+"Вибачайте, але ми не в змозі досягти цієї веб-стрічки. Будь ласка, спробуйте "
+"дану адресу ще раз пізніше."
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:315
+msgid "Already subscribed!"
+msgstr "Вже підписаний!"
+
+#. TRANS: OStatus remote subscription dialog error.
+#: actions/ostatussub.php:320
+msgid "Remote subscription failed!"
+msgstr "Підписатися віддалено не вдалося!"
+
+#: actions/ostatussub.php:367 actions/ostatusinit.php:63
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
+
+#. TRANS: Form title.
+#: actions/ostatussub.php:395 actions/ostatusinit.php:82
+msgid "Subscribe to user"
+msgstr "Підписатися до користувача"
+
+#. TRANS: Page title for OStatus remote subscription form
+#: actions/ostatussub.php:415
+msgid "Confirm"
+msgstr "Підтвердити"
+
+#. TRANS: Instructions.
+#: actions/ostatussub.php:427
+msgid ""
+"You can subscribe to users from other supported sites. Paste their address "
+"or profile URI below:"
+msgstr ""
+"Ви маєте можливість підписуватись до користувачів на аналогічних сайтах. "
+"Просто вставте їхні адреси або URI профілів тут:"
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:41
+msgid "You can use the local subscription!"
+msgstr "Ви можете користуватись локальними підписками!"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:97
+#, php-format
+msgid "Join group %s"
+msgstr "Приєднатися до спільноти %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:99
+msgctxt "BUTTON"
+msgid "Join"
+msgstr "Приєднатися"
+
+#. TRANS: Form legend.
+#: actions/ostatusinit.php:102
+#, php-format
+msgid "Subscribe to %s"
+msgstr "Підписатися до %s"
+
+#. TRANS: Button text.
+#: actions/ostatusinit.php:104
+msgctxt "BUTTON"
+msgid "Subscribe"
+msgstr "Підписатись"
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:117
+msgid "User nickname"
+msgstr "Ім’я користувача"
+
+#: actions/ostatusinit.php:118
+msgid "Nickname of the user you want to follow."
+msgstr "Ім’я користувача, дописи якого ви хотіли б читати."
+
+#. TRANS: Field label.
+#: actions/ostatusinit.php:123
+msgid "Profile Account"
+msgstr "Профіль акаунту"
+
+#. TRANS: Tooltip for field label "Profile Account".
+#: actions/ostatusinit.php:125
+msgid "Your account id (e.g. user@identi.ca)."
+msgstr "Ідентифікатор вашого акаунту (щось на зразок user@identi.ca)"
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:147
+msgid "Must provide a remote profile."
+msgstr "Мусите зазначити віддалений профіль."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:159
+msgid "Couldn't look up OStatus account profile."
+msgstr "Не вдалося знайти профіль акаунту за протоколом OStatus."
+
+#. TRANS: Client error.
+#: actions/ostatusinit.php:172
+msgid "Couldn't confirm remote profile address."
+msgstr "Не вдалося підтвердити адресу віддаленого профілю."
+
+#. TRANS: Page title.
+#: actions/ostatusinit.php:217
+msgid "OStatus Connect"
+msgstr "З’єднання OStatus"
+
+#: actions/pushcallback.php:48
+msgid "Empty or invalid feed id."
+msgstr "Порожній або недійсний ідентифікатор веб-стрічки."
+
+#. TRANS: Server exception. %s is a feed ID.
+#: actions/pushcallback.php:54
+#, php-format
+msgid "Unknown PuSH feed id %s"
+msgstr "Веб-стрічка за протоколом PuSH має невідомий ідентифікатор %s"
+
+#. TRANS: Client exception. %s is an invalid feed name.
+#: actions/pushcallback.php:93
+#, php-format
+msgid "Bad hub.topic feed \"%s\"."
+msgstr "hub.topic веб-стрічки «%s» неправильний."
+
+#. TRANS: Client exception. %1$s the invalid token, %2$s is the topic for which the invalid token was given.
+#: actions/pushcallback.php:98
+#, php-format
+msgid "Bad hub.verify_token %1$s for %2$s."
+msgstr "hub.verify_token %1$s для %2$s неправильний."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:105
+#, php-format
+msgid "Unexpected subscribe request for %s."
+msgstr "Несподіваний запит підписки для %s."
+
+#. TRANS: Client exception. %s is an invalid topic.
+#: actions/pushcallback.php:110
+#, php-format
+msgid "Unexpected unsubscribe request for %s."
+msgstr "Несподіваний запит щодо скасування підписки для %s."
diff --git a/plugins/OStatus/scripts/fixup-shadow.php b/plugins/OStatus/scripts/fixup-shadow.php
index 4b6ad08a3..3e2c18e02 100644
--- a/plugins/OStatus/scripts/fixup-shadow.php
+++ b/plugins/OStatus/scripts/fixup-shadow.php
@@ -35,6 +35,58 @@ require_once INSTALLDIR.'/scripts/commandline.inc';
$dry = have_option('dry-run');
+// Look for user.uri matches... These may not match up with the current
+// URL schema if the site has changed names.
+echo "Checking for bogus ostatus_profile entries matching user.uri...\n";
+
+$user = new User();
+$oprofile = new Ostatus_profile();
+$user->joinAdd($oprofile, 'INNER', 'oprofile', 'uri');
+$user->find();
+$count = $user->N;
+echo "Found $count...\n";
+
+while ($user->fetch()) {
+ $uri = $user->uri;
+ echo "user $user->id ($user->nickname) hidden by $uri";
+ if ($dry) {
+ echo " - skipping\n";
+ } else {
+ echo " - removing bogus ostatus_profile entry...";
+ $evil = Ostatus_profile::staticGet('uri', $uri);
+ $evil->delete();
+ echo " ok\n";
+ }
+}
+echo "\n";
+
+// Also try user_group.uri matches for local groups.
+// Not all group entries will have this filled out, though, as it's new!
+echo "Checking for bogus ostatus_profile entries matching local user_group.uri...\n";
+$group = new User_group();
+$group->joinAdd(array('uri', 'ostatus_profile:uri'));
+$group->joinAdd(array('id', 'local_group:group_id'));
+$group->find();
+$count = $group->N;
+echo "Found $count...\n";
+
+while ($group->fetch()) {
+ $uri = $group->uri;
+ echo "group $group->id ($group->nickname) hidden by $uri";
+ if ($dry) {
+ echo " - skipping\n";
+ } else {
+ echo " - removing bogus ostatus_profile entry...";
+ $evil = Ostatus_profile::staticGet('uri', $uri);
+ $evil->delete();
+ echo " ok\n";
+ }
+}
+echo "\n";
+
+
+// Fallback?
+echo "Checking for bogus profiles blocking local users/groups by URI pattern match...\n";
$oprofile = new Ostatus_profile();
$marker = mt_rand(31337, 31337000);
@@ -42,16 +94,18 @@ $marker = mt_rand(31337, 31337000);
$profileTemplate = common_local_url('userbyid', array('id' => $marker));
$encProfile = $oprofile->escape($profileTemplate, true);
$encProfile = str_replace($marker, '%', $encProfile);
+echo " LIKE '$encProfile'\n";
$groupTemplate = common_local_url('groupbyid', array('id' => $marker));
$encGroup = $oprofile->escape($groupTemplate, true);
$encGroup = str_replace($marker, '%', $encGroup);
+echo " LIKE '$encGroup'\n";
$sql = "SELECT * FROM ostatus_profile WHERE uri LIKE '%s' OR uri LIKE '%s'";
$oprofile->query(sprintf($sql, $encProfile, $encGroup));
$count = $oprofile->N;
-echo "Found $count bogus ostatus_profile entries shadowing local users and groups:\n";
+echo "Found $count...\n";
while ($oprofile->fetch()) {
$uri = $oprofile->uri;
diff --git a/plugins/OStatus/tests/remote-tests.php b/plugins/OStatus/tests/remote-tests.php
index c2c9a5d97..64c60a8a4 100644
--- a/plugins/OStatus/tests/remote-tests.php
+++ b/plugins/OStatus/tests/remote-tests.php
@@ -4,6 +4,8 @@ if (php_sapi_name() != 'cli') {
die('not for web');
}
+define('TIMEOUT', 60); // ssslllloowwwww salmon if queues are off
+
define('INSTALLDIR', dirname(dirname(dirname(dirname(__FILE__)))));
set_include_path(INSTALLDIR . '/extlib' . PATH_SEPARATOR . get_include_path());
@@ -188,7 +190,7 @@ class SNTestClient extends TestBase
{
$url = $this->basepath . '/' . $path;
- $http = new HTTP_Request2($url, 'POST');
+ $http = new HTTP_Request2($url, 'POST', array('timeout' => TIMEOUT));
if ($auth) {
$http->setAuth($this->username, $this->password, HTTP_Request2::AUTH_BASIC);
}
@@ -215,7 +217,7 @@ class SNTestClient extends TestBase
protected function web($path, $form, $params=array())
{
$url = $this->basepath . '/' . $path;
- $http = new HTTP_Request2($url, 'GET');
+ $http = new HTTP_Request2($url, 'GET', array('timeout' => TIMEOUT));
$response = $http->send();
$dom = $this->checkWeb($url, 'GET', $response);
diff --git a/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php b/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php
index 6756f1993..611f5e5c7 100644
--- a/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php
+++ b/plugins/OpenExternalLinkTarget/OpenExternalLinkTargetPlugin.php
@@ -57,8 +57,7 @@ class OpenExternalLinkTargetPlugin extends Plugin
'author' => 'Sarven Capadisli',
'homepage' => 'http://status.net/wiki/Plugin:OpenExternalLinkTarget',
'rawdescription' =>
- _m('Opens external links (i.e., with rel=external) on a new window or tab'));
+ _m('Opens external links (e.g., with rel=external) on a new window or tab.'));
return true;
}
}
-
diff --git a/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot b/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot
index f9bd4af10..1d4e2737b 100644
--- a/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot
+++ b/plugins/OpenExternalLinkTarget/locale/OpenExternalLinkTarget.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -17,5 +17,5 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: OpenExternalLinkTargetPlugin.php:60
-msgid "Opens external links (i.e., with rel=external) on a new window or tab"
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
msgstr ""
diff --git a/plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..82b8be953
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/es/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Abre vínculos externos (por ejemplo, con rel=external) en una nueva ventana "
+"o pestaña."
diff --git a/plugins/OpenExternalLinkTarget/locale/fr/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/fr/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..91f9f5faf
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/fr/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - OpenExternalLinkTarget to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Ouvre les liens externes (p. ex., avec rel=external) dans une nouvelle "
+"fenêtre ou un nouvel onglet."
diff --git a/plugins/OpenExternalLinkTarget/locale/ia/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/ia/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..12a071148
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/ia/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Aperi ligamines externe (p.ex. con rel=external) in un nove fenestra o "
+"scheda."
diff --git a/plugins/OpenExternalLinkTarget/locale/mk/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/mk/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..b5e4d1386
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/mk/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Отвора надворешни врски (на пр. со rel=external) во нов прозорец или јазиче."
diff --git a/plugins/OpenExternalLinkTarget/locale/nb/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/nb/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..8d9045dc6
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/nb/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Åpner eksterne lenker (f.eks. med rel=external) i ett nytt vindu eller en ny "
+"fane."
diff --git a/plugins/OpenExternalLinkTarget/locale/nl/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/nl/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..f1a4e4c72
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/nl/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Opent externe verwijzingen in een nieuw venster of tabblad (bv. met "
+"\"rel=external\")."
diff --git a/plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..5da6bee90
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/ru/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Возможность открыть внешние ссылки (например, rel=внешние) в новом окне или "
+"вкладке."
diff --git a/plugins/OpenExternalLinkTarget/locale/tl/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/tl/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..d3d8816b0
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/tl/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr ""
+"Nagbubukas ng panlabasa na mga kawing (iyon ay may rel=external) sa isang "
+"bagong bintana o panglaylay."
diff --git a/plugins/OpenExternalLinkTarget/locale/uk/LC_MESSAGES/OpenExternalLinkTarget.po b/plugins/OpenExternalLinkTarget/locale/uk/LC_MESSAGES/OpenExternalLinkTarget.po
new file mode 100644
index 000000000..773a64151
--- /dev/null
+++ b/plugins/OpenExternalLinkTarget/locale/uk/LC_MESSAGES/OpenExternalLinkTarget.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - OpenExternalLinkTarget to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenExternalLinkTarget\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:56:59+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:19:58+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-openexternallinktarget\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: OpenExternalLinkTargetPlugin.php:60
+msgid "Opens external links (e.g., with rel=external) on a new window or tab."
+msgstr "Відкривати зовнішні посилання у новому вікні або вкладці."
diff --git a/plugins/OpenID/OpenIDPlugin.php b/plugins/OpenID/OpenIDPlugin.php
index e58440fc1..9c3207452 100644
--- a/plugins/OpenID/OpenIDPlugin.php
+++ b/plugins/OpenID/OpenIDPlugin.php
@@ -102,9 +102,14 @@ class OpenIDPlugin extends Plugin
function onStartConnectPath(&$path, &$defaults, &$rules, &$result)
{
if (common_config('site', 'openidonly')) {
- static $block = array('main/login',
- 'main/register',
- 'main/recoverpassword',
+ // Note that we should not remove the login and register
+ // actions. Lots of auth-related things link to them,
+ // such as when visiting a private site without a session
+ // or revalidating a remembered login for admin work.
+ //
+ // We take those two over with redirects to ourselves
+ // over in onArgsInitialize().
+ static $block = array('main/recoverpassword',
'settings/password');
if (in_array($path, $block)) {
diff --git a/plugins/OpenID/locale/OpenID.pot b/plugins/OpenID/locale/OpenID.pot
index 70908422e..a6dced4e2 100644
--- a/plugins/OpenID/locale/OpenID.pot
+++ b/plugins/OpenID/locale/OpenID.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: openidsettings.php:59
+#: openidsettings.php:59 openidadminpanel.php:65
msgid "OpenID settings"
msgstr ""
@@ -27,204 +27,311 @@ msgid ""
"account. Manage your associated OpenIDs from here."
msgstr ""
-#: openidsettings.php:99
+#: openidsettings.php:101
msgid "Add OpenID"
msgstr ""
-#: openidsettings.php:102
+#: openidsettings.php:104
msgid ""
"If you want to add an OpenID to your account, enter it in the box below and "
"click \"Add\"."
msgstr ""
-#: openidsettings.php:107 openidlogin.php:119
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
msgid "OpenID URL"
msgstr ""
-#: openidsettings.php:117
+#: openidsettings.php:119
msgid "Add"
msgstr ""
-#: openidsettings.php:129
+#: openidsettings.php:131
msgid "Remove OpenID"
msgstr ""
-#: openidsettings.php:134
+#: openidsettings.php:136
msgid ""
"Removing your only OpenID would make it impossible to log in! If you need to "
"remove it, add another OpenID first."
msgstr ""
-#: openidsettings.php:149
+#: openidsettings.php:151
msgid ""
"You can remove an OpenID from your account by clicking the button marked "
"\"Remove\"."
msgstr ""
-#: openidsettings.php:172 openidsettings.php:213
+#: openidsettings.php:174 openidsettings.php:215
msgid "Remove"
msgstr ""
-#: openidsettings.php:186
+#: openidsettings.php:188
msgid "OpenID Trusted Sites"
msgstr ""
-#: openidsettings.php:189
+#: openidsettings.php:191
msgid ""
"The following sites are allowed to access your identity and log you in. You "
"can remove a site from this list to deny it access to your OpenID."
msgstr ""
-#: openidsettings.php:231 finishopenidlogin.php:38 openidlogin.php:39
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
msgid "There was a problem with your session token. Try again, please."
msgstr ""
-#: openidsettings.php:247 finishopenidlogin.php:51
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr ""
+
+#: openidsettings.php:253
msgid "Something weird happened."
msgstr ""
-#: openidsettings.php:271
+#: openidsettings.php:277
msgid "No such OpenID trustroot."
msgstr ""
-#: openidsettings.php:275
+#: openidsettings.php:281
msgid "Trustroots removed"
msgstr ""
-#: openidsettings.php:298
+#: openidsettings.php:304
msgid "No such OpenID."
msgstr ""
-#: openidsettings.php:303
+#: openidsettings.php:309
msgid "That OpenID does not belong to you."
msgstr ""
-#: openidsettings.php:307
+#: openidsettings.php:313
msgid "OpenID removed."
msgstr ""
-#: openid.php:137
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr ""
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr ""
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr ""
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr ""
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr ""
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr ""
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr ""
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr ""
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr ""
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr ""
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
msgid "Cannot instantiate OpenID consumer object."
msgstr ""
-#: openid.php:147
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
msgid "Not a valid OpenID."
msgstr ""
-#: openid.php:149
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
#, php-format
msgid "OpenID failure: %s"
msgstr ""
-#: openid.php:176
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
#, php-format
msgid "Could not redirect to server: %s"
msgstr ""
-#: openid.php:194
-#, php-format
-msgid "Could not create OpenID form: %s"
-msgstr ""
-
-#: openid.php:210
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
msgid ""
"This form should automatically submit itself. If not, click the submit "
"button to go to your OpenID provider."
msgstr ""
-#: openid.php:242
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
msgid "Error saving the profile."
msgstr ""
-#: openid.php:253
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
msgid "Error saving the user."
msgstr ""
-#: openid.php:282
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
msgid "Unauthorized URL used for OpenID login."
msgstr ""
-#: openid.php:302
+#. TRANS: Title
+#: openid.php:370
msgid "OpenID Login Submission"
msgstr ""
-#: openid.php:312
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
msgid "Requesting authorization from your login provider..."
msgstr ""
-#: openid.php:315
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
msgid ""
"If you are not redirected to your login provider in a few seconds, try "
"pushing the button below."
msgstr ""
#. TRANS: Tooltip for main menu option "Login"
-#: OpenIDPlugin.php:204
+#: OpenIDPlugin.php:226
msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr ""
-#: OpenIDPlugin.php:207
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
msgctxt "MENU"
msgid "Login"
msgstr ""
#. TRANS: Tooltip for main menu option "Help"
-#: OpenIDPlugin.php:212
+#: OpenIDPlugin.php:234
msgctxt "TOOLTIP"
msgid "Help me!"
msgstr ""
-#: OpenIDPlugin.php:215
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
msgctxt "MENU"
msgid "Help"
msgstr ""
#. TRANS: Tooltip for main menu option "Search"
-#: OpenIDPlugin.php:221
+#: OpenIDPlugin.php:243
msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr ""
-#: OpenIDPlugin.php:224
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
msgctxt "MENU"
msgid "Search"
msgstr ""
-#: OpenIDPlugin.php:283 OpenIDPlugin.php:319
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
msgid "OpenID"
msgstr ""
-#: OpenIDPlugin.php:284
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
msgid "Login or register with OpenID"
msgstr ""
-#: OpenIDPlugin.php:320
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
msgid "Add or remove OpenIDs"
msgstr ""
-#: OpenIDPlugin.php:595
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr ""
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
msgstr ""
-#: openidserver.php:106
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
#, php-format
msgid "You are not authorized to use the identity %s."
msgstr ""
-#: openidserver.php:126
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
msgid "Just an OpenID provider. Nothing to see here, move along..."
msgstr ""
-#: finishopenidlogin.php:34 openidlogin.php:30
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
msgid "Already logged in."
msgstr ""
-#: finishopenidlogin.php:43
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
msgid "You can't register if you don't agree to the license."
msgstr ""
-#: finishopenidlogin.php:65
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr ""
+
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
+#: finishopenidlogin.php:71
#, php-format
msgid ""
"This is the first time you've logged into %s so we must connect your OpenID "
@@ -232,130 +339,183 @@ msgid ""
"your existing account, if you have one."
msgstr ""
-#: finishopenidlogin.php:71
+#. TRANS: Title
+#: finishopenidlogin.php:78
msgid "OpenID Account Setup"
msgstr ""
-#: finishopenidlogin.php:101
+#: finishopenidlogin.php:108
msgid "Create new account"
msgstr ""
-#: finishopenidlogin.php:103
+#: finishopenidlogin.php:110
msgid "Create a new user with this nickname."
msgstr ""
-#: finishopenidlogin.php:106
+#: finishopenidlogin.php:113
msgid "New nickname"
msgstr ""
-#: finishopenidlogin.php:108
+#: finishopenidlogin.php:115
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr ""
-#: finishopenidlogin.php:130
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
msgid "Create"
msgstr ""
-#: finishopenidlogin.php:135
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
msgid "Connect existing account"
msgstr ""
-#: finishopenidlogin.php:137
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
msgid ""
"If you already have an account, login with your username and password to "
"connect it to your OpenID."
msgstr ""
-#: finishopenidlogin.php:140
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
msgid "Existing nickname"
msgstr ""
-#: finishopenidlogin.php:143
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
msgid "Password"
msgstr ""
-#: finishopenidlogin.php:146
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
msgid "Connect"
msgstr ""
-#: finishopenidlogin.php:158 finishaddopenid.php:88
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
msgid "OpenID authentication cancelled."
msgstr ""
-#: finishopenidlogin.php:162 finishaddopenid.php:92
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
#, php-format
msgid "OpenID authentication failed: %s"
msgstr ""
-#: finishopenidlogin.php:227 finishopenidlogin.php:236
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr ""
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
msgid "Registration not allowed."
msgstr ""
-#: finishopenidlogin.php:243
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
msgid "Not a valid invitation code."
msgstr ""
-#: finishopenidlogin.php:253
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
msgid "Nickname must have only lowercase letters and numbers and no spaces."
msgstr ""
-#: finishopenidlogin.php:258
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
msgid "Nickname not allowed."
msgstr ""
-#: finishopenidlogin.php:263
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
msgid "Nickname already in use. Try another one."
msgstr ""
-#: finishopenidlogin.php:270 finishopenidlogin.php:350
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
msgid "Stored OpenID not found."
msgstr ""
-#: finishopenidlogin.php:279
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
msgid "Creating new account for OpenID that already has a user."
msgstr ""
-#: finishopenidlogin.php:339
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
msgid "Invalid username or password."
msgstr ""
-#: finishopenidlogin.php:357
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
msgid "Error connecting user to OpenID."
msgstr ""
-#: openidlogin.php:68
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
#, php-format
msgid ""
"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
"before changing your settings."
msgstr ""
-#: openidlogin.php:72
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
#, php-format
msgid "Login with an [OpenID](%%doc.openid%%) account."
msgstr ""
-#: openidlogin.php:97 finishaddopenid.php:170
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
msgid "OpenID Login"
msgstr ""
-#: openidlogin.php:114
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
msgid "OpenID login"
msgstr ""
-#: openidlogin.php:121
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr ""
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr ""
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr ""
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
msgid "Your OpenID URL"
msgstr ""
-#: openidlogin.php:124
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
msgid "Remember me"
msgstr ""
-#: openidlogin.php:125
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
msgid "Automatically login in the future; not for shared computers!"
msgstr ""
-#: openidlogin.php:129
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
msgid "Login"
msgstr ""
@@ -383,22 +543,27 @@ msgstr ""
msgid "Cancel"
msgstr ""
-#: finishaddopenid.php:67
+#. TRANS: Client error message
+#: finishaddopenid.php:68
msgid "Not logged in."
msgstr ""
-#: finishaddopenid.php:112
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
msgid "You already have this OpenID!"
msgstr ""
-#: finishaddopenid.php:114
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
msgid "Someone else already has this OpenID."
msgstr ""
-#: finishaddopenid.php:126
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
msgid "Error connecting user."
msgstr ""
-#: finishaddopenid.php:131
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
msgid "Error updating profile"
msgstr ""
diff --git a/plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po
new file mode 100644
index 000000000..51a8d0f8d
--- /dev/null
+++ b/plugins/OpenID/locale/de/LC_MESSAGES/OpenID.po
@@ -0,0 +1,586 @@
+# Translation of StatusNet - OpenID to German (Deutsch)
+# Expored from translatewiki.net
+#
+# Author: Apmon
+# Author: The Evil IP address
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenID\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:06+0000\n"
+"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: de\n"
+"X-Message-Group: #out-statusnet-plugin-openid\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: openidsettings.php:59 openidadminpanel.php:65
+msgid "OpenID settings"
+msgstr "OpenID-Einstellungen"
+
+#: 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 ""
+
+#: openidsettings.php:101
+msgid "Add OpenID"
+msgstr "Füge OpenID hinzu"
+
+#: openidsettings.php:104
+msgid ""
+"If you want to add an OpenID to your account, enter it in the box below and "
+"click \"Add\"."
+msgstr ""
+"Falls du eine OpenID zu deinem Konto hinzufügen willst, trage sie in dem "
+"nachfolgenden Feld ein und klicke auf „Hinzufügen“."
+
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
+msgid "OpenID URL"
+msgstr "OpenID URL"
+
+#: openidsettings.php:119
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: openidsettings.php:131
+msgid "Remove OpenID"
+msgstr "Entfernen der OpenID"
+
+#: openidsettings.php:136
+msgid ""
+"Removing your only OpenID would make it impossible to log in! If you need to "
+"remove it, add another OpenID first."
+msgstr ""
+"Das Entfernen der einzigen OpenID würde das Einloggen unmöglich machen! "
+"Falls du sie entfernen musst, füge zuerst eine andere hinzu."
+
+#: openidsettings.php:151
+msgid ""
+"You can remove an OpenID from your account by clicking the button marked "
+"\"Remove\"."
+msgstr ""
+"Du kannst eine OpenID von deinem Konto entfernen, indem du auf den Button "
+"„Entfernen“ klickst."
+
+#: openidsettings.php:174 openidsettings.php:215
+msgid "Remove"
+msgstr "Entfernen"
+
+#: openidsettings.php:188
+msgid "OpenID Trusted Sites"
+msgstr ""
+
+#: openidsettings.php:191
+msgid ""
+"The following sites are allowed to access your identity and log you in. You "
+"can remove a site from this list to deny it access to your OpenID."
+msgstr ""
+"Den folgenden Seiten ist es erlaubt, deine Identität abzufragen und dich "
+"damit anzumelden. Du kannst eine Website aus dieser Liste entfernen, um ihr "
+"den Zugriff auf deine OpenID zu verweigern."
+
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Es gab ein Problem mit deinem Sitzungstoken. Bitte versuche es erneut."
+
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr "Kann keine neuen Provider hinzufügen"
+
+#: openidsettings.php:253
+msgid "Something weird happened."
+msgstr "Etwas Seltsames ist passiert."
+
+#: openidsettings.php:277
+msgid "No such OpenID trustroot."
+msgstr "Keine solche OpenID trustroot."
+
+#: openidsettings.php:281
+msgid "Trustroots removed"
+msgstr "Trustroots entfernt"
+
+#: openidsettings.php:304
+msgid "No such OpenID."
+msgstr "Keine solche OpenID."
+
+#: openidsettings.php:309
+msgid "That OpenID does not belong to you."
+msgstr "Diese OpenID gehört dir nicht."
+
+#: openidsettings.php:313
+msgid "OpenID removed."
+msgstr "OpenID entfernt."
+
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr "OpenID"
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr "Ungültige Provider-URL. Maximale Länge beträgt 255 Zeichen."
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr "Ungültiger Teamnamen. Maximale Länge beträgt 255 Zeichen."
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr "Vertrauenswürdiger Provider"
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr ""
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr ""
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr ""
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr ""
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr ""
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr ""
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
+msgid "Cannot instantiate OpenID consumer object."
+msgstr ""
+
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
+msgid "Not a valid OpenID."
+msgstr "Keine gültige OpenID."
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
+#, php-format
+msgid "OpenID failure: %s"
+msgstr ""
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
+#, php-format
+msgid "Could not redirect to server: %s"
+msgstr ""
+
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
+msgid ""
+"This form should automatically submit itself. If not, click the submit "
+"button to go to your OpenID provider."
+msgstr ""
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
+msgid "Error saving the profile."
+msgstr ""
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
+msgid "Error saving the user."
+msgstr ""
+
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
+msgid "Unauthorized URL used for OpenID login."
+msgstr ""
+
+#. TRANS: Title
+#: openid.php:370
+msgid "OpenID Login Submission"
+msgstr ""
+
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
+msgid "Requesting authorization from your login provider..."
+msgstr ""
+
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
+msgid ""
+"If you are not redirected to your login provider in a few seconds, try "
+"pushing the button below."
+msgstr ""
+
+#. TRANS: Tooltip for main menu option "Login"
+#: OpenIDPlugin.php:226
+msgctxt "TOOLTIP"
+msgid "Login to the site"
+msgstr ""
+
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
+msgctxt "MENU"
+msgid "Login"
+msgstr "Anmelden"
+
+#. TRANS: Tooltip for main menu option "Help"
+#: OpenIDPlugin.php:234
+msgctxt "TOOLTIP"
+msgid "Help me!"
+msgstr "Hilf mir!"
+
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
+msgctxt "MENU"
+msgid "Help"
+msgstr "Hilfe"
+
+#. TRANS: Tooltip for main menu option "Search"
+#: OpenIDPlugin.php:243
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr ""
+
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
+msgctxt "MENU"
+msgid "Search"
+msgstr "Suche"
+
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
+msgid "OpenID"
+msgstr "OpenID"
+
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
+msgid "Login or register with OpenID"
+msgstr "Anmelden oder Registrieren per OpenID"
+
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
+msgid "Add or remove OpenIDs"
+msgstr "Hinzufügen oder Entfernen von OpenIDs"
+
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr ""
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
+msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
+msgstr ""
+"Benutzung der <a href=\"http://openid.net/\">OpenID</a> zur Anmeldung auf "
+"der Seite"
+
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
+#, php-format
+msgid "You are not authorized to use the identity %s."
+msgstr ""
+
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
+msgid "Just an OpenID provider. Nothing to see here, move along..."
+msgstr ""
+
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
+msgid "Already logged in."
+msgstr "Bereits angemeldet."
+
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
+msgid "You can't register if you don't agree to the license."
+msgstr ""
+
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr ""
+
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
+#: finishopenidlogin.php:71
+#, 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 ""
+
+#. TRANS: Title
+#: finishopenidlogin.php:78
+msgid "OpenID Account Setup"
+msgstr ""
+
+#: finishopenidlogin.php:108
+msgid "Create new account"
+msgstr "Neues Benutzerkonto erstellen"
+
+#: finishopenidlogin.php:110
+msgid "Create a new user with this nickname."
+msgstr ""
+
+#: finishopenidlogin.php:113
+msgid "New nickname"
+msgstr ""
+
+#: finishopenidlogin.php:115
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Erstellen"
+
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
+msgid "Connect existing account"
+msgstr ""
+
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your OpenID."
+msgstr ""
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
+msgid "Existing nickname"
+msgstr ""
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
+msgid "Password"
+msgstr "Passwort"
+
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr ""
+
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
+msgid "OpenID authentication cancelled."
+msgstr ""
+
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
+#, php-format
+msgid "OpenID authentication failed: %s"
+msgstr ""
+
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr ""
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
+msgid "Registration not allowed."
+msgstr ""
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
+msgid "Not a valid invitation code."
+msgstr ""
+
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
+msgid "Nickname not allowed."
+msgstr ""
+
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
+msgid "Nickname already in use. Try another one."
+msgstr ""
+
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
+msgid "Stored OpenID not found."
+msgstr ""
+
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
+msgid "Creating new account for OpenID that already has a user."
+msgstr ""
+
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
+msgid "Invalid username or password."
+msgstr ""
+
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
+msgid "Error connecting user to OpenID."
+msgstr ""
+
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
+#, php-format
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
+#, php-format
+msgid "Login with an [OpenID](%%doc.openid%%) account."
+msgstr ""
+
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
+msgid "OpenID Login"
+msgstr ""
+
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
+msgid "OpenID login"
+msgstr ""
+
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr ""
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr "Gib deinen Benutzernamen ein."
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr ""
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
+msgid "Your OpenID URL"
+msgstr "Ihre OpenID URL"
+
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
+msgid "Remember me"
+msgstr "Anmeldedaten merken"
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
+msgid "Automatically login in the future; not for shared computers!"
+msgstr ""
+
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Anmelden"
+
+#: openidtrust.php:51
+msgid "OpenID Identity Verification"
+msgstr ""
+
+#: openidtrust.php:69
+msgid ""
+"This page should only be reached during OpenID processing, not directly."
+msgstr ""
+
+#: openidtrust.php:117
+#, php-format
+msgid ""
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
+msgstr ""
+
+#: openidtrust.php:135
+msgid "Continue"
+msgstr "Weiter"
+
+#: openidtrust.php:136
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#. TRANS: Client error message
+#: finishaddopenid.php:68
+msgid "Not logged in."
+msgstr ""
+
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
+msgid "You already have this OpenID!"
+msgstr "Du hast bereits diese OpenID!"
+
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
+msgid "Someone else already has this OpenID."
+msgstr ""
+
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
+msgid "Error connecting user."
+msgstr ""
+
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
+msgid "Error updating profile"
+msgstr ""
diff --git a/plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po
new file mode 100644
index 000000000..603cfb0cd
--- /dev/null
+++ b/plugins/OpenID/locale/fr/LC_MESSAGES/OpenID.po
@@ -0,0 +1,631 @@
+# Translation of StatusNet - OpenID to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenID\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:06+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-openid\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: openidsettings.php:59 openidadminpanel.php:65
+msgid "OpenID settings"
+msgstr "Paramètres OpenID"
+
+#: 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 ""
+"[OpenID](%%doc.openid%%) vous permet de vous connecter à de nombreux sites "
+"avec le même compte utilisateur. Gérez à partir d’ici les identifiants "
+"OpenID associés à votre compte ici."
+
+#: openidsettings.php:101
+msgid "Add OpenID"
+msgstr "Ajouter OpenID"
+
+#: openidsettings.php:104
+msgid ""
+"If you want to add an OpenID to your account, enter it in the box below and "
+"click \"Add\"."
+msgstr ""
+"Si vous souhaitez ajouter un compte OpenID à votre compte, entrez-le dans la "
+"case ci-dessous et cliquez sur « Ajouter »."
+
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
+msgid "OpenID URL"
+msgstr "Adresse URL OpenID"
+
+#: openidsettings.php:119
+msgid "Add"
+msgstr "Ajouter"
+
+#: openidsettings.php:131
+msgid "Remove OpenID"
+msgstr "Retirer OpenID"
+
+#: openidsettings.php:136
+msgid ""
+"Removing your only OpenID would make it impossible to log in! If you need to "
+"remove it, add another OpenID first."
+msgstr ""
+"Le retrait de votre unique compte OpenID ne vous permettrait plus de vous "
+"connecter ! Si vous avez besoin de l’enlever, ajouter d’abord un autre "
+"compte OpenID."
+
+#: openidsettings.php:151
+msgid ""
+"You can remove an OpenID from your account by clicking the button marked "
+"\"Remove\"."
+msgstr ""
+"Vous pouvez retirer un compte OpenID de votre compte en cliquant le bouton « "
+"Retirer »"
+
+#: openidsettings.php:174 openidsettings.php:215
+msgid "Remove"
+msgstr "Retirer"
+
+#: openidsettings.php:188
+msgid "OpenID Trusted Sites"
+msgstr "Sites de confiance OpenID"
+
+#: openidsettings.php:191
+msgid ""
+"The following sites are allowed to access your identity and log you in. You "
+"can remove a site from this list to deny it access to your OpenID."
+msgstr ""
+"Les sites suivants sont autorisés à accéder à votre identité et à vous "
+"connecter. Vous pouvez retirer un site de cette liste pour l’empêcher "
+"d’accéder à votre compte OpenID."
+
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
+"nouveau."
+
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr "Impossible d’ajouter de nouveaux fournisseurs."
+
+#: openidsettings.php:253
+msgid "Something weird happened."
+msgstr "Quelque chose de bizarre s’est passé."
+
+#: openidsettings.php:277
+msgid "No such OpenID trustroot."
+msgstr "Racine de confiance OpenID inexistante."
+
+#: openidsettings.php:281
+msgid "Trustroots removed"
+msgstr "Racines de confiance retirées"
+
+#: openidsettings.php:304
+msgid "No such OpenID."
+msgstr "Compte OpenID inexistant."
+
+#: openidsettings.php:309
+msgid "That OpenID does not belong to you."
+msgstr "Ce compte OpenID ne vous appartient pas."
+
+#: openidsettings.php:313
+msgid "OpenID removed."
+msgstr "Compte OpenID retiré."
+
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr "OpenID"
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr ""
+"Adresse URL du fournisseur invalide. La taille maximale est de 255 "
+"caractères."
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr "Nom d’équipe invalide. La taille maximale est de 255 caractères."
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr "Fournisseur de confiance"
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+"Par défaut, les utilisateurs sont autorisés à s’authentifier auprès de "
+"n’importe quel fournisseur OpenID. Si vous utilisez votre propre service "
+"OpenID pour l’inscription partagée, vous pouvez restreindre l’accès à vos "
+"seuls propres utilisateurs ici."
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr "Adresse URL du fournisseur"
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+"Toutes les connexions OpenID seront envoyées à cette adresse ; les autres "
+"fournisseurs ne peuvent être utilisés."
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr "Ajouter un nom d’utilisateur à l’adresse URL de base"
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+"Le formulaire de connexion affichera l’adresse URL de base et demandera un "
+"nom d’utilisateur à ajouter à la fin. Utilisez cette option quand l’adresse "
+"URL du fournisseur OpenID devrait être la page de profil des utilisateurs "
+"individuels."
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr "Équipe exigée"
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+"Autoriser uniquement les connexions des utilisateurs membres de l’équipe "
+"donnée (extension Launchpad)."
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr "Options"
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr "Activer le mode OpenID seul"
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+"Exiger que tous les utilisateurs se connectent via OpenID. AVERTISSEMENT : "
+"cela désactive l’authentification par mot de passe pour tous les "
+"utilisateurs !"
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr "Sauvegarder les paramètres OpenID"
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
+msgid "Cannot instantiate OpenID consumer object."
+msgstr "Impossible d’instancier l’objet client OpenID."
+
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
+msgid "Not a valid OpenID."
+msgstr "Ce n’est pas un identifiant OpenID valide."
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
+#, php-format
+msgid "OpenID failure: %s"
+msgstr "Échec d’OpenID : %s"
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
+#, php-format
+msgid "Could not redirect to server: %s"
+msgstr "Impossible de rediriger vers le serveur : %s"
+
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
+msgid ""
+"This form should automatically submit itself. If not, click the submit "
+"button to go to your OpenID provider."
+msgstr ""
+"Ce formulaire devrait se soumettre automatiquement lui-même. Si ce n’est pas "
+"le cas, cliquez le bouton « Soumettre » en bas pour aller vers la page de "
+"votre fournisseur OpenID."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
+msgid "Error saving the profile."
+msgstr "Erreur lors de la sauvegarde du profil."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
+msgid "Error saving the user."
+msgstr "Erreur lors de la sauvegarde de l’utilisateur."
+
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
+msgid "Unauthorized URL used for OpenID login."
+msgstr "Adresse URL non autorisée utilisée pour la connexion OpenID."
+
+#. TRANS: Title
+#: openid.php:370
+msgid "OpenID Login Submission"
+msgstr "Soumission de la connexion OpenID"
+
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
+msgid "Requesting authorization from your login provider..."
+msgstr "Demande d’autorisation auprès de votre fournisseur de connexion..."
+
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
+msgid ""
+"If you are not redirected to your login provider in a few seconds, try "
+"pushing the button below."
+msgstr ""
+"Si vous n’êtes pas redirigé vers votre fournisseur de connexion dans "
+"quelques secondes, essayez en cliquant le bouton ci-dessous."
+
+#. TRANS: Tooltip for main menu option "Login"
+#: OpenIDPlugin.php:226
+msgctxt "TOOLTIP"
+msgid "Login to the site"
+msgstr "Connexion au site"
+
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
+msgctxt "MENU"
+msgid "Login"
+msgstr "Connexion"
+
+#. TRANS: Tooltip for main menu option "Help"
+#: OpenIDPlugin.php:234
+msgctxt "TOOLTIP"
+msgid "Help me!"
+msgstr "Aidez-moi !"
+
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
+msgctxt "MENU"
+msgid "Help"
+msgstr "Aide"
+
+#. TRANS: Tooltip for main menu option "Search"
+#: OpenIDPlugin.php:243
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr "Rechercher des personnes ou du texte"
+
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
+msgctxt "MENU"
+msgid "Search"
+msgstr "Rechercher"
+
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
+msgid "OpenID"
+msgstr "OpenID"
+
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
+msgid "Login or register with OpenID"
+msgstr "Se connecter ou s’inscrire avec OpenID"
+
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
+msgid "Add or remove OpenIDs"
+msgstr "Ajouter ou retirer des identifiants OpenID"
+
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr "Configuration d’OpenID"
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
+msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
+msgstr ""
+"Utiliser <a href=\"http://openid.net/\">OpenID</a> pour se connecter au site."
+
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
+#, php-format
+msgid "You are not authorized to use the identity %s."
+msgstr "Vous n’êtes pas autorisé à utiliser l’identité « %s »."
+
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
+msgid "Just an OpenID provider. Nothing to see here, move along..."
+msgstr "Juste un fournisseur OpenID. Rien à voir ici, passez votre chemin..."
+
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
+msgid "Already logged in."
+msgstr "Déjà connecté."
+
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
+msgid "You can't register if you don't agree to the license."
+msgstr "Vous ne pouvez pas vous inscrire si vous n’acceptez pas la licence."
+
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr "Une erreur inconnue s’est produite."
+
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
+#: finishopenidlogin.php:71
+#, 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 ""
+"C’est la première fois que vous êtes connecté à %s via OpenID, il nous faut "
+"donc lier votre compte OpenID à un compte local. Vous pouvez soit créer un "
+"nouveau compte, soit vous connecter avec votre compte local existant si vous "
+"en avez un."
+
+#. TRANS: Title
+#: finishopenidlogin.php:78
+msgid "OpenID Account Setup"
+msgstr "Configuration du compte OpenID"
+
+#: finishopenidlogin.php:108
+msgid "Create new account"
+msgstr "Créer un nouveau compte"
+
+#: finishopenidlogin.php:110
+msgid "Create a new user with this nickname."
+msgstr "Créer un nouvel utilisateur avec ce pseudonyme."
+
+#: finishopenidlogin.php:113
+msgid "New nickname"
+msgstr "Nouveau pseudonyme"
+
+#: finishopenidlogin.php:115
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
+
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Créer"
+
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
+msgid "Connect existing account"
+msgstr "Se connecter à un compte existant"
+
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
+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 ici, connectez-vous avec votre nom d’utilisateur "
+"et mot de passe pour l’associer à votre compte OpenID."
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
+msgid "Existing nickname"
+msgstr "Pseudonyme existant"
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
+msgid "Password"
+msgstr "Mot de passe"
+
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Connexion"
+
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
+msgid "OpenID authentication cancelled."
+msgstr "Authentification OpenID annulée."
+
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
+#, php-format
+msgid "OpenID authentication failed: %s"
+msgstr "L’authentification OpenID a échoué : %s"
+
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr ""
+"L’authentification OpenID a été abandonnée : vous n'êtes pas autorisé à vous "
+"connecter à ce site."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
+msgid "Registration not allowed."
+msgstr "Inscription non autorisée."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
+msgid "Not a valid invitation code."
+msgstr "Le code d’invitation n’est pas valide."
+
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Les pseudonymes ne peuvent contenir que des lettres minuscules et des "
+"chiffres, sans espaces."
+
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
+msgid "Nickname not allowed."
+msgstr "Pseudonyme non autorisé."
+
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
+msgid "Nickname already in use. Try another one."
+msgstr "Pseudonyme déjà utilisé. Essayez-en un autre."
+
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
+msgid "Stored OpenID not found."
+msgstr "OpenID stocké non trouvé."
+
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
+msgid "Creating new account for OpenID that already has a user."
+msgstr "Créer un nouveau compte pour OpenID qui a déjà un utilisateur."
+
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
+msgid "Invalid username or password."
+msgstr "Nom d’utilisateur ou mot de passe incorrect."
+
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
+msgid "Error connecting user to OpenID."
+msgstr "Erreur de connexion de l’utilisateur à OpenID."
+
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
+#, php-format
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+"Pour des raisons de sécurité, veuillez vous reconnecter avec votre [OpenID](%"
+"%doc.openid%%) avant de changer toute préférence liée à votre profil."
+
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
+#, php-format
+msgid "Login with an [OpenID](%%doc.openid%%) account."
+msgstr "Connexion avec un compte [OpenID](%%doc.openid%%)."
+
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
+msgid "OpenID Login"
+msgstr "Connexion OpenID"
+
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
+msgid "OpenID login"
+msgstr "Connexion OpenID"
+
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr "Fournisseur OpenID"
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr "Entrez votre nom d’utilisateur."
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr "Vous serez envoyé sur le site du fournisseur pour l’authentification."
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
+msgid "Your OpenID URL"
+msgstr "Votre URL OpenID"
+
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
+msgid "Remember me"
+msgstr "Se souvenir de moi"
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
+msgid "Automatically login in the future; not for shared computers!"
+msgstr ""
+"Me connecter automatiquement à l’avenir ; déconseillé sur les ordinateurs "
+"publics ou partagés !"
+
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Connexion"
+
+#: openidtrust.php:51
+msgid "OpenID Identity Verification"
+msgstr "Vérification d’identité OpenID"
+
+#: openidtrust.php:69
+msgid ""
+"This page should only be reached during OpenID processing, not directly."
+msgstr ""
+"Cette page ne devrait être atteinte que durant un traitement OpenID, pas "
+"directement."
+
+#: openidtrust.php:117
+#, php-format
+msgid ""
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
+msgstr ""
+"%s a demandé la vérification de votre identité. Veuillez cliquer sur « "
+"Continuer » pour vérifier votre identité et connectez-vous sans créer un "
+"nouveau mot de passe."
+
+#: openidtrust.php:135
+msgid "Continue"
+msgstr "Continuer"
+
+#: openidtrust.php:136
+msgid "Cancel"
+msgstr "Annuler"
+
+#. TRANS: Client error message
+#: finishaddopenid.php:68
+msgid "Not logged in."
+msgstr "Non connecté."
+
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
+msgid "You already have this OpenID!"
+msgstr "Vous êtes déjà connecté avec cet OpenID !"
+
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
+msgid "Someone else already has this OpenID."
+msgstr "Quelqu’un d’autre a déjà cet OpenID."
+
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
+msgid "Error connecting user."
+msgstr "Erreur lors de la connexion de l’utilisateur à OpenID."
+
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
+msgid "Error updating profile"
+msgstr "Erreur lors de la mise à jour du profil utilisateur"
diff --git a/plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po
new file mode 100644
index 000000000..10a738036
--- /dev/null
+++ b/plugins/OpenID/locale/ia/LC_MESSAGES/OpenID.po
@@ -0,0 +1,619 @@
+# Translation of StatusNet - OpenID to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenID\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:06+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-openid\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: openidsettings.php:59 openidadminpanel.php:65
+msgid "OpenID settings"
+msgstr "Configuration OpenID"
+
+#: 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 ""
+"[OpenID](%%doc.openid%%) permitte authenticar te a multe sitos con le mesme "
+"conto de usator. Tu pote gerer hic tu OpenIDs associate."
+
+#: openidsettings.php:101
+msgid "Add OpenID"
+msgstr "Adder OpenID"
+
+#: openidsettings.php:104
+msgid ""
+"If you want to add an OpenID to your account, enter it in the box below and "
+"click \"Add\"."
+msgstr ""
+"Si tu vole adder un OpenID a tu conto, entra lo in le quadro hic infra e "
+"clicca \"Adder\"."
+
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
+msgid "OpenID URL"
+msgstr "URL OpenID"
+
+#: openidsettings.php:119
+msgid "Add"
+msgstr "Adder"
+
+#: openidsettings.php:131
+msgid "Remove OpenID"
+msgstr "Remover OpenID"
+
+#: openidsettings.php:136
+msgid ""
+"Removing your only OpenID would make it impossible to log in! If you need to "
+"remove it, add another OpenID first."
+msgstr ""
+"Le remotion de tu sol OpenID renderea le apertura de session impossibile! Si "
+"tu debe remover lo, adde primo un altere OpenID."
+
+#: openidsettings.php:151
+msgid ""
+"You can remove an OpenID from your account by clicking the button marked "
+"\"Remove\"."
+msgstr ""
+"Tu pote remover un OpenID de tu conto per cliccar le button \"Remover\"."
+
+#: openidsettings.php:174 openidsettings.php:215
+msgid "Remove"
+msgstr "Remover"
+
+#: openidsettings.php:188
+msgid "OpenID Trusted Sites"
+msgstr "Sitos OpenID de confidentia"
+
+#: openidsettings.php:191
+msgid ""
+"The following sites are allowed to access your identity and log you in. You "
+"can remove a site from this list to deny it access to your OpenID."
+msgstr ""
+"Le sequente sitos ha le permission de acceder a tu identitate e de "
+"authenticar te. Tu pote remover un sito de iste lista pro negar a illo le "
+"accesso a tu OpenID."
+
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
+
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr "Non pote adder nove fornitores."
+
+#: openidsettings.php:253
+msgid "Something weird happened."
+msgstr "Qualcosa de bizarre occurreva."
+
+#: openidsettings.php:277
+msgid "No such OpenID trustroot."
+msgstr "Iste \"trustroot\" de OpenID non existe."
+
+#: openidsettings.php:281
+msgid "Trustroots removed"
+msgstr "\"Trustroots\" removite"
+
+#: openidsettings.php:304
+msgid "No such OpenID."
+msgstr "Iste OpenID non existe."
+
+#: openidsettings.php:309
+msgid "That OpenID does not belong to you."
+msgstr "Iste OpenID non appertine a te."
+
+#: openidsettings.php:313
+msgid "OpenID removed."
+msgstr "OpenID removite."
+
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr "OpenID"
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr "URL de fornitor invalide. Longitude maximal es 255 characteres."
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr "Nomine de equipa invalide. Longitude maximal es 255 characteres."
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr "Fornitor de confidentia"
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+"Per predefinition, le usatores ha le permission de authenitcar se con omne "
+"fornitor de OpenID. Si tu usa tu proprie servicio OpenID pro le "
+"authentication in commun, tu pote hic restringer le accesso a solmente tu "
+"proprie usatores."
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr "URL del fornitor"
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+"Tote le authenticationes de OpenID essera inviate a iste URL; altere "
+"fornitores non pote esser usate."
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr "Adjunger un nomine de usator al URL de base"
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+"Le formulario de authentication monstrara le URL de base e demandara un "
+"nomine de usator a adder al fin. Usa isto si le URL de un fornitor de OpenID "
+"debe esser le pagina de profilo pro usatores individual."
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr "Equipa requirite"
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+"Permitter solmente le apertura de session ab usatores in le equipa "
+"specificate (extension de Launchpad)."
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr "Optiones"
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr "Activar modo OpenID sol"
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+"Requirer que tote le usatores aperi session via OpenID. ATTENTION: isto "
+"disactiva le authentication per contrasigno pro tote le usatores!"
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr "Salveguardar configurationes de OpenID"
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
+msgid "Cannot instantiate OpenID consumer object."
+msgstr "Non pote instantiar un objecto de consumitor OpenID."
+
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
+msgid "Not a valid OpenID."
+msgstr "Non es un OpenID valide."
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
+#, php-format
+msgid "OpenID failure: %s"
+msgstr "Fallimento de OpenID: %s"
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
+#, php-format
+msgid "Could not redirect to server: %s"
+msgstr "Non poteva rediriger al servitor: %s"
+
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
+msgid ""
+"This form should automatically submit itself. If not, click the submit "
+"button to go to your OpenID provider."
+msgstr ""
+"Iste formulario deberea submitter se automaticamente. Si non, clicca super "
+"le button Submitter pro vader a tu fornitor de OpenID."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
+msgid "Error saving the profile."
+msgstr "Error durante le salveguarda del profilo."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
+msgid "Error saving the user."
+msgstr "Error durante le salveguarda del usator."
+
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
+msgid "Unauthorized URL used for OpenID login."
+msgstr ""
+"Un URL non autorisate ha essite usate pro le authentication via OpenID."
+
+#. TRANS: Title
+#: openid.php:370
+msgid "OpenID Login Submission"
+msgstr "Apertura de session via OpenID"
+
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
+msgid "Requesting authorization from your login provider..."
+msgstr "Requesta autorisation de tu fornitor de authentication..."
+
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
+msgid ""
+"If you are not redirected to your login provider in a few seconds, try "
+"pushing the button below."
+msgstr ""
+"Si tu non es redirigite a tu fornitor de authentication post pauc secundas, "
+"tenta pulsar le button hic infra."
+
+#. TRANS: Tooltip for main menu option "Login"
+#: OpenIDPlugin.php:226
+msgctxt "TOOLTIP"
+msgid "Login to the site"
+msgstr "Authenticar te a iste sito"
+
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
+msgctxt "MENU"
+msgid "Login"
+msgstr "Aperir session"
+
+#. TRANS: Tooltip for main menu option "Help"
+#: OpenIDPlugin.php:234
+msgctxt "TOOLTIP"
+msgid "Help me!"
+msgstr "Adjuta me!"
+
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
+msgctxt "MENU"
+msgid "Help"
+msgstr "Adjuta"
+
+#. TRANS: Tooltip for main menu option "Search"
+#: OpenIDPlugin.php:243
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr "Cercar personas o texto"
+
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
+msgctxt "MENU"
+msgid "Search"
+msgstr "Cercar"
+
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
+msgid "OpenID"
+msgstr "OpenID"
+
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
+msgid "Login or register with OpenID"
+msgstr "Aperir session o crear conto via OpenID"
+
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
+msgid "Add or remove OpenIDs"
+msgstr "Adder o remover OpenIDs"
+
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr "Configuration de OpenID"
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
+msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
+msgstr ""
+"Usar <a href=\"http://openid.net/\">OpenID</a> pro aperir session al sito."
+
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
+#, php-format
+msgid "You are not authorized to use the identity %s."
+msgstr "Tu non es autorisate a usar le identitate %s."
+
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
+msgid "Just an OpenID provider. Nothing to see here, move along..."
+msgstr ""
+"Solmente un fornitor de OpenID. Nihil a vider hic, per favor continua..."
+
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
+msgid "Already logged in."
+msgstr "Tu es jam authenticate."
+
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
+msgid "You can't register if you don't agree to the license."
+msgstr "Tu non pote crear un conto si tu non accepta le licentia."
+
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr "Un error incognite ha occurrite."
+
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
+#: finishopenidlogin.php:71
+#, 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 ""
+"Isto es le prime vice que tu ha aperite un session in %s; dunque, nos debe "
+"connecter tu OpenID a un conto local. Tu pote crear un nove conto, o "
+"connecter con tu conto existente, si tu ha un."
+
+#. TRANS: Title
+#: finishopenidlogin.php:78
+msgid "OpenID Account Setup"
+msgstr "Configuration de conto OpenID"
+
+#: finishopenidlogin.php:108
+msgid "Create new account"
+msgstr "Crear nove conto"
+
+#: finishopenidlogin.php:110
+msgid "Create a new user with this nickname."
+msgstr "Crear un nove usator con iste pseudonymo."
+
+#: finishopenidlogin.php:113
+msgid "New nickname"
+msgstr "Nove pseudonymo"
+
+#: finishopenidlogin.php:115
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
+
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Crear"
+
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
+msgid "Connect existing account"
+msgstr "Connecter conto existente"
+
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your OpenID."
+msgstr ""
+"Si tu ha jam un conto, aperi session con tu nomine de usator e contrasigno "
+"pro connecter lo a tu OpenID."
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
+msgid "Existing nickname"
+msgstr "Pseudonymo existente"
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
+msgid "Password"
+msgstr "Contrasigno"
+
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Connecter"
+
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
+msgid "OpenID authentication cancelled."
+msgstr "Authentication OpenID cancellate."
+
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
+#, php-format
+msgid "OpenID authentication failed: %s"
+msgstr "Le authentication OpenID ha fallite: %s"
+
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr ""
+"Authentication OpenID abortate: tu non ha le permission de aperir session in "
+"iste sito."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
+msgid "Registration not allowed."
+msgstr "Creation de conto non permittite."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
+msgid "Not a valid invitation code."
+msgstr "Le codice de invitation es invalide."
+
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios."
+
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
+msgid "Nickname not allowed."
+msgstr "Pseudonymo non permittite."
+
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
+msgid "Nickname already in use. Try another one."
+msgstr "Pseudonymo ja in uso. Proba un altere."
+
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
+msgid "Stored OpenID not found."
+msgstr "Le OpenID immagazinate non esseva trovate."
+
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
+msgid "Creating new account for OpenID that already has a user."
+msgstr "Tentativa de crear un nove conto pro un OpenID que ha jam un usator."
+
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
+msgid "Invalid username or password."
+msgstr "Nomine de usator o contrasigno invalide."
+
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
+msgid "Error connecting user to OpenID."
+msgstr "Error durante le connexion del usator a OpenID."
+
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
+#, php-format
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+"Pro motivos de securitate, per favor re-aperi session con tu [OpenID](%%doc."
+"openid%%) ante de cambiar tu configurationes."
+
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
+#, php-format
+msgid "Login with an [OpenID](%%doc.openid%%) account."
+msgstr "Aperir session con un conto [OpenID](%%doc.openid%%)."
+
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
+msgid "OpenID Login"
+msgstr "Apertura de session via OpenID"
+
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
+msgid "OpenID login"
+msgstr "Apertura de session via OpenID"
+
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr "Fornitor de OpenID"
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr "Entra tu nomine de usator."
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr "Tu essera inviate al sito del fornitor pro authentication."
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
+msgid "Your OpenID URL"
+msgstr "Tu URL de OpenID"
+
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
+msgid "Remember me"
+msgstr "Memorar me"
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
+msgid "Automatically login in the future; not for shared computers!"
+msgstr ""
+"Aperir session automaticamente in le futuro; non pro computatores usate in "
+"commun!"
+
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Aperir session"
+
+#: openidtrust.php:51
+msgid "OpenID Identity Verification"
+msgstr "Verification de identitate via OpenID"
+
+#: openidtrust.php:69
+msgid ""
+"This page should only be reached during OpenID processing, not directly."
+msgstr ""
+"Iste pagina debe esser attingite solmente durante le tractamento de un "
+"OpenID, non directemente."
+
+#: openidtrust.php:117
+#, php-format
+msgid ""
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
+msgstr ""
+"%s ha demandate de verificar tu identitate. Clicca super Continuar pro "
+"verificar tu identitate e aperir session sin crear un nove contrasigno."
+
+#: openidtrust.php:135
+msgid "Continue"
+msgstr "Continuar"
+
+#: openidtrust.php:136
+msgid "Cancel"
+msgstr "Cancellar"
+
+#. TRANS: Client error message
+#: finishaddopenid.php:68
+msgid "Not logged in."
+msgstr "Tu non ha aperite un session."
+
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
+msgid "You already have this OpenID!"
+msgstr "Tu jam ha iste OpenID!"
+
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
+msgid "Someone else already has this OpenID."
+msgstr "Un altere persona jam ha iste OpenID."
+
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
+msgid "Error connecting user."
+msgstr "Error durante le connexion del usator."
+
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
+msgid "Error updating profile"
+msgstr "Error durante le actualisation del profilo"
diff --git a/plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po
new file mode 100644
index 000000000..b682038d5
--- /dev/null
+++ b/plugins/OpenID/locale/mk/LC_MESSAGES/OpenID.po
@@ -0,0 +1,614 @@
+# Translation of StatusNet - OpenID to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenID\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:06+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-openid\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: openidsettings.php:59 openidadminpanel.php:65
+msgid "OpenID settings"
+msgstr "Нагодувања за OpenID"
+
+#: 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 ""
+"[OpenID](%%doc.openid%%) Ви дава можност да се најавувате на многубројни "
+"мреж. места со една иста сметка. Од ова место можете да раководите со Вашите "
+"OpenID-ја."
+
+#: openidsettings.php:101
+msgid "Add OpenID"
+msgstr "Додај OpenID"
+
+#: openidsettings.php:104
+msgid ""
+"If you want to add an OpenID to your account, enter it in the box below and "
+"click \"Add\"."
+msgstr ""
+"Доколку не сакате да приложите OpenID кон Вашата сметка, тогаш внесете ја во "
+"полето подолу и кликнете на „Додај“."
+
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
+msgid "OpenID URL"
+msgstr "URL на OpenID"
+
+#: openidsettings.php:119
+msgid "Add"
+msgstr "Додај"
+
+#: openidsettings.php:131
+msgid "Remove OpenID"
+msgstr "Отстрани OpenID"
+
+#: openidsettings.php:136
+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."
+
+#: openidsettings.php:151
+msgid ""
+"You can remove an OpenID from your account by clicking the button marked "
+"\"Remove\"."
+msgstr "Отстранувањето на OpenID од сметката се врши преку копчето „Отстрани“."
+
+#: openidsettings.php:174 openidsettings.php:215
+msgid "Remove"
+msgstr "Отстрани"
+
+#: openidsettings.php:188
+msgid "OpenID Trusted Sites"
+msgstr "Мреж. места од доверба на OpenID"
+
+#: openidsettings.php:191
+msgid ""
+"The following sites are allowed to access your identity and log you in. You "
+"can remove a site from this list to deny it access to your OpenID."
+msgstr ""
+"Следниве мреж. места имаат дозволен пристап до Вашиот идентитет и дозвола за "
+"да Ве најават. Ако сакате некое мрежно место да нема пристап до Вашиот "
+"OpenID, тогаш отстранете го од списоков."
+
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се подоцна."
+
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr "Не можам да додадам нови услужители."
+
+#: openidsettings.php:253
+msgid "Something weird happened."
+msgstr "Се случи нешто чудно."
+
+#: openidsettings.php:277
+msgid "No such OpenID trustroot."
+msgstr "Нема таков довербен извор (trustroot) за OpenID"
+
+#: openidsettings.php:281
+msgid "Trustroots removed"
+msgstr "Довербените извори (trustroots) се отстранети"
+
+#: openidsettings.php:304
+msgid "No such OpenID."
+msgstr "Нема таков OpenID."
+
+#: openidsettings.php:309
+msgid "That OpenID does not belong to you."
+msgstr "Тој OpenID не Ви припаѓа Вам."
+
+#: openidsettings.php:313
+msgid "OpenID removed."
+msgstr "OpenID е отстранет."
+
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr "OpenID"
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr "Неважечка URL-адреса за услужителот. Дозволени се највеќе 255 знаци."
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr "Неважечко екипно име. Дозволени се највеќе 255 знаци."
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr "Услужник од доверба"
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+"Корисниците по основно можат да се потврдат со било кој OpenID-услужник. "
+"Доколку користите сопствена OpenID-сужба за заедничка најава, тука можете да "
+"им доделите право на пристап само на Вашите корисници."
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr "URL-адреса на услужникот"
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+"Сите OpenID-најави ќе бидат испратени на следнава URL-адреса. Нема да можат "
+"да се користат други услужници."
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr "Приложи корисничко име кон основната URL-адреса"
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+"Образецот за најава ќе ја прикаже основната URL-адреса и ќе Ви побара на "
+"крајот да додадете корисничко име. Користете го ова кога URL-адресата на "
+"OpenID-услужникот треба да биде профилната страница за поединечни корисници."
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr "Потребна екипа"
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+"Дозволувај само најави на корисници од дадената екипа (додаток „Launchpad“)."
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr "Нагодувања"
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr "Вклучи режим „само OpenID“"
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+"Барај од сите корисници да се најават преку OpenID. ПРЕДУПРЕДУВАЊЕ: ова ја "
+"оневозможува потврдата на лозинка за сите корисници!"
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr "Зачувај нагодувања за OpenID"
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
+msgid "Cannot instantiate OpenID consumer object."
+msgstr "Не можам да го повикам потрошувачкиот објект за OpenID."
+
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
+msgid "Not a valid OpenID."
+msgstr "Ова не е важечки OpenID."
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
+#, php-format
+msgid "OpenID failure: %s"
+msgstr "OpenID не успеа: %s"
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
+#, php-format
+msgid "Could not redirect to server: %s"
+msgstr "Не можев да пренасочам кон опслужувачот: %s"
+
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
+msgid ""
+"This form should automatically submit itself. If not, click the submit "
+"button to go to your OpenID provider."
+msgstr ""
+"Овој образец би требало да се поднесе самиот. Ако тоа не се случи, кликнете "
+"на копчето „Поднеси“ за да дојдете до Вашиот OpenID-услужник."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
+msgid "Error saving the profile."
+msgstr "Грешка при зачувувањето на профилот."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
+msgid "Error saving the user."
+msgstr "Грешка при зачувувањето на корисникот."
+
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
+msgid "Unauthorized URL used for OpenID login."
+msgstr "Употребена е неовластена URL-адреса за најавата со OpenID."
+
+#. TRANS: Title
+#: openid.php:370
+msgid "OpenID Login Submission"
+msgstr "Поднесување на најава со OpenID"
+
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
+msgid "Requesting authorization from your login provider..."
+msgstr "Барам овластување од Вашиот услужител за најава..."
+
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
+msgid ""
+"If you are not redirected to your login provider in a few seconds, try "
+"pushing the button below."
+msgstr ""
+"Ако не бидете префрлени на Вашиот услужител за најава за неколку секунди, "
+"тогаш пристиснете го копчето подолу."
+
+#. TRANS: Tooltip for main menu option "Login"
+#: OpenIDPlugin.php:226
+msgctxt "TOOLTIP"
+msgid "Login to the site"
+msgstr "Најава на мреж. место"
+
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
+msgctxt "MENU"
+msgid "Login"
+msgstr "Најава"
+
+#. TRANS: Tooltip for main menu option "Help"
+#: OpenIDPlugin.php:234
+msgctxt "TOOLTIP"
+msgid "Help me!"
+msgstr "Напомош!"
+
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
+msgctxt "MENU"
+msgid "Help"
+msgstr "Помош"
+
+#. TRANS: Tooltip for main menu option "Search"
+#: OpenIDPlugin.php:243
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr "Пребарување на луѓе или текст"
+
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
+msgctxt "MENU"
+msgid "Search"
+msgstr "Пребарај"
+
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
+msgid "OpenID"
+msgstr "OpenID"
+
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
+msgid "Login or register with OpenID"
+msgstr "Најава или регистрација со OpenID"
+
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
+msgid "Add or remove OpenIDs"
+msgstr "Додај или отстрани OpenID-ја"
+
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr "Поставки за OpenID"
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
+msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
+msgstr "Користете <a href=\"http://openid.net/\">OpenID</a> за најава."
+
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
+#, php-format
+msgid "You are not authorized to use the identity %s."
+msgstr "Не сте овластени да го користите идентитетот %s."
+
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
+msgid "Just an OpenID provider. Nothing to see here, move along..."
+msgstr ""
+"Ова е просто услужник за OpenID. Нема ништо интересно, продолжете понатаму..."
+
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
+msgid "Already logged in."
+msgstr "Веќе сте најавени."
+
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
+msgid "You can't register if you don't agree to the license."
+msgstr "Не можете да се регистрирате ако не се согласувате со лиценцата."
+
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr "Се појави непозната грешка."
+
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
+#: finishopenidlogin.php:71
+#, 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 ""
+"Ова е прв пат како се најавувате на %s, па затоа мораме да го поврземе "
+"Вашиот OpenID со локална сметка. Можете да создадете нова сметка, или пак да "
+"се поврзете со Вашата постоечка сметка (ако ја имате)."
+
+#. TRANS: Title
+#: finishopenidlogin.php:78
+msgid "OpenID Account Setup"
+msgstr "Поставување на OpenID-сметка"
+
+#: finishopenidlogin.php:108
+msgid "Create new account"
+msgstr "Создај нова сметка"
+
+#: finishopenidlogin.php:110
+msgid "Create a new user with this nickname."
+msgstr "Создај нов корисник со овој прекар."
+
+#: finishopenidlogin.php:113
+msgid "New nickname"
+msgstr "Нов прекар"
+
+#: finishopenidlogin.php:115
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 мали букви или бројки, без интерпункциски знаци и празни места"
+
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Создај"
+
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
+msgid "Connect existing account"
+msgstr "Поврзи постоечка сметка"
+
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your OpenID."
+msgstr ""
+"ко веќе имате сметка, најавете се со корисничкото име и лозинката за да ја "
+"поврзете со Вашиот OpenID."
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
+msgid "Existing nickname"
+msgstr "Постоечки прекар"
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
+msgid "Password"
+msgstr "Лозинка"
+
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Поврзи се"
+
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
+msgid "OpenID authentication cancelled."
+msgstr "Потврдувањето на OpenID е откажано."
+
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
+#, php-format
+msgid "OpenID authentication failed: %s"
+msgstr "Потврдувањето на OpenID не успеа: %s"
+
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr ""
+"Потврдата за OpenID е откажана: не Ви е дозволено да се најавите на ова "
+"мреж. место."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
+msgid "Registration not allowed."
+msgstr "Регистрацијата не е дозволена."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
+msgid "Not a valid invitation code."
+msgstr "Ова не е важечки код за покана."
+
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "Прекарот мора да има само мали букви и бројки и да нема празни места."
+
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
+msgid "Nickname not allowed."
+msgstr "Прекарот не е дозволен."
+
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
+msgid "Nickname already in use. Try another one."
+msgstr "Прекарот е зафатен. Одберете друг."
+
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
+msgid "Stored OpenID not found."
+msgstr "Складираниот OpenID не е пронајден."
+
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
+msgid "Creating new account for OpenID that already has a user."
+msgstr "Создавање на сметка за OpenID што веќе има корисник."
+
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
+msgid "Invalid username or password."
+msgstr "Неважечко корисничко име или лозинка."
+
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
+msgid "Error connecting user to OpenID."
+msgstr "Грешка при поврзувањето на корисникот со OpenID."
+
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
+#, php-format
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+"Пред да ги измените Вашите нагодувања ќе треба повторно да се најавите со "
+"Вашиот [OpenID](%%doc.openid%%) од безбедносни причини."
+
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
+#, php-format
+msgid "Login with an [OpenID](%%doc.openid%%) account."
+msgstr "Најава со сметка на [OpenID](%%doc.openid%%)."
+
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
+msgid "OpenID Login"
+msgstr "OpenID-Најава"
+
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
+msgid "OpenID login"
+msgstr "Најава со OpenID"
+
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr "Услужител за OpenID"
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr "Внесете го Вашето корисничко име."
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr "Ќе бидете префрлени на мреж. место на услужникот за потврда."
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
+msgid "Your OpenID URL"
+msgstr "URL-адреса на Вашиот OpenID"
+
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
+msgid "Remember me"
+msgstr "Запомни ме"
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
+msgid "Automatically login in the future; not for shared computers!"
+msgstr ""
+"Отсега врши автоматска најава. Не треба да се користи за јавни сметачи!"
+
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Најава"
+
+#: openidtrust.php:51
+msgid "OpenID Identity Verification"
+msgstr "OpenID - потврда на идентитет"
+
+#: openidtrust.php:69
+msgid ""
+"This page should only be reached during OpenID processing, not directly."
+msgstr ""
+"До оваа страница треба да се доаѓа само во текот на постапката на OpenID, а "
+"не директно."
+
+#: openidtrust.php:117
+#, php-format
+msgid ""
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
+msgstr ""
+"%s побара да го потврдите Вашиот идентитет. Кликнете на „Продолжи“ за да "
+"потврдите и да се најавите без да треба да ставате нова лозинка."
+
+#: openidtrust.php:135
+msgid "Continue"
+msgstr "Продолжи"
+
+#: openidtrust.php:136
+msgid "Cancel"
+msgstr "Откажи"
+
+#. TRANS: Client error message
+#: finishaddopenid.php:68
+msgid "Not logged in."
+msgstr "Не сте најавени."
+
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
+msgid "You already have this OpenID!"
+msgstr "Веќе го имате овој OpenID!"
+
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
+msgid "Someone else already has this OpenID."
+msgstr "Некој друг веќе го зафатил ова OpenID."
+
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
+msgid "Error connecting user."
+msgstr "Грешка при поврзувањето на корисникот."
+
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
+msgid "Error updating profile"
+msgstr "Грешка при подновувањето на профилот"
diff --git a/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po
index 5cda9b129..8a5bcc5e1 100644
--- a/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po
+++ b/plugins/OpenID/locale/nl/LC_MESSAGES/OpenID.po
@@ -1,355 +1,570 @@
-# Translation of StatusNet plugin OpenID to Dutch
+# Translation of StatusNet - OpenID to Dutch (Nederlands)
+# Expored from translatewiki.net
#
-# Author@translatewiki.net: Siebrand
+# Author: McDutchie
+# Author: Siebrand
# --
# This file is distributed under the same license as the StatusNet package.
#
msgid ""
msgstr ""
-"Project-Id-Version: StatusNet\n"
+"Project-Id-Version: StatusNet - OpenID\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
-"PO-Revision-Date: 2010-04-30 02:16+0100\n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:06+0000\n"
"Last-Translator: Siebrand Mazeland <s.mazeland@xs4all.nl>\n"
-"Language-Team: Dutch\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-openid\n"
-#: openidsettings.php:59
+#: openidsettings.php:59 openidadminpanel.php:65
msgid "OpenID settings"
msgstr "OpenID-instellingen"
#: 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 "Met [OpenID](%%doc.openid%%) kunt u aanmelden bij veel websites met dezelfde gebruiker. U kunt hier uw gekoppelde OpenID's beheren."
+msgid ""
+"[OpenID](%%doc.openid%%) lets you log into many sites with the same user "
+"account. Manage your associated OpenIDs from here."
+msgstr ""
+"Met [OpenID](%%doc.openid%%) kunt u aanmelden bij veel websites met dezelfde "
+"gebruiker. U kunt hier uw gekoppelde OpenID's beheren."
-#: openidsettings.php:99
+#: openidsettings.php:101
msgid "Add OpenID"
msgstr "OpenID toevoegen"
-#: openidsettings.php:102
-msgid "If you want to add an OpenID to your account, enter it in the box below and click \"Add\"."
-msgstr "Als u een OpenID aan uw gebruiker wilt toevoegen, voer deze dan hieronder in en klik op \"Toevoegen\"."
+#: openidsettings.php:104
+msgid ""
+"If you want to add an OpenID to your account, enter it in the box below and "
+"click \"Add\"."
+msgstr ""
+"Als u een OpenID aan uw gebruiker wilt toevoegen, voer deze dan hieronder in "
+"en klik op \"Toevoegen\"."
-#: openidsettings.php:107
-#: openidlogin.php:119
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
msgid "OpenID URL"
msgstr "OpenID-URL"
-#: openidsettings.php:117
+#: openidsettings.php:119
msgid "Add"
msgstr "Toevoegen"
-#: openidsettings.php:129
+#: openidsettings.php:131
msgid "Remove OpenID"
msgstr "OpenID verwijderen"
-#: openidsettings.php:134
-msgid "Removing your only OpenID would make it impossible to log in! If you need to remove it, add another OpenID first."
-msgstr "Door uw enige OpenID te verwijderen zou het niet meer mogelijk zijn om aan te melden. Als u het wilt verwijderen, voeg dan eerst een andere OpenID toe."
+#: openidsettings.php:136
+msgid ""
+"Removing your only OpenID would make it impossible to log in! If you need to "
+"remove it, add another OpenID first."
+msgstr ""
+"Door uw enige OpenID te verwijderen zou het niet meer mogelijk zijn om aan "
+"te melden. Als u het wilt verwijderen, voeg dan eerst een andere OpenID toe."
-#: openidsettings.php:149
-msgid "You can remove an OpenID from your account by clicking the button marked \"Remove\"."
-msgstr "U kunt een OpenID van uw gebruiker verwijderen door te klikken op de knop \"Verwijderen\"."
+#: openidsettings.php:151
+msgid ""
+"You can remove an OpenID from your account by clicking the button marked "
+"\"Remove\"."
+msgstr ""
+"U kunt een OpenID van uw gebruiker verwijderen door te klikken op de knop "
+"\"Verwijderen\"."
-#: openidsettings.php:172
-#: openidsettings.php:213
+#: openidsettings.php:174 openidsettings.php:215
msgid "Remove"
msgstr "Verwijderen"
-#: openidsettings.php:186
+#: openidsettings.php:188
msgid "OpenID Trusted Sites"
msgstr "Vertrouwde OpenID-sites"
-#: openidsettings.php:189
-msgid "The following sites are allowed to access your identity and log you in. You can remove a site from this list to deny it access to your OpenID."
-msgstr "De volgende sites hebben toegang tot uw indentiteit en kunnen u aanmelden. U kunt een site verwijderen uit deze lijst zodat deze niet langer toegang heeft tot uw OpenID."
+#: openidsettings.php:191
+msgid ""
+"The following sites are allowed to access your identity and log you in. You "
+"can remove a site from this list to deny it access to your OpenID."
+msgstr ""
+"De volgende sites hebben toegang tot uw indentiteit en kunnen u aanmelden. U "
+"kunt een site verwijderen uit deze lijst zodat deze niet langer toegang "
+"heeft tot uw OpenID."
-#: openidsettings.php:231
-#: finishopenidlogin.php:38
-#: openidlogin.php:39
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
msgid "There was a problem with your session token. Try again, please."
msgstr "Er was een probleem met uw sessietoken. Probeer het opnieuw."
-#: openidsettings.php:247
-#: finishopenidlogin.php:51
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr "Het niet is mogelijk nieuwe providers toe te voegen."
+
+#: openidsettings.php:253
msgid "Something weird happened."
msgstr "Er is iets vreemds gebeurd."
-#: openidsettings.php:271
+#: openidsettings.php:277
msgid "No such OpenID trustroot."
msgstr "Die OpenID trustroot bestaat niet."
-#: openidsettings.php:275
+#: openidsettings.php:281
msgid "Trustroots removed"
msgstr "De trustroots zijn verwijderd"
-#: openidsettings.php:298
+#: openidsettings.php:304
msgid "No such OpenID."
msgstr "De OpenID bestaat niet."
-#: openidsettings.php:303
+#: openidsettings.php:309
msgid "That OpenID does not belong to you."
msgstr "Die OpenID is niet van u."
-#: openidsettings.php:307
+#: openidsettings.php:313
msgid "OpenID removed."
msgstr "OpenID verwijderd."
-#: openid.php:137
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr "OpenID"
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr "De URL voor de provider is ongeldig. De maximale lengte is 255 tekens."
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr "De teamnaam is ongeldig. De maximale lengte is 255 tekens."
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr "Vertrouwde provider"
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+"Gebruikers is het standaard toegestaan aan te melden via alle OpenID-"
+"providers. Als u uw eigen OpenID-dienst gebruikt voor gedeeld aanmelden, dan "
+"kunt u hier de toegang beperken tot alleen uw eigen gebruikers."
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr "URL van provider"
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+"Alle aanmeldpogingen voor OpenID worden naar deze URL gezonden. Andere "
+"providers kunnen niet gebruikt worden."
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr "Gebruikersnaam aan basis-URL toevoegen"
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+"Het aanmeldformulier geeft de basis-URL weer en vraag om achteraan een "
+"gebruikersnaam toe te voegen. Gebruik deze instelling als de URL van een "
+"OpenID-provider de profielpagina van individuele gebruikers moet zijn."
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr "Vereist team"
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+"Alleen leden van een bepaald team toestaan aan te melden (uitbreiding van "
+"Launchpad)."
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr "Instellingen"
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr "Alleen OpenID inschakelen"
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+"Alle gebruikers verplichten aan te melden via OpenID. Waarschuwing: als deze "
+"instelling wordt gebruikt, kan geen enkele gebruiker met een wachtwoord "
+"aanmelden."
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr "OpenID-instellingen opslaan"
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
msgid "Cannot instantiate OpenID consumer object."
msgstr "Het was niet mogelijk een OpenID-object aan te maken."
-#: openid.php:147
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
msgid "Not a valid OpenID."
msgstr "Geen geldige OpenID."
-#: openid.php:149
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
#, php-format
msgid "OpenID failure: %s"
msgstr "OpenID-fout: %s"
-#: openid.php:176
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
#, php-format
msgid "Could not redirect to server: %s"
msgstr "Het was niet mogelijk door te verwijzen naar de server: %s"
-#: openid.php:194
-#, php-format
-msgid "Could not create OpenID form: %s"
-msgstr "Het was niet mogelijk het OpenID-formulier aan te maken: %s"
-
-#: openid.php:210
-msgid "This form should automatically submit itself. If not, click the submit button to go to your OpenID provider."
-msgstr "Dit formulier hoort zichzelf automatisch op te slaan. Als dat niet gebeurt, klik dan op de knop \"Aanmelden\" om naar uw OpenID-provider te gaan."
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
+msgid ""
+"This form should automatically submit itself. If not, click the submit "
+"button to go to your OpenID provider."
+msgstr ""
+"Dit formulier hoort zichzelf automatisch op te slaan. Als dat niet gebeurt, "
+"klik dan op de knop \"Aanmelden\" om naar uw OpenID-provider te gaan."
-#: openid.php:242
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
msgid "Error saving the profile."
msgstr "Fout bij het opslaan van het profiel."
-#: openid.php:253
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
msgid "Error saving the user."
msgstr "Fout bij het opslaan van de gebruiker."
-#: openid.php:282
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
msgid "Unauthorized URL used for OpenID login."
msgstr "Ongeautoriseerde URL gebruikt voor aanmelden via OpenID"
-#: openid.php:302
-#, fuzzy
+#. TRANS: Title
+#: openid.php:370
msgid "OpenID Login Submission"
msgstr "Aanmelden via OpenID"
-#: openid.php:312
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
msgid "Requesting authorization from your login provider..."
msgstr "Bezig met het vragen van autorisatie van uw aanmeldprovider..."
-#: openid.php:315
-msgid "If you are not redirected to your login provider in a few seconds, try pushing the button below."
-msgstr "Als u binnen een aantal seconden niet wordt doorverwezen naar uw aanmeldprovider, klik dan op de onderstaande knop."
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
+msgid ""
+"If you are not redirected to your login provider in a few seconds, try "
+"pushing the button below."
+msgstr ""
+"Als u binnen een aantal seconden niet wordt doorverwezen naar uw "
+"aanmeldprovider, klik dan op de onderstaande knop."
#. TRANS: Tooltip for main menu option "Login"
-#: OpenIDPlugin.php:204
+#: OpenIDPlugin.php:226
msgctxt "TOOLTIP"
msgid "Login to the site"
msgstr "Aanmelden bij de site"
-#: OpenIDPlugin.php:207
-#, fuzzy
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
msgctxt "MENU"
msgid "Login"
msgstr "Aanmelden"
#. TRANS: Tooltip for main menu option "Help"
-#: OpenIDPlugin.php:212
+#: OpenIDPlugin.php:234
msgctxt "TOOLTIP"
msgid "Help me!"
msgstr "Help me"
-#: OpenIDPlugin.php:215
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
msgctxt "MENU"
msgid "Help"
msgstr "Hulp"
#. TRANS: Tooltip for main menu option "Search"
-#: OpenIDPlugin.php:221
+#: OpenIDPlugin.php:243
msgctxt "TOOLTIP"
msgid "Search for people or text"
msgstr "Zoeken naar mensen of tekst"
-#: OpenIDPlugin.php:224
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
msgctxt "MENU"
msgid "Search"
msgstr "Zoeken"
-#: OpenIDPlugin.php:283
-#: OpenIDPlugin.php:319
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
msgid "OpenID"
msgstr "OpenID"
-#: OpenIDPlugin.php:284
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
msgid "Login or register with OpenID"
msgstr "Aanmelden of registreren met OpenID"
-#: OpenIDPlugin.php:320
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
msgid "Add or remove OpenIDs"
msgstr "OpenID's toevoegen of verwijderen"
-#: OpenIDPlugin.php:595
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr "OpenID-instellingen"
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
-msgstr "Gebruik <a href=\"http://openid.net/\">OpenID</a> om aan te melden bij de site."
+msgstr ""
+"Gebruik <a href=\"http://openid.net/\">OpenID</a> om aan te melden bij de "
+"site."
-#: openidserver.php:106
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
#, php-format
msgid "You are not authorized to use the identity %s."
msgstr "U mag de identiteit %s niet gebruiken."
-#: openidserver.php:126
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
msgid "Just an OpenID provider. Nothing to see here, move along..."
msgstr "Gewoon een OpenID-provider. Niets te zien hier..."
-#: finishopenidlogin.php:34
-#: openidlogin.php:30
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
msgid "Already logged in."
msgstr "U bent al aangemeld."
-#: finishopenidlogin.php:43
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
msgid "You can't register if you don't agree to the license."
msgstr "U kunt niet registreren als u niet akkoord gaat met de licentie."
-#: finishopenidlogin.php:65
-#, 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 "Dit is de eerste keer dat u aameldt bij %s en uw OpenID moet gekoppeld worden aan uw lokale gebruiker. U kunt een nieuwe gebruiker aanmaken of koppelen met uw bestaande gebruiker als u die al hebt."
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr "Er is een onbekende fout opgetreden."
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
#: finishopenidlogin.php:71
+#, 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 ""
+"Dit is de eerste keer dat u aameldt bij %s en uw OpenID moet gekoppeld "
+"worden aan uw lokale gebruiker. U kunt een nieuwe gebruiker aanmaken of "
+"koppelen met uw bestaande gebruiker als u die al hebt."
+
+#. TRANS: Title
+#: finishopenidlogin.php:78
msgid "OpenID Account Setup"
msgstr "Instellingen OpenID"
-#: finishopenidlogin.php:101
+#: finishopenidlogin.php:108
msgid "Create new account"
msgstr "Nieuwe gebruiker aanmaken"
-#: finishopenidlogin.php:103
+#: finishopenidlogin.php:110
msgid "Create a new user with this nickname."
msgstr "Nieuwe gebruiker met deze naam aanmaken."
-#: finishopenidlogin.php:106
+#: finishopenidlogin.php:113
msgid "New nickname"
msgstr "Nieuwe gebruiker"
-#: finishopenidlogin.php:108
+#: finishopenidlogin.php:115
msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
msgstr "1-64 kleine letters of getallen; geen leestekens of spaties"
-#: finishopenidlogin.php:130
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
msgid "Create"
msgstr "Aanmaken"
-#: finishopenidlogin.php:135
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
msgid "Connect existing account"
msgstr "Koppelen met bestaande gebruiker"
-#: finishopenidlogin.php:137
-msgid "If you already have an account, login with your username and password to connect it to your OpenID."
-msgstr "Als u al een gebruiker hebt, meld u dan aan met uw gebruikersnaam en wachtwoord om de gebruiker te koppelen met uw OpenID."
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your OpenID."
+msgstr ""
+"Als u al een gebruiker hebt, meld u dan aan met uw gebruikersnaam en "
+"wachtwoord om de gebruiker te koppelen met uw OpenID."
-#: finishopenidlogin.php:140
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
msgid "Existing nickname"
msgstr "Bestaande gebruiker"
-#: finishopenidlogin.php:143
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
msgid "Password"
msgstr "Wachtwoord"
-#: finishopenidlogin.php:146
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
msgid "Connect"
msgstr "Koppelen"
-#: finishopenidlogin.php:158
-#: finishaddopenid.php:88
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
msgid "OpenID authentication cancelled."
msgstr "De authenticatie via OpenID is afgebroken."
-#: finishopenidlogin.php:162
-#: finishaddopenid.php:92
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
#, php-format
msgid "OpenID authentication failed: %s"
msgstr "De authenticatie via OpenID is mislukt: %s"
-#: finishopenidlogin.php:227
-#: finishopenidlogin.php:236
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr ""
+"Het aanmelden via OpenID is afgebroken. U mag niet aanmelden bij deze site."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
msgid "Registration not allowed."
msgstr "Registreren is niet mogelijk."
-#: finishopenidlogin.php:243
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
msgid "Not a valid invitation code."
msgstr "De uitnodigingscode is niet geldig."
-#: finishopenidlogin.php:253
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
msgid "Nickname must have only lowercase letters and numbers and no spaces."
-msgstr "De gebruikersnaam mag alleen uit kleine letters en cijfers bestaan, en geen spaties bevatten."
+msgstr ""
+"De gebruikersnaam mag alleen uit kleine letters en cijfers bestaan, en geen "
+"spaties bevatten."
-#: finishopenidlogin.php:258
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
msgid "Nickname not allowed."
msgstr "Deze gebruikersnaam is niet toegestaan."
-#: finishopenidlogin.php:263
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
msgid "Nickname already in use. Try another one."
msgstr "Deze gebruikersnaam wordt al gebruikt. Kies een andere."
-#: finishopenidlogin.php:270
-#: finishopenidlogin.php:350
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
msgid "Stored OpenID not found."
msgstr "Het opgeslagen OpenID is niet aangetroffen."
-#: finishopenidlogin.php:279
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
msgid "Creating new account for OpenID that already has a user."
-msgstr "Bezig met het aanmaken van een gebruiker voor OpenID die al een gebruiker heeft."
+msgstr "Poging tot aanmaken van een OpenID-account dat al een gebruiker heeft."
-#: finishopenidlogin.php:339
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
msgid "Invalid username or password."
msgstr "Ongeldige gebruikersnaam of wachtwoord."
-#: finishopenidlogin.php:357
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
msgid "Error connecting user to OpenID."
msgstr "Fout bij het koppelen met OpenID."
-#: openidlogin.php:68
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
#, php-format
-msgid "For security reasons, please re-login with your [OpenID](%%doc.openid%%) before changing your settings."
-msgstr "Om veiligheidsreden moet u opnieuw aanmelden met uw [OpenID](%%doc.openid%%) voordat u uw instellingen kunt wijzigen."
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+"Om veiligheidsreden moet u opnieuw aanmelden met uw [OpenID](%%doc.openid%%) "
+"voordat u uw instellingen kunt wijzigen."
-#: openidlogin.php:72
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
#, php-format
msgid "Login with an [OpenID](%%doc.openid%%) account."
msgstr "Aanmelden met een [OpenID](%%doc.openid%%)-gebruiker."
-#: openidlogin.php:97
-#: finishaddopenid.php:170
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
msgid "OpenID Login"
msgstr "Aanmelden via OpenID"
-#: openidlogin.php:114
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
msgid "OpenID login"
msgstr "Aanmelden via OpenID"
-#: openidlogin.php:121
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr "OpenID-provider"
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr "Voer uw gebruikersnaam in"
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr "U wordt naar de site van de provider omgeleid om aan te melden."
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
msgid "Your OpenID URL"
msgstr "Uw OpenID-URL"
-#: openidlogin.php:124
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
msgid "Remember me"
msgstr "Aanmeldgegevens onthouden"
-#: openidlogin.php:125
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
msgid "Automatically login in the future; not for shared computers!"
-msgstr "In het vervolg automatisch aanmelden. Niet gebruiken op gedeelde computers!"
+msgstr ""
+"In het vervolg automatisch aanmelden. Niet gebruiken op gedeelde computers!"
-#: openidlogin.php:129
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
msgid "Login"
msgstr "Aanmelden"
@@ -358,13 +573,21 @@ msgid "OpenID Identity Verification"
msgstr "OpenID-identiteitscontrole"
#: openidtrust.php:69
-msgid "This page should only be reached during OpenID processing, not directly."
-msgstr "Deze pagina hoort alleen bezocht te worden tijdens het verwerken van een OpenID, en niet direct."
+msgid ""
+"This page should only be reached during OpenID processing, not directly."
+msgstr ""
+"Deze pagina hoort alleen bezocht te worden tijdens het verwerken van een "
+"OpenID, en niet direct."
#: openidtrust.php:117
#, php-format
-msgid "%s has asked to verify your identity. Click Continue to verify your identity and login without creating a new password."
-msgstr "%s heeft gevraagd uw identiteit te bevestigen. Klik op \"Doorgaan\" om uw indentiteit te controleren en aan te melden zonder een wachtwoord te hoeven invoeren."
+msgid ""
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
+msgstr ""
+"%s heeft gevraagd uw identiteit te bevestigen. Klik op \"Doorgaan\" om uw "
+"indentiteit te controleren en aan te melden zonder een wachtwoord te hoeven "
+"invoeren."
#: openidtrust.php:135
msgid "Continue"
@@ -374,22 +597,27 @@ msgstr "Doorgaan"
msgid "Cancel"
msgstr "Annuleren"
-#: finishaddopenid.php:67
+#. TRANS: Client error message
+#: finishaddopenid.php:68
msgid "Not logged in."
msgstr "Niet aangemeld."
-#: finishaddopenid.php:112
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
msgid "You already have this OpenID!"
msgstr "U hebt deze OpenID al!"
-#: finishaddopenid.php:114
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
msgid "Someone else already has this OpenID."
msgstr "Iemand anders gebruikt deze OpenID al."
-#: finishaddopenid.php:126
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
msgid "Error connecting user."
msgstr "Fout bij het verbinden met de gebruiker."
-#: finishaddopenid.php:131
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
msgid "Error updating profile"
msgstr "Fout bij het bijwerken van het profiel."
diff --git a/plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po
new file mode 100644
index 000000000..439c4f54c
--- /dev/null
+++ b/plugins/OpenID/locale/tl/LC_MESSAGES/OpenID.po
@@ -0,0 +1,633 @@
+# Translation of StatusNet - OpenID to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenID\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:06+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-openid\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: openidsettings.php:59 openidadminpanel.php:65
+msgid "OpenID settings"
+msgstr "Mga katakdaan ng OpenID"
+
+#: 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 ""
+"Nagpapahintulot ang [OpenID](%%doc.openid%%) na makalagda ka sa maraming mga "
+"sityong may katulad na akawnt ng tagagamit. Pamahalaan ang iyong kaugnay na "
+"mga OpenID mula rito."
+
+#: openidsettings.php:101
+msgid "Add OpenID"
+msgstr "Idagdag ang OpenID"
+
+#: openidsettings.php:104
+msgid ""
+"If you want to add an OpenID to your account, enter it in the box below and "
+"click \"Add\"."
+msgstr ""
+"Kung nais mong magdagdag ng isang OpenID sa akawnt mo, ipasok ito sa kahong "
+"nasa ibaba at pindutin ang \"Idagdag\"."
+
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
+msgid "OpenID URL"
+msgstr "URL ng OpenID"
+
+#: openidsettings.php:119
+msgid "Add"
+msgstr "Idagdag"
+
+#: openidsettings.php:131
+msgid "Remove OpenID"
+msgstr "Tanggalin ang OpenID"
+
+#: openidsettings.php:136
+msgid ""
+"Removing your only OpenID would make it impossible to log in! If you need to "
+"remove it, add another OpenID first."
+msgstr ""
+"Ang pagtatanggal ng iyong OpenID lamang ay makasasanhi ng imposibleng "
+"paglagda! Kung kailangan mong tanggalin ito, magdagdag ng ibang OpenID muna."
+
+#: openidsettings.php:151
+msgid ""
+"You can remove an OpenID from your account by clicking the button marked "
+"\"Remove\"."
+msgstr ""
+"Matatanggap mo ang isang OpenID mula sa akawnt mo sa pamamagitan ng "
+"pagpindot sa pindutang may tatak na \"Tanggalin\"."
+
+#: openidsettings.php:174 openidsettings.php:215
+msgid "Remove"
+msgstr "Tanggalin"
+
+#: openidsettings.php:188
+msgid "OpenID Trusted Sites"
+msgstr "Pinagkakatiwalaang mga Sityo ng OpenID"
+
+#: openidsettings.php:191
+msgid ""
+"The following sites are allowed to access your identity and log you in. You "
+"can remove a site from this list to deny it access to your OpenID."
+msgstr ""
+"Ang sumusunod na mga sityo ay pinapahintulutang makapunta sa iyong katauhan "
+"at makalagda kang papasok. Matatanggal mo ang isang sityo mula sa talaang "
+"ito upang tanggihan ang pagpunta nito sa iyong OpenID."
+
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
+msgid "There was a problem with your session token. Try again, please."
+msgstr "May suliranin sa iyong token na pangsesyon. Paki subukan uli."
+
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr "Hindi makapagdaragdag ng bagong mga tagapagbigay."
+
+#: openidsettings.php:253
+msgid "Something weird happened."
+msgstr "May nangyaring kakaiba."
+
+#: openidsettings.php:277
+msgid "No such OpenID trustroot."
+msgstr "Walng ganyang pinagkakatiwalaang ugat ng OpenID."
+
+#: openidsettings.php:281
+msgid "Trustroots removed"
+msgstr "Tinanggal ang mga pinagkakatiwalaang ugat"
+
+#: openidsettings.php:304
+msgid "No such OpenID."
+msgstr "Walang ganyang OpenID."
+
+#: openidsettings.php:309
+msgid "That OpenID does not belong to you."
+msgstr "Hindi mo pag-aari ang OpenID na iyan."
+
+#: openidsettings.php:313
+msgid "OpenID removed."
+msgstr "Tinanggal ang OpenID."
+
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr "OpenID"
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr ""
+"Hindi tanggap na URL ng tagapagbigay. Ang pinakamataas na haba ay 255 mga "
+"panitik."
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr ""
+"Hindi tanggap ng pangalan ng pangkat. Pinakamataas na haba ay 255 mga "
+"panitik."
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr "Pinagkakatiwalaang tagapagbigay"
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+"Bilang likas na pagtatakda, ang mga tagagamit ay hindi pinapahintulutang "
+"magpatunay sa pamamagitan ng anumang tagapagbigay ng OpenID. Kung ginagamit "
+"mo ang sarili mong palingkuran ng OpenID para sa pinagsasaluhang paglagdang "
+"papasok, malilimitahan mo ang pagpunta sa iyong mga tagagamit lamang dito."
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr "URL ng tagapagbigay"
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+"Ang lahat ng mga paglalagda sa OpenID ay ipapadala sa URL na ito; hindi "
+"maaaring gamitin ang ibang mga tagapagbigay."
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr "Ikabit ang isang pangalan ng tagagamit sa punong URL"
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+"Ang pormularyo ng paglagda ay magpapakita ng batayang URL at gagawa ng isang "
+"pangalan ng tagagamit na idaragdag sa huli. Gamitin kapag ang URL ng "
+"tagapagbigay ng OpenID ay ang dapat na maging pahina ng balangkas para sa "
+"indibiduwal na mga tagagamit."
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr "Kailangang pangkat"
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+"Payagan lamang ang mga paglagda mula sa mga tagagamit na nasa loob ng "
+"ibinigay na pangkat (karugtong ng Launchpad)."
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr "Mga pagpipilian"
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr "Paganahin ang gawi na OpenID lamang"
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+"Igiit sa lahat ng mga tagagamit na lumagda sa pamamagitan ng OpenID. "
+"BABALA: hindi pinagagana ang pagpapatunay ng hudyat para sa lahat ng mga "
+"tagagamit!"
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr "Sagipin ang mga katakdaan ng OpenID"
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
+msgid "Cannot instantiate OpenID consumer object."
+msgstr "Hindi mapanimulan ang bagay na pangtagapagtangkilik ng OpenID."
+
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
+msgid "Not a valid OpenID."
+msgstr "Hindi isang tanggap na OpenID."
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
+#, php-format
+msgid "OpenID failure: %s"
+msgstr "Kabiguan ng OpenID: %s"
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
+#, php-format
+msgid "Could not redirect to server: %s"
+msgstr "Hindi mabago upang papuntahin sa tagapaghain: %s"
+
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
+msgid ""
+"This form should automatically submit itself. If not, click the submit "
+"button to go to your OpenID provider."
+msgstr ""
+"Ang pormularyong ito ay dapat na kusang magpapasa ng kanyang sarili. Kung "
+"hindi, pindutin ang pindutang pampasa upang pumunta sa iyong tagapagbigay ng "
+"OpenID."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
+msgid "Error saving the profile."
+msgstr "Kamalian sa pagsagip ng balangkas."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
+msgid "Error saving the user."
+msgstr "Kamalian sa pagsagip ng tagagamit."
+
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
+msgid "Unauthorized URL used for OpenID login."
+msgstr "Hindi pinahintulutang URL na ginamit para sa paglagda ng OpenID."
+
+#. TRANS: Title
+#: openid.php:370
+msgid "OpenID Login Submission"
+msgstr "Pagpapasa ng Paglagda ng OpenID"
+
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
+msgid "Requesting authorization from your login provider..."
+msgstr ""
+"Humihiling ng pahintulot mula sa iyong tagapagbigay ng paglagdang papasok..."
+
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
+msgid ""
+"If you are not redirected to your login provider in a few seconds, try "
+"pushing the button below."
+msgstr ""
+"Kapag hindi ka itinurong papunta sa iyong tagapagbigay ng paglagda sa loob "
+"ng ilang mga segundo, subukang pindutin ang pindutang nasa ibaba."
+
+#. TRANS: Tooltip for main menu option "Login"
+#: OpenIDPlugin.php:226
+msgctxt "TOOLTIP"
+msgid "Login to the site"
+msgstr "Lumagda sa sityo"
+
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
+msgctxt "MENU"
+msgid "Login"
+msgstr "Lumagda"
+
+#. TRANS: Tooltip for main menu option "Help"
+#: OpenIDPlugin.php:234
+msgctxt "TOOLTIP"
+msgid "Help me!"
+msgstr "Saklolohan ako!"
+
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
+msgctxt "MENU"
+msgid "Help"
+msgstr "Saklolo"
+
+#. TRANS: Tooltip for main menu option "Search"
+#: OpenIDPlugin.php:243
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr "Maghanap ng mga tao o teksto"
+
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
+msgctxt "MENU"
+msgid "Search"
+msgstr "Maghanap"
+
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
+msgid "OpenID"
+msgstr "OpenID"
+
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
+msgid "Login or register with OpenID"
+msgstr "Lumagda o magpatala na may OpenID"
+
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
+msgid "Add or remove OpenIDs"
+msgstr "Idagdag o alisin ang mga OpenID"
+
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr "Pagkakaayos ng OpenID"
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
+msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
+msgstr ""
+"Gamitin ang <a href=\"http://openid.net/\">OpenID</a> upang lumagda sa sityo."
+
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
+#, php-format
+msgid "You are not authorized to use the identity %s."
+msgstr "Wala kang pahintulot na gamitin ang katauhang %s."
+
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
+msgid "Just an OpenID provider. Nothing to see here, move along..."
+msgstr ""
+"Isa lamang na tagapagbigay ng OpenID. Walang makikita rito, magpatuloy..."
+
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
+msgid "Already logged in."
+msgstr "Nakalagda na."
+
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
+msgid "You can't register if you don't agree to the license."
+msgstr "Hindi ka makakapagpatala kung hindi ka sasang-ayon sa lisensiya."
+
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr "Naganap ang isang hindi nalalamang kamalian."
+
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
+#: finishopenidlogin.php:71
+#, 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 ""
+"Ito ang iyong unang pagkakataon ng paglagda sa %s kaya't kailangan naming "
+"umugnay sa iyong OpenID papunta sa isang katutubong akawnt. Maaari kang "
+"lumikha ng isang bagong akawnt, o umugnay sa pamamagitan ng umiiral mong "
+"akawnt, kung mayroon ka."
+
+#. TRANS: Title
+#: finishopenidlogin.php:78
+msgid "OpenID Account Setup"
+msgstr "Pagkakaayos ng Akawnt na OpenID"
+
+#: finishopenidlogin.php:108
+msgid "Create new account"
+msgstr "Likhain ang bagong akawnt"
+
+#: finishopenidlogin.php:110
+msgid "Create a new user with this nickname."
+msgstr "Lumikha ng isang bagong tagagamit na may ganitong palayaw."
+
+#: finishopenidlogin.php:113
+msgid "New nickname"
+msgstr "Bagong palayaw"
+
+#: finishopenidlogin.php:115
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"1 hanggang 64 maliliit na mga titik o mga bilang, walang bantas o mga patlang"
+
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Likhain"
+
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
+msgid "Connect existing account"
+msgstr "Iugnay ang umiiral na akawnt"
+
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your OpenID."
+msgstr ""
+"Kung mayroon ka nang akawnt, lumagda sa pamamagitan ng iyong pangalan ng "
+"tagagamit at hudyat upang iugnay ito sa iyong OpenID."
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
+msgid "Existing nickname"
+msgstr "Umiiral na palayaw"
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
+msgid "Password"
+msgstr "Hudyat"
+
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Umugnay"
+
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
+msgid "OpenID authentication cancelled."
+msgstr "Kinansela ang pagpapatunay ng OpenID."
+
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
+#, php-format
+msgid "OpenID authentication failed: %s"
+msgstr "Nabigo ang pagpapatunay ng OpenID: %s"
+
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr ""
+"Hindi itinuloy ang pagpapatunay ng OpenID: hindi ka pinahintulutang lumagda "
+"sa sityong ito."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
+msgid "Registration not allowed."
+msgstr "Hindi pinayagan ang pagpapatala."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
+msgid "Not a valid invitation code."
+msgstr "Hindi isang tanggap na kodigo ng paanyaya."
+
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Ang palayaw ay dapat lamang na may maliliit ng mga titik at mga bilang at "
+"walang mga patlang."
+
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
+msgid "Nickname not allowed."
+msgstr "Hindi pinayagan ang palayaw."
+
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
+msgid "Nickname already in use. Try another one."
+msgstr "Ginagamit na ang palayaw. Sumubok ng iba."
+
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
+msgid "Stored OpenID not found."
+msgstr "Hindi natagpuan ang nakalagak na OpenID."
+
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
+msgid "Creating new account for OpenID that already has a user."
+msgstr ""
+"Nililikha ang bagong akawnt para sa OpenID na mayroon nang isang tagagamit."
+
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
+msgid "Invalid username or password."
+msgstr "Hindi tanggap na pangalan ng tagagamit o hudyat."
+
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
+msgid "Error connecting user to OpenID."
+msgstr "May kamalian sa pag-ugnay ng tagagamit sa OpenID."
+
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
+#, php-format
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+"Para sa dahilang pangkaligtasan, mangyaring muling lumagda sa pamamagitan ng "
+"iyong [OpenID](%%doc.openid%%) bago baguhin ang iyong mga pagtatakda."
+
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
+#, php-format
+msgid "Login with an [OpenID](%%doc.openid%%) account."
+msgstr "Lumagda sa pamamagitan ng isang akawnt ng [OpenID](%%doc.openid%%)."
+
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
+msgid "OpenID Login"
+msgstr "Panglagdang OpenID"
+
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
+msgid "OpenID login"
+msgstr "Panglagdang OpenID"
+
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr "Tagapagbigay ng OpenID"
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr "Ipasok ang iyong pangalan ng tagagamit."
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr "Ipapadala ka sa sityo ng tagapagbigay para sa pagpapatunay."
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
+msgid "Your OpenID URL"
+msgstr "Ang iyong URL ng OpenID"
+
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
+msgid "Remember me"
+msgstr "Tandaan ako"
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
+msgid "Automatically login in the future; not for shared computers!"
+msgstr ""
+"Kusang lumagda sa hinaharap; hindi para sa pinagsasaluhang mga kompyuter!"
+
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Lumagda"
+
+#: openidtrust.php:51
+msgid "OpenID Identity Verification"
+msgstr "Pagpapatunay sa Katauhan ng OpenID"
+
+#: openidtrust.php:69
+msgid ""
+"This page should only be reached during OpenID processing, not directly."
+msgstr ""
+"Ang pahinang ito ay dapat lamang na maabot habang pinoproseso ang OpenID, "
+"hindi tuwiran."
+
+#: openidtrust.php:117
+#, php-format
+msgid ""
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
+msgstr ""
+"Hiniling ng/ni %s na patunayan ang iyong katauhan. Pindutin ang Magpatuloy "
+"upang tiyakin ang iyong katauhan at lumagdang hindi lumilikha ng isang "
+"bagong hudyat."
+
+#: openidtrust.php:135
+msgid "Continue"
+msgstr "Magpatuloy"
+
+#: openidtrust.php:136
+msgid "Cancel"
+msgstr "Huwag ituloy"
+
+#. TRANS: Client error message
+#: finishaddopenid.php:68
+msgid "Not logged in."
+msgstr "Hindi nakalagda."
+
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
+msgid "You already have this OpenID!"
+msgstr "Mayroon ka na ng ganitong OpenID!"
+
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
+msgid "Someone else already has this OpenID."
+msgstr "Mayroon nang ibang tao na may ganitong OpenID."
+
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
+msgid "Error connecting user."
+msgstr "Kamalian sa pag-ugnay ng tagagamit."
+
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
+msgid "Error updating profile"
+msgstr "Kamalian sa pagsasapanahon ng balangkas"
diff --git a/plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po b/plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po
new file mode 100644
index 000000000..f5550f5de
--- /dev/null
+++ b/plugins/OpenID/locale/uk/LC_MESSAGES/OpenID.po
@@ -0,0 +1,622 @@
+# Translation of StatusNet - OpenID to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - OpenID\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:06+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-openid\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: openidsettings.php:59 openidadminpanel.php:65
+msgid "OpenID settings"
+msgstr "Налаштування OpenID"
+
+#: 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 ""
+"[OpenID](%%doc.openid%%) дозволяє входити до багатьох веб-сторінок "
+"використовуючи той самий лоґін і пароль. Тут можна впорядкувати ваші OpenID-"
+"акаунти."
+
+#: openidsettings.php:101
+msgid "Add OpenID"
+msgstr "Додати OpenID"
+
+#: openidsettings.php:104
+msgid ""
+"If you want to add an OpenID to your account, enter it in the box below and "
+"click \"Add\"."
+msgstr ""
+"Якщо ви бажаєте додати OpenID до вашого акаунту, введіть його у полі нижче і "
+"натисніть «Додати»."
+
+#. TRANS: OpenID plugin logon form field label.
+#: openidsettings.php:109 openidlogin.php:159
+msgid "OpenID URL"
+msgstr "URL-адреса OpenID"
+
+#: openidsettings.php:119
+msgid "Add"
+msgstr "Додати"
+
+#: openidsettings.php:131
+msgid "Remove OpenID"
+msgstr "Видалити OpenID"
+
+#: openidsettings.php:136
+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, то спершу "
+"додайте інший."
+
+#: openidsettings.php:151
+msgid ""
+"You can remove an OpenID from your account by clicking the button marked "
+"\"Remove\"."
+msgstr "Ви можете видалити ваш OpenID просто натиснувши кнопку «Видалити»."
+
+#: openidsettings.php:174 openidsettings.php:215
+msgid "Remove"
+msgstr "Видалити"
+
+#: openidsettings.php:188
+msgid "OpenID Trusted Sites"
+msgstr "Довірені сайти OpenID"
+
+#: openidsettings.php:191
+msgid ""
+"The following sites are allowed to access your identity and log you in. You "
+"can remove a site from this list to deny it access to your OpenID."
+msgstr ""
+"У списку наведено OpenID-адреси, які ідентифіковані як ваші і їм дозволено "
+"вхід до сайту. Ви можете вилучити якийсь з них, тим самим скасувавши дозвіл "
+"на вхід."
+
+#. TRANS: Message given when there is a problem with the user's session token.
+#: openidsettings.php:233 finishopenidlogin.php:40 openidlogin.php:49
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Виникли певні проблеми з токеном поточної сесії. Спробуйте знов, будь ласка."
+
+#: openidsettings.php:240
+msgid "Can't add new providers."
+msgstr "Не вдається додати нового OpenID-провайдера."
+
+#: openidsettings.php:253
+msgid "Something weird happened."
+msgstr "Сталося щось незрозуміле."
+
+#: openidsettings.php:277
+msgid "No such OpenID trustroot."
+msgstr "Серед довірених такого OpenID немає."
+
+#: openidsettings.php:281
+msgid "Trustroots removed"
+msgstr "Довірені OpenID видалено"
+
+#: openidsettings.php:304
+msgid "No such OpenID."
+msgstr "Немає такого OpenID."
+
+#: openidsettings.php:309
+msgid "That OpenID does not belong to you."
+msgstr "Даний OpenID належить не вам."
+
+#: openidsettings.php:313
+msgid "OpenID removed."
+msgstr "OpenID видалено."
+
+#: openidadminpanel.php:54 OpenIDPlugin.php:628
+msgid "OpenID"
+msgstr "OpenID"
+
+#: openidadminpanel.php:147
+msgid "Invalid provider URL. Max length is 255 characters."
+msgstr "Невірний URL OpenID-провайдера. Максимальна довжина — 255 символів."
+
+#: openidadminpanel.php:153
+msgid "Invalid team name. Max length is 255 characters."
+msgstr "Невірна назва спільноти. Максимальна довжина — 255 символів."
+
+#: openidadminpanel.php:210
+msgid "Trusted provider"
+msgstr "Довірений OpenID-провайдер"
+
+#: openidadminpanel.php:212
+msgid ""
+"By default, users are allowed to authenticate with any OpenID provider. If "
+"you are using your own OpenID service for shared sign-in, you can restrict "
+"access to only your own users here."
+msgstr ""
+"За замовчуванням, відвідувачам дозволено користуватись послугами будь-якого "
+"OpenID-провайдера. Якщо ви користуєтесь своїм власним OpenID для загального "
+"входу на веб-сторінки, то ви вільні обмежити доступ лише колом ваших власних "
+"користувачів."
+
+#: openidadminpanel.php:220
+msgid "Provider URL"
+msgstr "URL провайдера"
+
+#: openidadminpanel.php:221
+msgid ""
+"All OpenID logins will be sent to this URL; other providers may not be used."
+msgstr ""
+"Всі сесії входу через OpenID будуть спрямовуватись на цю URL-адресу; інших "
+"OpenID-провайдерів використовувати не можна."
+
+#: openidadminpanel.php:228
+msgid "Append a username to base URL"
+msgstr "Додати ім’я користувача до базового URL"
+
+#: openidadminpanel.php:230
+msgid ""
+"Login form will show the base URL and prompt for a username to add at the "
+"end. Use when OpenID provider URL should be the profile page for individual "
+"users."
+msgstr ""
+"У формі входу на сайт буде представлено базовий URL і запит щодо імені "
+"користувача у кінці. В такому випадку, URL OpenID-провайдера — це сторінка "
+"профілю окремих користувачів."
+
+#: openidadminpanel.php:238
+msgid "Required team"
+msgstr "Необхідна група"
+
+#: openidadminpanel.php:239
+msgid "Only allow logins from users in the given team (Launchpad extension)."
+msgstr ""
+"Дозволяється вхід лише користувачам у вказаній групі (розширення для "
+"Launchpad)."
+
+#: openidadminpanel.php:251
+msgid "Options"
+msgstr "Параметри"
+
+#: openidadminpanel.php:258
+msgid "Enable OpenID-only mode"
+msgstr "Увімкнути режим входу лише за OpenID"
+
+#: openidadminpanel.php:260
+msgid ""
+"Require all users to login via OpenID. WARNING: disables password "
+"authentication for all users!"
+msgstr ""
+"Вимагає, щоб всі користувачі входили лише за наявності OpenID. УВАГА: ця "
+"опція вимикає автентифікацію за паролем для всіх користувачів."
+
+#: openidadminpanel.php:278
+msgid "Save OpenID settings"
+msgstr "Зберегти налаштування OpenID"
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:138
+msgid "Cannot instantiate OpenID consumer object."
+msgstr "Не можу створити примірник об’єкта споживача OpenID."
+
+#. TRANS: OpenID plugin message. Given when an OpenID is not valid.
+#: openid.php:150
+msgid "Not a valid OpenID."
+msgstr "Це недійсний OpenID."
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request fails.
+#. TRANS: %s is the failure message.
+#: openid.php:155
+#, php-format
+msgid "OpenID failure: %s"
+msgstr "Неуспіх OpenID: %s"
+
+#. TRANS: OpenID plugin server error. Given when the OpenID authentication request cannot be redirected.
+#. TRANS: %s is the failure message.
+#: openid.php:205
+#, php-format
+msgid "Could not redirect to server: %s"
+msgstr "Не можу переадресувати на сервер: %s"
+
+#. TRANS: OpenID plugin user instructions.
+#: openid.php:244
+msgid ""
+"This form should automatically submit itself. If not, click the submit "
+"button to go to your OpenID provider."
+msgstr ""
+"Ця форма має автоматичне себе представити. Якщо ні, натисніть відповідну "
+"кнопку, щоб перейти до сторінки вашого OpenID-провайдера."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:280
+msgid "Error saving the profile."
+msgstr "Помилка при збереженні профілю."
+
+#. TRANS: OpenID plugin server error.
+#: openid.php:292
+msgid "Error saving the user."
+msgstr "Помилка при збереженні користувача."
+
+#. TRANS: OpenID plugin client exception (403).
+#: openid.php:322
+msgid "Unauthorized URL used for OpenID login."
+msgstr "Для входу за OpenID використовується неавторизований URL."
+
+#. TRANS: Title
+#: openid.php:370
+msgid "OpenID Login Submission"
+msgstr "Представлення входу за OpenID"
+
+#. TRANS: OpenID plugin message used while requesting authorization user's OpenID login provider.
+#: openid.php:381
+msgid "Requesting authorization from your login provider..."
+msgstr "Запитуємо дозвіл у вашого OpenID-провайдера..."
+
+#. TRANS: OpenID plugin message. User instruction while requesting authorization user's OpenID login provider.
+#: openid.php:385
+msgid ""
+"If you are not redirected to your login provider in a few seconds, try "
+"pushing the button below."
+msgstr ""
+"Якщо за кілька секунд вас не буде перенаправлено на сторінку входу вашого "
+"OpenID-провайдера, просто натисніть кнопку внизу."
+
+#. TRANS: Tooltip for main menu option "Login"
+#: OpenIDPlugin.php:226
+msgctxt "TOOLTIP"
+msgid "Login to the site"
+msgstr "Вхід на сайт"
+
+#. TRANS: Main menu option when not logged in to log in
+#: OpenIDPlugin.php:229
+msgctxt "MENU"
+msgid "Login"
+msgstr "Увійти"
+
+#. TRANS: Tooltip for main menu option "Help"
+#: OpenIDPlugin.php:234
+msgctxt "TOOLTIP"
+msgid "Help me!"
+msgstr "Допоможіть!"
+
+#. TRANS: Main menu option for help on the StatusNet site
+#: OpenIDPlugin.php:237
+msgctxt "MENU"
+msgid "Help"
+msgstr "Довідка"
+
+#. TRANS: Tooltip for main menu option "Search"
+#: OpenIDPlugin.php:243
+msgctxt "TOOLTIP"
+msgid "Search for people or text"
+msgstr "Пошук людей або текстів"
+
+#. TRANS: Main menu option when logged in or when the StatusNet instance is not private
+#: OpenIDPlugin.php:246
+msgctxt "MENU"
+msgid "Search"
+msgstr "Пошук"
+
+#. TRANS: OpenID plugin menu item on site logon page.
+#. TRANS: OpenID plugin menu item on user settings page.
+#: OpenIDPlugin.php:306 OpenIDPlugin.php:344
+msgctxt "MENU"
+msgid "OpenID"
+msgstr "OpenID"
+
+#. TRANS: OpenID plugin tooltip for logon menu item.
+#: OpenIDPlugin.php:308
+msgid "Login or register with OpenID"
+msgstr "Увійти або зареєструватися за допомогою OpenID"
+
+#. TRANS: OpenID plugin tooltip for user settings menu item.
+#: OpenIDPlugin.php:346
+msgid "Add or remove OpenIDs"
+msgstr "Додати або видалити OpenID"
+
+#: OpenIDPlugin.php:629
+msgid "OpenID configuration"
+msgstr "Конфігурація OpenID"
+
+#. TRANS: OpenID plugin description.
+#: OpenIDPlugin.php:654
+msgid "Use <a href=\"http://openid.net/\">OpenID</a> to login to the site."
+msgstr ""
+"Використання <a href=\"http://openid.net/\">OpenID</a> для входу на сайт."
+
+#. TRANS: OpenID plugin client error given trying to add an unauthorised OpenID to a user (403).
+#: openidserver.php:118
+#, php-format
+msgid "You are not authorized to use the identity %s."
+msgstr ""
+"Ви не авторизовані, для того щоб мати можливість пройти перевірку "
+"ідентичності на %s."
+
+#. TRANS: OpenID plugin client error given when not getting a response for a given OpenID provider (500).
+#: openidserver.php:139
+msgid "Just an OpenID provider. Nothing to see here, move along..."
+msgstr "Просто OpenID-провайдер. Нічого належного чомусь не видно..."
+
+#. TRANS: Client error message trying to log on with OpenID while already logged on.
+#: finishopenidlogin.php:35 openidlogin.php:31
+msgid "Already logged in."
+msgstr "Тепер ви увійшли."
+
+#. TRANS: Message given if user does not agree with the site's license.
+#: finishopenidlogin.php:46
+msgid "You can't register if you don't agree to the license."
+msgstr "Ви не зможете зареєструватися, якщо не погодитесь з умовами ліцензії."
+
+#. TRANS: Messag given on an unknown error.
+#: finishopenidlogin.php:55
+msgid "An unknown error has occured."
+msgstr "Виникла якась незрозуміла помилка."
+
+#. TRANS: Instructions given after a first successful logon using OpenID.
+#. TRANS: %s is the site name.
+#: finishopenidlogin.php:71
+#, 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 ""
+"Ви вперше увійшли до сайту %s, отже ми мусимо приєднати ваш OpenID до "
+"акаунту на даному сайті. Ви маєте можливість створити новий акаунт або "
+"використати такий, що вже існує."
+
+#. TRANS: Title
+#: finishopenidlogin.php:78
+msgid "OpenID Account Setup"
+msgstr "Створення акаунту OpenID"
+
+#: finishopenidlogin.php:108
+msgid "Create new account"
+msgstr "Створити новий акаунт"
+
+#: finishopenidlogin.php:110
+msgid "Create a new user with this nickname."
+msgstr "Створити нового користувача з цим нікнеймом."
+
+#: finishopenidlogin.php:113
+msgid "New nickname"
+msgstr "Новий нікнейм"
+
+#: finishopenidlogin.php:115
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"1-64 літери нижнього регістру і цифри, ніякої пунктуації або інтервалів"
+
+#. TRANS: Button label in form in which to create a new user on the site for an OpenID.
+#: finishopenidlogin.php:140
+msgctxt "BUTTON"
+msgid "Create"
+msgstr "Створити"
+
+#. TRANS: Used as form legend for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:146
+msgid "Connect existing account"
+msgstr "Приєднати акаунт, який вже існує"
+
+#. TRANS: User instructions for form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:149
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your OpenID."
+msgstr ""
+"Якщо ви вже маєте акаунт, увійдіть з вашим ім’ям користувача та паролем, аби "
+"приєднати їх до вашого OpenID."
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:153
+msgid "Existing nickname"
+msgstr "Нікнейм, який вже існує"
+
+#. TRANS: Field label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:157
+msgid "Password"
+msgstr "Пароль"
+
+#. TRANS: Button label in form in which to connect an OpenID to an existing user on the site.
+#: finishopenidlogin.php:161
+msgctxt "BUTTON"
+msgid "Connect"
+msgstr "Під’єднати"
+
+#. TRANS: Status message in case the response from the OpenID provider is that the logon attempt was cancelled.
+#: finishopenidlogin.php:174 finishaddopenid.php:90
+msgid "OpenID authentication cancelled."
+msgstr "Автентифікацію за OpenID скасовано."
+
+#. TRANS: OpenID authentication failed; display the error message. %s is the error message.
+#. TRANS: OpenID authentication failed; display the error message.
+#. TRANS: %s is the error message.
+#: finishopenidlogin.php:178 finishaddopenid.php:95
+#, php-format
+msgid "OpenID authentication failed: %s"
+msgstr "Автентифікуватись за OpenID не вдалося: %s"
+
+#: finishopenidlogin.php:198 finishaddopenid.php:111
+msgid ""
+"OpenID authentication aborted: you are not allowed to login to this site."
+msgstr "Автентифікацію за OpenID перервано: ви не можете увійти на цей сайт."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site.
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and none was provided.
+#: finishopenidlogin.php:250 finishopenidlogin.php:260
+msgid "Registration not allowed."
+msgstr "Реєстрацію не дозволено."
+
+#. TRANS: OpenID plugin message. No new user registration is allowed on the site without an invitation code, and the one provided was not valid.
+#: finishopenidlogin.php:268
+msgid "Not a valid invitation code."
+msgstr "Це не дійсний код запрошення."
+
+#. TRANS: OpenID plugin message. The entered new user name did not conform to the requirements.
+#: finishopenidlogin.php:279
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Ім’я користувача повинно складатись з літер нижнього регістру і цифр, ніяких "
+"інтервалів."
+
+#. TRANS: OpenID plugin message. The entered new user name is blacklisted.
+#: finishopenidlogin.php:285
+msgid "Nickname not allowed."
+msgstr "Нікнейм не допускається."
+
+#. TRANS: OpenID plugin message. The entered new user name is already used.
+#: finishopenidlogin.php:291
+msgid "Nickname already in use. Try another one."
+msgstr "Цей нікнейм вже використовується. Спробуйте інший."
+
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be retrieved.
+#. TRANS: OpenID plugin server error. A stored OpenID cannot be found.
+#: finishopenidlogin.php:299 finishopenidlogin.php:386
+msgid "Stored OpenID not found."
+msgstr "Збережений OpenID не знайдено."
+
+#. TRANS: OpenID plugin server error.
+#: finishopenidlogin.php:309
+msgid "Creating new account for OpenID that already has a user."
+msgstr "Створення нового акаунту для OpenID користувачем, який вже існує."
+
+#. TRANS: OpenID plugin message.
+#: finishopenidlogin.php:374
+msgid "Invalid username or password."
+msgstr "Невірне ім’я або пароль."
+
+#. TRANS: OpenID plugin server error. The user or user profile could not be saved.
+#: finishopenidlogin.php:394
+msgid "Error connecting user to OpenID."
+msgstr "Помилка при підключенні користувача до OpenID."
+
+#. TRANS: OpenID plugin message. Rememberme logins have to reauthenticate before changing any profile settings.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:80
+#, php-format
+msgid ""
+"For security reasons, please re-login with your [OpenID](%%doc.openid%%) "
+"before changing your settings."
+msgstr ""
+"З міркувань безпеки, будь ласка, увійдіть знов з [OpenID](%%doc.openid%%), "
+"перед тим як змінювати налаштування."
+
+#. TRANS: OpenID plugin message.
+#. TRANS: "OpenID" is the display text for a link with URL "(%%doc.openid%%)".
+#: openidlogin.php:86
+#, php-format
+msgid "Login with an [OpenID](%%doc.openid%%) account."
+msgstr "Увійти з [OpenID](%%doc.openid%%)."
+
+#. TRANS: OpenID plugin message. Title.
+#. TRANS: Title after getting the status of the OpenID authorisation request.
+#: openidlogin.php:120 finishaddopenid.php:187
+msgid "OpenID Login"
+msgstr "Вхід з OpenID"
+
+#. TRANS: OpenID plugin logon form legend.
+#: openidlogin.php:138
+msgid "OpenID login"
+msgstr "Вхід з OpenID"
+
+#: openidlogin.php:146
+msgid "OpenID provider"
+msgstr "OpenID-провайдер"
+
+#: openidlogin.php:154
+msgid "Enter your username."
+msgstr "Введіть ім’я користувача."
+
+#: openidlogin.php:155
+msgid "You will be sent to the provider's site for authentication."
+msgstr "Вас буде перенаправлено на веб-сторінку провайдера для автентифікації."
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:162
+msgid "Your OpenID URL"
+msgstr "URL вашого OpenID"
+
+#. TRANS: OpenID plugin logon form checkbox label for setting to put the OpenID information in a cookie.
+#: openidlogin.php:167
+msgid "Remember me"
+msgstr "Пам’ятати мене"
+
+#. TRANS: OpenID plugin logon form field instructions.
+#: openidlogin.php:169
+msgid "Automatically login in the future; not for shared computers!"
+msgstr ""
+"Автоматично входити у майбутньому; не для комп’ютерів загального "
+"користування!"
+
+#. TRANS: OpenID plugin logon form button label to start logon with the data provided in the logon form.
+#: openidlogin.php:174
+msgctxt "BUTTON"
+msgid "Login"
+msgstr "Увійти"
+
+#: openidtrust.php:51
+msgid "OpenID Identity Verification"
+msgstr "Перевірка ідентичності OpenID"
+
+#: openidtrust.php:69
+msgid ""
+"This page should only be reached during OpenID processing, not directly."
+msgstr ""
+"Ви потрапляєте на цю сторінку лише при обробці запитів OpenID, не напряму."
+
+#: openidtrust.php:117
+#, php-format
+msgid ""
+"%s has asked to verify your identity. Click Continue to verify your "
+"identity and login without creating a new password."
+msgstr ""
+"%s запрошує вас пройти перевірку на ідентичність. Натисніть «Продовжити», щоб "
+"перевірити вашу особу та увійти, не створюючи нового паролю."
+
+#: openidtrust.php:135
+msgid "Continue"
+msgstr "Продовжити"
+
+#: openidtrust.php:136
+msgid "Cancel"
+msgstr "Скасувати"
+
+#. TRANS: Client error message
+#: finishaddopenid.php:68
+msgid "Not logged in."
+msgstr "Ви не увійшли до системи."
+
+#. TRANS: message in case a user tries to add an OpenID that is already connected to them.
+#: finishaddopenid.php:122
+msgid "You already have this OpenID!"
+msgstr "У вас вже є цей OpenID!"
+
+#. TRANS: message in case a user tries to add an OpenID that is already used by another user.
+#: finishaddopenid.php:125
+msgid "Someone else already has this OpenID."
+msgstr "Хтось інший вже приєднав цей OpenID до свого акаунту."
+
+#. TRANS: message in case the OpenID object cannot be connected to the user.
+#: finishaddopenid.php:138
+msgid "Error connecting user."
+msgstr "Помилка при підключенні користувача."
+
+#. TRANS: message in case the user or the user profile cannot be saved in StatusNet.
+#: finishaddopenid.php:145
+msgid "Error updating profile"
+msgstr "Помилка при оновленні профілю"
diff --git a/plugins/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php
index b353d7255..777fd9c5d 100644
--- a/plugins/PiwikAnalyticsPlugin.php
+++ b/plugins/PiwikAnalytics/PiwikAnalyticsPlugin.php
@@ -49,7 +49,6 @@ if (!defined('STATUSNET')) {
* analytics setup - for example '8'.
*
*/
-
class PiwikAnalyticsPlugin extends Plugin
{
/** the base of your Piwik installation */
@@ -63,7 +62,6 @@ class PiwikAnalyticsPlugin extends Plugin
* @param string $root Piwik root URL
* @param string $id Piwik ID of this app
*/
-
function __construct($root=null, $id=null)
{
$this->piwikroot = $root;
@@ -78,7 +76,6 @@ class PiwikAnalyticsPlugin extends Plugin
*
* @return boolean ignored
*/
-
function onEndShowScripts($action)
{
$piwikCode1 = <<<ENDOFPIWIK
@@ -105,8 +102,7 @@ ENDOFPIWIK;
'author' => 'Tobias Diekershoff, Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:Piwik',
'rawdescription' =>
- _m('Use <a href="http://piwik.org/">Piwik</a> Open Source Web analytics software.'));
+ _m('Use <a href="http://piwik.org/">Piwik</a> Open Source web analytics software.'));
return true;
}
-
}
diff --git a/plugins/PiwikAnalytics/locale/PiwikAnalytics.pot b/plugins/PiwikAnalytics/locale/PiwikAnalytics.pot
new file mode 100644
index 000000000..f9491cc4b
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/PiwikAnalytics.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
diff --git a/plugins/PiwikAnalytics/locale/es/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/es/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..a809ea1b6
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/es/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - PiwikAnalytics to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"Utiliza el software de análisis de sitios Web de fuente abierta <a href="
+"\"http://piwik.org/\">Piwik</a>."
diff --git a/plugins/PiwikAnalytics/locale/fr/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/fr/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..99178db73
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/fr/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - PiwikAnalytics to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"Utiliser le logiciel d’analyse Web en source ouvert <a href=\"http://piwik."
+"org/\">Piwik</a>."
diff --git a/plugins/PiwikAnalytics/locale/ia/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/ia/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..99867ca4a
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/ia/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - PiwikAnalytics to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"Usar le software open source de analyse web <a href=\"http://piwik.org/"
+"\">Piwik</a>."
diff --git a/plugins/PiwikAnalytics/locale/mk/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/mk/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..b7ef8467d
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/mk/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - PiwikAnalytics to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"Користи <a href=\"http://piwik.org/\">Piwik</a> - програм за мрежна "
+"аналитика со отворен код."
diff --git a/plugins/PiwikAnalytics/locale/nl/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/nl/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..62b7b645b
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/nl/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - PiwikAnalytics to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"<a href=\"http://piwik.org/\">Piwik</a> Open Source webanalysesoftware "
+"gebruiken."
diff --git a/plugins/PiwikAnalytics/locale/ru/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/ru/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..26f7ec4e6
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/ru/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - PiwikAnalytics to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"Использование Open Source программного обеспечения для веб-аналитики: <a "
+"href=\"http://piwik.org/\">Piwik</a>."
diff --git a/plugins/PiwikAnalytics/locale/tl/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/tl/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..e257b89c6
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/tl/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - PiwikAnalytics to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"Gamitin ang analatikong pangweb na sopwer na <a href=\"http://piwik.org/"
+"\">Piwik</a> na may Bukas na Pinagmulan."
diff --git a/plugins/PiwikAnalytics/locale/uk/LC_MESSAGES/PiwikAnalytics.po b/plugins/PiwikAnalytics/locale/uk/LC_MESSAGES/PiwikAnalytics.po
new file mode 100644
index 000000000..1955825b8
--- /dev/null
+++ b/plugins/PiwikAnalytics/locale/uk/LC_MESSAGES/PiwikAnalytics.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - PiwikAnalytics to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PiwikAnalytics\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:16+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-piwikanalytics\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: PiwikAnalyticsPlugin.php:105
+msgid ""
+"Use <a href=\"http://piwik.org/\">Piwik</a> Open Source web analytics "
+"software."
+msgstr ""
+"Використання програмного забезпечення з відкритим кодом <a href=\"http://"
+"piwik.org/\">Piwik</a> для аналізу веб-потоків."
diff --git a/plugins/PostDebug/locale/PostDebug.pot b/plugins/PostDebug/locale/PostDebug.pot
index b7107d4c1..7824f950c 100644
--- a/plugins/PostDebug/locale/PostDebug.pot
+++ b/plugins/PostDebug/locale/PostDebug.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/PostDebug/locale/es/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/es/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..8619cc4a4
--- /dev/null
+++ b/plugins/PostDebug/locale/es/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - PostDebug to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr ""
+"Herramienta de depuración para registrar detalles de solicitud en POST."
diff --git a/plugins/PostDebug/locale/fr/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/fr/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..fc0f233f6
--- /dev/null
+++ b/plugins/PostDebug/locale/fr/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - PostDebug to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr "Outil de débogage pour enregistrer les requêtes détaillées de POST."
diff --git a/plugins/PostDebug/locale/ia/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/ia/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..a01587def
--- /dev/null
+++ b/plugins/PostDebug/locale/ia/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - PostDebug to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr ""
+"Instrumento pro eliminar defectos que registra le detalios del requestas "
+"POST."
diff --git a/plugins/PostDebug/locale/ja/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/ja/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..d9b4ff4f6
--- /dev/null
+++ b/plugins/PostDebug/locale/ja/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - PostDebug to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr "POSTリクエストの詳細を記録するデバッグツール"
diff --git a/plugins/PostDebug/locale/mk/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/mk/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..3892c8be2
--- /dev/null
+++ b/plugins/PostDebug/locale/mk/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - PostDebug to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr "Алатка за отстранување на грешки за евидентирање на податоци за POST."
diff --git a/plugins/PostDebug/locale/nl/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/nl/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..2d592374b
--- /dev/null
+++ b/plugins/PostDebug/locale/nl/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - PostDebug to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr "Hulpprogramma voor debuggen om verzoekdetails van POST op te slaan."
diff --git a/plugins/PostDebug/locale/ru/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/ru/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..3e172cdc7
--- /dev/null
+++ b/plugins/PostDebug/locale/ru/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - PostDebug to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Lockal
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr "Инструмент отладки для записи подробностей POST-запросов."
diff --git a/plugins/PostDebug/locale/tl/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/tl/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..0cd74c66c
--- /dev/null
+++ b/plugins/PostDebug/locale/tl/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - PostDebug to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr ""
+"Kasangkapang pantanggal ng depekto upang itala ang mga detalye ng paghiling "
+"sa POST."
diff --git a/plugins/PostDebug/locale/uk/LC_MESSAGES/PostDebug.po b/plugins/PostDebug/locale/uk/LC_MESSAGES/PostDebug.po
new file mode 100644
index 000000000..547aaabdb
--- /dev/null
+++ b/plugins/PostDebug/locale/uk/LC_MESSAGES/PostDebug.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - PostDebug to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PostDebug\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:02+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-postdebug\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: PostDebugPlugin.php:58
+msgid "Debugging tool to record request details on POST."
+msgstr "Інструмент правки для запису деталей запитів щодо POST."
diff --git a/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php b/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
index fb4eff738..f2e2fcbaf 100644
--- a/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
+++ b/plugins/PoweredByStatusNet/PoweredByStatusNetPlugin.php
@@ -47,6 +47,7 @@ class PoweredByStatusNetPlugin extends Plugin
{
$action->text(' ');
$action->elementStart('span', 'poweredby');
+ // TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
$action->raw(sprintf(_m('powered by %s'),
sprintf('<a href="http://status.net/">%s</a>',
_m('StatusNet'))));
@@ -62,7 +63,7 @@ class PoweredByStatusNetPlugin extends Plugin
'author' => 'Sarven Capadisli',
'homepage' => 'http://status.net/wiki/Plugin:PoweredByStatusNet',
'rawdescription' =>
- _m('Outputs powered by <a href="http://status.net/">StatusNet</a> after site name.'));
+ _m('Outputs "powered by <a href="http://status.net/">StatusNet</a>" after site name.'));
return true;
}
}
diff --git a/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot b/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot
index bc0e814f2..c6f4eaaaf 100644
--- a/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot
+++ b/plugins/PoweredByStatusNet/locale/PoweredByStatusNet.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,17 +16,18 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: PoweredByStatusNetPlugin.php:50
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
#, php-format
msgid "powered by %s"
msgstr ""
-#: PoweredByStatusNetPlugin.php:52
+#: PoweredByStatusNetPlugin.php:53
msgid "StatusNet"
msgstr ""
-#: PoweredByStatusNetPlugin.php:65
+#: PoweredByStatusNetPlugin.php:66
msgid ""
-"Outputs powered by <a href=\"http://status.net/\">StatusNet</a> after site "
-"name."
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
msgstr ""
diff --git a/plugins/PoweredByStatusNet/locale/br/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/br/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..7d6bdd6ad
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/br/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - PoweredByStatusNet to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "savet gant %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
diff --git a/plugins/PoweredByStatusNet/locale/fr/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/fr/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..2d8249e25
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/fr/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,41 @@
+# Translation of StatusNet - PoweredByStatusNet to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "propulsé par %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Affiche « propulsé par <a href=\"http://status.net/\">StatusNet</a> » après "
+"le nom du site."
diff --git a/plugins/PoweredByStatusNet/locale/gl/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/gl/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..b276e0a11
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/gl/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - PoweredByStatusNet to Galician (Galego)
+# Expored from translatewiki.net
+#
+# Author: Toliño
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Galician <http://translatewiki.net/wiki/Portal:gl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: gl\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "desenvolvido por %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Produce un \"desenvolvido por <a href=\"http://status.net/\">StatusNet</a>\" "
+"despois do nome do sitio."
diff --git a/plugins/PoweredByStatusNet/locale/ia/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/ia/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..adb46bd5b
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/ia/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - PoweredByStatusNet to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "actionate per %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Affixa \"actionate per <a href=\"http://status.net/\">StatusNet</a>\" post "
+"le nomine del sito."
diff --git a/plugins/PoweredByStatusNet/locale/mk/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/mk/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..204a473e1
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/mk/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - PoweredByStatusNet to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "овозможено од %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Дава „со поддршка од <a href=\"http://status.net/\">StatusNet</a>“ по името "
+"на мреж. место."
diff --git a/plugins/PoweredByStatusNet/locale/nl/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/nl/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..1950bc878
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/nl/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - PoweredByStatusNet to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "Powered by %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Voegt te tekst \"Powered by <a href=\"http://status.net/\">StatusNet</a>\" "
+"toe na de sitenaam."
diff --git a/plugins/PoweredByStatusNet/locale/pt/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/pt/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..1545ed7f5
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/pt/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - PoweredByStatusNet to Portuguese (Português)
+# Expored from translatewiki.net
+#
+# Author: Waldir
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Portuguese <http://translatewiki.net/wiki/Portal:pt>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "Potenciado por %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Produz o texto \"potenciado por <a href=\"http://status.net/\">StatusNet</a>"
+"\" a seguir ao nome do site."
diff --git a/plugins/PoweredByStatusNet/locale/tl/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/tl/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..e8924f93e
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/tl/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - PoweredByStatusNet to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "pinapatakbo ng %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Ang mga paglalabas ay \"pinapatakbo ng <a href=\"http://status.net/"
+"\">StatusNet</a>\" pagkaraan ng pangalan ng sityo."
diff --git a/plugins/PoweredByStatusNet/locale/uk/LC_MESSAGES/PoweredByStatusNet.po b/plugins/PoweredByStatusNet/locale/uk/LC_MESSAGES/PoweredByStatusNet.po
new file mode 100644
index 000000000..c2eeeabb7
--- /dev/null
+++ b/plugins/PoweredByStatusNet/locale/uk/LC_MESSAGES/PoweredByStatusNet.po
@@ -0,0 +1,41 @@
+# Translation of StatusNet - PoweredByStatusNet to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PoweredByStatusNet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:17+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-poweredbystatusnet\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: %s is a URL to status.net with "StatusNet" (localised) as link text.
+#: PoweredByStatusNetPlugin.php:51
+#, php-format
+msgid "powered by %s"
+msgstr "працює на %s"
+
+#: PoweredByStatusNetPlugin.php:53
+msgid "StatusNet"
+msgstr "StatusNet"
+
+#: PoweredByStatusNetPlugin.php:66
+msgid ""
+"Outputs \"powered by <a href=\"http://status.net/\">StatusNet</a>\" after "
+"site name."
+msgstr ""
+"Даний додаток виводить припис «працює на <a href=\"http://status.net/"
+"\">StatusNet</a>» після назви сайту."
diff --git a/plugins/PtitUrl/locale/PtitUrl.pot b/plugins/PtitUrl/locale/PtitUrl.pot
index a888f80e4..b2e9145b9 100644
--- a/plugins/PtitUrl/locale/PtitUrl.pot
+++ b/plugins/PtitUrl/locale/PtitUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/PtitUrl/locale/es/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/es/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..a50553d85
--- /dev/null
+++ b/plugins/PtitUrl/locale/es/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - PtitUrl to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utiliza el servicio de acortamiento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/PtitUrl/locale/fr/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/fr/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..d6843741f
--- /dev/null
+++ b/plugins/PtitUrl/locale/fr/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - PtitUrl to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utilise le service de raccourcissement d’URL <a href=\"http://%1$s/\">%1$s</"
+"a>."
diff --git a/plugins/PtitUrl/locale/ia/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/ia/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..e88328c1c
--- /dev/null
+++ b/plugins/PtitUrl/locale/ia/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - PtitUrl to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Usa le servicio de accurtamento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/PtitUrl/locale/ja/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/ja/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..ee4553f31
--- /dev/null
+++ b/plugins/PtitUrl/locale/ja/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - PtitUrl to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "<a href=\"http://%1$s/\">%1$s</a>をURL短縮サービスとして利用する。"
diff --git a/plugins/PtitUrl/locale/mk/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/mk/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..de54b468b
--- /dev/null
+++ b/plugins/PtitUrl/locale/mk/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - PtitUrl to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Користи <a href=\"http://%1$s/\">%1$s</a> - служба за скратување на URL-"
+"адреси."
diff --git a/plugins/PtitUrl/locale/nb/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/nb/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..6e833f393
--- /dev/null
+++ b/plugins/PtitUrl/locale/nb/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - PtitUrl to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Bruker URL-forkortertjenesten <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/PtitUrl/locale/nl/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/nl/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..e88b78a87
--- /dev/null
+++ b/plugins/PtitUrl/locale/nl/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - PtitUrl to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gebruikt de dienst <a href=\"http://%1$s/\">%1$s</a> om URL's korter te "
+"maken."
diff --git a/plugins/PtitUrl/locale/ru/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/ru/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..107553a8c
--- /dev/null
+++ b/plugins/PtitUrl/locale/ru/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - PtitUrl to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Использование службы сокращения URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/PtitUrl/locale/tl/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/tl/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..6b6f40966
--- /dev/null
+++ b/plugins/PtitUrl/locale/tl/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - PtitUrl to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gumagamit ng palingkurang pampaigsi ng URL na <a href=\"http://%1$s/\">%1$s</"
+"a>."
diff --git a/plugins/PtitUrl/locale/uk/LC_MESSAGES/PtitUrl.po b/plugins/PtitUrl/locale/uk/LC_MESSAGES/PtitUrl.po
new file mode 100644
index 000000000..8627b17f6
--- /dev/null
+++ b/plugins/PtitUrl/locale/uk/LC_MESSAGES/PtitUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - PtitUrl to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - PtitUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-ptiturl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: PtitUrlPlugin.php:67
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Використання <a href=\"http://%1$s/\">%1$s</a> для скорочення URL-адрес."
diff --git a/plugins/RSSCloud/LoggingAggregator.php b/plugins/RSSCloud/LoggingAggregator.php
index e37eed16a..c7d7a40e3 100644
--- a/plugins/RSSCloud/LoggingAggregator.php
+++ b/plugins/RSSCloud/LoggingAggregator.php
@@ -47,7 +47,6 @@ if (!defined('STATUSNET')) {
**/
class LoggingAggregatorAction extends Action
{
-
var $challenge = null;
var $url = null;
@@ -58,7 +57,6 @@ class LoggingAggregatorAction extends Action
*
* @return boolean false if user doesn't exist
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -79,22 +77,20 @@ class LoggingAggregatorAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
if (empty($this->url)) {
- $this->showError('Hey, you have to provide a url parameter.');
+ $this->showError(_('A URL parameter is required.'));
return;
}
if (!empty($this->challenge)) {
// must be a GET
-
if ($_SERVER['REQUEST_METHOD'] != 'GET') {
- $this->showError('This resource requires an HTTP GET.');
+ $this->showError(_m('This resource requires an HTTP GET.'));
return;
}
@@ -104,9 +100,8 @@ class LoggingAggregatorAction extends Action
} else {
// must be a POST
-
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $this->showError('This resource requires an HTTP POST.');
+ $this->showError(_m('This resource requires an HTTP POST.'));
return;
}
@@ -128,7 +123,6 @@ class LoggingAggregatorAction extends Action
*
* @return void
*/
-
function showError($msg)
{
header('HTTP/1.1 400 Bad Request');
@@ -136,5 +130,4 @@ class LoggingAggregatorAction extends Action
echo "<?xml version='1.0'?>\n";
echo "<notifyResult success='false' msg='$msg' />\n";
}
-
-} \ No newline at end of file
+}
diff --git a/plugins/RSSCloud/RSSCloudNotifier.php b/plugins/RSSCloud/RSSCloudNotifier.php
index 9e7b53680..1f0eab47e 100644
--- a/plugins/RSSCloud/RSSCloudNotifier.php
+++ b/plugins/RSSCloud/RSSCloudNotifier.php
@@ -235,6 +235,4 @@ class RSSCloudNotifier
}
}
}
-
}
-
diff --git a/plugins/RSSCloud/RSSCloudPlugin.php b/plugins/RSSCloud/RSSCloudPlugin.php
index c1951cdbf..bba0be515 100644
--- a/plugins/RSSCloud/RSSCloudPlugin.php
+++ b/plugins/RSSCloud/RSSCloudPlugin.php
@@ -247,10 +247,9 @@ class RSSCloudPlugin extends Plugin
'rawdescription' =>
_m('The RSSCloud plugin enables your StatusNet instance to publish ' .
'real-time updates for profile RSS feeds using the ' .
- '<a href="http://rsscloud.org/">RSSCloud protocol</a>".'));
+ '<a href="http://rsscloud.org/">RSSCloud protocol</a>.'));
return true;
}
}
-
diff --git a/plugins/RSSCloud/RSSCloudQueueHandler.php b/plugins/RSSCloud/RSSCloudQueueHandler.php
index ef11eda2e..8a0997748 100644
--- a/plugins/RSSCloud/RSSCloudQueueHandler.php
+++ b/plugins/RSSCloud/RSSCloudQueueHandler.php
@@ -38,4 +38,3 @@ class RSSCloudQueueHandler extends QueueHandler
return $notifier->notify($profile);
}
}
-
diff --git a/plugins/RSSCloud/RSSCloudRequestNotify.php b/plugins/RSSCloud/RSSCloudRequestNotify.php
index 030529534..e9c0eab5f 100644
--- a/plugins/RSSCloud/RSSCloudRequestNotify.php
+++ b/plugins/RSSCloud/RSSCloudRequestNotify.php
@@ -41,7 +41,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
**/
-
class RSSCloudRequestNotifyAction extends Action
{
/**
@@ -51,7 +50,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean false if user doesn't exist
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -84,13 +82,12 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $this->showResult(false, 'Request must be POST.');
+ $this->showResult(false, _m('Request must be POST.'));
return;
}
@@ -107,7 +104,7 @@ class RSSCloudRequestNotifyAction extends Action
if (empty($this->protocol)) {
$missing[] = 'protocol';
} else if (strtolower($this->protocol) != 'http-post') {
- $msg = 'Only http-post notifications are supported at this time.';
+ $msg = _m('Only http-post notifications are supported at this time.');
$this->showResult(false, $msg);
return;
}
@@ -117,15 +114,15 @@ class RSSCloudRequestNotifyAction extends Action
}
if (!empty($missing)) {
- $msg = 'The following parameters were missing from the request body: ' .
- implode(', ', $missing) . '.';
+ // TRANS: %s is a comma separated list of parameters.
+ $msg = sprintf(_m('The following parameters were missing from the request body: %s.'),implode(', ', $missing));
$this->showResult(false, $msg);
return;
}
if (empty($this->feeds)) {
- $msg = 'You must provide at least one valid profile feed url ' .
- '(url1, url2, url3 ... urlN).';
+ $msg = _m('You must provide at least one valid profile feed url ' .
+ '(url1, url2, url3 ... urlN).');
$this->showResult(false, $msg);
return;
}
@@ -133,7 +130,6 @@ class RSSCloudRequestNotifyAction extends Action
// We have to validate everything before saving anything.
// We only return one success or failure no matter how
// many feeds the subscriber is trying to subscribe to
-
foreach ($this->feeds as $feed) {
if (!$this->validateFeed($feed)) {
@@ -142,18 +138,17 @@ class RSSCloudRequestNotifyAction extends Action
common_log(LOG_WARNING,
"RSSCloud plugin - $nh tried to subscribe to invalid feed: $feed");
- $msg = 'Feed subscription failed - Not a valid feed.';
+ $msg = _m('Feed subscription failed: Not a valid feed.');
$this->showResult(false, $msg);
return;
}
if (!$this->testNotificationHandler($feed)) {
- $msg = 'Feed subscription failed - ' .
- 'notification handler doesn\'t respond correctly.';
+ $msg = _m('Feed subscription failed - ' .
+ 'notification handler doesn\'t respond correctly.');
$this->showResult(false, $msg);
return;
}
-
}
foreach ($this->feeds as $feed) {
@@ -163,9 +158,8 @@ class RSSCloudRequestNotifyAction extends Action
// XXX: What to do about deleting stale subscriptions?
// 25 hours seems harsh. WordPress doesn't ever remove
// subscriptions.
-
- $msg = 'Thanks for the subscription. ' .
- 'When the feed(s) update(s) we\'ll notify you.';
+ $msg = _m('Thanks for the subscription. ' .
+ 'When the feed(s) update(s), you will be notified.');
$this->showResult(true, $msg);
}
@@ -178,7 +172,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return void
*/
-
function validateFeed($feed)
{
$user = $this->userFromFeed($feed);
@@ -196,7 +189,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return array $feeds the list of feeds
*/
-
function getFeeds()
{
$feeds = array();
@@ -218,7 +210,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success result
*/
-
function testNotificationHandler($feed)
{
$notifyUrl = $this->getNotifyUrl();
@@ -226,9 +217,7 @@ class RSSCloudRequestNotifyAction extends Action
$notifier = new RSSCloudNotifier();
if (isset($this->domain)) {
-
// 'domain' param set, so we have to use GET and send a challenge
-
common_log(LOG_INFO,
'RSSCloud plugin - Testing notification handler with challenge: ' .
$notifyUrl);
@@ -248,7 +237,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return string notification handler url
*/
-
function getNotifyUrl()
{
if (isset($this->domain)) {
@@ -267,12 +255,10 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success
*/
-
function userFromFeed($feed)
{
// We only do canonical RSS2 profile feeds (specified by ID), e.g.:
// http://www.example.com/api/statuses/user_timeline/2.rss
-
$path = common_path('api/statuses/user_timeline/');
$valid = '%^' . $path . '(?<id>.*)\.rss$%';
@@ -293,7 +279,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success result
*/
-
function saveSubscription($feed)
{
$user = $this->userFromFeed($feed);
@@ -334,7 +319,6 @@ class RSSCloudRequestNotifyAction extends Action
*
* @return boolean success result
*/
-
function showResult($success, $msg)
{
$this->startXML();
@@ -343,6 +327,4 @@ class RSSCloudRequestNotifyAction extends Action
'msg' => $msg));
$this->endXML();
}
-
}
-
diff --git a/plugins/RSSCloud/RSSCloudSubscription.php b/plugins/RSSCloud/RSSCloudSubscription.php
index 396c604e7..595af8844 100644
--- a/plugins/RSSCloud/RSSCloudSubscription.php
+++ b/plugins/RSSCloud/RSSCloudSubscription.php
@@ -75,5 +75,4 @@ class RSSCloudSubscription extends Memcached_DataObject {
return false;
}
-
}
diff --git a/plugins/RSSCloud/locale/RSSCloud.pot b/plugins/RSSCloud/locale/RSSCloud.pot
index 4078cc749..0fda09212 100644
--- a/plugins/RSSCloud/locale/RSSCloud.pot
+++ b/plugins/RSSCloud/locale/RSSCloud.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,9 +16,52 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: RSSCloudPlugin.php:260
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr ""
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr ""
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr ""
+
+#: RSSCloudPlugin.php:248
msgid ""
"The RSSCloud plugin enables your StatusNet instance to publish real-time "
"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
-"\">RSSCloud protocol</a>\"."
+"\">RSSCloud protocol</a>."
msgstr ""
diff --git a/plugins/RSSCloud/locale/fr/LC_MESSAGES/RSSCloud.po b/plugins/RSSCloud/locale/fr/LC_MESSAGES/RSSCloud.po
new file mode 100644
index 000000000..1f8f461f7
--- /dev/null
+++ b/plugins/RSSCloud/locale/fr/LC_MESSAGES/RSSCloud.po
@@ -0,0 +1,85 @@
+# Translation of StatusNet - RSSCloud to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RSSCloud\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:21+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-rsscloud\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr "La requête HTTP au nuage RSS doit être de type POST."
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr ""
+"Seules les notifications HTTP-POST sont prises en charge en ce moment sur le "
+"nuage RSS."
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr ""
+"Les paramètres suivants étaient absents du corps de la requête au nuage "
+"RSS : %s."
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+"Vous devez fournir au moins une adresse URL de flux de profil valide (url1, "
+"url2, url3 ... urlN)."
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr "L’abonnement au flux a échoué : ce n’est pas un flux RSS valide."
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+"L’abonnement au flux RSS a échoué : le gestionnaire de notifications ne "
+"répond pas correctement."
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+"Merci pour l’abonnement. Vous serez informé lors des mises à jour de ce(s) "
+"flux."
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr "Cette ressource nécessite une requête HTTP GET."
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr "Cette ressource nécessite une requête HTTP POST."
+
+#: RSSCloudPlugin.php:248
+msgid ""
+"The RSSCloud plugin enables your StatusNet instance to publish real-time "
+"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
+"\">RSSCloud protocol</a>."
+msgstr ""
+"L’extension RSSCloud permet à votre instance StatusNet de publier des mises "
+"à jour en temps réel sur des flux RSS en utilisant le protocole <a href="
+"\"http://rsscloud.org/\">RSSCloud</a>."
diff --git a/plugins/RSSCloud/locale/ia/LC_MESSAGES/RSSCloud.po b/plugins/RSSCloud/locale/ia/LC_MESSAGES/RSSCloud.po
new file mode 100644
index 000000000..1982aecf6
--- /dev/null
+++ b/plugins/RSSCloud/locale/ia/LC_MESSAGES/RSSCloud.po
@@ -0,0 +1,81 @@
+# Translation of StatusNet - RSSCloud to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RSSCloud\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:21+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-rsscloud\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr "Requesta debe esser POST."
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr "Solmente le notificationes http-post es presentemente supportate."
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr "Le sequente parametros mancava del corpore del requesta: %s."
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+"Tu debe fornir al minus un URL de syndication de profilo valide (url1, url2, "
+"url3 ... urlN)."
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr "Le subscription al syndication ha fallite: Non un syndication valide."
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+"Le subscription al syndication ha fallite - le gestor de notification non "
+"responde correctemente."
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+"Gratias pro le subscription. Quando le syndication(es) se actualisa, tu "
+"recipera notification."
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr "Iste ressource require un HTTP GET."
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr "Iste ressource require un HTTP POST."
+
+#: RSSCloudPlugin.php:248
+msgid ""
+"The RSSCloud plugin enables your StatusNet instance to publish real-time "
+"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
+"\">RSSCloud protocol</a>."
+msgstr ""
+"Le plug-in RSSCloud permitte que tu installation de SatusNet publica "
+"actualisationes in directo de syndicationes RSS de profilos usante le <a "
+"href=\"http://rsscloud.org/\">protocollo RSSCloud</a>."
diff --git a/plugins/RSSCloud/locale/mk/LC_MESSAGES/RSSCloud.po b/plugins/RSSCloud/locale/mk/LC_MESSAGES/RSSCloud.po
new file mode 100644
index 000000000..387bbe9d2
--- /dev/null
+++ b/plugins/RSSCloud/locale/mk/LC_MESSAGES/RSSCloud.po
@@ -0,0 +1,81 @@
+# Translation of StatusNet - RSSCloud to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RSSCloud\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:21+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-rsscloud\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr "Барањето мора да биде POST."
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr "Моментално се поддржани само известувања од типот http-post."
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr "Следниве параметри недостасуваа од содржината на барањето: %s."
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+"Мора да наведете барем едеа важечка URL-адреса за профилен канал (url1, "
+"url2, url3 ... urlN)."
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr "Претплаќањето на каналот не успеа: Не е важечки канал."
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+"Претплаќањето на каналот не успеа - ракувачот со известувања не одговара "
+"правилно."
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+"Ви благодариме шт осе претплативте. Ќе бидете известени за сите подновувања "
+"на каналот/ите."
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr "Овој ресурс бара HTTP GET."
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr "Овој ресурс бара HTTP POST."
+
+#: RSSCloudPlugin.php:248
+msgid ""
+"The RSSCloud plugin enables your StatusNet instance to publish real-time "
+"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
+"\">RSSCloud protocol</a>."
+msgstr ""
+"Приклучокот RSSCloud овозможува Вашиот примерок на StatusNet да објавува "
+"поднови во живо за профилни RSS-емитувања користејќи го протоколот <a href="
+"\"http://rsscloud.org/\">RSSCloud</a>."
diff --git a/plugins/RSSCloud/locale/nl/LC_MESSAGES/RSSCloud.po b/plugins/RSSCloud/locale/nl/LC_MESSAGES/RSSCloud.po
new file mode 100644
index 000000000..ce8007658
--- /dev/null
+++ b/plugins/RSSCloud/locale/nl/LC_MESSAGES/RSSCloud.po
@@ -0,0 +1,81 @@
+# Translation of StatusNet - RSSCloud to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RSSCloud\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:21+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-rsscloud\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr "Het verzoek moet POST zijn."
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr "Op dit moment worden alle mededelingen via HTTP POST ondersteund."
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr "De volgende parameters missen in de verzoekinhoud: %s."
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+"U moet tenminste een geldige URL voor een profielfeed opgeven ( url1, url2, "
+"url3, ..., urlN)."
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr "Abonneren op de feed is mislukt: geen geldige feed."
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+"Abonneren op de feed is mislukt: het verwerkingsproces heeft niet juist "
+"geantwoord."
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+"Dank u wel voor het abonneren. Als de feed of feeds bijgewerkt worden, wordt "
+"u op de hoogte gesteld."
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr "Deze bron heeft een HTTP GET nodig."
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr "Deze bron heeft een HTTP POST nodig."
+
+#: RSSCloudPlugin.php:248
+msgid ""
+"The RSSCloud plugin enables your StatusNet instance to publish real-time "
+"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
+"\">RSSCloud protocol</a>."
+msgstr ""
+"De plug-in RSSCloud laat StatusNet real-time updates publiceren voor de RSS-"
+"feeds van profielen met het protocol <a href=\"http://rsscloud.org/"
+"\">RSSCloud</a>."
diff --git a/plugins/RSSCloud/locale/tl/LC_MESSAGES/RSSCloud.po b/plugins/RSSCloud/locale/tl/LC_MESSAGES/RSSCloud.po
new file mode 100644
index 000000000..e17fa5b58
--- /dev/null
+++ b/plugins/RSSCloud/locale/tl/LC_MESSAGES/RSSCloud.po
@@ -0,0 +1,82 @@
+# Translation of StatusNet - RSSCloud to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RSSCloud\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:21+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-rsscloud\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr "Ang hiling ay dapat na POST."
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr "Tanging mga pabatid na http-post lang ang tinatangkilik sa ngayon."
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr "Nawawala ang sumusunod na mga parametro mula sa katawan ng hiling: %s."
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+"Dapat kang magbigay ng kahit na isang url ng pakain ng tanggap na talaksan "
+"(url1, url2, url3 ... urlN)."
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr "Nabigo ang pagtanggap ng pakain: Hindi isang tanggap na pakain."
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+"Nabigo ang pagtanggap ng pakain - hindi tama ang pagtugon ng tagapaghawak ng "
+"pabatid."
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+"Salamat sa pagtatanggap. Kapag nagsapanahon ang (mga) pakain, pababatiran "
+"ka."
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr "Ang pinagkunang ito ay nangangailangan ng HTTP GET."
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr "Ang pinagkukunang ito ay nangangailangan ng HTTP POST."
+
+#: RSSCloudPlugin.php:248
+msgid ""
+"The RSSCloud plugin enables your StatusNet instance to publish real-time "
+"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
+"\">RSSCloud protocol</a>."
+msgstr ""
+"Ang pamasak ng RSSCloud ay nagpapahintulot sa iyong pagkakataon ng StatusNet "
+"na maglathala ng mga pagsasapanahong pangtunay na oras para sa mga balangkas "
+"ng mga pakain ng RSS na gumagamit ng <a href=\"http://rsscloud.org/"
+"\">protokolo ng RSSCloud</a>."
diff --git a/plugins/RSSCloud/locale/uk/LC_MESSAGES/RSSCloud.po b/plugins/RSSCloud/locale/uk/LC_MESSAGES/RSSCloud.po
new file mode 100644
index 000000000..6997c5374
--- /dev/null
+++ b/plugins/RSSCloud/locale/uk/LC_MESSAGES/RSSCloud.po
@@ -0,0 +1,81 @@
+# Translation of StatusNet - RSSCloud to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RSSCloud\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:21+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-rsscloud\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: RSSCloudRequestNotify.php:90
+msgid "Request must be POST."
+msgstr "Запит вимагає форми POST."
+
+#: RSSCloudRequestNotify.php:107
+msgid "Only http-post notifications are supported at this time."
+msgstr "На даний момент підтримуються лише сповіщення форми http-post."
+
+#. TRANS: %s is a comma separated list of parameters.
+#: RSSCloudRequestNotify.php:118
+#, php-format
+msgid "The following parameters were missing from the request body: %s."
+msgstr "У формі запиту відсутні наступні параметри: %s."
+
+#: RSSCloudRequestNotify.php:124
+msgid ""
+"You must provide at least one valid profile feed url (url1, url2, url3 ... "
+"urlN)."
+msgstr ""
+"Ви повинні зазначити щонайменше один дійсний профіль для URL-адреси веб-"
+"стрічки (URL-адреси через кому та пробіл)."
+
+#: RSSCloudRequestNotify.php:141
+msgid "Feed subscription failed: Not a valid feed."
+msgstr "Підписатися до веб-стрічки не вдалося: ця веб-стрічка не є дійсною."
+
+#: RSSCloudRequestNotify.php:147
+msgid ""
+"Feed subscription failed - notification handler doesn't respond correctly."
+msgstr ""
+"Підписатися до веб-стрічки не вдалося: обробник сповіщень відреагував "
+"неправильно."
+
+#: RSSCloudRequestNotify.php:161
+msgid ""
+"Thanks for the subscription. When the feed(s) update(s), you will be "
+"notified."
+msgstr ""
+"Дякуємо за підписку. Коли веб-стрічки оновляться, вас буде поінформовано."
+
+#: LoggingAggregator.php:93
+msgid "This resource requires an HTTP GET."
+msgstr "Цей ресурс вимагає форми HTTP GET."
+
+#: LoggingAggregator.php:104
+msgid "This resource requires an HTTP POST."
+msgstr "Цей ресурс вимагає форми HTTP POST."
+
+#: RSSCloudPlugin.php:248
+msgid ""
+"The RSSCloud plugin enables your StatusNet instance to publish real-time "
+"updates for profile RSS feeds using the <a href=\"http://rsscloud.org/"
+"\">RSSCloud protocol</a>."
+msgstr ""
+"Додаток RSSCloud дозволяє вашому StatusNet-сумісному сайту публікувати "
+"оновлення з веб-стрічок у реальному часі, використовуючи протокол <a href="
+"\"http://rsscloud.org/\">RSSCloud</a>."
diff --git a/plugins/Recaptcha/RecaptchaPlugin.php b/plugins/Recaptcha/RecaptchaPlugin.php
index b7a0e92c7..08557cbd8 100644
--- a/plugins/Recaptcha/RecaptchaPlugin.php
+++ b/plugins/Recaptcha/RecaptchaPlugin.php
@@ -2,7 +2,7 @@
/**
* StatusNet, the distributed open-source microblogging tool
*
- * Plugin to show reCaptcha when a user registers
+ * Plugin to show reCaptcha when a user registers
*
* PHP version 5
*
@@ -63,14 +63,14 @@ class RecaptchaPlugin extends Plugin
function onEndRegistrationFormData($action)
{
$action->elementStart('li');
- $action->raw('<label for="recaptcha">Captcha</label>');
+ $action->raw('<label for="recaptcha">'._m('Captcha').'</label>');
// AJAX API will fill this div out.
// We're calling that instead of the regular one so we stay compatible
// with application/xml+xhtml output as for mobile.
$action->element('div', array('id' => 'recaptcha'));
$action->elementEnd('li');
-
+
$action->recaptchaPluginNeedsOutput = true;
return true;
}
@@ -85,7 +85,7 @@ class RecaptchaPlugin extends Plugin
$url = "http://api.recaptcha.net/js/recaptcha_ajax.js";
}
$action->script($url);
-
+
// And when we're ready, fill out the captcha!
$key = json_encode($this->public_key);
$action->inlinescript("\$(function(){Recaptcha.create($key, 'recaptcha');});");
@@ -102,7 +102,7 @@ class RecaptchaPlugin extends Plugin
if (!$resp->is_valid) {
if($this->display_errors) {
- $action->showForm ("(reCAPTCHA error: " . $resp->error . ")");
+ $action->showForm(sprintf(_("(reCAPTCHA error: %s)", $resp->error)));
}
$action->showForm(_m("Captcha does not match!"));
return false;
diff --git a/plugins/Recaptcha/locale/Recaptcha.pot b/plugins/Recaptcha/locale/Recaptcha.pot
index 6611ff604..1efda827a 100644
--- a/plugins/Recaptcha/locale/Recaptcha.pot
+++ b/plugins/Recaptcha/locale/Recaptcha.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,7 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: RecaptchaPlugin.php:97
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr ""
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr ""
+
+#: RecaptchaPlugin.php:117
msgid ""
"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
"captcha to the registration page."
diff --git a/plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po
new file mode 100644
index 000000000..fc3180cea
--- /dev/null
+++ b/plugins/Recaptcha/locale/fr/LC_MESSAGES/Recaptcha.po
@@ -0,0 +1,39 @@
+# Translation of StatusNet - Recaptcha to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Recaptcha\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-recaptcha\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr "Vérificateur anti-robot Captcha"
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr "Le Captcha ne correspond pas !"
+
+#: RecaptchaPlugin.php:117
+msgid ""
+"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
+"captcha to the registration page."
+msgstr ""
+"Utilise le service <a href=\"http://recaptcha.org/\">Recaptcha</a> pour "
+"ajouter un captcha à la page d’enregistrement."
diff --git a/plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po
new file mode 100644
index 000000000..874a44656
--- /dev/null
+++ b/plugins/Recaptcha/locale/ia/LC_MESSAGES/Recaptcha.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Recaptcha to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Recaptcha\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-recaptcha\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr "Captcha"
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr "Captcha non corresponde!"
+
+#: RecaptchaPlugin.php:117
+msgid ""
+"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
+"captcha to the registration page."
+msgstr ""
+"Usa le servicio <a href=\"http://recaptcha.org/\">Recaptcha</a> pro adder "
+"un captcha al pagina de registration."
diff --git a/plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po
new file mode 100644
index 000000000..b5dcfaa62
--- /dev/null
+++ b/plugins/Recaptcha/locale/mk/LC_MESSAGES/Recaptcha.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Recaptcha to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Recaptcha\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-recaptcha\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr "Captcha"
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr "Captcha не се совпаѓа!"
+
+#: RecaptchaPlugin.php:117
+msgid ""
+"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
+"captcha to the registration page."
+msgstr ""
+"Ја користи слкубата <a href=\"http://recaptcha.org/\">Recaptcha</a> за "
+"додавање на captcha во страницата за регистрација."
diff --git a/plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po
new file mode 100644
index 000000000..216f3c44d
--- /dev/null
+++ b/plugins/Recaptcha/locale/nb/LC_MESSAGES/Recaptcha.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Recaptcha to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Recaptcha\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-recaptcha\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr "Captcha"
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr "Captcha stemmer ikke."
+
+#: RecaptchaPlugin.php:117
+msgid ""
+"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
+"captcha to the registration page."
+msgstr ""
+"Bruker <a href=\"http://recaptcha.org/\">Recaptcha</a>-tjenesten for å legge "
+"en captcha til registreringssiden."
diff --git a/plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po
new file mode 100644
index 000000000..2943b89be
--- /dev/null
+++ b/plugins/Recaptcha/locale/nl/LC_MESSAGES/Recaptcha.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Recaptcha to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Recaptcha\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-recaptcha\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr "Captcha"
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr "Captcha komt niet overeen!"
+
+#: RecaptchaPlugin.php:117
+msgid ""
+"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
+"captcha to the registration page."
+msgstr ""
+"Gebruikt de dienst <a href=\"http://recaptcha.org/\">Recaptcha</a> om een "
+"captcha toe te voegen aan de registratiepagina."
diff --git a/plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po
new file mode 100644
index 000000000..b72a4d75b
--- /dev/null
+++ b/plugins/Recaptcha/locale/tl/LC_MESSAGES/Recaptcha.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - Recaptcha to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Recaptcha\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-recaptcha\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr "Captcha"
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr "Hindi tugma ang Captcha!"
+
+#: RecaptchaPlugin.php:117
+msgid ""
+"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
+"captcha to the registration page."
+msgstr ""
+"Gumagamit ng palingkurang <a href=\"http://recaptcha.org/\">Recaptcha</a> "
+"upang magdagdag ng isang captcha sa pahina ng pagpapatala."
diff --git a/plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po b/plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po
new file mode 100644
index 000000000..2dbabd69d
--- /dev/null
+++ b/plugins/Recaptcha/locale/uk/LC_MESSAGES/Recaptcha.po
@@ -0,0 +1,39 @@
+# Translation of StatusNet - Recaptcha to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Recaptcha\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:18+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:20:04+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-recaptcha\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: RecaptchaPlugin.php:64
+msgid "Captcha"
+msgstr "Captcha"
+
+#: RecaptchaPlugin.php:105
+msgid "Captcha does not match!"
+msgstr "Коди перевірки не збігаються!"
+
+#: RecaptchaPlugin.php:117
+msgid ""
+"Uses <a href=\"http://recaptcha.org/\">Recaptcha</a> service to add a "
+"captcha to the registration page."
+msgstr ""
+"Використання <a href=\"http://recaptcha.org/\">Recaptcha</a> у якості "
+"інструменту для перевірки на «людяність» на сторінці реєстрації."
diff --git a/plugins/RegisterThrottle/RegisterThrottlePlugin.php b/plugins/RegisterThrottle/RegisterThrottlePlugin.php
index 05709b780..b6e9a9026 100644
--- a/plugins/RegisterThrottle/RegisterThrottlePlugin.php
+++ b/plugins/RegisterThrottle/RegisterThrottlePlugin.php
@@ -113,7 +113,6 @@ class RegisterThrottlePlugin extends Plugin
* @return boolean hook value
*
*/
-
function onStartRegistrationTry($action)
{
$ipaddress = $this->_getIpAddress();
@@ -134,7 +133,7 @@ class RegisterThrottlePlugin extends Plugin
$now = time();
$this->debug("Comparing {$regtime} to {$now}");
if ($now - $regtime < $seconds) {
- throw new Exception(_("Too many registrations. Take a break and try again later."));
+ throw new Exception(_m("Too many registrations. Take a break and try again later."));
}
}
}
@@ -197,7 +196,7 @@ class RegisterThrottlePlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:RegisterThrottle',
'description' =>
- _m('Throttles excessive registration from a single IP.'));
+ _m('Throttles excessive registration from a single IP address.'));
return true;
}
diff --git a/plugins/RegisterThrottle/Registration_ip.php b/plugins/RegisterThrottle/Registration_ip.php
index 7e61d089e..5c7396b9b 100644
--- a/plugins/RegisterThrottle/Registration_ip.php
+++ b/plugins/RegisterThrottle/Registration_ip.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class Registration_ip extends Memcached_DataObject
{
public $__table = 'registration_ip'; // table name
@@ -59,7 +58,6 @@ class Registration_ip extends Memcached_DataObject
* @return User_greeting_count object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Registration_ip', $k, $v);
@@ -70,7 +68,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -86,7 +83,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array('user_id' => 'K');
@@ -100,7 +96,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return $this->keys();
@@ -116,7 +111,6 @@ class Registration_ip extends Memcached_DataObject
*
* @return array magic three-false array that stops auto-incrementing.
*/
-
function sequenceKey()
{
return array(false, false, false);
diff --git a/plugins/RegisterThrottle/locale/RegisterThrottle.pot b/plugins/RegisterThrottle/locale/RegisterThrottle.pot
index 834f5fd4a..725e64e42 100644
--- a/plugins/RegisterThrottle/locale/RegisterThrottle.pot
+++ b/plugins/RegisterThrottle/locale/RegisterThrottle.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,14 +16,18 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: RegisterThrottlePlugin.php:122 RegisterThrottlePlugin.php:161
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
msgid "Cannot find IP address."
msgstr ""
-#: RegisterThrottlePlugin.php:167
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr ""
+
+#: RegisterThrottlePlugin.php:166
msgid "Cannot find user after successful registration."
msgstr ""
-#: RegisterThrottlePlugin.php:200
-msgid "Throttles excessive registration from a single IP."
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
msgstr ""
diff --git a/plugins/RegisterThrottle/locale/fr/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/fr/LC_MESSAGES/RegisterThrottle.po
new file mode 100644
index 000000000..16b8e1e5a
--- /dev/null
+++ b/plugins/RegisterThrottle/locale/fr/LC_MESSAGES/RegisterThrottle.po
@@ -0,0 +1,41 @@
+# Translation of StatusNet - RegisterThrottle to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RegisterThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-registerthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
+msgid "Cannot find IP address."
+msgstr "Impossible de trouver l’adresse IP."
+
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr ""
+"Inscriptions trop nombreuses. Faites une pause et essayez à nouveau plus "
+"tard."
+
+#: RegisterThrottlePlugin.php:166
+msgid "Cannot find user after successful registration."
+msgstr "Impossible de trouver l’utilisateur après un enregistrement réussi."
+
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
+msgstr "Évite les inscriptions excessives depuis une même adresse IP."
diff --git a/plugins/RegisterThrottle/locale/ia/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/ia/LC_MESSAGES/RegisterThrottle.po
new file mode 100644
index 000000000..14053a82d
--- /dev/null
+++ b/plugins/RegisterThrottle/locale/ia/LC_MESSAGES/RegisterThrottle.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - RegisterThrottle to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RegisterThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-registerthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
+msgid "Cannot find IP address."
+msgstr "Non pote trovar adresse IP."
+
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr "Troppo de registrationes. Face un pausa e reproba plus tarde."
+
+#: RegisterThrottlePlugin.php:166
+msgid "Cannot find user after successful registration."
+msgstr "Non pote trovar usator post registration succedite."
+
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
+msgstr "Inhibi le creation de contos excessive ab un sol adresse IP."
diff --git a/plugins/RegisterThrottle/locale/mk/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/mk/LC_MESSAGES/RegisterThrottle.po
new file mode 100644
index 000000000..de54757dc
--- /dev/null
+++ b/plugins/RegisterThrottle/locale/mk/LC_MESSAGES/RegisterThrottle.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - RegisterThrottle to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RegisterThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-registerthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
+msgid "Cannot find IP address."
+msgstr "Не можам да ја пронајдам IP-адресата."
+
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr "Премногу регистрации. Направете пауза и обидете се подоцна."
+
+#: RegisterThrottlePlugin.php:166
+msgid "Cannot find user after successful registration."
+msgstr "Не можам да го пронајдам корисникот по успешната регистрација."
+
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
+msgstr "Истиснува прекумерни регистрации од една IP-адреса."
diff --git a/plugins/RegisterThrottle/locale/nl/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/nl/LC_MESSAGES/RegisterThrottle.po
new file mode 100644
index 000000000..7d1a7c593
--- /dev/null
+++ b/plugins/RegisterThrottle/locale/nl/LC_MESSAGES/RegisterThrottle.po
@@ -0,0 +1,39 @@
+# Translation of StatusNet - RegisterThrottle to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RegisterThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-registerthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
+msgid "Cannot find IP address."
+msgstr "Het IP-adres kon niet gevonden worden."
+
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr "Te veel registraties. Wacht even en probeer het later opnieuw."
+
+#: RegisterThrottlePlugin.php:166
+msgid "Cannot find user after successful registration."
+msgstr "Het was niet mogelijk de gebruiker te vinden na registratie."
+
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
+msgstr "Beperkt excessieve aantallen registraties vanaf één IP-adres."
diff --git a/plugins/RegisterThrottle/locale/tl/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/tl/LC_MESSAGES/RegisterThrottle.po
new file mode 100644
index 000000000..8826451a8
--- /dev/null
+++ b/plugins/RegisterThrottle/locale/tl/LC_MESSAGES/RegisterThrottle.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - RegisterThrottle to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RegisterThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-registerthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
+msgid "Cannot find IP address."
+msgstr "Hindi matagpuan ang tirahan ng IP."
+
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr "Napakaraming mga pagpapatala. Magpahinga muna at subukan uli mamaya."
+
+#: RegisterThrottlePlugin.php:166
+msgid "Cannot find user after successful registration."
+msgstr "Hindi matagpuan ang tagagamit pagkatapos ng matagumpay na pagpapatala."
+
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
+msgstr ""
+"Naglilipat-lipat ng labis na pagpapatala mula sa isang nag-iisang tirahan ng "
+"IP."
diff --git a/plugins/RegisterThrottle/locale/uk/LC_MESSAGES/RegisterThrottle.po b/plugins/RegisterThrottle/locale/uk/LC_MESSAGES/RegisterThrottle.po
new file mode 100644
index 000000000..03ddc80e1
--- /dev/null
+++ b/plugins/RegisterThrottle/locale/uk/LC_MESSAGES/RegisterThrottle.po
@@ -0,0 +1,39 @@
+# Translation of StatusNet - RegisterThrottle to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RegisterThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:03+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-registerthrottle\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: RegisterThrottlePlugin.php:121 RegisterThrottlePlugin.php:160
+msgid "Cannot find IP address."
+msgstr "Не вдається знайти IP-адресу."
+
+#: RegisterThrottlePlugin.php:136
+msgid "Too many registrations. Take a break and try again later."
+msgstr "Забагато реєстрацій. Випийте поки що кави і повертайтесь пізніше."
+
+#: RegisterThrottlePlugin.php:166
+msgid "Cannot find user after successful registration."
+msgstr "Не вдається знайти користувача після успішної реєстрації."
+
+#: RegisterThrottlePlugin.php:199
+msgid "Throttles excessive registration from a single IP address."
+msgstr "Цей додаток обмежує кількість реєстрацій з певної IP-адреси."
diff --git a/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php b/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php
index af75b96e0..719dba89c 100644
--- a/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php
+++ b/plugins/RequireValidatedEmail/RequireValidatedEmailPlugin.php
@@ -170,4 +170,3 @@ class RequireValidatedEmailPlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot b/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot
index c8953a1fa..882586776 100644
--- a/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot
+++ b/plugins/RequireValidatedEmail/locale/RequireValidatedEmail.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: RequireValidatedEmailPlugin.php:57
+#: RequireValidatedEmailPlugin.php:72
msgid "You must validate your email address before posting."
msgstr ""
-#: RequireValidatedEmailPlugin.php:75
+#: RequireValidatedEmailPlugin.php:90
msgid "You must provide an email address to register."
msgstr ""
-#: RequireValidatedEmailPlugin.php:128
+#: RequireValidatedEmailPlugin.php:169
msgid ""
"The Require Validated Email plugin disables posting for accounts that do not "
"have a validated email address."
diff --git a/plugins/RequireValidatedEmail/locale/fr/LC_MESSAGES/RequireValidatedEmail.po b/plugins/RequireValidatedEmail/locale/fr/LC_MESSAGES/RequireValidatedEmail.po
new file mode 100644
index 000000000..3925c5d4a
--- /dev/null
+++ b/plugins/RequireValidatedEmail/locale/fr/LC_MESSAGES/RequireValidatedEmail.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - RequireValidatedEmail to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RequireValidatedEmail\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-requirevalidatedemail\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: RequireValidatedEmailPlugin.php:72
+msgid "You must validate your email address before posting."
+msgstr "Vous devez valider votre adresse électronique avant de poster."
+
+#: RequireValidatedEmailPlugin.php:90
+msgid "You must provide an email address to register."
+msgstr "Vous devez fournir une adresse électronique avant de vous enregistrer."
+
+#: RequireValidatedEmailPlugin.php:169
+msgid ""
+"The Require Validated Email plugin disables posting for accounts that do not "
+"have a validated email address."
+msgstr ""
+"L’extension Require Validated Email désactive le postage pour les comptes "
+"qui n’ont pas d’adresse électronique valide."
diff --git a/plugins/RequireValidatedEmail/locale/ia/LC_MESSAGES/RequireValidatedEmail.po b/plugins/RequireValidatedEmail/locale/ia/LC_MESSAGES/RequireValidatedEmail.po
new file mode 100644
index 000000000..f208b8c77
--- /dev/null
+++ b/plugins/RequireValidatedEmail/locale/ia/LC_MESSAGES/RequireValidatedEmail.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - RequireValidatedEmail to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RequireValidatedEmail\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:19+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-requirevalidatedemail\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RequireValidatedEmailPlugin.php:72
+msgid "You must validate your email address before posting."
+msgstr "Tu debe validar tu adresse de e-mail ante de publicar."
+
+#: RequireValidatedEmailPlugin.php:90
+msgid "You must provide an email address to register."
+msgstr "Tu debe fornir un adresse de e-mail pro poter crear un conto."
+
+#: RequireValidatedEmailPlugin.php:169
+msgid ""
+"The Require Validated Email plugin disables posting for accounts that do not "
+"have a validated email address."
+msgstr ""
+"Le plug-in \"Require Validated Email\" disactiva le publication pro contos "
+"que non ha un adresse de e-mail validate."
diff --git a/plugins/RequireValidatedEmail/locale/mk/LC_MESSAGES/RequireValidatedEmail.po b/plugins/RequireValidatedEmail/locale/mk/LC_MESSAGES/RequireValidatedEmail.po
new file mode 100644
index 000000000..9347f8d44
--- /dev/null
+++ b/plugins/RequireValidatedEmail/locale/mk/LC_MESSAGES/RequireValidatedEmail.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - RequireValidatedEmail to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RequireValidatedEmail\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-requirevalidatedemail\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: RequireValidatedEmailPlugin.php:72
+msgid "You must validate your email address before posting."
+msgstr ""
+"Пред да почнете да објавувате ќе мора да ја потврдите Вашата е-поштенска "
+"адреса."
+
+#: RequireValidatedEmailPlugin.php:90
+msgid "You must provide an email address to register."
+msgstr "За да се регистрирате, ќе мора да наведете е-поштенска адреса."
+
+#: RequireValidatedEmailPlugin.php:169
+msgid ""
+"The Require Validated Email plugin disables posting for accounts that do not "
+"have a validated email address."
+msgstr ""
+"Приклучокот Require Validated Email оневозможува објави од сметки што немаат "
+"потврдено е-поштенска адреса."
diff --git a/plugins/RequireValidatedEmail/locale/nl/LC_MESSAGES/RequireValidatedEmail.po b/plugins/RequireValidatedEmail/locale/nl/LC_MESSAGES/RequireValidatedEmail.po
new file mode 100644
index 000000000..64790f336
--- /dev/null
+++ b/plugins/RequireValidatedEmail/locale/nl/LC_MESSAGES/RequireValidatedEmail.po
@@ -0,0 +1,38 @@
+# Translation of StatusNet - RequireValidatedEmail to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RequireValidatedEmail\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-requirevalidatedemail\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RequireValidatedEmailPlugin.php:72
+msgid "You must validate your email address before posting."
+msgstr "U moet uw e-mailadres bevestigen voordat u berichten kunt plaatsen."
+
+#: RequireValidatedEmailPlugin.php:90
+msgid "You must provide an email address to register."
+msgstr "U moet een e-mailadres opgeven om te kunnen registreren."
+
+#: RequireValidatedEmailPlugin.php:169
+msgid ""
+"The Require Validated Email plugin disables posting for accounts that do not "
+"have a validated email address."
+msgstr ""
+"De plug-in Require Validated Email staat het plaatsen van berichten alleen "
+"toe voor gebruikers met een bevestigd e-mailadres."
diff --git a/plugins/RequireValidatedEmail/locale/tl/LC_MESSAGES/RequireValidatedEmail.po b/plugins/RequireValidatedEmail/locale/tl/LC_MESSAGES/RequireValidatedEmail.po
new file mode 100644
index 000000000..da63cc8b4
--- /dev/null
+++ b/plugins/RequireValidatedEmail/locale/tl/LC_MESSAGES/RequireValidatedEmail.po
@@ -0,0 +1,39 @@
+# Translation of StatusNet - RequireValidatedEmail to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RequireValidatedEmail\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-requirevalidatedemail\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: RequireValidatedEmailPlugin.php:72
+msgid "You must validate your email address before posting."
+msgstr "Kailangan patunayan mo ang iyong tirahan ng e-liham bago magpaskil."
+
+#: RequireValidatedEmailPlugin.php:90
+msgid "You must provide an email address to register."
+msgstr "Dapat kang magbigay ng isang tirahan ng e-liham upang makapagpatala."
+
+#: RequireValidatedEmailPlugin.php:169
+msgid ""
+"The Require Validated Email plugin disables posting for accounts that do not "
+"have a validated email address."
+msgstr ""
+"Ang pamasak na Kailanganin ang Pagpapatunay ng E-liham ay hindi nagpapagana "
+"ng pagpapaskil para sa mga akawnt na walang isang napatunayan tirahan ng e-"
+"liham."
diff --git a/plugins/RequireValidatedEmail/locale/uk/LC_MESSAGES/RequireValidatedEmail.po b/plugins/RequireValidatedEmail/locale/uk/LC_MESSAGES/RequireValidatedEmail.po
new file mode 100644
index 000000000..d1f2b85a4
--- /dev/null
+++ b/plugins/RequireValidatedEmail/locale/uk/LC_MESSAGES/RequireValidatedEmail.po
@@ -0,0 +1,41 @@
+# Translation of StatusNet - RequireValidatedEmail to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - RequireValidatedEmail\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-requirevalidatedemail\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: RequireValidatedEmailPlugin.php:72
+msgid "You must validate your email address before posting."
+msgstr ""
+"Ви повинні підтвердити свою адресу електронної пошти до того, як почнете "
+"надсилати дописи поштою."
+
+#: RequireValidatedEmailPlugin.php:90
+msgid "You must provide an email address to register."
+msgstr "Ви повинні зазначити свою адресу електронної пошти для реєстрації."
+
+#: RequireValidatedEmailPlugin.php:169
+msgid ""
+"The Require Validated Email plugin disables posting for accounts that do not "
+"have a validated email address."
+msgstr ""
+"Додаток Require Validated Email унеможливлює надсилання дописів поштою для "
+"тих акаунтів, що не мають підтверджених електронних адрес."
diff --git a/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot b/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot
index 6fa18c464..f66b6deee 100644
--- a/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot
+++ b/plugins/ReverseUsernameAuthentication/locale/ReverseUsernameAuthentication.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/ReverseUsernameAuthentication/locale/fr/LC_MESSAGES/ReverseUsernameAuthentication.po b/plugins/ReverseUsernameAuthentication/locale/fr/LC_MESSAGES/ReverseUsernameAuthentication.po
new file mode 100644
index 000000000..0f6bb2fe3
--- /dev/null
+++ b/plugins/ReverseUsernameAuthentication/locale/fr/LC_MESSAGES/ReverseUsernameAuthentication.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - ReverseUsernameAuthentication to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ReverseUsernameAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-reverseusernameauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: ReverseUsernameAuthenticationPlugin.php:67
+msgid ""
+"The Reverse Username Authentication plugin allows for StatusNet to handle "
+"authentication by checking if the provided password is the same as the "
+"reverse of the username."
+msgstr ""
+"L’extension Reverse Username Authentication permet à StatusNet de gérer "
+"l’identification en vérifiant si le mot de passe fourni est identique à "
+"l’inverse du nom d’utilisateur."
diff --git a/plugins/ReverseUsernameAuthentication/locale/ia/LC_MESSAGES/ReverseUsernameAuthentication.po b/plugins/ReverseUsernameAuthentication/locale/ia/LC_MESSAGES/ReverseUsernameAuthentication.po
new file mode 100644
index 000000000..b1f51c37c
--- /dev/null
+++ b/plugins/ReverseUsernameAuthentication/locale/ia/LC_MESSAGES/ReverseUsernameAuthentication.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - ReverseUsernameAuthentication to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ReverseUsernameAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-reverseusernameauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ReverseUsernameAuthenticationPlugin.php:67
+msgid ""
+"The Reverse Username Authentication plugin allows for StatusNet to handle "
+"authentication by checking if the provided password is the same as the "
+"reverse of the username."
+msgstr ""
+"Le plug-in \"Reverse Username Authentication\" permitte que StatusNet manea "
+"le authentication per verificar si le contrasigno fornite es identic al "
+"inverso del nomine de usator."
diff --git a/plugins/ReverseUsernameAuthentication/locale/ja/LC_MESSAGES/ReverseUsernameAuthentication.po b/plugins/ReverseUsernameAuthentication/locale/ja/LC_MESSAGES/ReverseUsernameAuthentication.po
new file mode 100644
index 000000000..329607b73
--- /dev/null
+++ b/plugins/ReverseUsernameAuthentication/locale/ja/LC_MESSAGES/ReverseUsernameAuthentication.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - ReverseUsernameAuthentication to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ReverseUsernameAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-reverseusernameauthentication\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: ReverseUsernameAuthenticationPlugin.php:67
+msgid ""
+"The Reverse Username Authentication plugin allows for StatusNet to handle "
+"authentication by checking if the provided password is the same as the "
+"reverse of the username."
+msgstr ""
+"反転ユーザー名認証プラグインは、StatusNetに、パスワードをユーザー名を反転させ"
+"たものと同じものを利用しているかどうか確認させ、認証を処理させることができま"
+"す。"
diff --git a/plugins/ReverseUsernameAuthentication/locale/mk/LC_MESSAGES/ReverseUsernameAuthentication.po b/plugins/ReverseUsernameAuthentication/locale/mk/LC_MESSAGES/ReverseUsernameAuthentication.po
new file mode 100644
index 000000000..e12975dc7
--- /dev/null
+++ b/plugins/ReverseUsernameAuthentication/locale/mk/LC_MESSAGES/ReverseUsernameAuthentication.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - ReverseUsernameAuthentication to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ReverseUsernameAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-reverseusernameauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: ReverseUsernameAuthenticationPlugin.php:67
+msgid ""
+"The Reverse Username Authentication plugin allows for StatusNet to handle "
+"authentication by checking if the provided password is the same as the "
+"reverse of the username."
+msgstr ""
+"Приклучокот за Потврда на обратно корисничко име му овозможува на StatusNet "
+"да работи со потврди проверувајќи дали наведената лозинка е иста што и "
+"обратното од корисничкото име."
diff --git a/plugins/ReverseUsernameAuthentication/locale/nl/LC_MESSAGES/ReverseUsernameAuthentication.po b/plugins/ReverseUsernameAuthentication/locale/nl/LC_MESSAGES/ReverseUsernameAuthentication.po
new file mode 100644
index 000000000..b1ca068d0
--- /dev/null
+++ b/plugins/ReverseUsernameAuthentication/locale/nl/LC_MESSAGES/ReverseUsernameAuthentication.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - ReverseUsernameAuthentication to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ReverseUsernameAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-reverseusernameauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ReverseUsernameAuthenticationPlugin.php:67
+msgid ""
+"The Reverse Username Authentication plugin allows for StatusNet to handle "
+"authentication by checking if the provided password is the same as the "
+"reverse of the username."
+msgstr ""
+"De plug-in Reverse Username Authentication laat StatusNet authenticeren door "
+"te controleren of het opgegeven wachtwoord het omgekeerde van de "
+"gebruikersnaam is."
diff --git a/plugins/ReverseUsernameAuthentication/locale/tl/LC_MESSAGES/ReverseUsernameAuthentication.po b/plugins/ReverseUsernameAuthentication/locale/tl/LC_MESSAGES/ReverseUsernameAuthentication.po
new file mode 100644
index 000000000..bcf1f40db
--- /dev/null
+++ b/plugins/ReverseUsernameAuthentication/locale/tl/LC_MESSAGES/ReverseUsernameAuthentication.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - ReverseUsernameAuthentication to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ReverseUsernameAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-reverseusernameauthentication\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ReverseUsernameAuthenticationPlugin.php:67
+msgid ""
+"The Reverse Username Authentication plugin allows for StatusNet to handle "
+"authentication by checking if the provided password is the same as the "
+"reverse of the username."
+msgstr ""
+"Ang pamasak na Pabaligtad na Pagpapatunay ng Pangalan ng Tagagamit ay "
+"nagpapahintulot sa StatusNet na panghawakan ang pagpapatunay sa pamamagitan "
+"ng pagsusuri kung ang ibinigay na hudyat ay katulad ng kabaligtara ng "
+"pangalan ng tagagamit."
diff --git a/plugins/ReverseUsernameAuthentication/locale/uk/LC_MESSAGES/ReverseUsernameAuthentication.po b/plugins/ReverseUsernameAuthentication/locale/uk/LC_MESSAGES/ReverseUsernameAuthentication.po
new file mode 100644
index 000000000..44aa0235b
--- /dev/null
+++ b/plugins/ReverseUsernameAuthentication/locale/uk/LC_MESSAGES/ReverseUsernameAuthentication.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - ReverseUsernameAuthentication to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ReverseUsernameAuthentication\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:20+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:25+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-reverseusernameauthentication\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: ReverseUsernameAuthenticationPlugin.php:67
+msgid ""
+"The Reverse Username Authentication plugin allows for StatusNet to handle "
+"authentication by checking if the provided password is the same as the "
+"reverse of the username."
+msgstr ""
+"Додаток Reverse Username Authentication дозволяє сайту StatusNet перевіряти "
+"запити автентифікації на предмет того, чи не збігається зазначений пароль із "
+"ім’ям користувача, якби його було написано у зворотньому напрямку."
diff --git a/plugins/Sample/SamplePlugin.php b/plugins/Sample/SamplePlugin.php
index 913741226..ef69121a9 100644
--- a/plugins/Sample/SamplePlugin.php
+++ b/plugins/Sample/SamplePlugin.php
@@ -101,7 +101,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class SamplePlugin extends Plugin
{
/**
@@ -129,7 +128,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function initialize()
{
return true;
@@ -143,7 +141,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function cleanup()
{
return true;
@@ -168,7 +165,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onCheckSchema()
{
$schema = Schema::get();
@@ -201,7 +197,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onAutoload($cls)
{
$dir = dirname(__FILE__);
@@ -231,7 +226,6 @@ class SamplePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onRouterInitialized($m)
{
$m->connect('main/hello',
@@ -256,7 +250,6 @@ class SamplePlugin extends Plugin
*
* @see Action
*/
-
function onEndPrimaryNav($action)
{
// common_local_url() gets the correct URL for the action name
@@ -278,4 +271,3 @@ class SamplePlugin extends Plugin
return true;
}
}
-
diff --git a/plugins/Sample/User_greeting_count.php b/plugins/Sample/User_greeting_count.php
index fc0cbd28f..38d68c91e 100644
--- a/plugins/Sample/User_greeting_count.php
+++ b/plugins/Sample/User_greeting_count.php
@@ -70,7 +70,6 @@ class User_greeting_count extends Memcached_DataObject
* @return User_greeting_count object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('User_greeting_count', $k, $v);
@@ -84,7 +83,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -100,7 +98,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return array list of key field names
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -118,7 +115,6 @@ class User_greeting_count extends Memcached_DataObject
* 'K' for primary key: for compound keys, add an entry for each component;
* 'U' for unique keys: compound keys are not well supported here.
*/
-
function keyTypes()
{
return array('user_id' => 'K');
@@ -134,7 +130,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return array magic three-false array that stops auto-incrementing.
*/
-
function sequenceKey()
{
return array(false, false, false);
@@ -150,7 +145,6 @@ class User_greeting_count extends Memcached_DataObject
*
* @return User_greeting_count instance for this user, with count already incremented.
*/
-
static function inc($user_id)
{
$gc = User_greeting_count::staticGet('user_id', $user_id);
@@ -165,12 +159,12 @@ class User_greeting_count extends Memcached_DataObject
$result = $gc->insert();
if (!$result) {
- throw Exception(sprintf(_m("Could not save new greeting count for %d"),
+ // TRANS: Exception thrown when the user greeting count could not be saved in the database.
+ // TRANS: %d is a user ID (number).
+ throw Exception(sprintf(_m("Could not save new greeting count for %d."),
$user_id));
}
-
} else {
-
$orig = clone($gc);
$gc->greeting_count++;
@@ -178,7 +172,9 @@ class User_greeting_count extends Memcached_DataObject
$result = $gc->update($orig);
if (!$result) {
- throw Exception(sprintf(_m("Could not increment greeting count for %d"),
+ // TRANS: Exception thrown when the user greeting count could not be saved in the database.
+ // TRANS: %d is a user ID (number).
+ throw Exception(sprintf(_m("Could not increment greeting count for %d."),
$user_id));
}
}
diff --git a/plugins/Sample/hello.php b/plugins/Sample/hello.php
index dfbd0ad4f..a793ac6de 100644
--- a/plugins/Sample/hello.php
+++ b/plugins/Sample/hello.php
@@ -46,7 +46,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class HelloAction extends Action
{
var $user = null;
@@ -67,7 +66,6 @@ class HelloAction extends Action
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -93,7 +91,6 @@ class HelloAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
@@ -108,13 +105,12 @@ class HelloAction extends Action
*
* @return string Title of the page
*/
-
function title()
{
if (empty($this->user)) {
return _m('Hello');
} else {
- return sprintf(_m('Hello, %s'), $this->user->nickname);
+ return sprintf(_m('Hello, %s!'), $this->user->nickname);
}
}
@@ -130,7 +126,6 @@ class HelloAction extends Action
*
* @return void
*/
-
function showContent()
{
if (empty($this->user)) {
@@ -162,7 +157,6 @@ class HelloAction extends Action
*
* @return boolean is read only action?
*/
-
function isReadOnly($args)
{
return false;
diff --git a/plugins/Sample/locale/Sample.pot b/plugins/Sample/locale/Sample.pot
index bd21dd3c4..60234e3c4 100644
--- a/plugins/Sample/locale/Sample.pot
+++ b/plugins/Sample/locale/Sample.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -17,38 +17,47 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-#: User_greeting_count.php:163
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
#, php-format
-msgid "Could not save new greeting count for %d"
+msgid "Could not save new greeting count for %d."
msgstr ""
-#: User_greeting_count.php:176
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
#, php-format
-msgid "Could not increment greeting count for %d"
+msgid "Could not increment greeting count for %d."
msgstr ""
-#: SamplePlugin.php:266 hello.php:115
+#: SamplePlugin.php:259 hello.php:111
msgid "Hello"
msgstr ""
-#: SamplePlugin.php:266
+#: SamplePlugin.php:259
msgid "A warm greeting"
msgstr ""
-#: SamplePlugin.php:277
+#: SamplePlugin.php:270
msgid "A sample plugin to show basics of development for new hackers."
msgstr ""
-#: hello.php:117 hello.php:141
+#: hello.php:113
#, php-format
-msgid "Hello, %s"
+msgid "Hello, %s!"
msgstr ""
-#: hello.php:138
+#: hello.php:133
msgid "Hello, stranger!"
msgstr ""
-#: hello.php:143
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr ""
+
+#: hello.php:138
#, php-format
msgid "I have greeted you %d time."
msgid_plural "I have greeted you %d times."
diff --git a/plugins/Sample/locale/br/LC_MESSAGES/Sample.po b/plugins/Sample/locale/br/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..1686bf174
--- /dev/null
+++ b/plugins/Sample/locale/br/LC_MESSAGES/Sample.po
@@ -0,0 +1,69 @@
+# Translation of StatusNet - Sample to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Y-M D
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr ""
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr ""
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "Demat"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr ""
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr ""
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "Demat, %s !"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "Demat, estrañjour!"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "Demat, %s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] ""
+msgstr[1] ""
diff --git a/plugins/Sample/locale/fr/LC_MESSAGES/Sample.po b/plugins/Sample/locale/fr/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..8b4728c47
--- /dev/null
+++ b/plugins/Sample/locale/fr/LC_MESSAGES/Sample.po
@@ -0,0 +1,72 @@
+# Translation of StatusNet - Sample to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr ""
+"Impossible de sauvegarder le nouveau compte de vœux pour l’utilisateur %d."
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr "Impossible d’incrémenter le compte de vœux pour l’utilisateur %d."
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "Bonjour"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr "Un accueil chaleureux"
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr ""
+"Un exemple de greffon pour montrer les bases de développement pour les "
+"nouveaux codeurs."
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "Bonjour, %s !"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "Bonjour, étranger !"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "Bonjour, %s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] "une"
+msgstr[1] "%d"
diff --git a/plugins/Sample/locale/ia/LC_MESSAGES/Sample.po b/plugins/Sample/locale/ia/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..fbaf98a79
--- /dev/null
+++ b/plugins/Sample/locale/ia/LC_MESSAGES/Sample.po
@@ -0,0 +1,71 @@
+# Translation of StatusNet - Sample to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr "Non poteva salveguardar le numero de nove salutationes pro %d."
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr "Non poteva incrementar le numero de salutationes pro %d."
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "Salute"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr "Un calide salutation"
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr ""
+"Un plug-in de exemplo pro demonstrar le principios de disveloppamento pro "
+"nove programmatores."
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "Salute %s!"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "Salute estraniero!"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "Salute %s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] "Io te ha salutate %d vice."
+msgstr[1] "Io te ha salutate %d vices."
diff --git a/plugins/Sample/locale/mk/LC_MESSAGES/Sample.po b/plugins/Sample/locale/mk/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..58f09fc8f
--- /dev/null
+++ b/plugins/Sample/locale/mk/LC_MESSAGES/Sample.po
@@ -0,0 +1,70 @@
+# Translation of StatusNet - Sample to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr "Не можев да го зачувам бројот на поздрави за %d."
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr "Не можев да го дополнам бројот на поздрави за %d."
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "Здраво"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr "Срдечен поздрав"
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr ""
+"Приклучок-пример за основите на развојното програмирање за нови хакери."
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "Здраво, %s!"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "Здрво, незнајнику!"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "Здраво, %s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] "Ве поздравив еднаш."
+msgstr[1] "Ве поздравив %d пати."
diff --git a/plugins/Sample/locale/nl/LC_MESSAGES/Sample.po b/plugins/Sample/locale/nl/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..0d265acb3
--- /dev/null
+++ b/plugins/Sample/locale/nl/LC_MESSAGES/Sample.po
@@ -0,0 +1,70 @@
+# Translation of StatusNet - Sample to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr "Het was niet mogelijk het aantal begroetingen op te slaan voor %d."
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr "Het was niet mogelijk het aantal begroetingen op te hogen voor %d."
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "Hallo"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr "Een warme begroeting"
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr ""
+"Een voorbeeldplug-in als basis voor ontwikkelingen door nieuwe hackers."
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "Hallo, %s!"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "Hallo vreemdeling!"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "Hallo, %s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] "Ik heb u voor de eerste keer gegroet."
+msgstr[1] "Ik heb u %d keer gegroet."
diff --git a/plugins/Sample/locale/tl/LC_MESSAGES/Sample.po b/plugins/Sample/locale/tl/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..076c09ba0
--- /dev/null
+++ b/plugins/Sample/locale/tl/LC_MESSAGES/Sample.po
@@ -0,0 +1,71 @@
+# Translation of StatusNet - Sample to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr "Hindi masagip ang bagong bilang ng pagbati para sa %d."
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr "Hindi masudlungan ang bilang ng pagbati para sa %d."
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "Kumusta"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr "Isang mainit-init na pagbati"
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr ""
+"Isang halimbawang pampasak upang ipakita ang mga saligan ng kaunlaran para "
+"sa bagong mga mangunguha."
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "Kumusta, %s!"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "Kumusta, dayuhan!"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "Kumusta, %s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] "Binati kita ng %d ulit."
+msgstr[1] "Binati kita ng %d mga ulit."
diff --git a/plugins/Sample/locale/uk/LC_MESSAGES/Sample.po b/plugins/Sample/locale/uk/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..1ada83ad2
--- /dev/null
+++ b/plugins/Sample/locale/uk/LC_MESSAGES/Sample.po
@@ -0,0 +1,71 @@
+# Translation of StatusNet - Sample to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr "Не вдалося зберегти новий лічильник привітань для %d."
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr "Не вдалося перерахувати лічильник привітань для %d."
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "Привіт"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr "Щирі вітання"
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr "Приклад додатку для демонстрації основ розробки новим гакерам."
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "Привіт, %s!"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "Привіт, чужинцю!"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "Привіт, %s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] "Я привітав вас %d раз."
+msgstr[1] "Я привітав вас %d разів."
+msgstr[2] "Я привітав вас %d разів."
diff --git a/plugins/Sample/locale/zh_CN/LC_MESSAGES/Sample.po b/plugins/Sample/locale/zh_CN/LC_MESSAGES/Sample.po
new file mode 100644
index 000000000..e0a3f97b9
--- /dev/null
+++ b/plugins/Sample/locale/zh_CN/LC_MESSAGES/Sample.po
@@ -0,0 +1,69 @@
+# Translation of StatusNet - Sample to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - Sample\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:22+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-sample\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:164
+#, php-format
+msgid "Could not save new greeting count for %d."
+msgstr "无法保存%d新的问候计数。"
+
+#. TRANS: Exception thrown when the user greeting count could not be saved in the database.
+#. TRANS: %d is a user ID (number).
+#: User_greeting_count.php:177
+#, php-format
+msgid "Could not increment greeting count for %d."
+msgstr "无法增加%d的问候计数。"
+
+#: SamplePlugin.php:259 hello.php:111
+msgid "Hello"
+msgstr "你好"
+
+#: SamplePlugin.php:259
+msgid "A warm greeting"
+msgstr "一个热情的问候"
+
+#: SamplePlugin.php:270
+msgid "A sample plugin to show basics of development for new hackers."
+msgstr "一个为新的 hackers 显示基础开发的示例插件。"
+
+#: hello.php:113
+#, php-format
+msgid "Hello, %s!"
+msgstr "你好,%s!"
+
+#: hello.php:133
+msgid "Hello, stranger!"
+msgstr "你好,陌生人!"
+
+#: hello.php:136
+#, php-format
+msgid "Hello, %s"
+msgstr "你好,%s"
+
+#: hello.php:138
+#, php-format
+msgid "I have greeted you %d time."
+msgid_plural "I have greeted you %d times."
+msgstr[0] ""
diff --git a/plugins/ShareNotice/ShareNoticePlugin.php b/plugins/ShareNotice/ShareNoticePlugin.php
new file mode 100644
index 000000000..8b94f83c8
--- /dev/null
+++ b/plugins/ShareNotice/ShareNoticePlugin.php
@@ -0,0 +1,223 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package ShareNoticePlugin
+ * @maintainer Brion Vibber <brion@status.net>
+ */
+
+if (!defined('STATUSNET')) { exit(1); }
+
+class ShareNoticePlugin extends Plugin
+{
+ public $targets = array(
+ array('Twitter'),
+ array('Facebook'),
+ array('StatusNet', array('baseurl' => 'http://identi.ca'))
+ );
+
+ function onEndShowStatusNetStyles($action) {
+ $action->cssLink('plugins/ShareNotice/css/sharenotice.css');
+ return true;
+ }
+
+ function onStartShowNoticeItem($item)
+ {
+ $notice = $item->notice;
+ $out = $item->out;
+
+ $out->elementStart('ul', array('class' => 'notice-share'));
+ foreach ($this->targets as $data) {
+ $type = $data[0];
+ $args = (count($data) > 1) ? $data[1] : array();
+ $target = $this->getShareTarget($type, $notice, $args);
+ $this->showShareTarget($out, $target);
+ }
+ $out->elementEnd('ul');
+ }
+
+ private function getShareTarget($type, $notice, $args)
+ {
+ $class = ucfirst($type) . 'ShareTarget';
+
+ return new $class($notice, $args);
+ }
+
+ private function showShareTarget(HTMLOutputter $out, NoticeShareTarget $target)
+ {
+ $class = $target->getClass();
+ $text = $target->getText();
+ $url = $target->targetUrl();
+
+ $out->elementStart('li', array('class' => 'notice-share-' . $class));
+ $out->elementStart('a', array(
+ 'href' => $url,
+ 'title' => $text,
+ 'target' => '_blank'
+ ));
+ $out->element('span', array(), $text);
+ $out->elementEnd('a');
+ $out->elementEnd('li');
+ }
+}
+
+abstract class NoticeShareTarget
+{
+ protected $notice;
+
+ public function __construct($notice)
+ {
+ $this->notice = $notice;
+ }
+
+ public abstract function getClass();
+
+ public abstract function getText();
+
+ public abstract function targetUrl();
+}
+
+abstract class GenericNoticeShareTarget extends NoticeShareTarget
+{
+ protected function maxLength()
+ {
+ return 140; // typical
+ }
+
+ protected function statusText()
+ {
+ // TRANS: Leave this message unchanged.
+ $pattern = _m('"%s"');
+ $url = $this->notice->bestUrl();
+ $suffix = ' ' . $url;
+ $room = $this->maxLength() - mb_strlen($suffix) - (mb_strlen($pattern) - mb_strlen('%s'));
+
+ $content = $this->notice->content;
+ if (mb_strlen($content) > $room) {
+ $content = mb_substr($content, 0, $room - 1) . '…';
+ }
+
+ return sprintf($pattern, $content) . $suffix;
+ }
+}
+
+class TwitterShareTarget extends GenericNoticeShareTarget
+{
+ public function getClass()
+ {
+ return 'twitter';
+ }
+
+ public function getText()
+ {
+ // TRANS: Tooltip for image to share a notice on Twitter.
+ return _m('Share on Twitter');
+ }
+
+ public function targetUrl()
+ {
+ $args = array(
+ 'status' => $this->statusText()
+ );
+ return 'http://twitter.com/home?' .
+ http_build_query($args, null, '&');
+ }
+}
+
+class StatusNetShareTarget extends GenericNoticeShareTarget
+{
+ protected $baseurl;
+
+ public function __construct($notice, $args)
+ {
+ parent::__construct($notice);
+ $this->baseurl = $args['baseurl'];
+ }
+
+ public function getClass()
+ {
+ return 'statusnet';
+ }
+
+ public function getText()
+ {
+ $host = parse_url($this->baseurl, PHP_URL_HOST);
+ // TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+ // TRANS: %s is a host name.
+ return sprintf(_m('Share on %s'), $host);
+ }
+
+ public function targetUrl()
+ {
+ $args = array(
+ 'status_textarea' => $this->statusText()
+ );
+ return $this->baseurl . '/notice/new?' .
+ http_build_query($args, null, '&');
+ }
+}
+
+class FacebookShareTarget extends NoticeShareTarget
+{
+ public function getClass()
+ {
+ return 'facebook';
+ }
+
+ public function getText()
+ {
+ // TRANS: Tooltip for image to share a notice on Facebook.
+ return _m('Share on Facebook');
+ }
+
+ public function targetUrl()
+ {
+ $args = array(
+ 'u' => $this->notice->bestUrl(),
+ // TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
+ 't' => sprintf(_m('"%s"'), $this->notice->content),
+ );
+ return 'http://www.facebook.com/sharer.php?' .
+ http_build_query($args, null, '&');
+ }
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:ShareNotice';
+
+ $versions[] = array('name' => 'ShareNotice',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Brion Vibber',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('This plugin allows sharing of notices to Twitter, Facebook and other platforms.'));
+
+ return true;
+ }
+}
diff --git a/plugins/ShareNotice/css/README b/plugins/ShareNotice/css/README
new file mode 100644
index 000000000..a3f466197
--- /dev/null
+++ b/plugins/ShareNotice/css/README
@@ -0,0 +1,9 @@
+icon-sharing.png is from http://www.openshareicons.com/
+
+Shareaholic has made the Open Share Icon freely available for use by others under the
+Creative Commons Attribution-Share Alike 3.0 Unported License.
+
+
+icon-twitter.png is from http://twitter.com/favicon.ico and distributed under fair use
+icon-facebook.png is from http://facebook.com/favicon.ico and distributed under fair use
+icon-statusnet.png is from http://status.net/favicon.ico and distributed under fair use
diff --git a/plugins/ShareNotice/css/icon-facebook.png b/plugins/ShareNotice/css/icon-facebook.png
new file mode 100644
index 000000000..3105e3069
--- /dev/null
+++ b/plugins/ShareNotice/css/icon-facebook.png
Binary files differ
diff --git a/plugins/ShareNotice/css/icon-share.png b/plugins/ShareNotice/css/icon-share.png
new file mode 100644
index 000000000..5be2b46c8
--- /dev/null
+++ b/plugins/ShareNotice/css/icon-share.png
Binary files differ
diff --git a/plugins/ShareNotice/css/icon-statusnet.png b/plugins/ShareNotice/css/icon-statusnet.png
new file mode 100644
index 000000000..a7b39090d
--- /dev/null
+++ b/plugins/ShareNotice/css/icon-statusnet.png
Binary files differ
diff --git a/plugins/ShareNotice/css/icon-twitter.png b/plugins/ShareNotice/css/icon-twitter.png
new file mode 100644
index 000000000..f9e778d9a
--- /dev/null
+++ b/plugins/ShareNotice/css/icon-twitter.png
Binary files differ
diff --git a/plugins/ShareNotice/css/sharenotice.css b/plugins/ShareNotice/css/sharenotice.css
new file mode 100644
index 000000000..f4f847e66
--- /dev/null
+++ b/plugins/ShareNotice/css/sharenotice.css
@@ -0,0 +1,23 @@
+.notice-share {
+ width: 24px;
+ float: right;
+}
+
+.notice-share li a {
+ display: block;
+ width: 16px;
+ height: 16px;
+ background: url(icon-share.png) no-repeat;
+}
+.notice-share li.notice-share-twitter a {
+ background-image: url(icon-twitter.png);
+}
+.notice-share li.notice-share-facebook a {
+ background-image: url(icon-facebook.png);
+}
+.notice-share li.notice-share-statusnet a {
+ background-image: url(icon-statusnet.png);
+}
+.notice-share li a span {
+ display: none;
+}
diff --git a/plugins/ShareNotice/locale/ShareNotice.pot b/plugins/ShareNotice/locale/ShareNotice.pot
new file mode 100644
index 000000000..ed180fa44
--- /dev/null
+++ b/plugins/ShareNotice/locale/ShareNotice.pot
@@ -0,0 +1,48 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANS: Leave this message unchanged.
+#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
+#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194
+#, php-format
+msgid "\"%s\""
+msgstr ""
+
+#. TRANS: Tooltip for image to share a notice on Twitter.
+#: ShareNoticePlugin.php:130
+msgid "Share on Twitter"
+msgstr ""
+
+#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+#. TRANS: %s is a host name.
+#: ShareNoticePlugin.php:163
+#, php-format
+msgid "Share on %s"
+msgstr ""
+
+#. TRANS: Tooltip for image to share a notice on Facebook.
+#: ShareNoticePlugin.php:186
+msgid "Share on Facebook"
+msgstr ""
+
+#. TRANS: Plugin description.
+#: ShareNoticePlugin.php:219
+msgid ""
+"This plugin allows sharing of notices to Twitter, Facebook and other "
+"platforms."
+msgstr ""
diff --git a/plugins/ShareNotice/locale/ia/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/ia/LC_MESSAGES/ShareNotice.po
new file mode 100644
index 000000000..0f6c4afe8
--- /dev/null
+++ b/plugins/ShareNotice/locale/ia/LC_MESSAGES/ShareNotice.po
@@ -0,0 +1,55 @@
+# Translation of StatusNet - ShareNotice to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ShareNotice\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:45:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-sharenotice\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Leave this message unchanged.
+#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
+#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194
+#, php-format
+msgid "\"%s\""
+msgstr "\"%s\""
+
+#. TRANS: Tooltip for image to share a notice on Twitter.
+#: ShareNoticePlugin.php:130
+msgid "Share on Twitter"
+msgstr "Condivider in Twitter"
+
+#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+#. TRANS: %s is a host name.
+#: ShareNoticePlugin.php:163
+#, php-format
+msgid "Share on %s"
+msgstr "Condivider in %s"
+
+#. TRANS: Tooltip for image to share a notice on Facebook.
+#: ShareNoticePlugin.php:186
+msgid "Share on Facebook"
+msgstr "Condivider in Facebook"
+
+#. TRANS: Plugin description.
+#: ShareNoticePlugin.php:219
+msgid ""
+"This plugin allows sharing of notices to Twitter, Facebook and other "
+"platforms."
+msgstr ""
+"Iste plug-in permitte condivider notas in Twitter, Facebook e altere "
+"platteformas."
diff --git a/plugins/ShareNotice/locale/mk/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/mk/LC_MESSAGES/ShareNotice.po
new file mode 100644
index 000000000..ea98906c2
--- /dev/null
+++ b/plugins/ShareNotice/locale/mk/LC_MESSAGES/ShareNotice.po
@@ -0,0 +1,55 @@
+# Translation of StatusNet - ShareNotice to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ShareNotice\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:45:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-sharenotice\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Leave this message unchanged.
+#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
+#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194
+#, php-format
+msgid "\"%s\""
+msgstr "„%s“"
+
+#. TRANS: Tooltip for image to share a notice on Twitter.
+#: ShareNoticePlugin.php:130
+msgid "Share on Twitter"
+msgstr "Сподели на Twitter"
+
+#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+#. TRANS: %s is a host name.
+#: ShareNoticePlugin.php:163
+#, php-format
+msgid "Share on %s"
+msgstr "Сподели на %s"
+
+#. TRANS: Tooltip for image to share a notice on Facebook.
+#: ShareNoticePlugin.php:186
+msgid "Share on Facebook"
+msgstr "Сподели на Facebook"
+
+#. TRANS: Plugin description.
+#: ShareNoticePlugin.php:219
+msgid ""
+"This plugin allows sharing of notices to Twitter, Facebook and other "
+"platforms."
+msgstr ""
+"Приклучокот Ви овозможува да споделувате забелешки на Twitter, Facebook и "
+"други подлоги."
diff --git a/plugins/ShareNotice/locale/nl/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/nl/LC_MESSAGES/ShareNotice.po
new file mode 100644
index 000000000..cbf057a15
--- /dev/null
+++ b/plugins/ShareNotice/locale/nl/LC_MESSAGES/ShareNotice.po
@@ -0,0 +1,56 @@
+# Translation of StatusNet - ShareNotice to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: SPQRobin
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ShareNotice\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:45:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-sharenotice\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Leave this message unchanged.
+#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
+#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194
+#, php-format
+msgid "\"%s\""
+msgstr "\"%s\""
+
+#. TRANS: Tooltip for image to share a notice on Twitter.
+#: ShareNoticePlugin.php:130
+msgid "Share on Twitter"
+msgstr "Delen op Twitter"
+
+#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+#. TRANS: %s is a host name.
+#: ShareNoticePlugin.php:163
+#, php-format
+msgid "Share on %s"
+msgstr "Delen op %s"
+
+#. TRANS: Tooltip for image to share a notice on Facebook.
+#: ShareNoticePlugin.php:186
+msgid "Share on Facebook"
+msgstr "Delen op Facebook"
+
+#. TRANS: Plugin description.
+#: ShareNoticePlugin.php:219
+msgid ""
+"This plugin allows sharing of notices to Twitter, Facebook and other "
+"platforms."
+msgstr ""
+"Deze plug-in maakt het mogelijk mededelingen te delen op Twitter, Facebook "
+"en andere platformen."
diff --git a/plugins/ShareNotice/locale/tl/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/tl/LC_MESSAGES/ShareNotice.po
new file mode 100644
index 000000000..6bd659493
--- /dev/null
+++ b/plugins/ShareNotice/locale/tl/LC_MESSAGES/ShareNotice.po
@@ -0,0 +1,55 @@
+# Translation of StatusNet - ShareNotice to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ShareNotice\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:45:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-sharenotice\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Leave this message unchanged.
+#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
+#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194
+#, php-format
+msgid "\"%s\""
+msgstr "\"%s\""
+
+#. TRANS: Tooltip for image to share a notice on Twitter.
+#: ShareNoticePlugin.php:130
+msgid "Share on Twitter"
+msgstr "Ibahagi sa Twitter"
+
+#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+#. TRANS: %s is a host name.
+#: ShareNoticePlugin.php:163
+#, php-format
+msgid "Share on %s"
+msgstr "Ibahagi sa %s"
+
+#. TRANS: Tooltip for image to share a notice on Facebook.
+#: ShareNoticePlugin.php:186
+msgid "Share on Facebook"
+msgstr "Ibahagi sa Facebook"
+
+#. TRANS: Plugin description.
+#: ShareNoticePlugin.php:219
+msgid ""
+"This plugin allows sharing of notices to Twitter, Facebook and other "
+"platforms."
+msgstr ""
+"Ang pampasak na ito ay nagpapahintulot na pagpapamahagi ng mga pabatid sa "
+"Twitter, Facebook at ibang mga plataporma."
diff --git a/plugins/ShareNotice/locale/uk/LC_MESSAGES/ShareNotice.po b/plugins/ShareNotice/locale/uk/LC_MESSAGES/ShareNotice.po
new file mode 100644
index 000000000..ed3105fac
--- /dev/null
+++ b/plugins/ShareNotice/locale/uk/LC_MESSAGES/ShareNotice.po
@@ -0,0 +1,56 @@
+# Translation of StatusNet - ShareNotice to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - ShareNotice\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:45:00+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-sharenotice\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Leave this message unchanged.
+#. TRANS: %s is notice content that is shared on Twitter, Facebook or another platform.
+#: ShareNoticePlugin.php:106 ShareNoticePlugin.php:194
+#, php-format
+msgid "\"%s\""
+msgstr "«%s»"
+
+#. TRANS: Tooltip for image to share a notice on Twitter.
+#: ShareNoticePlugin.php:130
+msgid "Share on Twitter"
+msgstr "Розмістити в Twitter"
+
+#. TRANS: Tooltip for image to share a notice on another platform (other than Twitter or Facebook).
+#. TRANS: %s is a host name.
+#: ShareNoticePlugin.php:163
+#, php-format
+msgid "Share on %s"
+msgstr "Розмістити в %s"
+
+#. TRANS: Tooltip for image to share a notice on Facebook.
+#: ShareNoticePlugin.php:186
+msgid "Share on Facebook"
+msgstr "Розмістити в Facebook"
+
+#. TRANS: Plugin description.
+#: ShareNoticePlugin.php:219
+msgid ""
+"This plugin allows sharing of notices to Twitter, Facebook and other "
+"platforms."
+msgstr ""
+"Цей додаток дозволяє ділитися дописами в Twitter, Facebook та інших "
+"сервісах, розміщуючи їх там."
diff --git a/plugins/SimpleUrl/locale/SimpleUrl.pot b/plugins/SimpleUrl/locale/SimpleUrl.pot
index e3c241d53..27eda38ff 100644
--- a/plugins/SimpleUrl/locale/SimpleUrl.pot
+++ b/plugins/SimpleUrl/locale/SimpleUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/SimpleUrl/locale/es/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/es/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..d7ec27779
--- /dev/null
+++ b/plugins/SimpleUrl/locale/es/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - SimpleUrl to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Usa el servicio de acortamiento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/SimpleUrl/locale/fr/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/fr/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..73b156224
--- /dev/null
+++ b/plugins/SimpleUrl/locale/fr/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - SimpleUrl to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utilise le service de raccourcissement d’URL <a href=\"http://%1$s/\">%1$s</"
+"a>."
diff --git a/plugins/SimpleUrl/locale/ia/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/ia/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..b3c155c92
--- /dev/null
+++ b/plugins/SimpleUrl/locale/ia/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - SimpleUrl to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Usa le servicio de accurtamento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/SimpleUrl/locale/ja/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/ja/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..a01b00093
--- /dev/null
+++ b/plugins/SimpleUrl/locale/ja/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - SimpleUrl to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "<a href=\"http://%1$s/\">%1$s</a>をURL短縮サービスとして利用する。"
diff --git a/plugins/SimpleUrl/locale/mk/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/mk/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..84e611527
--- /dev/null
+++ b/plugins/SimpleUrl/locale/mk/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - SimpleUrl to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Користи <a href=\"http://%1$s/\">%1$s</a> - служба за скратување на URL-"
+"адреси."
diff --git a/plugins/SimpleUrl/locale/nb/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/nb/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..28c9815c3
--- /dev/null
+++ b/plugins/SimpleUrl/locale/nb/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - SimpleUrl to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Bruker URL-forkortertjenesten <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/SimpleUrl/locale/nl/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/nl/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..78f44feb0
--- /dev/null
+++ b/plugins/SimpleUrl/locale/nl/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - SimpleUrl to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gebruikt de dienst <a href=\"http://%1$s/\">%1$s</a> om URL's korter te "
+"maken."
diff --git a/plugins/SimpleUrl/locale/ru/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/ru/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..3546df97e
--- /dev/null
+++ b/plugins/SimpleUrl/locale/ru/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - SimpleUrl to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Eleferen
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Использование службы сокращения URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/SimpleUrl/locale/tl/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/tl/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..91ac07ab7
--- /dev/null
+++ b/plugins/SimpleUrl/locale/tl/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - SimpleUrl to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gumagamit ng <a href=\"http://%1$s/\">%1$s</a> na palingkuran ng pampaiksi "
+"ng URL."
diff --git a/plugins/SimpleUrl/locale/uk/LC_MESSAGES/SimpleUrl.po b/plugins/SimpleUrl/locale/uk/LC_MESSAGES/SimpleUrl.po
new file mode 100644
index 000000000..ddf67c36c
--- /dev/null
+++ b/plugins/SimpleUrl/locale/uk/LC_MESSAGES/SimpleUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - SimpleUrl to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SimpleUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:23+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:27+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-simpleurl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: SimpleUrlPlugin.php:58
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Використання <a href=\"http://%1$s/\">%1$s</a> для скорочення URL-адрес."
diff --git a/plugins/Sitemap/SitemapPlugin.php b/plugins/Sitemap/SitemapPlugin.php
index b6d3b1ad3..6a77f8123 100644
--- a/plugins/Sitemap/SitemapPlugin.php
+++ b/plugins/Sitemap/SitemapPlugin.php
@@ -44,7 +44,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class SitemapPlugin extends Plugin
{
const USERS_PER_MAP = 50000;
@@ -57,7 +56,6 @@ class SitemapPlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onAutoload($cls)
{
$dir = dirname(__FILE__);
@@ -89,7 +87,6 @@ class SitemapPlugin extends Plugin
*
* @return boolean hook value.
*/
-
function onEndRobotsTxt($action)
{
$url = common_local_url('sitemapindex');
@@ -106,7 +103,6 @@ class SitemapPlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onRouterInitialized($m)
{
$m->connect('sitemapindex.xml',
@@ -142,7 +138,6 @@ class SitemapPlugin extends Plugin
*
* @return boolean hook value.
*/
-
function onStartShowHeadElements($action)
{
$actionName = $action->trimmed('action');
@@ -181,7 +176,6 @@ class SitemapPlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onCheckSchema()
{
$schema = Schema::get();
@@ -214,11 +208,35 @@ class SitemapPlugin extends Plugin
function onEndAdminPanelNav($menu) {
if (AdminPanelAction::canAdmin('sitemap')) {
// TRANS: Menu item title/tooltip
- $menu_title = _('Sitemap configuration');
+ $menu_title = _m('Sitemap configuration');
// TRANS: Menu item for site administration
- $menu->out->menuItem(common_local_url('sitemapadminpanel'), _('Sitemap'),
+ $menu->out->menuItem(common_local_url('sitemapadminpanel'), _m('MENU','Sitemap'),
$menu_title, $action_name == 'sitemapadminpanel', 'nav_sitemap_admin_panel');
}
return true;
}
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:Sitemap';
+
+ $versions[] = array('name' => 'Sitemap',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('This plugin allows creation of sitemaps for Bing, Yahoo! and Google.'));
+
+ return true;
+ }
}
diff --git a/plugins/Sitemap/Sitemap_notice_count.php b/plugins/Sitemap/Sitemap_notice_count.php
index 6e0061e97..2238ff521 100644
--- a/plugins/Sitemap/Sitemap_notice_count.php
+++ b/plugins/Sitemap/Sitemap_notice_count.php
@@ -51,7 +51,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
*
* @see DB_DataObject
*/
-
class Sitemap_notice_count extends Memcached_DataObject
{
public $__table = 'sitemap_notice_count'; // table name
@@ -72,7 +71,6 @@ class Sitemap_notice_count extends Memcached_DataObject
* @return Sitemap_notice_count object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Sitemap_notice_count', $k, $v);
@@ -86,7 +84,6 @@ class Sitemap_notice_count extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('notice_date' => DB_DATAOBJECT_DATE + DB_DATAOBJECT_NOTNULL,
@@ -103,7 +100,6 @@ class Sitemap_notice_count extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array('notice_date' => 'K');
@@ -117,7 +113,6 @@ class Sitemap_notice_count extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return $this->keys();
@@ -128,7 +123,6 @@ class Sitemap_notice_count extends Memcached_DataObject
$noticeCounts = self::cacheGet('sitemap:notice:counts');
if ($noticeCounts === false) {
-
$snc = new Sitemap_notice_count();
$snc->orderBy('notice_date DESC');
@@ -236,7 +230,8 @@ class Sitemap_notice_count extends Memcached_DataObject
$snc = Sitemap_notice_count::staticGet('notice_date', DB_DataObject_Cast::date($d));
if (empty($snc)) {
- throw new Exception("No such registration date: $d");
+ // TRANS: Exception
+ throw new Exception(_m("No such registration date: $d."));
}
$orig = clone($snc);
diff --git a/plugins/Sitemap/Sitemap_user_count.php b/plugins/Sitemap/Sitemap_user_count.php
index 98dd05bfe..0b45021bf 100644
--- a/plugins/Sitemap/Sitemap_user_count.php
+++ b/plugins/Sitemap/Sitemap_user_count.php
@@ -47,7 +47,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
*
* @see DB_DataObject
*/
-
class Sitemap_user_count extends Memcached_DataObject
{
public $__table = 'sitemap_user_count'; // table name
@@ -68,7 +67,6 @@ class Sitemap_user_count extends Memcached_DataObject
* @return Sitemap_user_count object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Sitemap_user_count', $k, $v);
@@ -82,7 +80,6 @@ class Sitemap_user_count extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('registration_date' => DB_DATAOBJECT_DATE + DB_DATAOBJECT_NOTNULL,
@@ -118,7 +115,6 @@ class Sitemap_user_count extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return $this->keys();
@@ -235,7 +231,8 @@ class Sitemap_user_count extends Memcached_DataObject
$suc = Sitemap_user_count::staticGet('registration_date', DB_DataObject_Cast::date($d));
if (empty($suc)) {
- throw new Exception("No such registration date: $d");
+ // TRANS: Exception thrown when a registration date cannot be found.
+ throw new Exception(_m("No such registration date: $d."));
}
$orig = clone($suc);
diff --git a/plugins/Sitemap/noticesitemap.php b/plugins/Sitemap/noticesitemap.php
index 7d9d2e5d6..efa23b940 100644
--- a/plugins/Sitemap/noticesitemap.php
+++ b/plugins/Sitemap/noticesitemap.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class NoticesitemapAction extends SitemapAction
{
var $notices = null;
diff --git a/plugins/Sitemap/sitemapaction.php b/plugins/Sitemap/sitemapaction.php
index 73b9248a3..ef77645c3 100644
--- a/plugins/Sitemap/sitemapaction.php
+++ b/plugins/Sitemap/sitemapaction.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class SitemapAction extends Action
{
/**
@@ -50,7 +49,6 @@ class SitemapAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
diff --git a/plugins/Sitemap/sitemapadminpanel.php b/plugins/Sitemap/sitemapadminpanel.php
index 3c295b08e..3304cfd01 100644
--- a/plugins/Sitemap/sitemapadminpanel.php
+++ b/plugins/Sitemap/sitemapadminpanel.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class SitemapadminpanelAction extends AdminPanelAction
{
/**
@@ -48,10 +47,10 @@ class SitemapadminpanelAction extends AdminPanelAction
*
* @return string page title
*/
-
function title()
{
- return _('Sitemap');
+ // TRANS: Title for sitemap.
+ return _m('Sitemap');
}
/**
@@ -59,10 +58,10 @@ class SitemapadminpanelAction extends AdminPanelAction
*
* @return string instructions
*/
-
function getInstructions()
{
- return _('Sitemap settings for this StatusNet site');
+ // TRANS: Instructions for sitemap.
+ return _m('Sitemap settings for this StatusNet site');
}
/**
@@ -70,7 +69,6 @@ class SitemapadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function showForm()
{
$form = new SitemapAdminPanelForm($this);
@@ -83,7 +81,6 @@ class SitemapadminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function saveSettings()
{
static $settings = array('sitemap' => array('googlekey', 'yahookey', 'bingkey'));
@@ -97,7 +94,6 @@ class SitemapadminpanelAction extends AdminPanelAction
}
// This throws an exception on validation errors
-
$this->validate($values);
// assert(all values are valid);
@@ -125,7 +121,6 @@ class SitemapadminpanelAction extends AdminPanelAction
/**
* Form for the sitemap admin panel
*/
-
class SitemapAdminPanelForm extends AdminForm
{
/**
@@ -133,7 +128,6 @@ class SitemapAdminPanelForm extends AdminForm
*
* @return int ID of the form
*/
-
function id()
{
return 'form_sitemap_admin_panel';
@@ -144,7 +138,6 @@ class SitemapAdminPanelForm extends AdminForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_sitemap';
@@ -155,7 +148,6 @@ class SitemapAdminPanelForm extends AdminForm
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('sitemapadminpanel');
@@ -166,27 +158,31 @@ class SitemapAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formData()
{
- $this->out->elementStart('fieldset', array('id' => 'sitemap_admin'));
$this->out->elementStart('ul', 'form_data');
$this->li();
$this->input('googlekey',
- _('Google key'),
- _('Google Webmaster Tools verification key'),
+ // TRANS: Field label.
+ _m('Google key'),
+ // TRANS: Title for field label.
+ _m('Google Webmaster Tools verification key.'),
'sitemap');
$this->unli();
$this->li();
$this->input('yahookey',
- _('Yahoo key'),
- _('Yahoo! Site Explorer verification key'),
+ // TRANS: Field label.
+ _m('Yahoo key'),
+ // TRANS: Title for field label.
+ _m('Yahoo! Site Explorer verification key.'),
'sitemap');
$this->unli();
$this->li();
$this->input('bingkey',
- _('Bing key'),
- _('Bing Webmaster Tools verification key'),
+ // TRANS: Field label.
+ _m('Bing key'),
+ // TRANS: Title for field label.
+ _m('Bing Webmaster Tools verification key.'),
'sitemap');
$this->unli();
$this->out->elementEnd('ul');
@@ -197,9 +193,14 @@ class SitemapAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save sitemap settings'));
+ $this->out->submit('submit',
+ // TRANS: Submit button text to save sitemap settings.
+ _m('BUTTON','Save'),
+ 'submit',
+ null,
+ // TRANS: Submit button title to save sitemap settings.
+ _m('Save sitemap settings.'));
}
}
diff --git a/plugins/Sitemap/sitemapindex.php b/plugins/Sitemap/sitemapindex.php
index 169e3031c..ab89c2156 100644
--- a/plugins/Sitemap/sitemapindex.php
+++ b/plugins/Sitemap/sitemapindex.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class SitemapindexAction extends Action
{
/**
@@ -50,7 +49,6 @@ class SitemapindexAction extends Action
*
* @return void
*/
-
function handle($args)
{
header('Content-Type: text/xml; charset=UTF-8');
diff --git a/plugins/Sitemap/usersitemap.php b/plugins/Sitemap/usersitemap.php
index de1200715..c39165d0e 100644
--- a/plugins/Sitemap/usersitemap.php
+++ b/plugins/Sitemap/usersitemap.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class UsersitemapAction extends SitemapAction
{
var $users = null;
diff --git a/plugins/SlicedFavorites/SlicedFavoritesPlugin.php b/plugins/SlicedFavorites/SlicedFavoritesPlugin.php
new file mode 100644
index 000000000..d2407484d
--- /dev/null
+++ b/plugins/SlicedFavorites/SlicedFavoritesPlugin.php
@@ -0,0 +1,133 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package SlicedFavoritesPlugin
+ * @maintainer Brion Vibber <brion@status.net>
+ */
+
+if (!defined('STATUSNET')) { exit(1); }
+
+class SlicedFavoritesPlugin extends Plugin
+{
+ /**
+ * Example:
+ *
+ * addPlugin('SlicedFavorites', array(
+ * 'slices' => array(
+ * // show only pop's notices on /favorited
+ * 'default' => array('include' => array('pop')),
+ *
+ * // show only son's notices on /favorited/blog
+ * 'blog' => array('include' => array('son')),
+ *
+ * // show all favorited notices except pop's and son's on /favorited/submitted
+ * 'submitted' => array('exclude' => array('pop', 'son')),
+ *
+ * // show all favorited notices on /favorited/everybody
+ * 'everybody' => array(),
+ * )
+ * ));
+ *
+ * @var array
+ */
+ public $slices = array();
+
+ /**
+ * Hook for RouterInitialized event.
+ *
+ * @param Net_URL_Mapper $m path-to-action mapper
+ * @return boolean hook return
+ */
+ function onRouterInitialized($m)
+ {
+ $m->connect('favorited/:slice',
+ array('action' => 'favoritedslice'),
+ array('slice' => '[a-zA-Z0-9]+'));
+
+ return true;
+ }
+
+ // Take over the default... :D
+ function onArgsInitialize($args)
+ {
+ if (array_key_exists('action', $args)) {
+ $action = trim($args['action']);
+ if ($action == 'favorited') {
+ common_redirect(common_local_url('favoritedslice', array('slice' => 'default')));
+ exit(0);
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Automatically load the actions and libraries used by the plugin
+ *
+ * @param Class $cls the class
+ *
+ * @return boolean hook return
+ *
+ */
+ function onAutoload($cls)
+ {
+ $base = dirname(__FILE__);
+ $lower = strtolower($cls);
+ switch ($lower) {
+ case 'favoritedsliceaction':
+ require_once "$base/$lower.php";
+ return false;
+ default:
+ return true;
+ }
+ }
+
+ function onSlicedFavoritesGetSettings($slice, &$data)
+ {
+ if (isset($this->slices[$slice])) {
+ $data = $this->slices[$slice];
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:SlicedFavorites';
+
+ $versions[] = array('name' => 'SlicedFavorites',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Brion Vibber',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('Shows timelines of popular notices for defined subsets of users.'));
+
+ return true;
+ }
+}
diff --git a/plugins/SlicedFavorites/favoritedsliceaction.php b/plugins/SlicedFavorites/favoritedsliceaction.php
new file mode 100644
index 000000000..9c8a9f53f
--- /dev/null
+++ b/plugins/SlicedFavorites/favoritedsliceaction.php
@@ -0,0 +1,153 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * List of popular notices
+ *
+ * PHP version 5
+ *
+ * LICENCE: This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * @category Public
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @author Evan Prodromou <evan@status.net>
+ * @copyright 2008-2009 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+ exit(1);
+}
+
+class FavoritedSliceAction extends FavoritedAction
+{
+ private $includeUsers = array(), $excludeUsers = array();
+
+ /**
+ * Take arguments for running
+ *
+ * @param array $args $_REQUEST args
+ *
+ * @return boolean success flag
+ *
+ * @todo move queries from showContent() to here
+ */
+ function prepare($args)
+ {
+ parent::prepare($args);
+
+ $this->slice = $this->arg('slice', 'default');
+ $data = array();
+ if (Event::handle('SlicedFavoritesGetSettings', array($this->slice, &$data))) {
+ // TRANS: Client exception.
+ throw new ClientException(_m('Unknown favorites slice.'));
+ }
+ if (isset($data['include'])) {
+ $this->includeUsers = $data['include'];
+ }
+ if (isset($data['exclude'])) {
+ $this->excludeUsers = $data['exclude'];
+ }
+
+ return true;
+ }
+
+ /**
+ * Content area
+ *
+ * Shows the list of popular notices
+ *
+ * @return void
+ */
+ function showContent()
+ {
+ $slice = $this->sliceWhereClause();
+ if (!$slice) {
+ return parent::showContent();
+ }
+
+ $weightexpr = common_sql_weight('fave.modified', common_config('popular', 'dropoff'));
+ $cutoff = sprintf("fave.modified > '%s'",
+ common_sql_date(time() - common_config('popular', 'cutoff')));
+
+ $qry = 'SELECT notice.*, '.
+ $weightexpr . ' as weight ' .
+ 'FROM notice JOIN fave ON notice.id = fave.notice_id ' .
+ "WHERE $cutoff AND $slice " .
+ 'GROUP BY id,profile_id,uri,content,rendered,url,created,notice.modified,reply_to,is_local,source,notice.conversation ' .
+ 'ORDER BY weight DESC';
+
+ $offset = ($this->page - 1) * NOTICES_PER_PAGE;
+ $limit = NOTICES_PER_PAGE + 1;
+
+ if (common_config('db', 'type') == 'pgsql') {
+ $qry .= ' LIMIT ' . $limit . ' OFFSET ' . $offset;
+ } else {
+ $qry .= ' LIMIT ' . $offset . ', ' . $limit;
+ }
+
+ $notice = Memcached_DataObject::cachedQuery('Notice',
+ $qry,
+ 600);
+
+ $nl = new NoticeList($notice, $this);
+
+ $cnt = $nl->show();
+
+ if ($cnt == 0) {
+ $this->showEmptyList();
+ }
+
+ $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
+ $this->page, 'favorited');
+ }
+
+ private function sliceWhereClause()
+ {
+ $include = $this->nicknamesToIds($this->includeUsers);
+ $exclude = $this->nicknamesToIds($this->excludeUsers);
+
+ if (count($include) == 1) {
+ return "profile_id = " . intval($include[0]);
+ } else if (count($include) > 1) {
+ return "profile_id IN (" . implode(',', $include) . ")";
+ } else if (count($exclude) == 1) {
+ return "profile_id != " . intval($exclude[0]);
+ } else if (count($exclude) > 1) {
+ return "profile_id NOT IN (" . implode(',', $exclude) . ")";
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ *
+ * @param array $nicks array of user nicknames
+ * @return array of profile/user IDs
+ */
+ private function nicknamesToIds($nicks)
+ {
+ $ids = array();
+ foreach ($nicks as $nick) {
+ // not the most efficient way for a big list!
+ $user = User::staticGet('nickname', $nick);
+ if ($user) {
+ $ids[] = intval($user->id);
+ }
+ }
+ return $ids;
+ }
+}
diff --git a/plugins/SlicedFavorites/locale/SlicedFavorites.pot b/plugins/SlicedFavorites/locale/SlicedFavorites.pot
new file mode 100644
index 000000000..7d4a541c6
--- /dev/null
+++ b/plugins/SlicedFavorites/locale/SlicedFavorites.pot
@@ -0,0 +1,27 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. TRANS: Plugin description.
+#: SlicedFavoritesPlugin.php:129
+msgid "Shows timelines of popular notices for defined subsets of users."
+msgstr ""
+
+#. TRANS: Client exception.
+#: favoritedsliceaction.php:56
+msgid "Unknown favorites slice."
+msgstr ""
diff --git a/plugins/SlicedFavorites/locale/ia/LC_MESSAGES/SlicedFavorites.po b/plugins/SlicedFavorites/locale/ia/LC_MESSAGES/SlicedFavorites.po
new file mode 100644
index 000000000..625a67800
--- /dev/null
+++ b/plugins/SlicedFavorites/locale/ia/LC_MESSAGES/SlicedFavorites.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - SlicedFavorites to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SlicedFavorites\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:24+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-slicedfavorites\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Plugin description.
+#: SlicedFavoritesPlugin.php:129
+msgid "Shows timelines of popular notices for defined subsets of users."
+msgstr "Monstra chronologias de notas popular pro certe gruppos de usatores."
+
+#. TRANS: Client exception.
+#: favoritedsliceaction.php:56
+msgid "Unknown favorites slice."
+msgstr "Section de favorites incognite."
diff --git a/plugins/SlicedFavorites/locale/mk/LC_MESSAGES/SlicedFavorites.po b/plugins/SlicedFavorites/locale/mk/LC_MESSAGES/SlicedFavorites.po
new file mode 100644
index 000000000..a8406a452
--- /dev/null
+++ b/plugins/SlicedFavorites/locale/mk/LC_MESSAGES/SlicedFavorites.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - SlicedFavorites to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SlicedFavorites\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:24+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-slicedfavorites\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#. TRANS: Plugin description.
+#: SlicedFavoritesPlugin.php:129
+msgid "Shows timelines of popular notices for defined subsets of users."
+msgstr ""
+"Прикажува хронологии на популарни забелешки за определени подмножества "
+"корисници."
+
+#. TRANS: Client exception.
+#: favoritedsliceaction.php:56
+msgid "Unknown favorites slice."
+msgstr "Непознато парче од бендисаните."
diff --git a/plugins/SlicedFavorites/locale/nl/LC_MESSAGES/SlicedFavorites.po b/plugins/SlicedFavorites/locale/nl/LC_MESSAGES/SlicedFavorites.po
new file mode 100644
index 000000000..1b9ee5bdf
--- /dev/null
+++ b/plugins/SlicedFavorites/locale/nl/LC_MESSAGES/SlicedFavorites.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - SlicedFavorites to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SlicedFavorites\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:24+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-slicedfavorites\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Plugin description.
+#: SlicedFavoritesPlugin.php:129
+msgid "Shows timelines of popular notices for defined subsets of users."
+msgstr ""
+"Geeft de tijdlijnen van populaire mededelingen weer voor ingestelde groepen "
+"gebruikers."
+
+#. TRANS: Client exception.
+#: favoritedsliceaction.php:56
+msgid "Unknown favorites slice."
+msgstr "Onbekende favorietengebruikersgroep."
diff --git a/plugins/SlicedFavorites/locale/tl/LC_MESSAGES/SlicedFavorites.po b/plugins/SlicedFavorites/locale/tl/LC_MESSAGES/SlicedFavorites.po
new file mode 100644
index 000000000..9b8905f21
--- /dev/null
+++ b/plugins/SlicedFavorites/locale/tl/LC_MESSAGES/SlicedFavorites.po
@@ -0,0 +1,34 @@
+# Translation of StatusNet - SlicedFavorites to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SlicedFavorites\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:24+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-slicedfavorites\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. TRANS: Plugin description.
+#: SlicedFavoritesPlugin.php:129
+msgid "Shows timelines of popular notices for defined subsets of users."
+msgstr ""
+"Nagpapakita ng mga guhit ng panahon ng tanyag na mga pabatid para sa "
+"inilarawang mga kabahaging pangkat ng mga tagagamit."
+
+#. TRANS: Client exception.
+#: favoritedsliceaction.php:56
+msgid "Unknown favorites slice."
+msgstr "Hindi nalalamang hiwa ng mga paborito."
diff --git a/plugins/SlicedFavorites/locale/uk/LC_MESSAGES/SlicedFavorites.po b/plugins/SlicedFavorites/locale/uk/LC_MESSAGES/SlicedFavorites.po
new file mode 100644
index 000000000..5c5f0d003
--- /dev/null
+++ b/plugins/SlicedFavorites/locale/uk/LC_MESSAGES/SlicedFavorites.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - SlicedFavorites to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SlicedFavorites\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:24+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:44:51+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-slicedfavorites\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#. TRANS: Plugin description.
+#: SlicedFavoritesPlugin.php:129
+msgid "Shows timelines of popular notices for defined subsets of users."
+msgstr "Показує стрічки популярних дописів для певних підмножин користувачів."
+
+#. TRANS: Client exception.
+#: favoritedsliceaction.php:56
+msgid "Unknown favorites slice."
+msgstr "Невідома вибірка обраних повідомлень."
diff --git a/plugins/SphinxSearch/SphinxSearchPlugin.php b/plugins/SphinxSearch/SphinxSearchPlugin.php
index 7a27a4c04..ad34a7cc1 100644
--- a/plugins/SphinxSearch/SphinxSearchPlugin.php
+++ b/plugins/SphinxSearch/SphinxSearchPlugin.php
@@ -41,8 +41,6 @@ foreach($sphinxDefaults as $key => $val) {
}
}
-
-
/**
* Plugin for Sphinx search backend.
*
@@ -53,7 +51,6 @@ foreach($sphinxDefaults as $key => $val) {
* @link http://laconi.ca/
* @link http://twitter.com/
*/
-
class SphinxSearchPlugin extends Plugin
{
/**
@@ -86,7 +83,8 @@ class SphinxSearchPlugin extends Plugin
{
if (common_config('sphinx', 'enabled')) {
if (!class_exists('SphinxClient')) {
- throw new ServerException('Sphinx PHP extension must be installed.');
+ // TRANS: Server exception.
+ throw new ServerException(_m('Sphinx PHP extension must be installed.'));
}
$engine = new SphinxSearch($target, $table);
if ($engine->is_connected()) {
@@ -97,4 +95,28 @@ class SphinxSearchPlugin extends Plugin
// Sphinx disabled or disconnected
return true;
}
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:SphinxSearch';
+
+ $versions[] = array('name' => 'SphinxSearch',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Brion Vibber',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('Plugin for Sphinx search backend.'));
+
+ return true;
+ }
}
diff --git a/plugins/SphinxSearch/scripts/gen_config.php b/plugins/SphinxSearch/scripts/gen_config.php
index d5a00b6b6..e7f397747 100755
--- a/plugins/SphinxSearch/scripts/gen_config.php
+++ b/plugins/SphinxSearch/scripts/gen_config.php
@@ -70,8 +70,6 @@ searchd
END;
-
-
/**
* Build config entries for a single site
* @fixme we only seem to have master DB currently available...
diff --git a/plugins/SphinxSearch/scripts/index_update.php b/plugins/SphinxSearch/scripts/index_update.php
index 23c60ced7..abac5434f 100755
--- a/plugins/SphinxSearch/scripts/index_update.php
+++ b/plugins/SphinxSearch/scripts/index_update.php
@@ -42,20 +42,20 @@ sphinx_iterate_sites('sphinx_index_update');
function sphinx_index_update($sn)
{
$base = sphinx_base();
-
+
$baseIndexes = array('notice', 'profile');
$params = array();
-
+
if (have_option('rotate')) {
$params[] = '--rotate';
}
foreach ($baseIndexes as $index) {
$params[] = "{$sn->dbname}_{$index}";
}
-
+
$params = implode(' ', $params);
$cmd = "$base/bin/indexer --config $base/etc/sphinx.conf $params";
-
+
print "$cmd\n";
system($cmd);
}
diff --git a/plugins/SphinxSearch/scripts/sphinx-utils.php b/plugins/SphinxSearch/scripts/sphinx-utils.php
index 7bbc25270..22d70fb8d 100644
--- a/plugins/SphinxSearch/scripts/sphinx-utils.php
+++ b/plugins/SphinxSearch/scripts/sphinx-utils.php
@@ -60,4 +60,3 @@ function sphinx_iterate_sites($callback)
}
}
}
-
diff --git a/plugins/SphinxSearch/sphinxsearch.php b/plugins/SphinxSearch/sphinxsearch.php
index 654b9c9d5..1ce9bfd72 100644
--- a/plugins/SphinxSearch/sphinxsearch.php
+++ b/plugins/SphinxSearch/sphinxsearch.php
@@ -91,6 +91,8 @@ class SphinxSearch extends SearchEngine
if (preg_match('!^.*?://.*?:.*?@.*?/(.*?)$!', common_config('db', 'database'), $matches)) {
return $matches[1];
}
- throw new ServerException("Sphinx search could not identify database name");
+
+ // TRANS: Server exception thrown when a database name cannot be identified.
+ throw new ServerException(_m("Sphinx search could not identify database name."));
}
}
diff --git a/plugins/SpotifyPlugin.php b/plugins/Spotify/SpotifyPlugin.php
index e7a5a5382..e7a5a5382 100644
--- a/plugins/SpotifyPlugin.php
+++ b/plugins/Spotify/SpotifyPlugin.php
diff --git a/plugins/SubMirror/SubMirrorPlugin.php b/plugins/SubMirror/SubMirrorPlugin.php
index 80c6c5a88..578ef6607 100644
--- a/plugins/SubMirror/SubMirrorPlugin.php
+++ b/plugins/SubMirror/SubMirrorPlugin.php
@@ -17,14 +17,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+
/**
* @package SubMirrorPlugin
* @maintainer Brion Vibber <brion@status.net>
*/
-
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
-
-
class SubMirrorPlugin extends Plugin
{
/**
diff --git a/plugins/SubMirror/actions/addmirror.php b/plugins/SubMirror/actions/addmirror.php
index 5acdf1dfe..8c3a9740f 100644
--- a/plugins/SubMirror/actions/addmirror.php
+++ b/plugins/SubMirror/actions/addmirror.php
@@ -45,7 +45,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
class AddMirrorAction extends BaseMirrorAction
{
var $feedurl;
@@ -57,7 +56,6 @@ class AddMirrorAction extends BaseMirrorAction
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
diff --git a/plugins/SubMirror/actions/basemirror.php b/plugins/SubMirror/actions/basemirror.php
index be6942efa..3e3431103 100644
--- a/plugins/SubMirror/actions/basemirror.php
+++ b/plugins/SubMirror/actions/basemirror.php
@@ -45,7 +45,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
abstract class BaseMirrorAction extends Action
{
var $user;
@@ -58,7 +57,6 @@ abstract class BaseMirrorAction extends Action
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -107,24 +105,22 @@ abstract class BaseMirrorAction extends Action
}
/**
- * @fixme none of this belongs in end classes
+ * @todo FIXME: none of this belongs in end classes
* this stuff belongs in shared code!
*/
function sharedBoilerplate()
{
// Only allow POST requests
-
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
- $this->clientError(_('This action only accepts POST requests.'));
+ $this->clientError(_m('This action only accepts POST requests.'));
return false;
}
// CSRF protection
-
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
- $this->clientError(_('There was a problem with your session token.'.
+ $this->clientError(_m('There was a problem with your session token.'.
' Try again, please.'));
return false;
}
@@ -134,7 +130,7 @@ abstract class BaseMirrorAction extends Action
$this->user = common_current_user();
if (empty($this->user)) {
- $this->clientError(_('Not logged in.'));
+ $this->clientError(_m('Not logged in.'));
return false;
}
return true;
@@ -149,7 +145,6 @@ abstract class BaseMirrorAction extends Action
*
* @return void
*/
-
function handle($args)
{
// Throws exception on error
@@ -158,7 +153,7 @@ abstract class BaseMirrorAction extends Action
if ($this->boolean('ajax')) {
$this->startHTML('text/xml;charset=utf-8');
$this->elementStart('head');
- $this->element('title', null, _('Subscribed'));
+ $this->element('title', null, _m('Subscribed'));
$this->elementEnd('head');
$this->elementStart('body');
$unsubscribe = new EditMirrorForm($this, $this->profile);
diff --git a/plugins/SubMirror/actions/editmirror.php b/plugins/SubMirror/actions/editmirror.php
index c7fdab0d6..0f8b03732 100644
--- a/plugins/SubMirror/actions/editmirror.php
+++ b/plugins/SubMirror/actions/editmirror.php
@@ -45,7 +45,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPLv3
* @link http://status.net/
*/
-
class EditMirrorAction extends BaseMirrorAction
{
@@ -56,7 +55,6 @@ class EditMirrorAction extends BaseMirrorAction
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -93,7 +91,8 @@ class EditMirrorAction extends BaseMirrorAction
{
$mirror = SubMirror::getMirror($this->user, $this->profile);
if (!$mirror) {
- $this->clientError(_m('Requested edit of missing mirror'));
+ // TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+ $this->clientError(_m('Requested edit of missing mirror.'));
}
if ($this->delete) {
diff --git a/plugins/SubMirror/actions/mirrorsettings.php b/plugins/SubMirror/actions/mirrorsettings.php
index 5463a8dc0..a828b26fe 100644
--- a/plugins/SubMirror/actions/mirrorsettings.php
+++ b/plugins/SubMirror/actions/mirrorsettings.php
@@ -36,9 +36,9 @@ class MirrorSettingsAction extends AccountSettingsAction
*
* @return string Page title
*/
-
function title()
{
+ // TRANS: Title.
return _m('Feed mirror settings');
}
@@ -50,6 +50,7 @@ class MirrorSettingsAction extends AccountSettingsAction
function getInstructions()
{
+ // TRANS: Instructions.
return _m('You can mirror updates from many RSS and Atom feeds ' .
'into your StatusNet timeline!');
}
@@ -61,13 +62,12 @@ class MirrorSettingsAction extends AccountSettingsAction
*
* @return void
*/
-
function showContent()
{
$user = common_current_user();
$this->showAddFeedForm();
-
+
$mirror = new SubMirror();
$mirror->subscriber = $user->id;
if ($mirror->find()) {
@@ -99,7 +99,6 @@ class MirrorSettingsAction extends AccountSettingsAction
*
* @return void
*/
-
function handlePost()
{
}
diff --git a/plugins/SubMirror/classes/SubMirror.php b/plugins/SubMirror/classes/SubMirror.php
index bd8fc80a5..b39af918d 100644
--- a/plugins/SubMirror/classes/SubMirror.php
+++ b/plugins/SubMirror/classes/SubMirror.php
@@ -79,7 +79,7 @@ class SubMirror extends Memcached_DataObject
/**
* Temporary hack to set up the compound index, since we can't do
* it yet through regular Schema interface. (Coming for 1.0...)
- *
+ *
* @param Schema $schema
* @return void
*/
@@ -145,7 +145,7 @@ class SubMirror extends Memcached_DataObject
$mirror->created = common_sql_now();
$mirror->modified = common_sql_now();
$mirror->insert();
-
+
return $mirror;
}
@@ -173,7 +173,7 @@ class SubMirror extends Memcached_DataObject
* This retains attribution within the site, and other nice things,
* but currently ends up looking like 'RT @foobar bla bla' when
* bridged out over OStatus or TwitterBridge.
- *
+ *
* @param Notice $notice
* @return mixed Notice on successful repeat, true if already repeated, false on failure
*/
@@ -192,7 +192,7 @@ class SubMirror extends Memcached_DataObject
* Mirror a notice by emitting a new notice with the same contents.
* Kind of dirty, but if pulling an external data feed into an account
* that may be what you want.
- *
+ *
* @param Notice $notice
* @return mixed Notice on successful repeat, true if already repeated, false on failure
*/
@@ -216,7 +216,7 @@ class SubMirror extends Memcached_DataObject
/**
* Get the mirroring setting for a pair of profiles, if existing.
- *
+ *
* @param Profile $subscriber
* @param Profile $subscribed
* @return mixed Profile or empty
diff --git a/plugins/SubMirror/lib/addmirrorform.php b/plugins/SubMirror/lib/addmirrorform.php
index 0a798c9ea..e1d50c272 100644
--- a/plugins/SubMirror/lib/addmirrorform.php
+++ b/plugins/SubMirror/lib/addmirrorform.php
@@ -28,7 +28,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) {
class AddMirrorForm extends Form
{
-
/**
* Name of the form
*
@@ -36,7 +35,6 @@ class AddMirrorForm extends Form
*
* @return void
*/
-
function formLegend()
{
}
@@ -49,7 +47,6 @@ class AddMirrorForm extends Form
*
* @return void
*/
-
function formData()
{
$this->out->elementStart('fieldset');
@@ -64,7 +61,7 @@ class AddMirrorForm extends Form
$this->unli();
$this->li();
- $this->out->submit('addmirror-save', _m('Add feed'));
+ $this->out->submit('addmirror-save', _m('BUTTON','Add feed'));
$this->unli();
$this->out->elementEnd('ul');
$this->out->elementEnd('fieldset');
@@ -94,7 +91,6 @@ class AddMirrorForm extends Form
*
* @return void
*/
-
function formActions()
{
}
@@ -107,7 +103,6 @@ class AddMirrorForm extends Form
*
* @return string ID of the form
*/
-
function id()
{
return 'add-mirror-form';
@@ -121,7 +116,6 @@ class AddMirrorForm extends Form
*
* @return string URL to post to
*/
-
function action()
{
return common_local_url('addmirror');
@@ -132,10 +126,8 @@ class AddMirrorForm extends Form
*
* @return string the form's class
*/
-
function formClass()
{
return 'form_settings';
}
-
}
diff --git a/plugins/SubMirror/lib/editmirrorform.php b/plugins/SubMirror/lib/editmirrorform.php
index 8236da389..c1f60f9c2 100644
--- a/plugins/SubMirror/lib/editmirrorform.php
+++ b/plugins/SubMirror/lib/editmirrorform.php
@@ -45,7 +45,6 @@ class EditMirrorForm extends Form
*
* @return void
*/
-
function formLegend()
{
}
@@ -58,7 +57,6 @@ class EditMirrorForm extends Form
*
* @return void
*/
-
function formData()
{
$this->out->elementStart('fieldset');
@@ -81,6 +79,7 @@ class EditMirrorForm extends Form
$this->out->elementEnd('div');
$this->out->elementStart('div');
if ($feed) {
+ // XXX: Why the hard coded space?
$this->out->text(_m('LABEL', 'Remote feed:') . ' ');
//$this->out->element('a', array('href' => $feed), $feed);
$this->out->element('input', array('value' => $feed, 'readonly' => 'readonly', 'style' => 'width: 100%'));
@@ -111,7 +110,7 @@ class EditMirrorForm extends Form
}
$this->out->elementEnd('fieldset');
-
+
$this->out->elementStart('div');
$this->out->submit($this->id() . '-save', _m('Save'));
$this->out->element('input', array('type' => 'submit',
@@ -155,7 +154,6 @@ class EditMirrorForm extends Form
*
* @return string ID of the form
*/
-
function id()
{
return 'edit-mirror-form-' . $this->profile->id;
@@ -169,7 +167,6 @@ class EditMirrorForm extends Form
*
* @return string URL to post to
*/
-
function action()
{
return common_local_url('editmirror');
@@ -180,10 +177,8 @@ class EditMirrorForm extends Form
*
* @return string the form's class
*/
-
function formClass()
{
return 'form_settings';
}
-
}
diff --git a/plugins/SubMirror/lib/mirrorqueuehandler.php b/plugins/SubMirror/lib/mirrorqueuehandler.php
index 92b36b5eb..550986b44 100644
--- a/plugins/SubMirror/lib/mirrorqueuehandler.php
+++ b/plugins/SubMirror/lib/mirrorqueuehandler.php
@@ -23,7 +23,6 @@
* @package SubMirror
* @author Brion Vibber <brion@status.net>
*/
-
class MirrorQueueHandler extends QueueHandler
{
function transport()
@@ -37,7 +36,13 @@ class MirrorQueueHandler extends QueueHandler
$mirror->subscribed = $notice->profile_id;
if ($mirror->find()) {
while ($mirror->fetch()) {
- $mirror->mirrorNotice($notice);
+ try {
+ $mirror->mirrorNotice($notice);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Exception trying to mirror notice $notice->id " .
+ "for subscriber $mirror->subscriber ($mirror->style): " .
+ $e->getMessage());
+ }
}
}
return true;
diff --git a/plugins/SubMirror/locale/SubMirror.pot b/plugins/SubMirror/locale/SubMirror.pot
new file mode 100644
index 000000000..b42a77cd9
--- /dev/null
+++ b/plugins/SubMirror/locale/SubMirror.pot
@@ -0,0 +1,130 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: SubMirrorPlugin.php:90
+msgid "Pull feeds into your timeline!"
+msgstr ""
+
+#. TRANS: SubMirror plugin menu item on user settings page.
+#: SubMirrorPlugin.php:109
+msgctxt "MENU"
+msgid "Mirroring"
+msgstr ""
+
+#. TRANS: SubMirror plugin tooltip for user settings menu item.
+#: SubMirrorPlugin.php:111
+msgid "Configure mirroring of posts from other feeds"
+msgstr ""
+
+#: lib/editmirrorform.php:83
+msgctxt "LABEL"
+msgid "Remote feed:"
+msgstr ""
+
+#: lib/editmirrorform.php:87
+msgctxt "LABEL"
+msgid "Local user"
+msgstr ""
+
+#: lib/editmirrorform.php:93
+msgid "Mirroring style"
+msgstr ""
+
+#: lib/editmirrorform.php:95
+msgid ""
+"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
+msgstr ""
+
+#: lib/editmirrorform.php:96
+msgid "Repost the content under my account"
+msgstr ""
+
+#: lib/editmirrorform.php:115
+msgid "Save"
+msgstr ""
+
+#: lib/editmirrorform.php:117
+msgid "Stop mirroring"
+msgstr ""
+
+#: lib/addmirrorform.php:59
+msgid "Web page or feed URL:"
+msgstr ""
+
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
+msgid "Add feed"
+msgstr ""
+
+#: actions/basemirror.php:71
+msgid "Invalid feed URL."
+msgstr ""
+
+#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
+#: actions/basemirror.php:83
+msgid "Invalid profile for mirroring."
+msgstr ""
+
+#: actions/basemirror.php:101
+msgid "Can't mirror a StatusNet group at this time."
+msgstr ""
+
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr ""
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr ""
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr ""
+
+#: actions/editmirror.php:68
+msgid "Requested invalid profile to edit."
+msgstr ""
+
+#: actions/editmirror.php:86
+msgid "Bad form data."
+msgstr ""
+
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
+msgstr ""
+
+#: actions/addmirror.php:72
+msgid "Could not subscribe to feed."
+msgstr ""
+
+#. TRANS: Title.
+#: actions/mirrorsettings.php:42
+msgid "Feed mirror settings"
+msgstr ""
+
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
+msgid ""
+"You can mirror updates from many RSS and Atom feeds into your StatusNet "
+"timeline!"
+msgstr ""
diff --git a/plugins/SubMirror/locale/fr/LC_MESSAGES/SubMirror.po b/plugins/SubMirror/locale/fr/LC_MESSAGES/SubMirror.po
new file mode 100644
index 000000000..ba379ea32
--- /dev/null
+++ b/plugins/SubMirror/locale/fr/LC_MESSAGES/SubMirror.po
@@ -0,0 +1,141 @@
+# Translation of StatusNet - SubMirror to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubMirror\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:25+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-submirror\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: SubMirrorPlugin.php:90
+msgid "Pull feeds into your timeline!"
+msgstr "Importez des flux d’information dans votre agenda !"
+
+#. TRANS: SubMirror plugin menu item on user settings page.
+#: SubMirrorPlugin.php:109
+msgctxt "MENU"
+msgid "Mirroring"
+msgstr "Mise en miroir"
+
+#. TRANS: SubMirror plugin tooltip for user settings menu item.
+#: SubMirrorPlugin.php:111
+msgid "Configure mirroring of posts from other feeds"
+msgstr "Configurer la mise en miroir de messages provenant d’autres flux"
+
+#: lib/editmirrorform.php:83
+msgctxt "LABEL"
+msgid "Remote feed:"
+msgstr "Flux distant :"
+
+#: lib/editmirrorform.php:87
+msgctxt "LABEL"
+msgid "Local user"
+msgstr "Utilisateur local"
+
+#: lib/editmirrorform.php:93
+msgid "Mirroring style"
+msgstr "Style de mise en miroir"
+
+#: lib/editmirrorform.php:95
+msgid ""
+"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
+msgstr ""
+"Répéter : référence le message de l’auteur d’origine (montré parfois comme « "
+"RT @blabla »)"
+
+#: lib/editmirrorform.php:96
+msgid "Repost the content under my account"
+msgstr "Reposter le contenu sous mon compte"
+
+#: lib/editmirrorform.php:115
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: lib/editmirrorform.php:117
+msgid "Stop mirroring"
+msgstr "Arrêter le miroir"
+
+#: lib/addmirrorform.php:59
+msgid "Web page or feed URL:"
+msgstr "Adresse URL de la page Web ou du flux :"
+
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
+msgid "Add feed"
+msgstr "Ajouter le flux"
+
+#: actions/basemirror.php:71
+msgid "Invalid feed URL."
+msgstr "Adresse URL de flux invalide."
+
+#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
+#: actions/basemirror.php:83
+msgid "Invalid profile for mirroring."
+msgstr "Profil invalide pour la mise en miroir."
+
+#: actions/basemirror.php:101
+msgid "Can't mirror a StatusNet group at this time."
+msgstr "Impossible de mettre en miroir un groupe StatusNet actuellement."
+
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr "Cette action n’accepte que les requêtes de type POST."
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
+"nouveau."
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr "Non connecté."
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr "Abonné"
+
+#: actions/editmirror.php:68
+msgid "Requested invalid profile to edit."
+msgstr "Profil invalide demandé à modifier."
+
+#: actions/editmirror.php:86
+msgid "Bad form data."
+msgstr "Données de formulaire erronées."
+
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
+msgstr "Miroir inexistant demandé à modifier."
+
+#: actions/addmirror.php:72
+msgid "Could not subscribe to feed."
+msgstr "Impossible de vous abonner au flux."
+
+#. TRANS: Title.
+#: actions/mirrorsettings.php:42
+msgid "Feed mirror settings"
+msgstr "Paramètres de miroir de flux"
+
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
+msgid ""
+"You can mirror updates from many RSS and Atom feeds into your StatusNet "
+"timeline!"
+msgstr ""
+"Vous pouvez mettre en miroir dans votre agenda StatusNet les mises à jour de "
+"nombreux flux RSS et Atom !"
diff --git a/plugins/SubMirror/locale/ia/LC_MESSAGES/SubMirror.po b/plugins/SubMirror/locale/ia/LC_MESSAGES/SubMirror.po
new file mode 100644
index 000000000..4da2c0da6
--- /dev/null
+++ b/plugins/SubMirror/locale/ia/LC_MESSAGES/SubMirror.po
@@ -0,0 +1,139 @@
+# Translation of StatusNet - SubMirror to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubMirror\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-submirror\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubMirrorPlugin.php:90
+msgid "Pull feeds into your timeline!"
+msgstr "Importar syndicationes in tu chronologia!"
+
+#. TRANS: SubMirror plugin menu item on user settings page.
+#: SubMirrorPlugin.php:109
+msgctxt "MENU"
+msgid "Mirroring"
+msgstr "Republication"
+
+#. TRANS: SubMirror plugin tooltip for user settings menu item.
+#: SubMirrorPlugin.php:111
+msgid "Configure mirroring of posts from other feeds"
+msgstr "Configurar le republication de messages de altere syndicationes"
+
+#: lib/editmirrorform.php:83
+msgctxt "LABEL"
+msgid "Remote feed:"
+msgstr "Syndication remote:"
+
+#: lib/editmirrorform.php:87
+msgctxt "LABEL"
+msgid "Local user"
+msgstr "Usator local"
+
+#: lib/editmirrorform.php:93
+msgid "Mirroring style"
+msgstr "Stilo de republication"
+
+#: lib/editmirrorform.php:95
+msgid ""
+"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
+msgstr ""
+"Repeter: referer al message del usator original (monstrate a vices como 'RT "
+"@pseudonymo')"
+
+#: lib/editmirrorform.php:96
+msgid "Repost the content under my account"
+msgstr "Republicar le contento sub mi conto"
+
+#: lib/editmirrorform.php:115
+msgid "Save"
+msgstr "Salveguardar"
+
+#: lib/editmirrorform.php:117
+msgid "Stop mirroring"
+msgstr "Cessar le republication"
+
+#: lib/addmirrorform.php:59
+msgid "Web page or feed URL:"
+msgstr "URL de pagina web o syndication:"
+
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
+msgid "Add feed"
+msgstr "Adder syndication"
+
+#: actions/basemirror.php:71
+msgid "Invalid feed URL."
+msgstr "URL de syndication invalide."
+
+#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
+#: actions/basemirror.php:83
+msgid "Invalid profile for mirroring."
+msgstr "Profilo invalide pro republication."
+
+#: actions/basemirror.php:101
+msgid "Can't mirror a StatusNet group at this time."
+msgstr "Al presente il es impossibile republicar un gruppo StatusNet."
+
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr "Iste action accepta solmente le requestas de typo POST."
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr "Tu non ha aperite un session."
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr "Subscribite"
+
+#: actions/editmirror.php:68
+msgid "Requested invalid profile to edit."
+msgstr "Requestava un profilo invalide a modificar."
+
+#: actions/editmirror.php:86
+msgid "Bad form data."
+msgstr "Mal datos de formulario."
+
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
+msgstr "Requestava le modification de un speculo mancante."
+
+#: actions/addmirror.php:72
+msgid "Could not subscribe to feed."
+msgstr "Non poteva subscriber al syndication."
+
+#. TRANS: Title.
+#: actions/mirrorsettings.php:42
+msgid "Feed mirror settings"
+msgstr "Configuration de speculo de syndication"
+
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
+msgid ""
+"You can mirror updates from many RSS and Atom feeds into your StatusNet "
+"timeline!"
+msgstr ""
+"Tu pote republicar actualisationes de multe syndicationes RSS e Atom in tu "
+"chronologia de StatusNet!"
diff --git a/plugins/SubMirror/locale/mk/LC_MESSAGES/SubMirror.po b/plugins/SubMirror/locale/mk/LC_MESSAGES/SubMirror.po
new file mode 100644
index 000000000..69da69611
--- /dev/null
+++ b/plugins/SubMirror/locale/mk/LC_MESSAGES/SubMirror.po
@@ -0,0 +1,139 @@
+# Translation of StatusNet - SubMirror to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubMirror\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-submirror\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: SubMirrorPlugin.php:90
+msgid "Pull feeds into your timeline!"
+msgstr "Повлекувајте каналски емитувања во Вашата хронологија!"
+
+#. TRANS: SubMirror plugin menu item on user settings page.
+#: SubMirrorPlugin.php:109
+msgctxt "MENU"
+msgid "Mirroring"
+msgstr "Отсликување"
+
+#. TRANS: SubMirror plugin tooltip for user settings menu item.
+#: SubMirrorPlugin.php:111
+msgid "Configure mirroring of posts from other feeds"
+msgstr "Нагодување на отсликувањето на објавите од други канали"
+
+#: lib/editmirrorform.php:83
+msgctxt "LABEL"
+msgid "Remote feed:"
+msgstr "Далечински канал:"
+
+#: lib/editmirrorform.php:87
+msgctxt "LABEL"
+msgid "Local user"
+msgstr "Локален корисник"
+
+#: lib/editmirrorform.php:93
+msgid "Mirroring style"
+msgstr "Стил на отсликување"
+
+#: lib/editmirrorform.php:95
+msgid ""
+"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
+msgstr ""
+"Повторување: наведете ја објавата на изворниот корисник (понекогаш се "
+"прикажува како „RT @blah“)"
+
+#: lib/editmirrorform.php:96
+msgid "Repost the content under my account"
+msgstr "Објави ја содржината под мојата сметка"
+
+#: lib/editmirrorform.php:115
+msgid "Save"
+msgstr "Зачувај"
+
+#: lib/editmirrorform.php:117
+msgid "Stop mirroring"
+msgstr "Престани со отсликување"
+
+#: lib/addmirrorform.php:59
+msgid "Web page or feed URL:"
+msgstr "Мреж. страница или URL на каналот:"
+
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
+msgid "Add feed"
+msgstr "Додај канал"
+
+#: actions/basemirror.php:71
+msgid "Invalid feed URL."
+msgstr "Неважечка URL-адреса за каналот."
+
+#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
+#: actions/basemirror.php:83
+msgid "Invalid profile for mirroring."
+msgstr "Неважечки профил за отсликување."
+
+#: actions/basemirror.php:101
+msgid "Can't mirror a StatusNet group at this time."
+msgstr "Моментално не можам да отсликам група од StatusNet."
+
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr "Оваа постапка прифаќа само POST-барања."
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се подоцна."
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr "Не сте најавени."
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr "Претплатено"
+
+#: actions/editmirror.php:68
+msgid "Requested invalid profile to edit."
+msgstr "Побаран е неважечки профил за уредување."
+
+#: actions/editmirror.php:86
+msgid "Bad form data."
+msgstr "Неисправни податоци за образецот."
+
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
+msgstr "Побаравте уредување на отсликување што недостасува."
+
+#: actions/addmirror.php:72
+msgid "Could not subscribe to feed."
+msgstr "Не можев да Ве претплатам на каналот."
+
+#. TRANS: Title.
+#: actions/mirrorsettings.php:42
+msgid "Feed mirror settings"
+msgstr "Нагодувања на каналското отсликување"
+
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
+msgid ""
+"You can mirror updates from many RSS and Atom feeds into your StatusNet "
+"timeline!"
+msgstr ""
+"Можете да отсликувате поднови од многу RSS- и Atom-канали во Вашата "
+"хронологија на StatusNet!"
diff --git a/plugins/SubMirror/locale/nl/LC_MESSAGES/SubMirror.po b/plugins/SubMirror/locale/nl/LC_MESSAGES/SubMirror.po
new file mode 100644
index 000000000..baa10a197
--- /dev/null
+++ b/plugins/SubMirror/locale/nl/LC_MESSAGES/SubMirror.po
@@ -0,0 +1,141 @@
+# Translation of StatusNet - SubMirror to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubMirror\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-submirror\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubMirrorPlugin.php:90
+msgid "Pull feeds into your timeline!"
+msgstr "Neem feeds op in uw tijdlijn!"
+
+#. TRANS: SubMirror plugin menu item on user settings page.
+#: SubMirrorPlugin.php:109
+msgctxt "MENU"
+msgid "Mirroring"
+msgstr "Spiegelen"
+
+#. TRANS: SubMirror plugin tooltip for user settings menu item.
+#: SubMirrorPlugin.php:111
+msgid "Configure mirroring of posts from other feeds"
+msgstr "Spiegelen instellen voor berichten van andere feeds"
+
+#: lib/editmirrorform.php:83
+msgctxt "LABEL"
+msgid "Remote feed:"
+msgstr "Bronfeed:"
+
+#: lib/editmirrorform.php:87
+msgctxt "LABEL"
+msgid "Local user"
+msgstr "Lokale gebruiker"
+
+#: lib/editmirrorform.php:93
+msgid "Mirroring style"
+msgstr "Spiegelstijl"
+
+#: lib/editmirrorform.php:95
+msgid ""
+"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
+msgstr ""
+"Herhalen: refereer aan het bericht van de originele gebruiker (wordt soms "
+"weergegeven als \"RT @blah ...\")"
+
+#: lib/editmirrorform.php:96
+msgid "Repost the content under my account"
+msgstr "De inhoud herhalen alsof die van mij komt"
+
+#: lib/editmirrorform.php:115
+msgid "Save"
+msgstr "Opslaan"
+
+#: lib/editmirrorform.php:117
+msgid "Stop mirroring"
+msgstr "Spiegelen beëindigen"
+
+#: lib/addmirrorform.php:59
+msgid "Web page or feed URL:"
+msgstr "URL van webpagina of feed:"
+
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
+msgid "Add feed"
+msgstr "Feed toevoegen"
+
+#: actions/basemirror.php:71
+msgid "Invalid feed URL."
+msgstr "Ongeldige URL voor feed."
+
+#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
+#: actions/basemirror.php:83
+msgid "Invalid profile for mirroring."
+msgstr "Ongeldig profiel om te spiegelen."
+
+#: actions/basemirror.php:101
+msgid "Can't mirror a StatusNet group at this time."
+msgstr "Het is niet mogelijk om een StatusNet-groep te spiegelen."
+
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr "Deze handeling accepteert alleen POST-verzoeken."
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
+"alstublieft."
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr "Niet aangemeld."
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr "Geabonneerd"
+
+#: actions/editmirror.php:68
+msgid "Requested invalid profile to edit."
+msgstr "Er is een ongeldig profiel opgevraagd om te bewerken."
+
+#: actions/editmirror.php:86
+msgid "Bad form data."
+msgstr "Onjuiste formuliergegevens."
+
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
+msgstr "Er is een missende spiegel opgevraagd om te bewerken."
+
+#: actions/addmirror.php:72
+msgid "Could not subscribe to feed."
+msgstr "Het abonneren op de feed is mislukt."
+
+#. TRANS: Title.
+#: actions/mirrorsettings.php:42
+msgid "Feed mirror settings"
+msgstr "Instellingen voor spiegelfeed"
+
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
+msgid ""
+"You can mirror updates from many RSS and Atom feeds into your StatusNet "
+"timeline!"
+msgstr ""
+"U kunt statusupdates vanuit veel RSS- en Atomfeeds spiegelen in uit "
+"StatusNet-tijdlijn."
diff --git a/plugins/SubMirror/locale/tl/LC_MESSAGES/SubMirror.po b/plugins/SubMirror/locale/tl/LC_MESSAGES/SubMirror.po
new file mode 100644
index 000000000..e99f07b19
--- /dev/null
+++ b/plugins/SubMirror/locale/tl/LC_MESSAGES/SubMirror.po
@@ -0,0 +1,139 @@
+# Translation of StatusNet - SubMirror to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubMirror\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-submirror\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubMirrorPlugin.php:90
+msgid "Pull feeds into your timeline!"
+msgstr "Hilahin ang mga pakain papasok sa iyong guhit ng panahon!"
+
+#. TRANS: SubMirror plugin menu item on user settings page.
+#: SubMirrorPlugin.php:109
+msgctxt "MENU"
+msgid "Mirroring"
+msgstr "Sinasalamin"
+
+#. TRANS: SubMirror plugin tooltip for user settings menu item.
+#: SubMirrorPlugin.php:111
+msgid "Configure mirroring of posts from other feeds"
+msgstr "Iayos ang pagsasalamin ng mga pagpapaskil mula sa ibang mga pakain"
+
+#: lib/editmirrorform.php:83
+msgctxt "LABEL"
+msgid "Remote feed:"
+msgstr "Pakaing malayo:"
+
+#: lib/editmirrorform.php:87
+msgctxt "LABEL"
+msgid "Local user"
+msgstr "Katutubong tagagamit"
+
+#: lib/editmirrorform.php:93
+msgid "Mirroring style"
+msgstr "Estilo ng pagsasalamin"
+
+#: lib/editmirrorform.php:95
+msgid ""
+"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
+msgstr ""
+"Ulitin: sangguniin ang orihinal na pagpapaskil ng tagagamit (minsang "
+"ipinapakita bilang 'RT @blah')"
+
+#: lib/editmirrorform.php:96
+msgid "Repost the content under my account"
+msgstr "Muling ipaskil ang nilalaman sa ilalim ng aking akawnt"
+
+#: lib/editmirrorform.php:115
+msgid "Save"
+msgstr "Sagipin"
+
+#: lib/editmirrorform.php:117
+msgid "Stop mirroring"
+msgstr "Ihinto ang pagsasalamin"
+
+#: lib/addmirrorform.php:59
+msgid "Web page or feed URL:"
+msgstr "URL ng pahina sa web o pakain:"
+
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
+msgid "Add feed"
+msgstr "Idagdag ang pakain"
+
+#: actions/basemirror.php:71
+msgid "Invalid feed URL."
+msgstr "Hindi tanggap na URL ng pakain."
+
+#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
+#: actions/basemirror.php:83
+msgid "Invalid profile for mirroring."
+msgstr "Hindi tanggap na balangkas para sa pagsasalamin."
+
+#: actions/basemirror.php:101
+msgid "Can't mirror a StatusNet group at this time."
+msgstr "Hindi maisalamin sa ngayon ang isang pangkat ng StatusNet."
+
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr "Ang galaw na ito ay tumatanggap lamang ng mga kahilingang POST."
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr "May isang suliranin sa iyong token ng sesyon. Pakisubukan uli."
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr "Hindi nakalagda."
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr "Tumanggap ng sipi"
+
+#: actions/editmirror.php:68
+msgid "Requested invalid profile to edit."
+msgstr "Hiniling na pamamatnugutang hindi tanggap na balangkas."
+
+#: actions/editmirror.php:86
+msgid "Bad form data."
+msgstr "Datong may masamang anyo."
+
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
+msgstr "Hiniling na pagpatnugot ng nawawalang salamin."
+
+#: actions/addmirror.php:72
+msgid "Could not subscribe to feed."
+msgstr "Hindi magawang makatanggap ng pakain."
+
+#. TRANS: Title.
+#: actions/mirrorsettings.php:42
+msgid "Feed mirror settings"
+msgstr "Mga katakdaan ng salamin ng pakain"
+
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
+msgid ""
+"You can mirror updates from many RSS and Atom feeds into your StatusNet "
+"timeline!"
+msgstr ""
+"Maisasalamin mo ang mga pagsasapanahon mula sa maraming mga pakain ng RSS at "
+"Atom sa iyong guhit ng panahon ng StatusNet!"
diff --git a/plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po b/plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po
new file mode 100644
index 000000000..857cc68a5
--- /dev/null
+++ b/plugins/SubMirror/locale/uk/LC_MESSAGES/SubMirror.po
@@ -0,0 +1,140 @@
+# Translation of StatusNet - SubMirror to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubMirror\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-submirror\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: SubMirrorPlugin.php:90
+msgid "Pull feeds into your timeline!"
+msgstr "Стягування веб-каналів до вашої стрічки повідомлень!"
+
+#. TRANS: SubMirror plugin menu item on user settings page.
+#: SubMirrorPlugin.php:109
+msgctxt "MENU"
+msgid "Mirroring"
+msgstr "Віддзеркалення"
+
+#. TRANS: SubMirror plugin tooltip for user settings menu item.
+#: SubMirrorPlugin.php:111
+msgid "Configure mirroring of posts from other feeds"
+msgstr "Конфігурація віддзеркалення дописів з інших веб-стрічок"
+
+#: lib/editmirrorform.php:83
+msgctxt "LABEL"
+msgid "Remote feed:"
+msgstr "Віддалена веб-стрічка:"
+
+#: lib/editmirrorform.php:87
+msgctxt "LABEL"
+msgid "Local user"
+msgstr "Тутешній користувач"
+
+#: lib/editmirrorform.php:93
+msgid "Mirroring style"
+msgstr "Форма віддзеркалення"
+
+#: lib/editmirrorform.php:95
+msgid ""
+"Repeat: reference the original user's post (sometimes shows as 'RT @blah')"
+msgstr ""
+"Повторення: посилання до оригінального допису користувача (щось на зразок «RT "
+"@pupkin»)"
+
+#: lib/editmirrorform.php:96
+msgid "Repost the content under my account"
+msgstr "Повторення змісту під моїм акаунтом"
+
+#: lib/editmirrorform.php:115
+msgid "Save"
+msgstr "Зберегти"
+
+#: lib/editmirrorform.php:117
+msgid "Stop mirroring"
+msgstr "Зупинити віддзеркалення"
+
+#: lib/addmirrorform.php:59
+msgid "Web page or feed URL:"
+msgstr "Веб-сторінка або ж URL-адреса стрічки:"
+
+#: lib/addmirrorform.php:64
+msgctxt "BUTTON"
+msgid "Add feed"
+msgstr "Додати веб-стрічку"
+
+#: actions/basemirror.php:71
+msgid "Invalid feed URL."
+msgstr "Помилкова URL-адреса веб-стрічки."
+
+#. TRANS: Error message returned to user when setting up feed mirroring, but we were unable to resolve the given URL to a working feed.
+#: actions/basemirror.php:83
+msgid "Invalid profile for mirroring."
+msgstr "Помилковий профіль для віддзеркалення."
+
+#: actions/basemirror.php:101
+msgid "Can't mirror a StatusNet group at this time."
+msgstr "На даний момент не можу віддзеркалювати спільноту на сайті StatusNet."
+
+#: actions/basemirror.php:115
+msgid "This action only accepts POST requests."
+msgstr "Ця дія приймає запити лише за формою POST."
+
+#: actions/basemirror.php:123
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
+
+#: actions/basemirror.php:133
+msgid "Not logged in."
+msgstr "Ви не увійшли до системи."
+
+#: actions/basemirror.php:156
+msgid "Subscribed"
+msgstr "Підписані"
+
+#: actions/editmirror.php:68
+msgid "Requested invalid profile to edit."
+msgstr "Було запитано невірний профіль для редагування."
+
+#: actions/editmirror.php:86
+msgid "Bad form data."
+msgstr "Невірні дані форми."
+
+#. TRANS: Client error thrown when a mirror request is made and no result is retrieved.
+#: actions/editmirror.php:95
+msgid "Requested edit of missing mirror."
+msgstr "Запитано редагування зниклого дзеркала."
+
+#: actions/addmirror.php:72
+msgid "Could not subscribe to feed."
+msgstr "Не можу підписатися до веб-стрічки."
+
+#. TRANS: Title.
+#: actions/mirrorsettings.php:42
+msgid "Feed mirror settings"
+msgstr "Налаштування дзеркала веб-стрічки"
+
+#. TRANS: Instructions.
+#: actions/mirrorsettings.php:54
+msgid ""
+"You can mirror updates from many RSS and Atom feeds into your StatusNet "
+"timeline!"
+msgstr ""
+"Ви маєте можливість віддзеркалювати оновлення багатьох веб-стрічок формату "
+"RSS або Atom одразу до стрічки своїх дописів на сайті StatusNet!"
diff --git a/plugins/SubscriptionThrottlePlugin.php b/plugins/SubscriptionThrottle/SubscriptionThrottlePlugin.php
index 114113360..114113360 100644
--- a/plugins/SubscriptionThrottlePlugin.php
+++ b/plugins/SubscriptionThrottle/SubscriptionThrottlePlugin.php
diff --git a/plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot b/plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot
new file mode 100644
index 000000000..25c48db77
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/SubscriptionThrottle.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr ""
diff --git a/plugins/SubscriptionThrottle/locale/es/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/es/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..50cb448a5
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/es/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - SubscriptionThrottle to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr ""
+"Límites configurables para las suscripciones y adhesiones a los grupos."
diff --git a/plugins/SubscriptionThrottle/locale/fr/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/fr/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..83ad537b0
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/fr/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - SubscriptionThrottle to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr "Limites configurables pour les abonnements et adhésions aux groupes."
diff --git a/plugins/SubscriptionThrottle/locale/ia/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/ia/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..8f6336b81
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/ia/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - SubscriptionThrottle to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr "Limites configurabile pro subscriptiones e membrato de gruppos."
diff --git a/plugins/SubscriptionThrottle/locale/mk/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/mk/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..6d0505cfa
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/mk/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - SubscriptionThrottle to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr "Прилагодливи ограничувања за претплата и членства во групи."
diff --git a/plugins/SubscriptionThrottle/locale/nb/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/nb/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..e8072e61f
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/nb/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - SubscriptionThrottle to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr "Konfigurerbare grenser for abonnement og gruppemedlemsskap."
diff --git a/plugins/SubscriptionThrottle/locale/nl/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/nl/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..e64341a3e
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/nl/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - SubscriptionThrottle to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr "In te stellen limieten voor abonnementen en groepslidmaatschappen."
diff --git a/plugins/SubscriptionThrottle/locale/ru/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/ru/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..25efbab79
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/ru/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - SubscriptionThrottle to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr "Настраиваемые ограничения на подписки и членство в группах."
diff --git a/plugins/SubscriptionThrottle/locale/tl/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/tl/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..eb2dfef88
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/tl/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - SubscriptionThrottle to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr ""
+"Maisasaayos na mga hangganan para sa mga pagtatanggap at mga kasapian sa "
+"pangkat."
diff --git a/plugins/SubscriptionThrottle/locale/uk/LC_MESSAGES/SubscriptionThrottle.po b/plugins/SubscriptionThrottle/locale/uk/LC_MESSAGES/SubscriptionThrottle.po
new file mode 100644
index 000000000..88e330a72
--- /dev/null
+++ b/plugins/SubscriptionThrottle/locale/uk/LC_MESSAGES/SubscriptionThrottle.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - SubscriptionThrottle to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - SubscriptionThrottle\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:26+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:38+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-subscriptionthrottle\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: SubscriptionThrottlePlugin.php:171
+msgid "Configurable limits for subscriptions and group memberships."
+msgstr ""
+"З допомогою цього додатку можна обмежувати кількість можливих підписок для "
+"певного користувача, а також зазначати можливу кількість спільнот, до яких "
+"користувач має право долучитися."
diff --git a/plugins/TabFocus/TabFocusPlugin.php b/plugins/TabFocus/TabFocusPlugin.php
index 46e329d8a..dd8a97276 100644
--- a/plugins/TabFocus/TabFocusPlugin.php
+++ b/plugins/TabFocus/TabFocusPlugin.php
@@ -51,7 +51,7 @@ class TabFocusPlugin extends Plugin
'author' => 'Craig Andrews and Paul Irish',
'homepage' => 'http://status.net/wiki/Plugin:TabFocus',
'rawdescription' =>
- _m('TabFocus changes the notice form behavior so that, while in the text area, pressing the tab key focuses the "Send" button, matching the behavor of Twitter.'));
+ _m('TabFocus changes the notice form behavior so that, while in the text area, pressing the tab key focuses the "Send" button, matching the behavior of Twitter.'));
return true;
}
}
diff --git a/plugins/TabFocus/locale/TabFocus.pot b/plugins/TabFocus/locale/TabFocus.pot
index 3b0e3c261..90666a1d2 100644
--- a/plugins/TabFocus/locale/TabFocus.pot
+++ b/plugins/TabFocus/locale/TabFocus.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -19,6 +19,6 @@ msgstr ""
#: TabFocusPlugin.php:54
msgid ""
"TabFocus changes the notice form behavior so that, while in the text area, "
-"pressing the tab key focuses the \"Send\" button, matching the behavor of "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
"Twitter."
msgstr ""
diff --git a/plugins/TabFocus/locale/es/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/es/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..16aed8a9f
--- /dev/null
+++ b/plugins/TabFocus/locale/es/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - TabFocus to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus Cambia el comportamiento del formulario del aviso de modo que, al "
+"estar en el área de texto, pulsar la tecla de tabulación se enfoque en el "
+"botón \"Enviar\", al igual que en el comportamiento de Twitter."
diff --git a/plugins/TabFocus/locale/fr/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/fr/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..7d9e1da65
--- /dev/null
+++ b/plugins/TabFocus/locale/fr/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - TabFocus to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus change le comportement du formulaire d’avis afin que l’appui sur la "
+"touche tabulation depuis la zone de texte envoie le focus sur le bouton « "
+"Envoyer », ce qui correspond au comportement de Twitter."
diff --git a/plugins/TabFocus/locale/ia/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/ia/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..eedf5cb8b
--- /dev/null
+++ b/plugins/TabFocus/locale/ia/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - TabFocus to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus modifica le comportamento del formulario de notas de sorta que "
+"premer le clave Tab desde le area de texto mitte le puncto focal sur le "
+"button \"Inviar\", lo que corresponde al comportamento de Twitter."
diff --git a/plugins/TabFocus/locale/mk/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/mk/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..ff4fa75ce
--- /dev/null
+++ b/plugins/TabFocus/locale/mk/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - TabFocus to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus го менува поведението на образецот за забелешки: со пристискање на "
+"копчето Tab во местото за текст се означува копчето „Прати“, така "
+"поситоветувајќи се со поведението на Twitter."
diff --git a/plugins/TabFocus/locale/nb/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/nb/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..244dc3809
--- /dev/null
+++ b/plugins/TabFocus/locale/nb/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - TabFocus to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus endrer notisskjemaets oppførsel slik at når man er tekstområdet vil "
+"et trykk på tab-knappen fokusere på «Send»-knappen, samsvarende med "
+"oppførselen til Twitter."
diff --git a/plugins/TabFocus/locale/nl/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/nl/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..9e499b6e6
--- /dev/null
+++ b/plugins/TabFocus/locale/nl/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - TabFocus to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus wijzigt het gedrag van het mededelingenformulier zodat, wanneer u "
+"vanuit het tekstvak op de Tab-toets drukt, de focus op de knop \"Verzenden\" "
+"wordt gericht, net als in Twitter."
diff --git a/plugins/TabFocus/locale/ru/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/ru/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..7bab99a24
--- /dev/null
+++ b/plugins/TabFocus/locale/ru/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - TabFocus to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus изменяет поведение формы уведомлений таким образом что, если в "
+"текстовом поле нажать клавишу табуляции, то фокус переключится кнопку "
+"«Отправить», повторяя поведение интерфейса Twitter."
diff --git a/plugins/TabFocus/locale/tl/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/tl/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..b7b6fb7a1
--- /dev/null
+++ b/plugins/TabFocus/locale/tl/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,32 @@
+# Translation of StatusNet - TabFocus to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"Binabago ng TabFocus ang ugali ng anyo ng pabatid upang, habang nasa loob ng "
+"lugar ng teksto, ang pagpindot sa susi ng panglaylay ay tumutuon sa "
+"pindutang \"Ipadala\", na tumutugma sa ugali ng Twitter."
diff --git a/plugins/TabFocus/locale/uk/LC_MESSAGES/TabFocus.po b/plugins/TabFocus/locale/uk/LC_MESSAGES/TabFocus.po
new file mode 100644
index 000000000..3c3521ce3
--- /dev/null
+++ b/plugins/TabFocus/locale/uk/LC_MESSAGES/TabFocus.po
@@ -0,0 +1,33 @@
+# Translation of StatusNet - TabFocus to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TabFocus\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:39+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-tabfocus\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: TabFocusPlugin.php:54
+msgid ""
+"TabFocus changes the notice form behavior so that, while in the text area, "
+"pressing the tab key focuses the \"Send\" button, matching the behavior of "
+"Twitter."
+msgstr ""
+"TabFocus змінює поведінку форми надсилання дописів таким чином, що натиснута "
+"у вікні вводу повідомлення клавіша «Tab» перебирає на себе функцію кнопки "
+"«Надіслати» («Так»), що імітує інтерфейс Твіттера."
diff --git a/plugins/TemplatePlugin.php b/plugins/Template/TemplatePlugin.php
index 80625c5b7..80625c5b7 100644
--- a/plugins/TemplatePlugin.php
+++ b/plugins/Template/TemplatePlugin.php
diff --git a/plugins/TightUrl/locale/TightUrl.pot b/plugins/TightUrl/locale/TightUrl.pot
index 10f59a1e8..f0a036968 100644
--- a/plugins/TightUrl/locale/TightUrl.pot
+++ b/plugins/TightUrl/locale/TightUrl.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
diff --git a/plugins/TightUrl/locale/es/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/es/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..e8a5d5471
--- /dev/null
+++ b/plugins/TightUrl/locale/es/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TightUrl to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utiliza el servicio de acortamiento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/TightUrl/locale/fr/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/fr/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..d55583323
--- /dev/null
+++ b/plugins/TightUrl/locale/fr/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - TightUrl to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Utilise le service de raccourcissement d’URL <a href=\"http://%1$s/\">%1$s</"
+"a>."
diff --git a/plugins/TightUrl/locale/ia/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/ia/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..f312a9418
--- /dev/null
+++ b/plugins/TightUrl/locale/ia/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TightUrl to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Usa le servicio de accurtamento de URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/TightUrl/locale/ja/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/ja/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..b689a37fc
--- /dev/null
+++ b/plugins/TightUrl/locale/ja/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - TightUrl to Japanese (日本語)
+# Expored from translatewiki.net
+#
+# Author: 青子守歌
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Japanese <http://translatewiki.net/wiki/Portal:ja>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ja\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "<a href=\"http://%1$s/\">%1$s</a>をURL短縮サービスとして利用する。"
diff --git a/plugins/TightUrl/locale/mk/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/mk/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..9a59c7c84
--- /dev/null
+++ b/plugins/TightUrl/locale/mk/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - TightUrl to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Користи <a href=\"http://%1$s/\">%1$s</a> - служба за скратување на URL-"
+"адреси."
diff --git a/plugins/TightUrl/locale/nb/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/nb/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..c426de9fa
--- /dev/null
+++ b/plugins/TightUrl/locale/nb/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - TightUrl to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Bruker URL-forkortertjenesten <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/TightUrl/locale/nl/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/nl/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..338a7f3b6
--- /dev/null
+++ b/plugins/TightUrl/locale/nl/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - TightUrl to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gebruikt de dienst <a href=\"http://%1$s/\">%1$s</a> om URL's korter te "
+"maken."
diff --git a/plugins/TightUrl/locale/ru/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/ru/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..42f1795e5
--- /dev/null
+++ b/plugins/TightUrl/locale/ru/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TightUrl to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr "Использование службы сокращения URL <a href=\"http://%1$s/\">%1$s</a>."
diff --git a/plugins/TightUrl/locale/tl/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/tl/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..24adab5a4
--- /dev/null
+++ b/plugins/TightUrl/locale/tl/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - TightUrl to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Gumagamit ng palingkurang pampaiksi ng URL na <a href=\"http://%1$s/\">%1$s</"
+"a>"
diff --git a/plugins/TightUrl/locale/uk/LC_MESSAGES/TightUrl.po b/plugins/TightUrl/locale/uk/LC_MESSAGES/TightUrl.po
new file mode 100644
index 000000000..90ad55197
--- /dev/null
+++ b/plugins/TightUrl/locale/uk/LC_MESSAGES/TightUrl.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - TightUrl to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TightUrl\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:27+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:40+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-tighturl\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: TightUrlPlugin.php:68
+#, php-format
+msgid "Uses <a href=\"http://%1$s/\">%1$s</a> URL-shortener service."
+msgstr ""
+"Використання <a href=\"http://%1$s/\">%1$s</a> для скорочення URL-адрес."
diff --git a/plugins/TinyMCE/TinyMCEPlugin.php b/plugins/TinyMCE/TinyMCEPlugin.php
index ca16f6059..e0640ebdf 100644
--- a/plugins/TinyMCE/TinyMCEPlugin.php
+++ b/plugins/TinyMCE/TinyMCEPlugin.php
@@ -48,12 +48,16 @@ if (!defined('STATUSNET')) {
*/
class TinyMCEPlugin extends Plugin
{
-
var $html;
+ // By default, TinyMCE editor will be available to all users.
+ // With restricted on, only users who have been granted the
+ // "richedit" role get it.
+ public $restricted = false;
+
function onEndShowScripts($action)
{
- if (common_logged_in ()) {
+ if (common_logged_in() && $this->isAllowedRichEdit()) {
$action->script(common_path('plugins/TinyMCE/js/jquery.tinymce.js'));
$action->inlineScript($this->_inlineScript());
}
@@ -63,7 +67,9 @@ class TinyMCEPlugin extends Plugin
function onEndShowStyles($action)
{
- $action->style('span#notice_data-text_container, span#notice_data-text_parent { float: left }');
+ if ($this->isAllowedRichEdit()) {
+ $action->style('span#notice_data-text_container, span#notice_data-text_parent { float: left }');
+ }
return true;
}
@@ -74,7 +80,7 @@ class TinyMCEPlugin extends Plugin
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:TinyMCE',
'rawdescription' =>
- _m('Use TinyMCE library to allow rich text editing in the browser'));
+ _m('Use TinyMCE library to allow rich text editing in the browser.'));
return true;
}
@@ -108,7 +114,7 @@ class TinyMCEPlugin extends Plugin
/**
* Hook for new-notice form processing to take our HTML goodies;
* won't affect API posting etc.
- *
+ *
* @param NewNoticeAction $action
* @param User $user
* @param string $content
@@ -117,7 +123,7 @@ class TinyMCEPlugin extends Plugin
*/
function onStartSaveNewNoticeWeb($action, $user, &$content, &$options)
{
- if ($action->arg('richedit')) {
+ if ($action->arg('richedit') && $this->isAllowedRichEdit()) {
$html = $this->sanitizeHtml($content);
$options['rendered'] = $html;
$content = $this->stripHtml($html);
@@ -136,7 +142,7 @@ class TinyMCEPlugin extends Plugin
*/
function onStartSaveNewNoticeAppendAttachment($action, $media, &$content, &$options)
{
- if ($action->arg('richedit')) {
+ if ($action->arg('richedit') && $this->isAllowedRichEdit()) {
// See if we've got a placeholder inline image; if so, fill it!
$dom = new DOMDocument();
@@ -159,9 +165,9 @@ class TinyMCEPlugin extends Plugin
/**
* Format the attachment placeholder img with the final version.
- *
+ *
* @param DOMElement $img
- * @param MediaFile $media
+ * @param MediaFile $media
*/
private function formatAttachment($img, $media)
{
@@ -322,4 +328,22 @@ END_OF_SCRIPT;
return $scr;
}
+ /**
+ * Does the current user have permission to use the rich-text editor?
+ * Always true unless the plugin's "restricted" setting is on, in which
+ * case it's limited to users with the "richedit" role.
+ *
+ * @fixme make that more sanely configurable :)
+ *
+ * @return boolean
+ */
+ private function isAllowedRichEdit()
+ {
+ if ($this->restricted) {
+ $user = common_current_user();
+ return !empty($user) && $user->hasRole('richedit');
+ } else {
+ return true;
+ }
+ }
}
diff --git a/plugins/TinyMCE/locale/TinyMCE.pot b/plugins/TinyMCE/locale/TinyMCE.pot
new file mode 100644
index 000000000..4160a42a8
--- /dev/null
+++ b/plugins/TinyMCE/locale/TinyMCE.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
diff --git a/plugins/TinyMCE/locale/es/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/es/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..164b4f6ed
--- /dev/null
+++ b/plugins/TinyMCE/locale/es/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TinyMCE to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Utiliza la biblioteca TinyMCE para permitir la edición de texto enriquecido "
+"en el navegador."
diff --git a/plugins/TinyMCE/locale/fr/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/fr/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..cf23c1c4b
--- /dev/null
+++ b/plugins/TinyMCE/locale/fr/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TinyMCE to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Utiliser la bibliothèque TinyMCE pour permettre la modification de texte "
+"enrichi dans le navigateur."
diff --git a/plugins/TinyMCE/locale/ia/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/ia/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..9dd59764c
--- /dev/null
+++ b/plugins/TinyMCE/locale/ia/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TinyMCE to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Usar le bibliotheca TinyMCE pro permitter le modification de texto "
+"inricchite in le navigator."
diff --git a/plugins/TinyMCE/locale/mk/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/mk/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..03b043d6e
--- /dev/null
+++ b/plugins/TinyMCE/locale/mk/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TinyMCE to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Користи ја библиотеката TinyMCE за уредување со збогатен текст во "
+"прелистувачот."
diff --git a/plugins/TinyMCE/locale/nb/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/nb/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..6c349f71e
--- /dev/null
+++ b/plugins/TinyMCE/locale/nb/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - TinyMCE to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Bruk TinyMCE-biblioteket for å tillate rik tekstredigering i nettleseren."
diff --git a/plugins/TinyMCE/locale/nl/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/nl/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..1185e7c54
--- /dev/null
+++ b/plugins/TinyMCE/locale/nl/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - TinyMCE to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr "TinyMCE gebruiken om WYSIWYG-bewerken in de browser mogelijk te maken."
diff --git a/plugins/TinyMCE/locale/pt_BR/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/pt_BR/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..608eede33
--- /dev/null
+++ b/plugins/TinyMCE/locale/pt_BR/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TinyMCE to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Giro720
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Utilizar a biblioteca TinyMCE para permitir edição em rich text no navegador."
diff --git a/plugins/TinyMCE/locale/ru/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/ru/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..271497f95
--- /dev/null
+++ b/plugins/TinyMCE/locale/ru/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TinyMCE to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Использование библиотеки TinyMCE, для редактирования текста в браузере."
diff --git a/plugins/TinyMCE/locale/tl/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/tl/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..9b2856f94
--- /dev/null
+++ b/plugins/TinyMCE/locale/tl/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - TinyMCE to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Gamitin ang aklatan ng TinyMCE upang pahintulutan ang pamamatnugot ng "
+"mayamang teksto sa pantingin-tingin."
diff --git a/plugins/TinyMCE/locale/uk/LC_MESSAGES/TinyMCE.po b/plugins/TinyMCE/locale/uk/LC_MESSAGES/TinyMCE.po
new file mode 100644
index 000000000..f8665c2c7
--- /dev/null
+++ b/plugins/TinyMCE/locale/uk/LC_MESSAGES/TinyMCE.po
@@ -0,0 +1,29 @@
+# Translation of StatusNet - TinyMCE to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TinyMCE\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:28+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:41+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-tinymce\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: TinyMCEPlugin.php:83
+msgid "Use TinyMCE library to allow rich text editing in the browser."
+msgstr ""
+"Використання бібліотеки TinyMCE для простого форматування тексту у вікні "
+"браузера."
diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php
index 34b82ef83..097d4486f 100644
--- a/plugins/TwitterBridge/TwitterBridgePlugin.php
+++ b/plugins/TwitterBridge/TwitterBridgePlugin.php
@@ -45,17 +45,14 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
* @link http://status.net/
* @link http://twitter.com/
*/
-
class TwitterBridgePlugin extends Plugin
{
-
const VERSION = STATUSNET_VERSION;
public $adminImportControl = false; // Should the 'import' checkbox be exposed in the admin panel?
/**
* Initializer for the plugin.
*/
-
function initialize()
{
// Allow the key and secret to be passed in
@@ -86,7 +83,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean result
*/
-
static function hasKeys()
{
$ckey = common_config('twitter', 'consumer_key');
@@ -113,7 +109,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook return
*/
-
function onRouterInitialized($m)
{
$m->connect('admin/twitter', array('action' => 'twitteradminpanel'));
@@ -310,7 +305,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook value
*/
-
function onPluginVersion(&$versions)
{
$versions[] = array(
@@ -319,8 +313,8 @@ class TwitterBridgePlugin extends Plugin
'author' => 'Zach Copley, Julien C',
'homepage' => 'http://status.net/wiki/Plugin:TwitterBridge',
'rawdescription' => _m(
- 'The Twitter "bridge" plugin allows you to integrate ' .
- 'your StatusNet instance with ' .
+ 'The Twitter "bridge" plugin allows integration ' .
+ 'of a StatusNet instance with ' .
'<a href="http://twitter.com/">Twitter</a>.'
)
);
@@ -374,7 +368,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook value; true means continue processing, false means stop.
*/
-
function onCheckSchema()
{
$schema = Schema::get();
@@ -416,7 +409,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return boolean hook value
*/
-
function onStartDeleteOwnNotice(User $user, Notice $notice)
{
$n2s = Notice_to_status::staticGet('notice_id', $notice->id);
@@ -452,7 +444,6 @@ class TwitterBridgePlugin extends Plugin
* @param Notice $notice being favored
* @return hook return value
*/
-
function onEndFavorNotice(Profile $profile, Notice $notice)
{
$flink = Foreign_link::getByUserID($profile->id,
@@ -489,7 +480,6 @@ class TwitterBridgePlugin extends Plugin
*
* @return hook return value
*/
-
function onEndDisfavorNotice(Profile $profile, Notice $notice)
{
$flink = Foreign_link::getByUserID($profile->id,
diff --git a/plugins/TwitterBridge/Twitter_synch_status.php b/plugins/TwitterBridge/Twitter_synch_status.php
index 2a5f1fd60..a8337862c 100644
--- a/plugins/TwitterBridge/Twitter_synch_status.php
+++ b/plugins/TwitterBridge/Twitter_synch_status.php
@@ -48,7 +48,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
*
* @see DB_DataObject
*/
-
class Twitter_synch_status extends Memcached_DataObject
{
public $__table = 'twitter_synch_status'; // table name
@@ -67,7 +66,6 @@ class Twitter_synch_status extends Memcached_DataObject
* @return Twitter_synch_status object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
throw new Exception("Use pkeyGet() for this class.");
@@ -81,7 +79,6 @@ class Twitter_synch_status extends Memcached_DataObject
* @return Twitter_synch_status object found, or null for no hits
*
*/
-
function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Twitter_synch_status', $kv);
@@ -95,7 +92,6 @@ class Twitter_synch_status extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array('foreign_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
@@ -115,7 +111,6 @@ class Twitter_synch_status extends Memcached_DataObject
*
* @return array list of key field names
*/
-
function keys()
{
return array_keys($this->keyTypes());
@@ -133,7 +128,6 @@ class Twitter_synch_status extends Memcached_DataObject
* 'K' for primary key: for compound keys, add an entry for each component;
* 'U' for unique keys: compound keys are not well supported here.
*/
-
function keyTypes()
{
return array('foreign_id' => 'K',
@@ -150,7 +144,6 @@ class Twitter_synch_status extends Memcached_DataObject
*
* @return array magic three-false array that stops auto-incrementing.
*/
-
function sequenceKey()
{
return array(false, false, false);
@@ -174,7 +167,6 @@ class Twitter_synch_status extends Memcached_DataObject
'timeline' => $timeline));
if (empty($tss)) {
-
$tss = new Twitter_synch_status();
$tss->foreign_id = $foreign_id;
@@ -186,9 +178,7 @@ class Twitter_synch_status extends Memcached_DataObject
$tss->insert();
return true;
-
} else {
-
$orig = clone($tss);
$tss->last_id = $last_id;
diff --git a/plugins/TwitterBridge/daemons/synctwitterfriends.php b/plugins/TwitterBridge/daemons/synctwitterfriends.php
index 02546a02c..38a8b89eb 100755
--- a/plugins/TwitterBridge/daemons/synctwitterfriends.php
+++ b/plugins/TwitterBridge/daemons/synctwitterfriends.php
@@ -45,7 +45,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class SyncTwitterFriendsDaemon extends ParallelizingDaemon
{
/**
@@ -59,7 +58,6 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
* @return void
*
**/
-
function __construct($id = null, $interval = 60,
$max_children = 2, $debug = null)
{
@@ -71,7 +69,6 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
*
* @return string Name of the daemon.
*/
-
function name()
{
return ('synctwitterfriends.' . $this->_id);
@@ -110,12 +107,10 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
}
function childTask($flink) {
-
// Each child ps needs its own DB connection
// Note: DataObject::getDatabaseConnection() creates
// a new connection if there isn't one already
-
$conn = &$flink->getDatabaseConnection();
$this->subscribeTwitterFriends($flink);
@@ -127,7 +122,6 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
// XXX: Couldn't find a less brutal way to blow
// away a cached connection
-
global $_DB_DATAOBJECT;
unset($_DB_DATAOBJECT['CONNECTIONS']);
}
@@ -277,4 +271,3 @@ if (have_option('d') || have_option('debug')) {
$syncer = new SyncTwitterFriendsDaemon($id, 60, 2, $debug);
$syncer->runOnce();
-
diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
index f1305696b..cef67b180 100755
--- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
+++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
@@ -62,7 +62,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class TwitterStatusFetcher extends ParallelizingDaemon
{
/**
@@ -87,7 +86,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return string Name of the daemon.
*/
-
function name()
{
return ('twitterstatusfetcher.'.$this->_id);
@@ -99,7 +97,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return array flinks an array of Foreign_link objects
*/
-
function getObjects()
{
global $_DB_DATAOBJECT;
@@ -133,12 +130,10 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
function childTask($flink) {
-
// Each child ps needs its own DB connection
// Note: DataObject::getDatabaseConnection() creates
// a new connection if there isn't one already
-
$conn = &$flink->getDatabaseConnection();
$this->getTimeline($flink);
@@ -150,7 +145,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
// XXX: Couldn't find a less brutal way to blow
// away a cached connection
-
global $_DB_DATAOBJECT;
unset($_DB_DATAOBJECT['CONNECTIONS']);
}
@@ -201,9 +195,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
// Reverse to preserve order
foreach (array_reverse($timeline) as $status) {
-
// Hacktastic: filter out stuff coming from this StatusNet
-
$source = mb_strtolower(common_config('integration', 'source'));
if (preg_match("/$source/", mb_strtolower($status->source))) {
@@ -214,7 +206,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
// Don't save it if the user is protected
// FIXME: save it but treat it as private
-
if ($status->user->protected) {
continue;
}
@@ -232,7 +223,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
// Okay, record the time we synced with Twitter for posterity
-
$flink->last_noticesync = common_sql_now();
$flink->update();
}
@@ -250,7 +240,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$statusUri = $this->makeStatusURI($status->user->screen_name, $status->id);
// check to see if we've already imported the status
-
$n2s = Notice_to_status::staticGet('status_id', $status->id);
if (!empty($n2s)) {
@@ -263,7 +252,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
// If it's a retweet, save it as a repeat!
-
if (!empty($status->retweeted_status)) {
common_log(LOG_INFO, "Status {$status->id} is a retweet of {$status->retweeted_status->id}.");
$original = $this->saveStatus($status->retweeted_status);
@@ -273,7 +261,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$author = $original->getProfile();
// TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
// TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
- $content = sprintf(_('RT @%1$s %2$s'),
+ $content = sprintf(_m('RT @%1$s %2$s'),
$author->nickname,
$original->content);
@@ -333,7 +321,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$notice->is_local = Notice::GATEWAY;
- $notice->content = html_entity_decode($status->text);
+ $notice->content = html_entity_decode($status->text, ENT_QUOTES, 'UTF-8');
$notice->rendered = $this->linkify($status);
if (Event::handle('StartNoticeSave', array(&$notice))) {
@@ -365,7 +353,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return string URI
*/
-
function makeStatusURI($username, $id)
{
return 'http://twitter.com/'
@@ -383,7 +370,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return mixed value the first Profile with that url, or null
*/
-
function getProfileByUrl($nickname, $profileurl)
{
$profile = new Profile();
@@ -407,7 +393,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
*
* @return mixed value a matching Notice or null
*/
-
function checkDupe($profile, $statusUri)
{
$notice = new Notice();
@@ -426,7 +411,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
function ensureProfile($user)
{
// check to see if there's already a profile for this user
-
$profileurl = 'http://twitter.com/' . $user->screen_name;
$profile = $this->getProfileByUrl($user->screen_name, $profileurl);
@@ -440,7 +424,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
return $profile;
} else {
-
common_debug($this->name() . ' - Adding profile and remote profile ' .
"for Twitter user: $profileurl.");
@@ -472,7 +455,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$remote_pro = Remote_profile::staticGet('uri', $profileurl);
if (empty($remote_pro)) {
-
$remote_pro = new Remote_profile();
$remote_pro->id = $id;
@@ -619,7 +601,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$avatar = $profile->getAvatar($sizes[$size]);
// Delete the avatar, if present
-
if ($avatar) {
$avatar->delete();
}
@@ -644,10 +625,8 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$avatar->height = 48;
break;
default:
-
// Note: Twitter's big avatars are a different size than
// StatusNet's (StatusNet's = 96)
-
$avatar->width = 73;
$avatar->height = 73;
}
@@ -713,6 +692,10 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$text = $status->text;
if (empty($status->entities)) {
+ common_log(LOG_WARNING, "No entities data for {$status->id}; trying to fake up links ourselves.");
+ $text = common_replace_urls_callback($text, 'common_linkify');
+ $text = preg_replace('/(^|\&quot\;|\'|\(|\[|\{|\s+)#([\pL\pN_\-\.]{1,64})/e', "'\\1#'.TwitterStatusFetcher::tagLink('\\2')", $text);
+ $text = preg_replace('/(^|\s+)@([a-z0-9A-Z_]{1,64})/e', "'\\1@'.TwitterStatusFetcher::atLink('\\2')", $text);
return $text;
}
@@ -771,12 +754,26 @@ class TwitterStatusFetcher extends ParallelizingDaemon
function makeHashtagLink($object)
{
- return "#<a href='https://twitter.com/search?q=%23{$object->text}' class='hashtag'>{$object->text}</a>";
+ return "#" . self::tagLink($object->text);
}
function makeMentionLink($object)
{
- return "@<a href='http://twitter.com/{$object->screen_name}' title='{$object->name}'>{$object->screen_name}</a>";
+ return "@".self::atLink($object->screen_name, $object->name);
+ }
+
+ static function tagLink($tag)
+ {
+ return "<a href='https://twitter.com/search?q=%23{$tag}' class='hashtag'>{$tag}</a>";
+ }
+
+ static function atLink($screenName, $fullName=null)
+ {
+ if (!empty($fullName)) {
+ return "<a href='http://twitter.com/{$screenName}' title='{$fullName}'>{$screenName}</a>";
+ } else {
+ return "<a href='http://twitter.com/{$screenName}'>{$screenName}</a>";
+ }
}
function saveStatusMentions($notice, $status)
@@ -822,4 +819,3 @@ if (have_option('d') || have_option('debug')) {
$fetcher = new TwitterStatusFetcher($id, 60, 2, $debug);
$fetcher->runOnce();
-
diff --git a/plugins/TwitterBridge/locale/TwitterBridge.pot b/plugins/TwitterBridge/locale/TwitterBridge.pot
index c7ac8053c..702793c87 100644
--- a/plugins/TwitterBridge/locale/TwitterBridge.pot
+++ b/plugins/TwitterBridge/locale/TwitterBridge.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-04-29 23:39+0000\n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
@@ -16,16 +16,16 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: twitter.php:342
+#: twitter.php:350
msgid "Your Twitter bridge has been disabled."
msgstr ""
-#: twitter.php:346
+#: twitter.php:354
#, php-format
msgid ""
"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
"disabled. We no longer seem to have permission to update your Twitter "
-"status. (Did you revoke %3$s's access?)\n"
+"status. Did you maybe revoke %3$s's access?\n"
"\n"
"You can re-enable your Twitter bridge by visiting your Twitter settings "
"page:\n"
@@ -33,19 +33,19 @@ msgid ""
"\t%2$s\n"
"\n"
"Regards,\n"
-"%3$s\n"
+"%3$s"
msgstr ""
-#: TwitterBridgePlugin.php:155 TwitterBridgePlugin.php:178
-#: TwitterBridgePlugin.php:291 twitteradminpanel.php:54
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
msgid "Twitter"
msgstr ""
-#: TwitterBridgePlugin.php:156
+#: TwitterBridgePlugin.php:152
msgid "Login or register using Twitter"
msgstr ""
-#: TwitterBridgePlugin.php:179
+#: TwitterBridgePlugin.php:175
msgid "Twitter integration options"
msgstr ""
@@ -53,21 +53,21 @@ msgstr ""
msgid "Twitter bridge configuration"
msgstr ""
-#: TwitterBridgePlugin.php:317
+#: TwitterBridgePlugin.php:316
msgid ""
-"The Twitter \"bridge\" plugin allows you to integrate your StatusNet "
-"instance with <a href=\"http://twitter.com/\">Twitter</a>."
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
msgstr ""
-#: twitteradminpanel.php:65
+#: twitteradminpanel.php:62
msgid "Twitter bridge settings"
msgstr ""
-#: twitteradminpanel.php:148
+#: twitteradminpanel.php:145
msgid "Invalid consumer key. Max length is 255 characters."
msgstr ""
-#: twitteradminpanel.php:154
+#: twitteradminpanel.php:151
msgid "Invalid consumer secret. Max length is 255 characters."
msgstr ""
@@ -91,6 +91,10 @@ msgstr ""
msgid "Consumer secret assigned by Twitter"
msgstr ""
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr ""
+
#: twitteradminpanel.php:240
msgid "Integration source"
msgstr ""
@@ -111,15 +115,54 @@ msgstr ""
msgid "Allow users to login with their Twitter credentials"
msgstr ""
-#: twitteradminpanel.php:268
+#: twitteradminpanel.php:269
msgid "Enable Twitter import"
msgstr ""
-#: twitteradminpanel.php:270
-msgid "Allow users to import their Twitter friends' timelines"
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr ""
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr ""
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr ""
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr ""
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr ""
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr ""
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr ""
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr ""
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
msgstr ""
#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
msgid "Couldn't link your Twitter account."
msgstr ""
@@ -127,99 +170,197 @@ msgstr ""
msgid "Couldn't link your Twitter account: oauth_token mismatch."
msgstr ""
-#: twittersettings.php:59
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr ""
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr ""
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr ""
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr ""
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr ""
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr ""
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr ""
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr ""
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr ""
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr ""
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr ""
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr ""
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr ""
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr ""
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr ""
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr ""
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr ""
+
+#: twittersettings.php:58
msgid "Twitter settings"
msgstr ""
-#: twittersettings.php:70
+#: twittersettings.php:69
msgid ""
"Connect your Twitter account to share your updates with your Twitter friends "
"and vice-versa."
msgstr ""
-#: twittersettings.php:118
+#: twittersettings.php:116
msgid "Twitter account"
msgstr ""
-#: twittersettings.php:123
+#: twittersettings.php:121
msgid "Connected Twitter account"
msgstr ""
-#: twittersettings.php:128
+#: twittersettings.php:126
msgid "Disconnect my account from Twitter"
msgstr ""
-#: twittersettings.php:133
+#: twittersettings.php:132
msgid "Disconnecting your Twitter could make it impossible to log in! Please "
msgstr ""
-#: twittersettings.php:137
+#: twittersettings.php:136
msgid "set a password"
msgstr ""
-#: twittersettings.php:139
+#: twittersettings.php:138
msgid " first."
msgstr ""
-#: twittersettings.php:143
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
#, php-format
msgid ""
"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
"password to log in."
msgstr ""
-#: twittersettings.php:151
+#: twittersettings.php:150
msgid "Disconnect"
msgstr ""
-#: twittersettings.php:158
+#: twittersettings.php:157
msgid "Preferences"
msgstr ""
-#: twittersettings.php:162
+#: twittersettings.php:161
msgid "Automatically send my notices to Twitter."
msgstr ""
-#: twittersettings.php:169
+#: twittersettings.php:168
msgid "Send local \"@\" replies to Twitter."
msgstr ""
-#: twittersettings.php:176
+#: twittersettings.php:175
msgid "Subscribe to my Twitter friends here."
msgstr ""
-#: twittersettings.php:185
-msgid "Import my Friends Timeline."
+#: twittersettings.php:184
+msgid "Import my friends timeline."
msgstr ""
-#: twittersettings.php:201
-msgid "Save"
-msgstr ""
-
-#: twittersettings.php:203
+#: twittersettings.php:202
msgid "Add"
msgstr ""
-#: twittersettings.php:228
-msgid "There was a problem with your session token. Try again, please."
-msgstr ""
-
-#: twittersettings.php:238
+#: twittersettings.php:236
msgid "Unexpected form submission."
msgstr ""
-#: twittersettings.php:257
+#: twittersettings.php:254
msgid "Couldn't remove Twitter user."
msgstr ""
-#: twittersettings.php:261
+#: twittersettings.php:258
msgid "Twitter account disconnected."
msgstr ""
-#: twittersettings.php:282 twittersettings.php:292
+#: twittersettings.php:278 twittersettings.php:288
msgid "Couldn't save Twitter preferences."
msgstr ""
-#: twittersettings.php:296
+#: twittersettings.php:292
msgid "Twitter preferences saved."
msgstr ""
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr ""
diff --git a/plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po
new file mode 100644
index 000000000..9c03dc101
--- /dev/null
+++ b/plugins/TwitterBridge/locale/fr/LC_MESSAGES/TwitterBridge.po
@@ -0,0 +1,410 @@
+# Translation of StatusNet - TwitterBridge to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TwitterBridge\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:33+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:42+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: twitter.php:350
+msgid "Your Twitter bridge has been disabled."
+msgstr "Votre passerelle Twitter a été désactivée."
+
+#: twitter.php:354
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. Did you maybe revoke %3$s's access?\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s"
+msgstr ""
+"Salut, %1$s. Nous sommes désolés de vous informer que votre liaison avec "
+"Twitter a été désactivée. Il semble que nous ne soyons plus autorisé à "
+"mettre à jour votre statut Twitter. Peut-être avez-vous révoqué l’accès de %3"
+"$s ?\n"
+"\n"
+"Vous pouvez réactiver votre passerelle Twitter en visitant la page des "
+"paramètres de votre compte Twitter :\n"
+"\n"
+"%2$s\n"
+"\n"
+"Cordialement,\n"
+"%3$s"
+
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+msgid "Twitter"
+msgstr "Twitter"
+
+#: TwitterBridgePlugin.php:152
+msgid "Login or register using Twitter"
+msgstr "Se connecter ou s’inscrire via Twitter"
+
+#: TwitterBridgePlugin.php:175
+msgid "Twitter integration options"
+msgstr "Options d’intégration de Twitter"
+
+#: TwitterBridgePlugin.php:292
+msgid "Twitter bridge configuration"
+msgstr "Configuration de la passerelle Twitter"
+
+#: TwitterBridgePlugin.php:316
+msgid ""
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+"Le greffon de « passerelle » Twitter permet l’intégration d’une instance de "
+"StatusNet avec <a href=\"http://twitter.com/\">Twitter</a>."
+
+#: twitteradminpanel.php:62
+msgid "Twitter bridge settings"
+msgstr "Paramètres de la passerelle Twitter"
+
+#: twitteradminpanel.php:145
+msgid "Invalid consumer key. Max length is 255 characters."
+msgstr "Clé de client invalide. La longueur maximum est de 255 caractères."
+
+#: twitteradminpanel.php:151
+msgid "Invalid consumer secret. Max length is 255 characters."
+msgstr ""
+"Code secret du client invalide. La longueur maximum est de 255 caractères."
+
+#: twitteradminpanel.php:207
+msgid "Twitter application settings"
+msgstr "Paramètres de l’application Twitter"
+
+#: twitteradminpanel.php:213
+msgid "Consumer key"
+msgstr "Clé du client"
+
+#: twitteradminpanel.php:214
+msgid "Consumer key assigned by Twitter"
+msgstr "Clé du client assignée par Twitter"
+
+#: twitteradminpanel.php:222
+msgid "Consumer secret"
+msgstr "Code secret du client"
+
+#: twitteradminpanel.php:223
+msgid "Consumer secret assigned by Twitter"
+msgstr "Code secret du client assigné par Twitter"
+
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr "Note : une clé et un code secret de client global sont définis."
+
+#: twitteradminpanel.php:240
+msgid "Integration source"
+msgstr "Source d’intégration"
+
+#: twitteradminpanel.php:241
+msgid "Name of your Twitter application"
+msgstr "Nom de votre application Twitter"
+
+#: twitteradminpanel.php:253
+msgid "Options"
+msgstr "Options"
+
+#: twitteradminpanel.php:260
+msgid "Enable \"Sign-in with Twitter\""
+msgstr "Activer « S’inscrire avec Twitter »"
+
+#: twitteradminpanel.php:262
+msgid "Allow users to login with their Twitter credentials"
+msgstr ""
+"Permet aux utilisateurs de se connecter avec leurs identifiants Twitter"
+
+#: twitteradminpanel.php:269
+msgid "Enable Twitter import"
+msgstr "Activer l’importation Twitter"
+
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr ""
+"Permettre aux utilisateurs d’importer les agendas de leurs amis Twitter. "
+"Exige que les démons soient configurés manuellement."
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr "Sauvegarder les paramètres Twitter"
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr "Déjà connecté."
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr "Connexion Twitter"
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr "Connexion avec votre compte Twitter"
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr "S’inscrire avec Twitter"
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Un problème est survenu avec votre jeton de session. Veuillez essayer à "
+"nouveau."
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr "Vous ne pouvez pas vous inscrire si vous n’acceptez pas la licence."
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr "Quelque chose de bizarre s’est passé."
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
+msgid "Couldn't link your Twitter account."
+msgstr "Impossible de lier votre compte Twitter."
+
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr ""
+"Impossible de lier votre compte Twitter : le jeton d’authentification ne "
+"correspond pas."
+
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"C’est la première fois que vous êtes connecté à %s via Twitter, il nous faut "
+"donc lier votre compte Twitter à un compte local. Vous pouvez soit créer un "
+"nouveau compte, soit vous connecter avec votre compte local existant si vous "
+"en avez un."
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr "Configuration du compte Twitter"
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr "Options de connexion"
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Mon texte et mes fichiers sont disponibles sous licence %s, à l’exception "
+"des données privées suivantes : mot de passe, adresse courriel, adresse de "
+"messagerie instantanée et numéro de téléphone."
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr "Créer un nouveau compte"
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr "Créer un nouvel utilisateur avec ce pseudonyme."
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr "Nouveau pseudonyme"
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1 à 64 lettres minuscules ou chiffres, sans ponctuation ni espaces"
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr "Créer"
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr "Se connecter à un compte existant"
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+"Si vous avez déjà un compte ici, connectez-vous avec votre nom d’utilisateur "
+"et mot de passe pour l’associer à votre compte Twitter."
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr "Pseudonyme existant"
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr "Mot de passe"
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr "Connexion"
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr "Inscription non autorisée."
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr "Le code d’invitation n’est pas valide."
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Les pseudonymes ne peuvent contenir que des lettres minuscules et des "
+"chiffres, sans espaces."
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr "Pseudonyme non autorisé."
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr "Pseudonyme déjà utilisé. Essayez-en un autre."
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr "Erreur lors de l’inscription de l’utilisateur."
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr "Erreur de connexion de l’utilisateur à Twitter."
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr "Nom d’utilisateur ou mot de passe incorrect."
+
+#: twittersettings.php:58
+msgid "Twitter settings"
+msgstr "Paramètres Twitter"
+
+#: twittersettings.php:69
+msgid ""
+"Connect your Twitter account to share your updates with your Twitter friends "
+"and vice-versa."
+msgstr ""
+"Connectez votre compte Twitter pour partager vos mises à jour avec vos amis "
+"Twitter et vice-versa."
+
+#: twittersettings.php:116
+msgid "Twitter account"
+msgstr "Compte Twitter"
+
+#: twittersettings.php:121
+msgid "Connected Twitter account"
+msgstr "Compte Twitter connecté"
+
+#: twittersettings.php:126
+msgid "Disconnect my account from Twitter"
+msgstr "Déconnecter mon compte de Twitter"
+
+#: twittersettings.php:132
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr ""
+"La déconnexion de votre compte Twitter ne vous permettrait plus de vous "
+"connecter ! S’il vous plaît "
+
+#: twittersettings.php:136
+msgid "set a password"
+msgstr "définissez un mot de passe"
+
+#: twittersettings.php:138
+msgid " first."
+msgstr " tout d’abord."
+
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr ""
+"Gardez votre compte %1$s, mais déconnectez-vous de Twitter. Vous pouvez "
+"utiliser votre mot de passe %1$s pour vous connecter."
+
+#: twittersettings.php:150
+msgid "Disconnect"
+msgstr "Déconnecter"
+
+#: twittersettings.php:157
+msgid "Preferences"
+msgstr "Préférences"
+
+#: twittersettings.php:161
+msgid "Automatically send my notices to Twitter."
+msgstr "Envoyer automatiquement mes avis sur Twitter."
+
+#: twittersettings.php:168
+msgid "Send local \"@\" replies to Twitter."
+msgstr "Envoyer des réponses \"@\" locales à Twitter."
+
+#: twittersettings.php:175
+msgid "Subscribe to my Twitter friends here."
+msgstr "S’abonner à mes amis Twitter ici."
+
+#: twittersettings.php:184
+msgid "Import my friends timeline."
+msgstr "Importer l’agenda de mes amis."
+
+#: twittersettings.php:202
+msgid "Add"
+msgstr "Ajouter"
+
+#: twittersettings.php:236
+msgid "Unexpected form submission."
+msgstr "Soumission de formulaire inattendue."
+
+#: twittersettings.php:254
+msgid "Couldn't remove Twitter user."
+msgstr "Impossible de supprimer l’utilisateur Twitter."
+
+#: twittersettings.php:258
+msgid "Twitter account disconnected."
+msgstr "Compte Twitter déconnecté."
+
+#: twittersettings.php:278 twittersettings.php:288
+msgid "Couldn't save Twitter preferences."
+msgstr "Impossible de sauvegarder les préférences Twitter."
+
+#: twittersettings.php:292
+msgid "Twitter preferences saved."
+msgstr "Préférences Twitter enregistrées."
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
diff --git a/plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po
new file mode 100644
index 000000000..d5be8c0f1
--- /dev/null
+++ b/plugins/TwitterBridge/locale/ia/LC_MESSAGES/TwitterBridge.po
@@ -0,0 +1,400 @@
+# Translation of StatusNet - TwitterBridge to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TwitterBridge\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:33+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:42+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: twitter.php:350
+msgid "Your Twitter bridge has been disabled."
+msgstr "Tu ponte a Twitter ha essite disactivate."
+
+#: twitter.php:354
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. Did you maybe revoke %3$s's access?\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s"
+msgstr ""
+"Salute, %1$s. Nos regretta informar te que tu ligamine a Twitter ha essite "
+"disactivate. Il pare que nos non ha plus le permission de actualisar tu "
+"stato de Twitter. Esque tu forsan revocava le accesso de %3$s?\n"
+"\n"
+"Tu pote reactivar tu ponte a Twitter per visitar tu pagina de configuration "
+"de Twitter:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Cordialmente,\n"
+"%3$s"
+
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+msgid "Twitter"
+msgstr "Twitter"
+
+#: TwitterBridgePlugin.php:152
+msgid "Login or register using Twitter"
+msgstr "Aperir session o crear conto usante Twitter"
+
+#: TwitterBridgePlugin.php:175
+msgid "Twitter integration options"
+msgstr "Optiones de integration de Twitter"
+
+#: TwitterBridgePlugin.php:292
+msgid "Twitter bridge configuration"
+msgstr "Configuration del ponte a Twitter"
+
+#: TwitterBridgePlugin.php:316
+msgid ""
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+"Le plug-in de \"ponte\" a Twitter permitte le integration de un installation "
+"de StatusNet con <a href=\"http://twitter.com/\">Twitter</a>."
+
+#: twitteradminpanel.php:62
+msgid "Twitter bridge settings"
+msgstr "Configuration del ponte a Twitter"
+
+#: twitteradminpanel.php:145
+msgid "Invalid consumer key. Max length is 255 characters."
+msgstr "Clave de consumitor invalide. Longitude maximal es 255 characteres."
+
+#: twitteradminpanel.php:151
+msgid "Invalid consumer secret. Max length is 255 characters."
+msgstr "Secreto de consumitor invalide. Longitude maximal es 255 characteres."
+
+#: twitteradminpanel.php:207
+msgid "Twitter application settings"
+msgstr "Configuration del application Twitter"
+
+#: twitteradminpanel.php:213
+msgid "Consumer key"
+msgstr "Clave de consumitor"
+
+#: twitteradminpanel.php:214
+msgid "Consumer key assigned by Twitter"
+msgstr "Clave de consumitor assignate per Twitter"
+
+#: twitteradminpanel.php:222
+msgid "Consumer secret"
+msgstr "Secreto de consumitor"
+
+#: twitteradminpanel.php:223
+msgid "Consumer secret assigned by Twitter"
+msgstr "Secreto de consumitor assignate per Twitter"
+
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr "Nota: un clave e un secreto de consumitor global es definite."
+
+#: twitteradminpanel.php:240
+msgid "Integration source"
+msgstr "Fonte de integration"
+
+#: twitteradminpanel.php:241
+msgid "Name of your Twitter application"
+msgstr "Nomine de tu application Twitter"
+
+#: twitteradminpanel.php:253
+msgid "Options"
+msgstr "Optiones"
+
+#: twitteradminpanel.php:260
+msgid "Enable \"Sign-in with Twitter\""
+msgstr "Activar \"Aperir session con Twitter\""
+
+#: twitteradminpanel.php:262
+msgid "Allow users to login with their Twitter credentials"
+msgstr "Permitte que usatores aperi session con lor conto de Twitter"
+
+#: twitteradminpanel.php:269
+msgid "Enable Twitter import"
+msgstr "Activar le importation de Twitter"
+
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr ""
+"Permitte que usatores importa le chronologias de lor amicos de Twitter. "
+"Require que le demones sia configurate manualmente."
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr "Salveguardar"
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr "Salveguardar configurationes de Twitter"
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr "Tu es jam authenticate."
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr "Apertura de session con Twitter"
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr "Aperir session con tu conto de Twitter"
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr "Aperir session con Twitter"
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Occurreva un problema con le indicio de tu session. Per favor reproba."
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr "Tu non pote crear un conto si tu non accepta le licentia."
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr "Qualcosa de bizarre occurreva."
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
+msgid "Couldn't link your Twitter account."
+msgstr "Non poteva ligar a tu conto de Twitter."
+
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr "Non poteva ligar a tu conto de Twitter: oauth_token non corresponde."
+
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Isto es le prime vice que tu ha aperite un session in %s; dunque, nos debe "
+"connecter tu conto de Twitter a un conto local. Tu pote crear un nove conto, "
+"o connecter con tu conto existente, si tu ha un."
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr "Configuration del conto de Twitter"
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr "Optiones de connexion"
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Mi texto e files es disponibile sub %s excepte iste datos private: "
+"contrasigno, adresse de e-mail, adresse de messageria instantanee, numero de "
+"telephono."
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr "Crear nove conto"
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr "Crear un nove usator con iste pseudonymo."
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr "Nove pseudonymo"
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 minusculas o numeros, sin punctuation o spatios"
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr "Crear"
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr "Connecter conto existente"
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+"Si tu ha jam un conto, aperi session con tu nomine de usator e contrasigno "
+"pro connecter lo a tu conto de Twitter."
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr "Pseudonymo existente"
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr "Contrasigno"
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr "Connecter"
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr "Creation de conto non permittite."
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr "Le codice de invitation es invalide."
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "Le pseudonymo pote solmente haber minusculas e numeros, sin spatios."
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr "Pseudonymo non permittite."
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr "Pseudonymo ja in uso. Proba un altere."
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr "Error durante le registration del usator."
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr "Error durante le connexion del usator a Twitter."
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr "Nomine de usator o contrasigno invalide."
+
+#: twittersettings.php:58
+msgid "Twitter settings"
+msgstr "Configuration de Twitter"
+
+#: twittersettings.php:69
+msgid ""
+"Connect your Twitter account to share your updates with your Twitter friends "
+"and vice-versa."
+msgstr ""
+"Connecte tu conto de Twitter pro condivider tu actualisationes con tu amicos "
+"de Twitter e vice versa."
+
+#: twittersettings.php:116
+msgid "Twitter account"
+msgstr "Conto de Twitter"
+
+#: twittersettings.php:121
+msgid "Connected Twitter account"
+msgstr "Conto de Twitter connectite"
+
+#: twittersettings.php:126
+msgid "Disconnect my account from Twitter"
+msgstr "Disconnecter mi conto ab Twitter"
+
+#: twittersettings.php:132
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr ""
+"Le disconnexion de tu conto de Twitter renderea le authentication "
+"impossibile! Per favor "
+
+#: twittersettings.php:136
+msgid "set a password"
+msgstr "defini un contrasigno"
+
+#: twittersettings.php:138
+msgid " first."
+msgstr " primo."
+
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr ""
+"Retene tu conto de %1$s ma disconnecte ab Twitter. Tu pote usar tu "
+"contrasigno de %1$s pro aperir session."
+
+#: twittersettings.php:150
+msgid "Disconnect"
+msgstr "Disconnecter"
+
+#: twittersettings.php:157
+msgid "Preferences"
+msgstr "Preferentias"
+
+#: twittersettings.php:161
+msgid "Automatically send my notices to Twitter."
+msgstr "Automaticamente inviar mi notas a Twitter."
+
+#: twittersettings.php:168
+msgid "Send local \"@\" replies to Twitter."
+msgstr "Inviar responsas \"@\" local a Twitter."
+
+#: twittersettings.php:175
+msgid "Subscribe to my Twitter friends here."
+msgstr "Subscriber hic a mi amicos de Twitter."
+
+#: twittersettings.php:184
+msgid "Import my friends timeline."
+msgstr "Importar le chronologia de mi amicos."
+
+#: twittersettings.php:202
+msgid "Add"
+msgstr "Adder"
+
+#: twittersettings.php:236
+msgid "Unexpected form submission."
+msgstr "Submission de formulario inexpectate."
+
+#: twittersettings.php:254
+msgid "Couldn't remove Twitter user."
+msgstr "Non poteva remover le usator de Twitter."
+
+#: twittersettings.php:258
+msgid "Twitter account disconnected."
+msgstr "Conto de Twitter disconnectite."
+
+#: twittersettings.php:278 twittersettings.php:288
+msgid "Couldn't save Twitter preferences."
+msgstr "Non poteva salveguardar le preferentias de Twitter."
+
+#: twittersettings.php:292
+msgid "Twitter preferences saved."
+msgstr "Preferentias de Twitter salveguardate."
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
diff --git a/plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po
new file mode 100644
index 000000000..03e7720f8
--- /dev/null
+++ b/plugins/TwitterBridge/locale/mk/LC_MESSAGES/TwitterBridge.po
@@ -0,0 +1,403 @@
+# Translation of StatusNet - TwitterBridge to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TwitterBridge\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:33+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:42+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: twitter.php:350
+msgid "Your Twitter bridge has been disabled."
+msgstr "Вашиот мост до Twitter е оневозможен."
+
+#: twitter.php:354
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. Did you maybe revoke %3$s's access?\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s"
+msgstr ""
+"Здраво, %1$s. Нажалост Вашата врска до Twitter е оневозможена. Се чини дека "
+"веќе немаме дозвола за менување на Вашиот статус на Twitter. Дали можеби го "
+"имате одземено правото на пристап на %3$s?\n"
+"\n"
+"Можете повторно да го овозможите Вашиот мост до Twitter на страницата за "
+"нагодувања на Twitter:\n"
+"\n"
+"%2$s\n"
+"\n"
+"Поздрав,\n"
+"%3$s"
+
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+msgid "Twitter"
+msgstr "Twitter"
+
+#: TwitterBridgePlugin.php:152
+msgid "Login or register using Twitter"
+msgstr "Најава или регистрација со Twitter"
+
+#: TwitterBridgePlugin.php:175
+msgid "Twitter integration options"
+msgstr "Нагодувања за обединување со Twitter"
+
+#: TwitterBridgePlugin.php:292
+msgid "Twitter bridge configuration"
+msgstr "Нагодувања за мостот до Twitter"
+
+#: TwitterBridgePlugin.php:316
+msgid ""
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+"Приклучокот за „мост“ до Twitter овозможува соединување на примерок на "
+"StatusNet со <a href=\"http://twitter.com/\">Twitter</a>."
+
+#: twitteradminpanel.php:62
+msgid "Twitter bridge settings"
+msgstr "Поставки за мостот до Twitter"
+
+#: twitteradminpanel.php:145
+msgid "Invalid consumer key. Max length is 255 characters."
+msgstr "Неважечки потрошувачки клуч. Дозволени се највеќе 255 знаци."
+
+#: twitteradminpanel.php:151
+msgid "Invalid consumer secret. Max length is 255 characters."
+msgstr "Неважечка потрошувачка тајна. Дозволени се највеќе 255 знаци."
+
+#: twitteradminpanel.php:207
+msgid "Twitter application settings"
+msgstr "Нагодувања на програмчето за Twitter"
+
+#: twitteradminpanel.php:213
+msgid "Consumer key"
+msgstr "Потрошувачки клуч"
+
+#: twitteradminpanel.php:214
+msgid "Consumer key assigned by Twitter"
+msgstr "Потрошувачкиот клуч доделен од Twitter"
+
+#: twitteradminpanel.php:222
+msgid "Consumer secret"
+msgstr "Потрошувачка тајна"
+
+#: twitteradminpanel.php:223
+msgid "Consumer secret assigned by Twitter"
+msgstr "Потрошувачката тајна доделена од Twitter"
+
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr "Напомена: поставени се глобални потрошувачки клуч и тајна."
+
+#: twitteradminpanel.php:240
+msgid "Integration source"
+msgstr "Извор на соединување"
+
+#: twitteradminpanel.php:241
+msgid "Name of your Twitter application"
+msgstr "Име на Вашето програмче за Twitter"
+
+#: twitteradminpanel.php:253
+msgid "Options"
+msgstr "Поставки"
+
+#: twitteradminpanel.php:260
+msgid "Enable \"Sign-in with Twitter\""
+msgstr "Овозможи „најава со Twitter“"
+
+#: twitteradminpanel.php:262
+msgid "Allow users to login with their Twitter credentials"
+msgstr ""
+"Им овозможува на корисниците да се најавуваат со нивните податоци од Twitter"
+
+#: twitteradminpanel.php:269
+msgid "Enable Twitter import"
+msgstr "Овозможу увоз од Twitter"
+
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr ""
+"Им овозможува на корисниците да ги увезуваат хронологиите на нивните "
+"пријатели на Twitter. Бара рачно нагодување на демоните."
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr "Зачувај"
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr "Зачувај нагодувања на Twitter"
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr "Веќе сте најавени."
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr "Најава со Twitter"
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr "Најава со Вашата сметка од Twitter"
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr "Најава со Twitter"
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Се појави проблем со жетонот на Вашата сесија. Обидете се повторно."
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr "Не можете да се регистрирате ако не се согласувате со лиценцата."
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr "Се случи нешто чудно."
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
+msgid "Couldn't link your Twitter account."
+msgstr "Не можам да ја поврзам Вашата сметка на Twitter."
+
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr ""
+"Не можев да ја поврзам Вашата сметка на Twitter: несогласување со "
+"oauth_token."
+
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Ова е прв пат како се најавувате на %s, па затоа мораме да ја поврземе "
+"Вашата сметка на Twitter со локална сметка. Можете да создадете нова сметка, "
+"или пак да се поврзете со Вашата постоечка сметка (ако ја имате)."
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr "Поставки за сметката на Twitter"
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr "Нагодувања за врска"
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Мојот текст и податотеки се достапни под %s, освен следниве приватни "
+"податоци: лозинка, е-пошта, IM-адреса и телефонски број."
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr "Создај нова сметка"
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr "Создај нов корисник со овој прекар."
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr "Нов прекар"
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 мали букви или бројки, без интерпункциски знаци и празни места"
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr "Создај"
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr "Поврзи постоечка сметка"
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+"Ако веќе имате сметка, најавете се со корисничкото име и лозинката за да ја "
+"поврзете со профилот на Twitter."
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr "Постоечки прекар"
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr "Лозинка"
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr "Поврзи се"
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr "Регистрацијата не е дозволена."
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr "Ова не е важечки код за покана."
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Прекарот мора да се состои само од мали букви и бројки, без празни места."
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr "Прекарот не е дозволен."
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr "Прекарот е зафатен. Одберете друг."
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr "Грешка при регистрирање на корисникот."
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr "Грешка при поврзувањето на корисникот со Twitter."
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr "Неважечко корисничко име или лозинка."
+
+#: twittersettings.php:58
+msgid "Twitter settings"
+msgstr "Нагодувања за Twitter"
+
+#: twittersettings.php:69
+msgid ""
+"Connect your Twitter account to share your updates with your Twitter friends "
+"and vice-versa."
+msgstr ""
+"Поврзете ја Вашата сметка на Twitter за да ги споделувате подновувањата со "
+"Вашите пријатели на Twitter и обратно."
+
+#: twittersettings.php:116
+msgid "Twitter account"
+msgstr "Сметка на Twitter"
+
+#: twittersettings.php:121
+msgid "Connected Twitter account"
+msgstr "Поврзана сметка на Twitter"
+
+#: twittersettings.php:126
+msgid "Disconnect my account from Twitter"
+msgstr "Прекини ја врската со сметката на Twitter"
+
+#: twittersettings.php:132
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr ""
+"Ако ја прекинете врската со сметката на Twitter, нема да можете да се "
+"најавите! Затоа "
+
+#: twittersettings.php:136
+msgid "set a password"
+msgstr "поставете лозинка"
+
+#: twittersettings.php:138
+msgid " first."
+msgstr "пред да продолжите."
+
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr ""
+"Задржете си ја сметката на %1$s, но прекинете ја врската со Twitter. За "
+"најава, користете ја Вашата лозинка на %1$s."
+
+#: twittersettings.php:150
+msgid "Disconnect"
+msgstr "Прекини"
+
+#: twittersettings.php:157
+msgid "Preferences"
+msgstr "Нагодувања"
+
+#: twittersettings.php:161
+msgid "Automatically send my notices to Twitter."
+msgstr "Автоматски испраќај ми ги забелешките на Twitter."
+
+#: twittersettings.php:168
+msgid "Send local \"@\" replies to Twitter."
+msgstr "Испраќај локални „@“ одговори на Twitter."
+
+#: twittersettings.php:175
+msgid "Subscribe to my Twitter friends here."
+msgstr "Претплатете се на пријателите од Twitter тука."
+
+#: twittersettings.php:184
+msgid "Import my friends timeline."
+msgstr "Увези ја хронологијата на моите пријатели."
+
+#: twittersettings.php:202
+msgid "Add"
+msgstr "Додај"
+
+#: twittersettings.php:236
+msgid "Unexpected form submission."
+msgstr "Неочекувано поднесување на образец."
+
+#: twittersettings.php:254
+msgid "Couldn't remove Twitter user."
+msgstr "Не можев да го отстранам корисникот на Twitter."
+
+#: twittersettings.php:258
+msgid "Twitter account disconnected."
+msgstr "Врската со сметката на Twitter е прекината."
+
+#: twittersettings.php:278 twittersettings.php:288
+msgid "Couldn't save Twitter preferences."
+msgstr "Не можев да ги зачувам нагодувањата за Twitter."
+
+#: twittersettings.php:292
+msgid "Twitter preferences saved."
+msgstr "Нагодувањата за Twitter се зачувани."
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
diff --git a/plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po
new file mode 100644
index 000000000..ed29e9895
--- /dev/null
+++ b/plugins/TwitterBridge/locale/nl/LC_MESSAGES/TwitterBridge.po
@@ -0,0 +1,410 @@
+# Translation of StatusNet - TwitterBridge to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TwitterBridge\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:33+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:42+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: twitter.php:350
+msgid "Your Twitter bridge has been disabled."
+msgstr "Uw koppeling naar Twitter is uitgeschakeld."
+
+#: twitter.php:354
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. Did you maybe revoke %3$s's access?\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s"
+msgstr ""
+"Hallo, %1$s.\n"
+"\n"
+"Het spijt ons u te moeten meedelen dat uw koppeling met Twitter is "
+"uitgeschakeld. De site heeft niet langer het recht om uw Twitterstatus bij "
+"te werken. Hebt u wellicht de rechten voor %3$s ingetrokken?\n"
+"\n"
+"U kunt uw koppeling met Twitter opnieuw inschakelen via de pagina met "
+"Twitterinstellingen:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Met vriendelijke groet,\n"
+"%3$s"
+
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+msgid "Twitter"
+msgstr "Twitter"
+
+#: TwitterBridgePlugin.php:152
+msgid "Login or register using Twitter"
+msgstr "Aanmelden of registreren via Twitter"
+
+#: TwitterBridgePlugin.php:175
+msgid "Twitter integration options"
+msgstr "Opties voor Twitterintegratie"
+
+#: TwitterBridgePlugin.php:292
+msgid "Twitter bridge configuration"
+msgstr "Instellingen voor Twitterkoppeling"
+
+#: TwitterBridgePlugin.php:316
+msgid ""
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+"De plugin Twitter Brigde maakt het mogelijk en StatusNetinstallatie te "
+"integreren met <a href=\"http://twitter.com/\">Twitter</a>."
+
+#: twitteradminpanel.php:62
+msgid "Twitter bridge settings"
+msgstr "Instellingen Twitterkoppeling"
+
+#: twitteradminpanel.php:145
+msgid "Invalid consumer key. Max length is 255 characters."
+msgstr "Ongeldige gebruikerssleutel. De maximale lengte is 255 tekens."
+
+#: twitteradminpanel.php:151
+msgid "Invalid consumer secret. Max length is 255 characters."
+msgstr "Ongeldig gebruikersgeheim. De maximale lengte is 255 tekens."
+
+#: twitteradminpanel.php:207
+msgid "Twitter application settings"
+msgstr "Instellingen Twitterapplicatie"
+
+#: twitteradminpanel.php:213
+msgid "Consumer key"
+msgstr "Gebruikerssleutel"
+
+#: twitteradminpanel.php:214
+msgid "Consumer key assigned by Twitter"
+msgstr "Gebruikerssleutel uitgegeven door Twitter"
+
+#: twitteradminpanel.php:222
+msgid "Consumer secret"
+msgstr "Gebruikersgeheim"
+
+#: twitteradminpanel.php:223
+msgid "Consumer secret assigned by Twitter"
+msgstr "Gebruikersgeheim uitgegeven door Twitter"
+
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr "Let op: er zijn een gebruikerssleutel en gebruikersgeheim ingesteld."
+
+#: twitteradminpanel.php:240
+msgid "Integration source"
+msgstr "Integratiebron"
+
+#: twitteradminpanel.php:241
+msgid "Name of your Twitter application"
+msgstr "Naam van uw Twitterapplicatie"
+
+#: twitteradminpanel.php:253
+msgid "Options"
+msgstr "Opties"
+
+#: twitteradminpanel.php:260
+msgid "Enable \"Sign-in with Twitter\""
+msgstr "\"Aanmelden via Twitter\" inschakelen"
+
+#: twitteradminpanel.php:262
+msgid "Allow users to login with their Twitter credentials"
+msgstr ""
+"Gebruikers toestaan aan te melden met hun gebruikersnaam en wachtwoord van "
+"Twitter"
+
+#: twitteradminpanel.php:269
+msgid "Enable Twitter import"
+msgstr "Twitterimport inschakelen"
+
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr ""
+"Gebruikers toestaan de tijdlijnen van hun Twittervrienden te importeren. "
+"Vereist handmatig te configureren daemons."
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr "Opslaan"
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr "Twitterinstellingen opslaan"
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr "U bent al aangemeld."
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr "Aanmelden via Twitter"
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr "Aanmelden met uw Twittergebruiker"
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr "Aanmelden met Twitter"
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+"Er is een probleem ontstaan met uw sessie. Probeer het nog een keer, "
+"alstublieft."
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr "U kunt zich niet registreren als u niet met de licentie akkoord gaat."
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr "Er is iets vreemds gebeurd."
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
+msgid "Couldn't link your Twitter account."
+msgstr "Het was niet mogelijk uw Twittergebruiker te koppelen."
+
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr ""
+"Het was niet mogelijk uw Twittergebruiker te koppelen: het oauth_token kwam "
+"niet overeen."
+
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"De is de eerste keer dat u aanmeldt bij %s en dan moeten we uw "
+"Twittergebruiker koppelen met uw lokale gebruiker. U kunt een nieuwe "
+"gebruiker aanmaken of koppelen met een bestaande gebruiker als u die al hebt."
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr "Instellingen Twittergebruiker"
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr "Koppelingsinstellingen"
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Mijn teksten en bestanden zijn beschikbaar onder %s, behalve de volgende "
+"privégegevens: wachtwoord, e-mailadres, IM-adres, telefoonnummer."
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr "Nieuwe gebruiker aanmaken"
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr "Nieuwe gebruiker met deze naam aanmaken."
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr "Nieuwe gebruikersnaam"
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1-64 kleine letters of cijfers, geen leestekens of spaties"
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr "Aanmaken"
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr "Verbinden met een bestaande gebruiker"
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+"Als u al een gebruiker hebt, meld dan aan met uw gebruikersnaam en "
+"wachtwoord om deze daarna te koppelen met uw Twittergebruiker."
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr "Bestaande gebruikersnaam"
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr "Wachtwoord"
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr "Koppelen"
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr "Registratie is niet toegestaan."
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr "De uitnodigingscode is ongeldig."
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"De gebruikersnaam mag alleen kleine letters en cijfers bevatten. Spaties "
+"zijn niet toegestaan."
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr "Gebruikersnaam niet toegestaan."
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr ""
+"De opgegeven gebruikersnaam is al in gebruik. Kies een andere gebruikersnaam."
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr "Fout bij het registreren van de gebruiker."
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr "Fout bij het verbinden van de gebruiker met Twitter."
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr "Ongeldige gebruikersnaam of wachtwoord."
+
+#: twittersettings.php:58
+msgid "Twitter settings"
+msgstr "Twitterinstellingen"
+
+#: twittersettings.php:69
+msgid ""
+"Connect your Twitter account to share your updates with your Twitter friends "
+"and vice-versa."
+msgstr ""
+"Koppel uw Twittergebruiker om uw berichten te delen met uw Twittervrienden "
+"en vice versa."
+
+#: twittersettings.php:116
+msgid "Twitter account"
+msgstr "Twittergebruiker"
+
+#: twittersettings.php:121
+msgid "Connected Twitter account"
+msgstr "Gekoppelde Twittergebruiker"
+
+#: twittersettings.php:126
+msgid "Disconnect my account from Twitter"
+msgstr "Mijn gebruiker loskoppelen van Twitter"
+
+#: twittersettings.php:132
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr ""
+"Loskoppelen van uw Twittergebruiker zou ervoor zorgen dat u niet langer kunt "
+"aanmelden. U moet eerst "
+
+#: twittersettings.php:136
+msgid "set a password"
+msgstr "een wachtwoord instellen"
+
+#: twittersettings.php:138
+msgid " first."
+msgstr " voordat u verder kunt met deze handeling."
+
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr ""
+"Uw gebruiker bij %1$s behouden maar deze loskoppelen van Twitter. U kunt uw "
+"wachtwoord va %1$s gebruiken om aan te melden."
+
+#: twittersettings.php:150
+msgid "Disconnect"
+msgstr "Loskoppelen"
+
+#: twittersettings.php:157
+msgid "Preferences"
+msgstr "Voorkeuren"
+
+#: twittersettings.php:161
+msgid "Automatically send my notices to Twitter."
+msgstr "Mijn berichten automatisch naar Twitter verzenden"
+
+#: twittersettings.php:168
+msgid "Send local \"@\" replies to Twitter."
+msgstr "Lokale antwoorden met \"2\" naar Twitter verzenden."
+
+#: twittersettings.php:175
+msgid "Subscribe to my Twitter friends here."
+msgstr "Hier op mijn Twittervrienden abonneren."
+
+#: twittersettings.php:184
+msgid "Import my friends timeline."
+msgstr "Tijdlijn van mijn vrienden importeren."
+
+#: twittersettings.php:202
+msgid "Add"
+msgstr "Toevoegen"
+
+#: twittersettings.php:236
+msgid "Unexpected form submission."
+msgstr "Het formulier is onverwacht ingezonden."
+
+#: twittersettings.php:254
+msgid "Couldn't remove Twitter user."
+msgstr "Het was niet mogelijk de Twittergebruiker te verwijderen."
+
+#: twittersettings.php:258
+msgid "Twitter account disconnected."
+msgstr "De Twittergebruiker is ontkoppeld."
+
+#: twittersettings.php:278 twittersettings.php:288
+msgid "Couldn't save Twitter preferences."
+msgstr "Het was niet mogelijk de Twittervoorkeuren op te slaan."
+
+#: twittersettings.php:292
+msgid "Twitter preferences saved."
+msgstr "De Twitterinstellingen zijn opgeslagen."
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
diff --git a/plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po
new file mode 100644
index 000000000..a4e716c7e
--- /dev/null
+++ b/plugins/TwitterBridge/locale/tr/LC_MESSAGES/TwitterBridge.po
@@ -0,0 +1,384 @@
+# Translation of StatusNet - TwitterBridge to Turkish (Türkçe)
+# Expored from translatewiki.net
+#
+# Author: Maidis
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TwitterBridge\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:42+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tr\n"
+"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: twitter.php:350
+msgid "Your Twitter bridge has been disabled."
+msgstr ""
+
+#: twitter.php:354
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. Did you maybe revoke %3$s's access?\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s"
+msgstr ""
+
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+msgid "Twitter"
+msgstr "Twitter"
+
+#: TwitterBridgePlugin.php:152
+msgid "Login or register using Twitter"
+msgstr ""
+
+#: TwitterBridgePlugin.php:175
+msgid "Twitter integration options"
+msgstr "Twitter entegrasyon seçenekleri"
+
+#: TwitterBridgePlugin.php:292
+msgid "Twitter bridge configuration"
+msgstr "Twitter köprü yapılandırması"
+
+#: TwitterBridgePlugin.php:316
+msgid ""
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+
+#: twitteradminpanel.php:62
+msgid "Twitter bridge settings"
+msgstr "Twitter köprü ayarları"
+
+#: twitteradminpanel.php:145
+msgid "Invalid consumer key. Max length is 255 characters."
+msgstr ""
+
+#: twitteradminpanel.php:151
+msgid "Invalid consumer secret. Max length is 255 characters."
+msgstr ""
+
+#: twitteradminpanel.php:207
+msgid "Twitter application settings"
+msgstr ""
+
+#: twitteradminpanel.php:213
+msgid "Consumer key"
+msgstr "Kullanıcı anahtarı"
+
+#: twitteradminpanel.php:214
+msgid "Consumer key assigned by Twitter"
+msgstr "Twitter tarafından atanan kullanıcı anahtarı"
+
+#: twitteradminpanel.php:222
+msgid "Consumer secret"
+msgstr ""
+
+#: twitteradminpanel.php:223
+msgid "Consumer secret assigned by Twitter"
+msgstr ""
+
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr ""
+
+#: twitteradminpanel.php:240
+msgid "Integration source"
+msgstr "Entegrasyon kaynağı"
+
+#: twitteradminpanel.php:241
+msgid "Name of your Twitter application"
+msgstr "Twitter uygulamanızın ismi"
+
+#: twitteradminpanel.php:253
+msgid "Options"
+msgstr "Seçenekler"
+
+#: twitteradminpanel.php:260
+msgid "Enable \"Sign-in with Twitter\""
+msgstr ""
+
+#: twitteradminpanel.php:262
+msgid "Allow users to login with their Twitter credentials"
+msgstr ""
+
+#: twitteradminpanel.php:269
+msgid "Enable Twitter import"
+msgstr ""
+
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr ""
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr "Kaydet"
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr "Twitter ayarlarını kaydet"
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr "Zaten giriş yapılmış."
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr "Twitter Giriş"
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr "Twitter hesabınızla giriş yapın"
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr ""
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr ""
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr "Eğer lisansı kabul etmezseniz kayıt olamazsınız."
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr "Garip bir şeyler oldu."
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
+msgid "Couldn't link your Twitter account."
+msgstr ""
+
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr ""
+
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"İlk defa %s'ye giriş yaptınız, Twitter hesabınızı yerel bir hesapla "
+"bağlamamız gerekiyor. Yeni bir hesap oluşturabilir ya da varolan bir "
+"hesabınızı kullanabilirsiniz."
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr "Twitter Hesap Kurulumu"
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr "Bağlantı seçenekleri"
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Parola, e-posta adresi, anlık mesajlaşma adresi ve telefon numarası gibi "
+"özel verilerim dışındaki tüm yazı ve dosyalarım %s dahilinde kullanılabilir."
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr "Yeni hesap oluştur"
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr "Bu kullanıcı adıyla yeni bir kullanıcı oluştur."
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr "Yeni kullanıcı adı"
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"1-64 tane küçük harf veya rakam, noktalama işaretlerine ve boşluklara izin "
+"verilmez"
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr "Oluştur"
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr "Varolan hesaba bağlan"
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+"Halihazırda bir hesabınız varsa, Twitter hesabınızla bağlantı kurmak için "
+"kullanıcı adı ve parolanızla giriş yapın."
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr "Varolan kullanıcı adı"
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr "Parola"
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr "Bağlan"
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr "Kayıt yapılmasına izin verilmiyor."
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr "Geçerli bir davet kodu değil."
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Kullanıcı adı sadece küçük harfler ve rakamlardan oluşabilir, boşluk "
+"kullanılamaz."
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr "Bu kullanıcı adına izin verilmiyor."
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr "Kullanıcı adı halihazırda kullanılıyor. Başka bir tane deneyin."
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr "Kullanıcı kayıt hatası."
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr "Twitter'a kullanıcı bağlama hatası."
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr "Geçersiz kullanıcı adı veya parola."
+
+#: twittersettings.php:58
+msgid "Twitter settings"
+msgstr "Twitter ayarları"
+
+#: twittersettings.php:69
+msgid ""
+"Connect your Twitter account to share your updates with your Twitter friends "
+"and vice-versa."
+msgstr ""
+"Güncellemelerinizi Twitter arkadaşlarınızla paylaşmak ve onların sizi takip "
+"edebilmesi için Twitter hesabınızla bağlantı kurun."
+
+#: twittersettings.php:116
+msgid "Twitter account"
+msgstr "Twitter hesabı"
+
+#: twittersettings.php:121
+msgid "Connected Twitter account"
+msgstr "Bağlı Twitter hesabı"
+
+#: twittersettings.php:126
+msgid "Disconnect my account from Twitter"
+msgstr "Hesabımın Twitter bağlantısını kes."
+
+#: twittersettings.php:132
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr ""
+
+#: twittersettings.php:136
+msgid "set a password"
+msgstr "bir parola ayarla"
+
+#: twittersettings.php:138
+msgid " first."
+msgstr " ilk."
+
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr ""
+
+#: twittersettings.php:150
+msgid "Disconnect"
+msgstr "Bağlantıyı Kes"
+
+#: twittersettings.php:157
+msgid "Preferences"
+msgstr "Tercihler"
+
+#: twittersettings.php:161
+msgid "Automatically send my notices to Twitter."
+msgstr "Durum mesajlarımı otomatik olarak Twitter'a gönder."
+
+#: twittersettings.php:168
+msgid "Send local \"@\" replies to Twitter."
+msgstr ""
+
+#: twittersettings.php:175
+msgid "Subscribe to my Twitter friends here."
+msgstr ""
+
+#: twittersettings.php:184
+msgid "Import my friends timeline."
+msgstr "Arkadaşlarımın zaman çizelgesini içeri aktar."
+
+#: twittersettings.php:202
+msgid "Add"
+msgstr "Ekle"
+
+#: twittersettings.php:236
+msgid "Unexpected form submission."
+msgstr "Beklenmedik form gönderimi."
+
+#: twittersettings.php:254
+msgid "Couldn't remove Twitter user."
+msgstr "Twitter kullanıcısı silinemedi."
+
+#: twittersettings.php:258
+msgid "Twitter account disconnected."
+msgstr "Twitter hesabı bağlantısı kesildi."
+
+#: twittersettings.php:278 twittersettings.php:288
+msgid "Couldn't save Twitter preferences."
+msgstr "Twitter tercihleri kaydedilemedi."
+
+#: twittersettings.php:292
+msgid "Twitter preferences saved."
+msgstr "Twitter tercihleriniz kaydedildi."
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr ""
diff --git a/plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po
new file mode 100644
index 000000000..46de2797d
--- /dev/null
+++ b/plugins/TwitterBridge/locale/uk/LC_MESSAGES/TwitterBridge.po
@@ -0,0 +1,406 @@
+# Translation of StatusNet - TwitterBridge to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TwitterBridge\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:42+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: twitter.php:350
+msgid "Your Twitter bridge has been disabled."
+msgstr "Ваш місток до Twitter було відключено."
+
+#: twitter.php:354
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. Did you maybe revoke %3$s's access?\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s"
+msgstr ""
+"Вітаємо, %1$s. Нам дуже прикро про це повідомляти, але з’єднання вашого "
+"акаунту StatusNet з Twitter було відключено. Здається, ми більше не маємо "
+"дозволу оновлювати ваші статуси в Twitter. Можливо, це саме ви скасували "
+"дозвіл %3$s?\n"
+"\n"
+"Ви маєте можливість перезапустити додаток для автоматичного імпорту ваших "
+"статусів до Twitter, завітавши до сторінки ваших налаштувань:\n"
+"\n"
+"%2$s\n"
+"\n"
+"З повагою,\n"
+"%3$s"
+
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+msgid "Twitter"
+msgstr "Twitter"
+
+#: TwitterBridgePlugin.php:152
+msgid "Login or register using Twitter"
+msgstr "Увійти або зареєструватись з Twitter"
+
+#: TwitterBridgePlugin.php:175
+msgid "Twitter integration options"
+msgstr "Параметри інтеграції з Twitter"
+
+#: TwitterBridgePlugin.php:292
+msgid "Twitter bridge configuration"
+msgstr "Налаштування містка з Twitter"
+
+#: TwitterBridgePlugin.php:316
+msgid ""
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+"Додаток TwitterBridge дозволяє інтегрувати StatusNet-сумісний сайт з <a href="
+"\"http://twitter.com/\">Twitter</a>, встановлюючи так званий «місток»."
+
+#: twitteradminpanel.php:62
+msgid "Twitter bridge settings"
+msgstr "Налаштування містка з Twitter"
+
+#: twitteradminpanel.php:145
+msgid "Invalid consumer key. Max length is 255 characters."
+msgstr "Невірний ключ споживача. Максимальна довжина — 255 символів."
+
+#: twitteradminpanel.php:151
+msgid "Invalid consumer secret. Max length is 255 characters."
+msgstr "Невірний секретний код споживача. Максимальна довжина — 255 символів."
+
+#: twitteradminpanel.php:207
+msgid "Twitter application settings"
+msgstr "Налаштування додатку для Twitter"
+
+#: twitteradminpanel.php:213
+msgid "Consumer key"
+msgstr "Ключ споживача"
+
+#: twitteradminpanel.php:214
+msgid "Consumer key assigned by Twitter"
+msgstr "Ключ споживача, що він був наданий сервісом Twitter"
+
+#: twitteradminpanel.php:222
+msgid "Consumer secret"
+msgstr "Секретний код споживача"
+
+#: twitteradminpanel.php:223
+msgid "Consumer secret assigned by Twitter"
+msgstr "Секретний код споживача, що він був наданий сервісом Twitter"
+
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr "Примітка: глобальний ключ споживача та секретний код встановлено."
+
+#: twitteradminpanel.php:240
+msgid "Integration source"
+msgstr "Джерело об’єднання"
+
+#: twitteradminpanel.php:241
+msgid "Name of your Twitter application"
+msgstr "Назва вашого додатку для Twitter"
+
+#: twitteradminpanel.php:253
+msgid "Options"
+msgstr "Параметри"
+
+#: twitteradminpanel.php:260
+msgid "Enable \"Sign-in with Twitter\""
+msgstr "Увімкнути «Увійти з допомогою Twitter»"
+
+#: twitteradminpanel.php:262
+msgid "Allow users to login with their Twitter credentials"
+msgstr ""
+"Дозволити користувачам входити на сайт, використовуючи повноваження Twitter"
+
+#: twitteradminpanel.php:269
+msgid "Enable Twitter import"
+msgstr "Увімкнути імпорт з Twitter"
+
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr ""
+"Дозволити користувачам імпортувати їхні стрічки дописів з Twitter. Це "
+"вимагає ручної настройки процесів типу «daemon»."
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr "Зберегти"
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr "Зберегти налаштування Twitter"
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr "Тепер Ви увійшли."
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr "Вхід Twitter"
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr "Увійти за допомогою акаунту Twitter"
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr "Увійти з акаунтом Twitter"
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr "Виникли певні проблеми з токеном сесії. Спробуйте знов, будь ласка."
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr "Ви не зможете зареєструватись, якщо не погодитесь з умовами ліцензії."
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr "Сталося щось незрозуміле."
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
+msgid "Couldn't link your Twitter account."
+msgstr "Не вдається підключити ваш акаунт Twitter."
+
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr ""
+"Не вдається підключити ваш акаунт Twitter: невідповідність oauth_token."
+
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"Ви вперше увійшли до сайту %s, отже ми мусимо приєднати ваш акаунт Twitter "
+"до акаунту на даному сайті. Ви маєте можливість створити новий акаунт або "
+"використати такий, що вже існує, якщо він у вас є."
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr "Створення акаунту за допомогою Twitter"
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr "Опції з’єднання"
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"Мої дописи і файли доступні на умовах %s, окрім цих приватних даних: пароль, "
+"електронна адреса, адреса IM, телефонний номер."
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr "Створити новий акаунт"
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr "Створити нового користувача з цим нікнеймом."
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr "Новий нікнейм"
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr ""
+"1-64 літери нижнього регістру і цифри, ніякої пунктуації або інтервалів"
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr "Створити"
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr "Приєднати акаунт, який вже існує"
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr ""
+"Якщо ви вже маєте акаунт, увійдіть з вашим ім’ям користувача та паролем, аби "
+"приєднати їх до Twitter."
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr "Нікнейм, який вже існує"
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr "Пароль"
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr "Під’єднати"
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr "Реєстрацію не дозволено."
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr "Це не дійсний код запрошення."
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr ""
+"Ім’я користувача повинно складатись з літер нижнього регістру і цифр, ніяких "
+"інтервалів."
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr "Нікнейм не допускається."
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr "Цей нікнейм вже використовується. Спробуйте інший."
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr "Помилка при реєстрації користувача."
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr "Помилка при підключенні користувача до Twitter."
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr "Недійсне ім’я або пароль."
+
+#: twittersettings.php:58
+msgid "Twitter settings"
+msgstr "Налаштування Twitter"
+
+#: twittersettings.php:69
+msgid ""
+"Connect your Twitter account to share your updates with your Twitter friends "
+"and vice-versa."
+msgstr ""
+"Підключіть ваш акаунт Twitter, щоб ділитися новими дописами з друзями в "
+"Twitter і навпаки."
+
+#: twittersettings.php:116
+msgid "Twitter account"
+msgstr "Акаунт Twitter"
+
+#: twittersettings.php:121
+msgid "Connected Twitter account"
+msgstr "Під’єднаний акаунт Twitter"
+
+#: twittersettings.php:126
+msgid "Disconnect my account from Twitter"
+msgstr "Від’єднати мій акаунт від Twitter"
+
+#: twittersettings.php:132
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr ""
+"Якщо ви від’єднаєте свій Twitter, то це унеможливить вхід до системи у "
+"майбутньому! Будь ласка, "
+
+#: twittersettings.php:136
+msgid "set a password"
+msgstr "встановіть пароль"
+
+#: twittersettings.php:138
+msgid " first."
+msgstr " спочатку."
+
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr ""
+"Зберегти ваш акаунт %1$s, але від’єднати його від Twitter. Ви можете "
+"використовувати пароль від %1$s для входу на сайт."
+
+#: twittersettings.php:150
+msgid "Disconnect"
+msgstr "Від’єднати"
+
+#: twittersettings.php:157
+msgid "Preferences"
+msgstr "Налаштування"
+
+#: twittersettings.php:161
+msgid "Automatically send my notices to Twitter."
+msgstr "Автоматично пересилати мої дописи на Twitter."
+
+#: twittersettings.php:168
+msgid "Send local \"@\" replies to Twitter."
+msgstr "Надіслати локальні «@» відповіді на Twitter."
+
+#: twittersettings.php:175
+msgid "Subscribe to my Twitter friends here."
+msgstr "Підписатись до моїх друзів з Twitter тут."
+
+#: twittersettings.php:184
+msgid "Import my friends timeline."
+msgstr "Імпортувати стрічку дописів моїх друзів."
+
+#: twittersettings.php:202
+msgid "Add"
+msgstr "Додати"
+
+#: twittersettings.php:236
+msgid "Unexpected form submission."
+msgstr "Несподіване представлення форми."
+
+#: twittersettings.php:254
+msgid "Couldn't remove Twitter user."
+msgstr "Не вдається видалити користувача Twitter."
+
+#: twittersettings.php:258
+msgid "Twitter account disconnected."
+msgstr "Акаунт Twitter від’єднано."
+
+#: twittersettings.php:278 twittersettings.php:288
+msgid "Couldn't save Twitter preferences."
+msgstr "Не можу зберегти налаштування Twitter."
+
+#: twittersettings.php:292
+msgid "Twitter preferences saved."
+msgstr "Налаштування Twitter збережено."
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
diff --git a/plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po b/plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po
new file mode 100644
index 000000000..fe65d4397
--- /dev/null
+++ b/plugins/TwitterBridge/locale/zh_CN/LC_MESSAGES/TwitterBridge.po
@@ -0,0 +1,388 @@
+# Translation of StatusNet - TwitterBridge to Simplified Chinese (‪中文(简体)‬)
+# Expored from translatewiki.net
+#
+# Author: ZhengYiFeng
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - TwitterBridge\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Simplified Chinese <http://translatewiki.net/wiki/Portal:zh-"
+"hans>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:42+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: zh-hans\n"
+"X-Message-Group: #out-statusnet-plugin-twitterbridge\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: twitter.php:350
+msgid "Your Twitter bridge has been disabled."
+msgstr "你的 Twitter bridge 已被禁用。"
+
+#: twitter.php:354
+#, php-format
+msgid ""
+"Hi, %1$s. We're sorry to inform you that your link to Twitter has been "
+"disabled. We no longer seem to have permission to update your Twitter "
+"status. Did you maybe revoke %3$s's access?\n"
+"\n"
+"You can re-enable your Twitter bridge by visiting your Twitter settings "
+"page:\n"
+"\n"
+"\t%2$s\n"
+"\n"
+"Regards,\n"
+"%3$s"
+msgstr ""
+"Hi, %1$s。我们很抱歉通知你,你与 Twitter 的连接已被禁用了。我们似乎没有更新"
+"你 Twitter 消息的权限了。或许你之前取消了 %3$ 的访问权限?\n"
+"\n"
+"你可以通过更新你的 Twitter 设置重新恢复你的 Twitter 连接:\n"
+"\n"
+"%2$s\n"
+"\n"
+"祝好,\n"
+"%3$s"
+
+#: TwitterBridgePlugin.php:151 TwitterBridgePlugin.php:174
+#: TwitterBridgePlugin.php:291 twitteradminpanel.php:52
+msgid "Twitter"
+msgstr "Twitter"
+
+#: TwitterBridgePlugin.php:152
+msgid "Login or register using Twitter"
+msgstr "使用 Twitter 登录或注册"
+
+#: TwitterBridgePlugin.php:175
+msgid "Twitter integration options"
+msgstr "Twitter 整合选项"
+
+#: TwitterBridgePlugin.php:292
+msgid "Twitter bridge configuration"
+msgstr "Twitter bridge 设置"
+
+#: TwitterBridgePlugin.php:316
+msgid ""
+"The Twitter \"bridge\" plugin allows integration of a StatusNet instance "
+"with <a href=\"http://twitter.com/\">Twitter</a>."
+msgstr ""
+"Twitter \"bridge\" 是个可以让 StatusNet 账户与 <a href=\"http://twitter.com/"
+"\">Twitter</a> 整合的插件。"
+
+#: twitteradminpanel.php:62
+msgid "Twitter bridge settings"
+msgstr "Twitter bridge 设置"
+
+#: twitteradminpanel.php:145
+msgid "Invalid consumer key. Max length is 255 characters."
+msgstr "无效的 consumer key。最大长度为 255 字符。"
+
+#: twitteradminpanel.php:151
+msgid "Invalid consumer secret. Max length is 255 characters."
+msgstr "无效的 consumer secret。最大长度为 255 字符。"
+
+#: twitteradminpanel.php:207
+msgid "Twitter application settings"
+msgstr "Twitter 应用设置"
+
+#: twitteradminpanel.php:213
+msgid "Consumer key"
+msgstr "Consumer key"
+
+#: twitteradminpanel.php:214
+msgid "Consumer key assigned by Twitter"
+msgstr "Twitter 分配的 consumer key"
+
+#: twitteradminpanel.php:222
+msgid "Consumer secret"
+msgstr "Consumer secret"
+
+#: twitteradminpanel.php:223
+msgid "Consumer secret assigned by Twitter"
+msgstr "Twitter 分配的 consumer secret"
+
+#: twitteradminpanel.php:233
+msgid "Note: a global consumer key and secret are set."
+msgstr "注意:已设置了一个全局的 consumer key 和 secret。"
+
+#: twitteradminpanel.php:240
+msgid "Integration source"
+msgstr "整合来源"
+
+#: twitteradminpanel.php:241
+msgid "Name of your Twitter application"
+msgstr "你的 Twitter 应用名称"
+
+#: twitteradminpanel.php:253
+msgid "Options"
+msgstr "选项"
+
+#: twitteradminpanel.php:260
+msgid "Enable \"Sign-in with Twitter\""
+msgstr "启用 “使用 Twitter 登录”"
+
+#: twitteradminpanel.php:262
+msgid "Allow users to login with their Twitter credentials"
+msgstr "允许用户使用他们的 Twitter 帐号登录。"
+
+#: twitteradminpanel.php:269
+msgid "Enable Twitter import"
+msgstr "启用 Twitter 导入"
+
+#: twitteradminpanel.php:271
+msgid ""
+"Allow users to import their Twitter friends' timelines. Requires daemons to "
+"be manually configured."
+msgstr "允许用户导入他们 Twitter 好友的时间线。需要手动设置后台进程。"
+
+#: twitteradminpanel.php:288 twittersettings.php:200
+msgid "Save"
+msgstr "保存"
+
+#: twitteradminpanel.php:288
+msgid "Save Twitter settings"
+msgstr "保存 Twitter 设置"
+
+#: twitterlogin.php:56
+msgid "Already logged in."
+msgstr "已登录。"
+
+#: twitterlogin.php:64
+msgid "Twitter Login"
+msgstr "Twitter 登录"
+
+#: twitterlogin.php:69
+msgid "Login with your Twitter account"
+msgstr "使用你的 Twitter 帐号登录"
+
+#: twitterlogin.php:87
+msgid "Sign in with Twitter"
+msgstr "使用 Twitter 登录"
+
+#: twitterauthorization.php:120 twittersettings.php:226
+msgid "There was a problem with your session token. Try again, please."
+msgstr "你的 session token 出现了一个问题,请重试。"
+
+#: twitterauthorization.php:126
+msgid "You can't register if you don't agree to the license."
+msgstr "你必须同意许可协议才能注册。"
+
+#: twitterauthorization.php:135
+msgid "Something weird happened."
+msgstr "发生了很诡异的事情。"
+
+#: twitterauthorization.php:181 twitterauthorization.php:229
+#: twitterauthorization.php:300
+msgid "Couldn't link your Twitter account."
+msgstr "无法连接你的 Twitter 帐号。"
+
+#: twitterauthorization.php:201
+msgid "Couldn't link your Twitter account: oauth_token mismatch."
+msgstr "无法连接你的 Twitter 帐号:oauth_token 不符。"
+
+#: twitterauthorization.php:312
+#, php-format
+msgid ""
+"This is the first time you've logged into %s so we must connect your Twitter "
+"account to a local account. You can either create a new account, or connect "
+"with your existing account, if you have one."
+msgstr ""
+"这是你第一次登录到 %s,我们需要将你的 Twitter 帐号与一个本地的帐号关联。你可"
+"以新建一个帐号,或者使用你在本站已有的帐号。"
+
+#: twitterauthorization.php:318
+msgid "Twitter Account Setup"
+msgstr "Twitter 帐号设置"
+
+#: twitterauthorization.php:351
+msgid "Connection options"
+msgstr "连接选项"
+
+#: twitterauthorization.php:360
+#, php-format
+msgid ""
+"My text and files are available under %s except this private data: password, "
+"email address, IM address, and phone number."
+msgstr ""
+"我的文字和文件在%s下提供,除了如下隐私内容:密码、电子邮件地址、IM 地址和电话"
+"号码。"
+
+#: twitterauthorization.php:381
+msgid "Create new account"
+msgstr "创建新帐户"
+
+#: twitterauthorization.php:383
+msgid "Create a new user with this nickname."
+msgstr "以此昵称创建新帐户"
+
+#: twitterauthorization.php:386
+msgid "New nickname"
+msgstr "新昵称"
+
+#: twitterauthorization.php:388
+msgid "1-64 lowercase letters or numbers, no punctuation or spaces"
+msgstr "1 到 64 个小写字母或数字,不包含标点或空格"
+
+#: twitterauthorization.php:391
+msgid "Create"
+msgstr "创建"
+
+#: twitterauthorization.php:396
+msgid "Connect existing account"
+msgstr "关联现有账号"
+
+#: twitterauthorization.php:398
+msgid ""
+"If you already have an account, login with your username and password to "
+"connect it to your Twitter account."
+msgstr "如果你已有帐号,请输入用户名和密码登录并将其与你的 Twitter 账号关联。"
+
+#: twitterauthorization.php:401
+msgid "Existing nickname"
+msgstr "已存在的昵称"
+
+#: twitterauthorization.php:404
+msgid "Password"
+msgstr "密码"
+
+#: twitterauthorization.php:407
+msgid "Connect"
+msgstr "关联"
+
+#: twitterauthorization.php:423 twitterauthorization.php:432
+msgid "Registration not allowed."
+msgstr "不允许注册。"
+
+#: twitterauthorization.php:439
+msgid "Not a valid invitation code."
+msgstr "无效的邀请码。"
+
+#: twitterauthorization.php:449
+msgid "Nickname must have only lowercase letters and numbers and no spaces."
+msgstr "昵称只能使用小写字母和数字且不能使用空格。"
+
+#: twitterauthorization.php:454
+msgid "Nickname not allowed."
+msgstr "昵称不被允许。"
+
+#: twitterauthorization.php:459
+msgid "Nickname already in use. Try another one."
+msgstr "昵称已被使用,换一个吧。"
+
+#: twitterauthorization.php:474
+msgid "Error registering user."
+msgstr "注册用户出错。"
+
+#: twitterauthorization.php:485 twitterauthorization.php:523
+#: twitterauthorization.php:543
+msgid "Error connecting user to Twitter."
+msgstr "关联用户到 Twitter 出错。"
+
+#: twitterauthorization.php:505
+msgid "Invalid username or password."
+msgstr "用户名或密码不正确。"
+
+#: twittersettings.php:58
+msgid "Twitter settings"
+msgstr "Twitter 设置"
+
+#: twittersettings.php:69
+msgid ""
+"Connect your Twitter account to share your updates with your Twitter friends "
+"and vice-versa."
+msgstr ""
+"关联你的 Twitter 帐号并与你的 Twitter 好友分享你的更新和查看好友的更新。"
+
+#: twittersettings.php:116
+msgid "Twitter account"
+msgstr "Twitter 帐号"
+
+#: twittersettings.php:121
+msgid "Connected Twitter account"
+msgstr "已关联的 Twitter 帐号"
+
+#: twittersettings.php:126
+msgid "Disconnect my account from Twitter"
+msgstr "取消我的帐号与 Twitter 的关联"
+
+#: twittersettings.php:132
+msgid "Disconnecting your Twitter could make it impossible to log in! Please "
+msgstr "取消关联你的 Twitter 帐号和能会导致无法登录!请"
+
+#: twittersettings.php:136
+msgid "set a password"
+msgstr "设置一个密码"
+
+#: twittersettings.php:138
+msgid " first."
+msgstr "先。"
+
+#. TRANS: %1$s is the current website name.
+#: twittersettings.php:142
+#, php-format
+msgid ""
+"Keep your %1$s account but disconnect from Twitter. You can use your %1$s "
+"password to log in."
+msgstr "保留你的 %1$s 帐号并取消关联 Twitter。你可以使用你的 %1$s 密码来登录。"
+
+#: twittersettings.php:150
+msgid "Disconnect"
+msgstr "取消关联"
+
+#: twittersettings.php:157
+msgid "Preferences"
+msgstr "参数设置"
+
+#: twittersettings.php:161
+msgid "Automatically send my notices to Twitter."
+msgstr "自动将我的消息发送到 Twitter。"
+
+#: twittersettings.php:168
+msgid "Send local \"@\" replies to Twitter."
+msgstr "将本地的“@”回复发送到 Twitter。"
+
+#: twittersettings.php:175
+msgid "Subscribe to my Twitter friends here."
+msgstr "关注我在这里的 Twitter 好友。"
+
+#: twittersettings.php:184
+msgid "Import my friends timeline."
+msgstr "导入我好友的时间线。"
+
+#: twittersettings.php:202
+msgid "Add"
+msgstr "添加"
+
+#: twittersettings.php:236
+msgid "Unexpected form submission."
+msgstr "未预料的表单提交。"
+
+#: twittersettings.php:254
+msgid "Couldn't remove Twitter user."
+msgstr "无法删除 Twitter 用户。"
+
+#: twittersettings.php:258
+msgid "Twitter account disconnected."
+msgstr "已取消 Twitter 帐号关联。"
+
+#: twittersettings.php:278 twittersettings.php:288
+msgid "Couldn't save Twitter preferences."
+msgstr "无法保存 Twitter 参数设置。"
+
+#: twittersettings.php:292
+msgid "Twitter preferences saved."
+msgstr "已保存 Twitter 参数设置。"
+
+#. TRANS: Message used to repeat a notice. RT is the abbreviation of 'retweet'.
+#. TRANS: %1$s is the repeated user's name, %2$s is the repeated notice.
+#: daemons/twitterstatusfetcher.php:264
+#, php-format
+msgid "RT @%1$s %2$s"
+msgstr "RT @%1$s %2$s"
diff --git a/plugins/TwitterBridge/twitter.php b/plugins/TwitterBridge/twitter.php
index 90b0f0f14..f913e4aea 100644
--- a/plugins/TwitterBridge/twitter.php
+++ b/plugins/TwitterBridge/twitter.php
@@ -30,7 +30,6 @@ function add_twitter_user($twitter_id, $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 = Foreign_user::getForeignUser($twitter_id, TWITTER_SERVICE);
if (!empty($luser)) {
@@ -69,7 +68,6 @@ 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, TWITTER_SERVICE);
if (!empty($fuser)) {
@@ -87,9 +85,7 @@ function save_twitter_user($twitter_id, $screen_name)
}
} else {
-
// Kill any old, invalid records for this screen name
-
$fuser = Foreign_user::getByNickname($screen_name, TWITTER_SERVICE);
if (!empty($fuser)) {
@@ -110,13 +106,11 @@ function save_twitter_user($twitter_id, $screen_name)
}
function is_twitter_bound($notice, $flink) {
-
// Check to see if notice should go to Twitter
if (!empty($flink) && ($flink->noticesync & FOREIGN_NOTICE_SEND)) {
// If it's not a Twitter-style reply, or if the user WANTS to send replies,
// or if it's in reply to a twitter notice
-
if (!preg_match('/^@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) ||
is_twitter_notice($notice->reply_to)) {
@@ -140,7 +134,6 @@ function broadcast_twitter($notice)
TWITTER_SERVICE);
// Don't bother with basic auth, since it's no longer allowed
-
if (!empty($flink) && TwitterOAuthClient::isPackedToken($flink->credentials)) {
if (!empty($notice->repeat_of) && is_twitter_notice($notice->repeat_of)) {
$retweet = retweet_notice($flink, Notice::staticGet('id', $notice->repeat_of));
@@ -229,7 +222,6 @@ function broadcast_oauth($notice, $flink) {
// This could represent a failure posting,
// or the Twitter API might just be behaving flakey.
-
$errmsg = sprintf('Twitter bridge - No data returned by Twitter API when ' .
'trying to post notice %d for User %s (user id %d).',
$notice->id,
@@ -242,7 +234,6 @@ function broadcast_oauth($notice, $flink) {
}
// Notice crossed the great divide
-
$msg = sprintf('Twitter bridge - posted notice %d to Twitter using ' .
'OAuth for User %s (user id %d).',
$notice->id,
@@ -327,11 +318,9 @@ function remove_twitter_link($flink)
// Notify the user that her Twitter bridge is down
if (isset($user->email)) {
-
$result = mail_twitter_bridge_removed($user);
if (!$result) {
-
$msg = 'Unable to send email to notify ' .
"$user->nickname (user id: $user->id) " .
'that their Twitter bridge link was ' .
@@ -340,7 +329,6 @@ function remove_twitter_link($flink)
common_log(LOG_WARNING, $msg);
}
}
-
}
/**
@@ -353,7 +341,6 @@ function remove_twitter_link($flink)
*
* @return boolean success flag
*/
-
function mail_twitter_bridge_removed($user)
{
$profile = $user->getProfile();
@@ -366,11 +353,11 @@ function mail_twitter_bridge_removed($user)
$body = sprintf(_m('Hi, %1$s. We\'re sorry to inform you that your ' .
'link to Twitter has been disabled. We no longer seem to have ' .
- 'permission to update your Twitter status. (Did you revoke ' .
- '%3$s\'s access?)' . "\n\n" .
+ 'permission to update your Twitter status. Did you maybe revoke ' .
+ '%3$s\'s access?' . "\n\n" .
'You can re-enable your Twitter bridge by visiting your ' .
"Twitter settings page:\n\n\t%2\$s\n\n" .
- "Regards,\n%3\$s\n"),
+ "Regards,\n%3\$s"),
$profile->getBestName(),
common_local_url('twittersettings'),
common_config('site', 'name'));
@@ -378,4 +365,3 @@ function mail_twitter_bridge_removed($user)
common_switch_locale();
return mail_to_user($user, $subject, $body);
}
-
diff --git a/plugins/TwitterBridge/twitteradminpanel.php b/plugins/TwitterBridge/twitteradminpanel.php
index 69f8da078..d05a2c6b3 100644
--- a/plugins/TwitterBridge/twitteradminpanel.php
+++ b/plugins/TwitterBridge/twitteradminpanel.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class TwitteradminpanelAction extends AdminPanelAction
{
/**
@@ -48,7 +47,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return string page title
*/
-
function title()
{
return _m('Twitter');
@@ -59,7 +57,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return string instructions
*/
-
function getInstructions()
{
return _m('Twitter bridge settings');
@@ -70,7 +67,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function showForm()
{
$form = new TwitterAdminPanelForm($this);
@@ -83,7 +79,6 @@ class TwitteradminpanelAction extends AdminPanelAction
*
* @return void
*/
-
function saveSettings()
{
static $settings = array(
@@ -173,7 +168,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return int ID of the form
*/
-
function id()
{
return 'twitteradminpanel';
@@ -184,7 +178,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_settings';
@@ -195,7 +188,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('twitteradminpanel');
@@ -206,7 +198,6 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formData()
{
$this->out->elementStart(
@@ -239,7 +230,7 @@ class TwitterAdminPanelForm extends AdminForm
if (!empty($globalConsumerKey) && !empty($globalConsumerSec)) {
$this->li();
- $this->out->element('p', 'form_guide', _('Note: a global consumer key and secret are set.'));
+ $this->out->element('p', 'form_guide', _m('Note: a global consumer key and secret are set.'));
$this->unli();
}
@@ -292,9 +283,8 @@ class TwitterAdminPanelForm extends AdminForm
*
* @return void
*/
-
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save Twitter settings'));
+ $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save Twitter settings'));
}
}
diff --git a/plugins/TwitterBridge/twitterauthorization.php b/plugins/TwitterBridge/twitterauthorization.php
index 7a896e168..931a03723 100644
--- a/plugins/TwitterBridge/twitterauthorization.php
+++ b/plugins/TwitterBridge/twitterauthorization.php
@@ -117,13 +117,13 @@ class TwitterauthorizationAction extends Action
$token = $this->trimmed('token');
if (!$token || $token != common_session_token()) {
- $this->showForm(_('There was a problem with your session token. Try again, please.'));
+ $this->showForm(_m('There was a problem with your session token. Try again, please.'));
return;
}
if ($this->arg('create')) {
if (!$this->boolean('license')) {
- $this->showForm(_('You can\'t register if you don\'t agree to the license.'),
+ $this->showForm(_m('You can\'t register if you don\'t agree to the license.'),
$this->trimmed('newname'));
return;
}
@@ -132,7 +132,7 @@ class TwitterauthorizationAction extends Action
$this->connectNewUser();
} else {
common_debug('Twitter bridge - ' . print_r($this->args, true));
- $this->showForm(_('Something weird happened.'),
+ $this->showForm(_m('Something weird happened.'),
$this->trimmed('newname'));
}
} else {
@@ -231,7 +231,6 @@ class TwitterauthorizationAction extends Action
}
if (common_logged_in()) {
-
// Save the access token and Twitter user info
$user = common_current_user();
@@ -298,7 +297,7 @@ class TwitterauthorizationAction extends Action
if (empty($flink_id)) {
common_log_db_error($flink, 'INSERT', __FILE__);
- $this->serverError(_('Couldn\'t link your Twitter account.'));
+ $this->serverError(_m('Couldn\'t link your Twitter account.'));
}
return $flink_id;
@@ -310,13 +309,13 @@ class TwitterauthorizationAction extends Action
$this->element('div', array('class' => 'error'), $this->error);
} else {
$this->element('div', 'instructions',
- sprintf(_('This is the first time you\'ve logged into %s so we must connect your Twitter account to a local account. You can either create a new account, or connect with your existing account, if you have one.'), common_config('site', 'name')));
+ sprintf(_m('This is the first time you\'ve logged into %s so we must connect your Twitter account to a local account. You can either create a new account, or connect with your existing account, if you have one.'), common_config('site', 'name')));
}
}
function title()
{
- return _('Twitter Account Setup');
+ return _m('Twitter Account Setup');
}
function showForm($error=null, $username=null)
@@ -349,7 +348,7 @@ class TwitterauthorizationAction extends Action
'class' => 'form_settings',
'action' => common_local_url('twitterauthorization')));
$this->elementStart('fieldset', array('id' => 'settings_twitter_connect_options'));
- $this->element('legend', null, _('Connection options'));
+ $this->element('legend', null, _m('Connection options'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
$this->element('input', array('type' => 'checkbox',
@@ -358,7 +357,7 @@ class TwitterauthorizationAction extends Action
'name' => 'license',
'value' => 'true'));
$this->elementStart('label', array('class' => 'checkbox', 'for' => 'license'));
- $message = _('My text and files are available under %s ' .
+ $message = _m('My text and files are available under %s ' .
'except this private data: password, ' .
'email address, IM address, and phone number.');
$link = '<a href="' .
@@ -379,33 +378,33 @@ class TwitterauthorizationAction extends Action
$this->elementStart('fieldset');
$this->hidden('token', common_session_token());
$this->element('legend', null,
- _('Create new account'));
+ _m('Create new account'));
$this->element('p', null,
- _('Create a new user with this nickname.'));
+ _m('Create a new user with this nickname.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
- $this->input('newname', _('New nickname'),
+ $this->input('newname', _m('New nickname'),
($this->username) ? $this->username : '',
- _('1-64 lowercase letters or numbers, no punctuation or spaces'));
+ _m('1-64 lowercase letters or numbers, no punctuation or spaces'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('create', _('Create'));
+ $this->submit('create', _m('Create'));
$this->elementEnd('fieldset');
$this->elementStart('fieldset');
$this->element('legend', null,
- _('Connect existing account'));
+ _m('Connect existing account'));
$this->element('p', null,
- _('If you already have an account, login with your username and password to connect it to your Twitter account.'));
+ _m('If you already have an account, login with your username and password to connect it to your Twitter account.'));
$this->elementStart('ul', 'form_data');
$this->elementStart('li');
- $this->input('nickname', _('Existing nickname'));
+ $this->input('nickname', _m('Existing nickname'));
$this->elementEnd('li');
$this->elementStart('li');
- $this->password('password', _('Password'));
+ $this->password('password', _m('Password'));
$this->elementEnd('li');
$this->elementEnd('ul');
- $this->submit('connect', _('Connect'));
+ $this->submit('connect', _m('Connect'));
$this->elementEnd('fieldset');
$this->elementEnd('fieldset');
@@ -421,7 +420,7 @@ class TwitterauthorizationAction extends Action
function createNewUser()
{
if (common_config('site', 'closed')) {
- $this->clientError(_('Registration not allowed.'));
+ $this->clientError(_m('Registration not allowed.'));
return;
}
@@ -430,14 +429,14 @@ class TwitterauthorizationAction extends Action
if (common_config('site', 'inviteonly')) {
$code = $_SESSION['invitecode'];
if (empty($code)) {
- $this->clientError(_('Registration not allowed.'));
+ $this->clientError(_m('Registration not allowed.'));
return;
}
$invite = Invitation::staticGet($code);
if (empty($invite)) {
- $this->clientError(_('Not a valid invitation code.'));
+ $this->clientError(_m('Not a valid invitation code.'));
return;
}
}
@@ -447,17 +446,17 @@ class TwitterauthorizationAction extends Action
if (!Validate::string($nickname, array('min_length' => 1,
'max_length' => 64,
'format' => NICKNAME_FMT))) {
- $this->showForm(_('Nickname must have only lowercase letters and numbers and no spaces.'));
+ $this->showForm(_m('Nickname must have only lowercase letters and numbers and no spaces.'));
return;
}
if (!User::allowed_nickname($nickname)) {
- $this->showForm(_('Nickname not allowed.'));
+ $this->showForm(_m('Nickname not allowed.'));
return;
}
if (User::staticGet('nickname', $nickname)) {
- $this->showForm(_('Nickname already in use. Try another one.'));
+ $this->showForm(_m('Nickname already in use. Try another one.'));
return;
}
@@ -472,7 +471,7 @@ class TwitterauthorizationAction extends Action
$user = User::register($args);
if (empty($user)) {
- $this->serverError(_('Error registering user.'));
+ $this->serverError(_m('Error registering user.'));
return;
}
@@ -483,7 +482,7 @@ class TwitterauthorizationAction extends Action
save_twitter_user($this->twuid, $this->tw_fields['screen_name']);
if (!$result) {
- $this->serverError(_('Error connecting user to Twitter.'));
+ $this->serverError(_m('Error connecting user to Twitter.'));
return;
}
@@ -503,7 +502,7 @@ class TwitterauthorizationAction extends Action
$password = $this->trimmed('password');
if (!common_check_user($nickname, $password)) {
- $this->showForm(_('Invalid username or password.'));
+ $this->showForm(_m('Invalid username or password.'));
return;
}
@@ -521,7 +520,7 @@ class TwitterauthorizationAction extends Action
save_twitter_user($this->twuid, $this->tw_fields['screen_name']);
if (!$result) {
- $this->serverError(_('Error connecting user to Twitter.'));
+ $this->serverError(_m('Error connecting user to Twitter.'));
return;
}
@@ -541,7 +540,7 @@ class TwitterauthorizationAction extends Action
$result = $this->flinkUser($user->id, $this->twuid);
if (empty($result)) {
- $this->serverError(_('Error connecting user to Twitter.'));
+ $this->serverError(_m('Error connecting user to Twitter.'));
return;
}
diff --git a/plugins/TwitterBridge/twitterlogin.php b/plugins/TwitterBridge/twitterlogin.php
index 79421fb27..5b5bfae19 100644
--- a/plugins/TwitterBridge/twitterlogin.php
+++ b/plugins/TwitterBridge/twitterlogin.php
@@ -46,7 +46,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
*
* @see SettingsAction
*/
-
class TwitterloginAction extends Action
{
function handle($args)
@@ -54,7 +53,7 @@ class TwitterloginAction extends Action
parent::handle($args);
if (common_is_real_login()) {
- $this->clientError(_('Already logged in.'));
+ $this->clientError(_m('Already logged in.'));
}
$this->showPage();
@@ -62,12 +61,12 @@ class TwitterloginAction extends Action
function title()
{
- return _('Twitter Login');
+ return _m('Twitter Login');
}
function getInstructions()
{
- return _('Login with your Twitter account');
+ return _m('Login with your Twitter account');
}
function showPageNotice()
@@ -85,7 +84,7 @@ class TwitterloginAction extends Action
null,
array('signin' => true))));
$this->element('img', array('src' => common_path('plugins/TwitterBridge/Sign-in-with-Twitter-lighter.png'),
- 'alt' => 'Sign in with Twitter'));
+ 'alt' => _m('Sign in with Twitter')));
$this->elementEnd('a');
}
diff --git a/plugins/TwitterBridge/twitteroauthclient.php b/plugins/TwitterBridge/twitteroauthclient.php
index dae76ec84..345510a0d 100644
--- a/plugins/TwitterBridge/twitteroauthclient.php
+++ b/plugins/TwitterBridge/twitteroauthclient.php
@@ -200,7 +200,6 @@ class TwitterOAuthClient extends OAuthClient
function statusesHomeTimeline($since_id = null, $max_id = null,
$cnt = null, $page = null)
{
-
$url = 'https://twitter.com/statuses/home_timeline.json';
$params = array('include_entities' => 'true');
@@ -224,36 +223,6 @@ class TwitterOAuthClient extends OAuthClient
}
/**
- * Calls Twitter's /statuses/home_timeline API method
- *
- * @param int $since_id show statuses after this id
- * @param int $max_id show statuses before this id
- * @param int $cnt number of statuses to show
- * @param int $page page number
- *
- * @return mixed an array of statuses, similar to friends_timeline but including retweets
- */
- function statusesHomeTimeline($since_id = null, $max_id = null,
- $cnt = null, $page = null)
- {
-
- $url = 'https://twitter.com/statuses/home_timeline.json';
- $params = array('since_id' => $since_id,
- 'max_id' => $max_id,
- 'count' => $cnt,
- 'page' => $page);
- $qry = http_build_query($params);
-
- if (!empty($qry)) {
- $url .= "?$qry";
- }
-
- $response = $this->oAuthGet($url);
- $statuses = json_decode($response);
- return $statuses;
- }
-
- /**
* Calls Twitter's /statuses/friends API method
*
* @param int $id id of the user whom you wish to see friends of
diff --git a/plugins/TwitterBridge/twittersettings.php b/plugins/TwitterBridge/twittersettings.php
index 631b29f52..dab8ab34f 100644
--- a/plugins/TwitterBridge/twittersettings.php
+++ b/plugins/TwitterBridge/twittersettings.php
@@ -45,7 +45,6 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitter.php';
*
* @see SettingsAction
*/
-
class TwittersettingsAction extends ConnectSettingsAction
{
/**
@@ -79,7 +78,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function showContent()
{
@@ -130,6 +128,7 @@ class TwittersettingsAction extends ConnectSettingsAction
if (!$user->password) {
$this->elementStart('p', array('class' => 'form_guide'));
+ // @todo FIXME: Bad i18n (patchwork in three parts).
$this->text(_m('Disconnecting your Twitter ' .
'could make it impossible to log in! Please '));
$this->element('a',
@@ -139,7 +138,7 @@ class TwittersettingsAction extends ConnectSettingsAction
$this->text(_m(' first.'));
$this->elementEnd('p');
} else {
-
+ // TRANS: %1$s is the current website name.
$note = _m('Keep your %1$s account but disconnect from Twitter. ' .
'You can use your %1$s password to log in.');
@@ -182,7 +181,7 @@ class TwittersettingsAction extends ConnectSettingsAction
if (common_config('twitterimport','enabled')) {
$this->elementStart('li');
$this->checkbox('noticerecv',
- _m('Import my Friends Timeline.'),
+ _m('Import my friends timeline.'),
($flink) ?
($flink->noticesync & FOREIGN_NOTICE_RECV) :
false);
@@ -219,7 +218,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function handlePost()
{
// CSRF protection
@@ -244,7 +242,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function removeTwitterAccount()
{
$user = common_current_user();
@@ -266,7 +263,6 @@ class TwittersettingsAction extends ConnectSettingsAction
*
* @return void
*/
-
function savePreferences()
{
$noticesend = $this->boolean('noticesend');
@@ -295,5 +291,4 @@ class TwittersettingsAction extends ConnectSettingsAction
$this->showForm(_m('Twitter preferences saved.'), true);
}
-
}
diff --git a/plugins/UserFlag/UserFlagPlugin.php b/plugins/UserFlag/UserFlagPlugin.php
index ae3dfe036..e6ad3e37d 100644
--- a/plugins/UserFlag/UserFlagPlugin.php
+++ b/plugins/UserFlag/UserFlagPlugin.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class UserFlagPlugin extends Plugin
{
const REVIEWFLAGS = 'UserFlagPlugin::reviewflags';
@@ -56,7 +55,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onCheckSchema()
{
$schema = Schema::get();
@@ -83,7 +81,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onRouterInitialized($m)
{
$m->connect('main/flag/profile', array('action' => 'flagprofile'));
@@ -99,7 +96,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook return
*/
-
function onAutoload($cls)
{
switch (strtolower($cls))
@@ -130,7 +126,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook result
*/
-
function onEndProfilePageActionsElements(&$action, $profile)
{
$user = common_current_user();
@@ -140,6 +135,8 @@ class UserFlagPlugin extends Plugin
$action->elementStart('li', 'entity_flag');
if (User_flag_profile::exists($profile->id, $user->id)) {
+ // @todo FIXME: Add a title explaining what 'flagged' means?
+ // TRANS: Message added to a profile if it has been flagged for review.
$action->element('p', 'flagged', _('Flagged'));
} else {
$form = new FlagProfileForm($action, $profile,
@@ -161,7 +158,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook result
*/
-
function onEndProfileListItemActionElements($item)
{
$user = common_current_user();
@@ -189,7 +185,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook result
*/
-
function onEndShowScripts($action)
{
$action->inlineScript('if ($(".form_entity_flag").length > 0) { '.
@@ -210,7 +205,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook result
*/
-
function onUserRightsCheck($user, $right, &$result)
{
switch ($right) {
@@ -233,7 +227,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook result
*/
-
function onEndBlockProfile($user, $profile)
{
if ($this->flagOnBlock && !User_flag_profile::exists($profile->id,
@@ -255,7 +248,6 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook result
*/
-
function onProfileDeleteRelated($profile, &$related)
{
$related[] = 'user_flag_profile';
@@ -272,10 +264,33 @@ class UserFlagPlugin extends Plugin
*
* @return boolean hook result
*/
-
function onUserDeleteRelated($user, &$related)
{
$related[] = 'user_flag_profile';
return true;
}
+
+ /**
+ * Provide plugin version information.
+ *
+ * This data is used when showing the version page.
+ *
+ * @param array &$versions array of version data arrays; see EVENTS.txt
+ *
+ * @return boolean hook value
+ */
+ function onPluginVersion(&$versions)
+ {
+ $url = 'http://status.net/wiki/Plugin:UserFlag';
+
+ $versions[] = array('name' => 'UserFlag',
+ 'version' => STATUSNET_VERSION,
+ 'author' => 'Evan Prodromou',
+ 'homepage' => $url,
+ 'rawdescription' =>
+ // TRANS: Plugin description.
+ _m('This plugin allows flagging of profiles for review and reviewing flagged profiles.'));
+
+ return true;
+ }
}
diff --git a/plugins/UserFlag/User_flag_profile.php b/plugins/UserFlag/User_flag_profile.php
index 86b39160b..69fe0f356 100644
--- a/plugins/UserFlag/User_flag_profile.php
+++ b/plugins/UserFlag/User_flag_profile.php
@@ -44,7 +44,6 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class User_flag_profile extends Memcached_DataObject
{
###START_AUTOCODE
@@ -67,7 +66,6 @@ class User_flag_profile extends Memcached_DataObject
*
* @return array array of column definitions
*/
-
function table()
{
return array(
@@ -83,7 +81,6 @@ class User_flag_profile extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keys()
{
return array('profile_id' => 'K', 'user_id' => 'K');
@@ -94,7 +91,6 @@ class User_flag_profile extends Memcached_DataObject
*
* @return array key definitions
*/
-
function keyTypes()
{
return $this->keys();
@@ -107,7 +103,6 @@ class User_flag_profile extends Memcached_DataObject
*
* @return User_flag_profile found object or null
*/
-
function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('User_flag_profile', $kv);
@@ -121,7 +116,6 @@ class User_flag_profile extends Memcached_DataObject
*
* @return boolean true if exists, else false
*/
-
static function exists($profile_id, $user_id)
{
$ufp = User_flag_profile::pkeyGet(array('profile_id' => $profile_id,
@@ -138,7 +132,6 @@ class User_flag_profile extends Memcached_DataObject
*
* @return boolean success flag
*/
-
static function create($user_id, $profile_id)
{
$ufp = new User_flag_profile();
@@ -148,7 +141,8 @@ class User_flag_profile extends Memcached_DataObject
$ufp->created = common_sql_now();
if (!$ufp->insert()) {
- $msg = sprintf(_("Couldn't flag profile '%d' for review."),
+ // TRANS: Server exception.
+ $msg = sprintf(_m('Couldn\'t flag profile "%d" for review.'),
$profile_id);
throw new ServerException($msg);
}
diff --git a/plugins/UserFlag/adminprofileflag.php b/plugins/UserFlag/adminprofileflag.php
index 17374927b..df0450f66 100644
--- a/plugins/UserFlag/adminprofileflag.php
+++ b/plugins/UserFlag/adminprofileflag.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class AdminprofileflagAction extends Action
{
var $page = null;
@@ -53,7 +52,6 @@ class AdminprofileflagAction extends Action
*
* @return boolean success flag
*/
-
function prepare($args)
{
parent::prepare($args);
@@ -109,7 +107,6 @@ class AdminprofileflagAction extends Action
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
@@ -122,10 +119,10 @@ class AdminprofileflagAction extends Action
*
* @return string Title of the page
*/
-
function title()
{
- return _('Flagged profiles');
+ // TRANS: Title for page with a list of profiles that were flagged for review.
+ return _m('Flagged profiles');
}
/**
@@ -133,7 +130,6 @@ class AdminprofileflagAction extends Action
*
* @return void
*/
-
function showContent()
{
$pl = new FlaggedProfileList($this->profiles, $this);
@@ -149,7 +145,6 @@ class AdminprofileflagAction extends Action
*
* @return Profile $profile Profile query results
*/
-
function getProfiles()
{
$ufp = new User_flag_profile();
@@ -196,7 +191,6 @@ class AdminprofileflagAction extends Action
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class FlaggedProfileList extends ProfileList
{
/**
@@ -206,7 +200,6 @@ class FlaggedProfileList extends ProfileList
*
* @return ProfileListItem newly-created item
*/
-
function newListItem($profile)
{
return new FlaggedProfileListItem($this->profile, $this->action);
@@ -222,7 +215,6 @@ class FlaggedProfileList extends ProfileList
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class FlaggedProfileListItem extends ProfileListItem
{
const MAX_FLAGGERS = 5;
@@ -235,7 +227,6 @@ class FlaggedProfileListItem extends ProfileListItem
*
* @return void
*/
-
function showActions()
{
$this->user = common_current_user();
@@ -247,7 +238,8 @@ class FlaggedProfileListItem extends ProfileListItem
$this->startActions();
if (Event::handle('StartProfileListItemActionElements', array($this))) {
$this->out->elementStart('li', 'entity_moderation');
- $this->out->element('p', null, _('Moderate'));
+ // TRANS: Header for moderation menu with action buttons for flagged profiles (like 'sandbox', 'silence', ...).
+ $this->out->element('p', null, _m('Moderate'));
$this->out->elementStart('ul');
$this->showSandboxButton();
$this->showSilenceButton();
@@ -265,7 +257,6 @@ class FlaggedProfileListItem extends ProfileListItem
*
* @return void
*/
-
function showSandboxButton()
{
if ($this->user->hasRight(Right::SANDBOXUSER)) {
@@ -286,7 +277,6 @@ class FlaggedProfileListItem extends ProfileListItem
*
* @return void
*/
-
function showSilenceButton()
{
if ($this->user->hasRight(Right::SILENCEUSER)) {
@@ -307,7 +297,6 @@ class FlaggedProfileListItem extends ProfileListItem
*
* @return void
*/
-
function showDeleteButton()
{
@@ -324,7 +313,6 @@ class FlaggedProfileListItem extends ProfileListItem
*
* @return void
*/
-
function showClearButton()
{
if ($this->user->hasRight(UserFlagPlugin::CLEARFLAGS)) {
@@ -340,7 +328,6 @@ class FlaggedProfileListItem extends ProfileListItem
*
* @return void
*/
-
function endProfile()
{
$this->showFlaggersList();
@@ -352,7 +339,6 @@ class FlaggedProfileListItem extends ProfileListItem
*
* @return void
*/
-
function showFlaggersList()
{
$flaggers = array();
@@ -394,12 +380,16 @@ class FlaggedProfileListItem extends ProfileListItem
}
if ($cnt > 0) {
- $text = _('Flagged by ');
-
- $text .= implode(', ', $lnks);
-
if ($others > 0) {
- $text .= sprintf(_(' and %d others'), $others);
+ $flagging_users = implode(', ', $lnks);
+ // TRANS: Message displayed on a profile if it has been flagged.
+ // TRANS: %1$s is a comma separated list of at most 5 user nicknames that flagged.
+ // TRANS: %2$d is a positive integer of additional flagging users. Also used for the plural.
+ $text .= sprintf(_m('Flagged by %1$s and %2$d other', 'Flagged by %1$s and %2$d others', $others), $flagging_users, $others);
+ } else {
+ // TRANS: Message displayed on a profile if it has been flagged.
+ // TRANS: %s is a comma separated list of at most 5 user nicknames that flagged.
+ $text .= sprintf(_m('Flagged by %s'), $flagging_users);
}
$this->out->elementStart('p', array('class' => 'flaggers'));
diff --git a/plugins/UserFlag/clearflag.php b/plugins/UserFlag/clearflag.php
index f032527ed..feda29f1b 100644
--- a/plugins/UserFlag/clearflag.php
+++ b/plugins/UserFlag/clearflag.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class ClearflagAction extends ProfileFormAction
{
/**
@@ -75,7 +74,6 @@ class ClearflagAction extends ProfileFormAction
*
* @return void
*/
-
function handle($args)
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@@ -93,7 +91,6 @@ class ClearflagAction extends ProfileFormAction
*
* @return void
*/
-
function handlePost()
{
$ufp = new User_flag_profile();
@@ -104,7 +101,8 @@ class ClearflagAction extends ProfileFormAction
'AND profile_id = ' . $this->profile->id);
if ($result == false) {
- $msg = sprintf(_("Couldn't clear flags for profile '%s'."),
+ // TRANS: Server exception given when flags could not be cleared.
+ $msg = sprintf(_m('Couldn\'t clear flags for profile "%s".'),
$this->profile->nickname);
throw new ServerException($msg);
}
@@ -121,17 +119,18 @@ class ClearflagAction extends ProfileFormAction
*
* @return void
*/
-
function ajaxResults()
{
header('Content-Type: text/xml;charset=utf-8');
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
- $this->element('title', null, _('Flags cleared'));
+ // TRANS: Title for AJAX form to indicated that flags were removed.
+ $this->element('title', null, _m('Flags cleared'));
$this->elementEnd('head');
$this->elementStart('body');
- $this->element('p', 'cleared', _('Cleared'));
+ // TRANS: Body element for "flags cleared" form.
+ $this->element('p', 'cleared', _m('Cleared'));
$this->elementEnd('body');
$this->elementEnd('html');
}
diff --git a/plugins/UserFlag/clearflagform.php b/plugins/UserFlag/clearflagform.php
index eefd15c36..26a884875 100644
--- a/plugins/UserFlag/clearflagform.php
+++ b/plugins/UserFlag/clearflagform.php
@@ -42,7 +42,6 @@ require_once INSTALLDIR.'/lib/form.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class ClearFlagForm extends ProfileActionForm
{
/**
@@ -51,7 +50,6 @@ class ClearFlagForm extends ProfileActionForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_user_clearflag';
@@ -62,7 +60,6 @@ class ClearFlagForm extends ProfileActionForm
*
* @return string Name of the action, lowercased.
*/
-
function target()
{
return 'clearflag';
@@ -73,10 +70,10 @@ class ClearFlagForm extends ProfileActionForm
*
* @return string Title of the form, internationalized
*/
-
function title()
{
- return _('Clear');
+ // TRANS: Form title for action on a profile.
+ return _m('Clear');
}
/**
@@ -87,6 +84,7 @@ class ClearFlagForm extends ProfileActionForm
function description()
{
- return _('Clear all flags');
+ // Form description for clearing flags from a profile.
+ return _m('Clear all flags');
}
}
diff --git a/plugins/UserFlag/flagprofile.php b/plugins/UserFlag/flagprofile.php
index 018c1e8ac..283eea40c 100644
--- a/plugins/UserFlag/flagprofile.php
+++ b/plugins/UserFlag/flagprofile.php
@@ -40,7 +40,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class FlagprofileAction extends ProfileFormAction
{
/**
@@ -50,7 +49,6 @@ class FlagprofileAction extends ProfileFormAction
*
* @return boolean success flag
*/
-
function prepare($args)
{
if (!parent::prepare($args)) {
@@ -64,7 +62,8 @@ class FlagprofileAction extends ProfileFormAction
if (User_flag_profile::exists($this->profile->id,
$user->id)) {
- $this->clientError(_('Flag already exists.'));
+ // TRANS: Client error when setting flag that has already been set for a profile.
+ $this->clientError(_m('Flag already exists.'));
return false;
}
@@ -81,7 +80,6 @@ class FlagprofileAction extends ProfileFormAction
*
* @return void
*/
-
function handle($args)
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@@ -97,7 +95,6 @@ class FlagprofileAction extends ProfileFormAction
*
* @return void
*/
-
function handlePost()
{
$user = common_current_user();
@@ -119,19 +116,19 @@ class FlagprofileAction extends ProfileFormAction
*
* @return void
*/
-
function ajaxResults()
{
header('Content-Type: text/xml;charset=utf-8');
$this->xw->startDocument('1.0', 'UTF-8');
$this->elementStart('html');
$this->elementStart('head');
- $this->element('title', null, _('Flagged for review'));
+ // TRANS: AJAX form title for a flagged profile.
+ $this->element('title', null, _m('Flagged for review'));
$this->elementEnd('head');
$this->elementStart('body');
- $this->element('p', 'flagged', _('Flagged'));
+ // TRANS: Body text for AJAX form when a profile has been flagged for review.
+ $this->element('p', 'flagged', _m('Flagged'));
$this->elementEnd('body');
$this->elementEnd('html');
}
}
-
diff --git a/plugins/UserFlag/flagprofileform.php b/plugins/UserFlag/flagprofileform.php
index c20929a20..045c9de85 100644
--- a/plugins/UserFlag/flagprofileform.php
+++ b/plugins/UserFlag/flagprofileform.php
@@ -44,7 +44,6 @@ require_once INSTALLDIR.'/lib/form.php';
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class FlagProfileForm extends ProfileActionForm
{
/**
@@ -53,7 +52,6 @@ class FlagProfileForm extends ProfileActionForm
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_entity_flag';
@@ -64,7 +62,6 @@ class FlagProfileForm extends ProfileActionForm
*
* @return string Name of the action, lowercased.
*/
-
function target()
{
return 'flagprofile';
@@ -75,10 +72,10 @@ class FlagProfileForm extends ProfileActionForm
*
* @return string Title of the form, internationalized
*/
-
function title()
{
- return _('Flag');
+ // TRANS: Form title for flagging a profile for review.
+ return _m('Flag');
}
/**
@@ -86,9 +83,9 @@ class FlagProfileForm extends ProfileActionForm
*
* @return string description of the form, internationalized
*/
-
function description()
{
- return _('Flag profile for review');
+ // TRANS: Form description.
+ return _m('Flag profile for review.');
}
}
diff --git a/plugins/UserFlag/locale/UserFlag.pot b/plugins/UserFlag/locale/UserFlag.pot
new file mode 100644
index 000000000..7e0bc3114
--- /dev/null
+++ b/plugins/UserFlag/locale/UserFlag.pot
@@ -0,0 +1,108 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#. TRANS: Title for page with a list of profiles that were flagged for review.
+#: adminprofileflag.php:125
+msgid "Flagged profiles"
+msgstr ""
+
+#. TRANS: Header for moderation menu with action buttons for flagged profiles (like 'sandbox', 'silence', ...).
+#: adminprofileflag.php:242
+msgid "Moderate"
+msgstr ""
+
+#. TRANS: Message displayed on a profile if it has been flagged.
+#. TRANS: %1$s is a comma separated list of at most 5 user nicknames that flagged.
+#. TRANS: %2$d is a positive integer of additional flagging users. Also used for the plural.
+#: adminprofileflag.php:388
+#, php-format
+msgid "Flagged by %1$s and %2$d other"
+msgid_plural "Flagged by %1$s and %2$d others"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANS: Message displayed on a profile if it has been flagged.
+#. TRANS: %s is a comma separated list of at most 5 user nicknames that flagged.
+#: adminprofileflag.php:392
+#, php-format
+msgid "Flagged by %s"
+msgstr ""
+
+#. TRANS: Client error when setting flag that has already been set for a profile.
+#: flagprofile.php:66
+msgid "Flag already exists."
+msgstr ""
+
+#. TRANS: AJAX form title for a flagged profile.
+#: flagprofile.php:126
+msgid "Flagged for review"
+msgstr ""
+
+#. TRANS: Body text for AJAX form when a profile has been flagged for review.
+#: flagprofile.php:130
+msgid "Flagged"
+msgstr ""
+
+#. TRANS: Plugin description.
+#: UserFlagPlugin.php:292
+msgid ""
+"This plugin allows flagging of profiles for review and reviewing flagged "
+"profiles."
+msgstr ""
+
+#. TRANS: Server exception given when flags could not be cleared.
+#: clearflag.php:105
+#, php-format
+msgid "Couldn't clear flags for profile \"%s\"."
+msgstr ""
+
+#. TRANS: Title for AJAX form to indicated that flags were removed.
+#: clearflag.php:129
+msgid "Flags cleared"
+msgstr ""
+
+#. TRANS: Body element for "flags cleared" form.
+#: clearflag.php:133
+msgid "Cleared"
+msgstr ""
+
+#. TRANS: Form title for flagging a profile for review.
+#: flagprofileform.php:78
+msgid "Flag"
+msgstr ""
+
+#. TRANS: Form description.
+#: flagprofileform.php:89
+msgid "Flag profile for review."
+msgstr ""
+
+#. TRANS: Server exception.
+#: User_flag_profile.php:145
+#, php-format
+msgid "Couldn't flag profile \"%d\" for review."
+msgstr ""
+
+#. TRANS: Form title for action on a profile.
+#: clearflagform.php:76
+msgid "Clear"
+msgstr ""
+
+#: clearflagform.php:88
+msgid "Clear all flags"
+msgstr ""
diff --git a/plugins/UserLimitPlugin.php b/plugins/UserLimit/UserLimitPlugin.php
index ab3187299..ab3187299 100644
--- a/plugins/UserLimitPlugin.php
+++ b/plugins/UserLimit/UserLimitPlugin.php
diff --git a/plugins/UserLimit/locale/UserLimit.pot b/plugins/UserLimit/locale/UserLimit.pot
new file mode 100644
index 000000000..3991568f8
--- /dev/null
+++ b/plugins/UserLimit/locale/UserLimit.pot
@@ -0,0 +1,21 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr ""
diff --git a/plugins/UserLimit/locale/de/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/de/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..1699a8174
--- /dev/null
+++ b/plugins/UserLimit/locale/de/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to German (Deutsch)
+# Expored from translatewiki.net
+#
+# Author: The Evil IP address
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: German <http://translatewiki.net/wiki/Portal:de>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: de\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Beschränkung der Anzahl von Benutzern, die sich registrieren können."
diff --git a/plugins/UserLimit/locale/es/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/es/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..e64ec8954
--- /dev/null
+++ b/plugins/UserLimit/locale/es/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Translationista
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Limitarla cantidad de usuarios que pueden registrarse."
diff --git a/plugins/UserLimit/locale/fr/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/fr/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..5c68f2dcf
--- /dev/null
+++ b/plugins/UserLimit/locale/fr/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Limiter le nombre d’utilisateurs qui peuvent s’inscrire."
diff --git a/plugins/UserLimit/locale/ia/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/ia/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..760cebc67
--- /dev/null
+++ b/plugins/UserLimit/locale/ia/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Limitar le numero de usatores que pote registrar se."
diff --git a/plugins/UserLimit/locale/mk/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/mk/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..d685e8ca9
--- /dev/null
+++ b/plugins/UserLimit/locale/mk/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Ограничување на бројот на корисници што можат да се регистрираат."
diff --git a/plugins/UserLimit/locale/nb/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/nb/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..f3d54f6f4
--- /dev/null
+++ b/plugins/UserLimit/locale/nb/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Begrens antallet brukere som kan registrere seg."
diff --git a/plugins/UserLimit/locale/nl/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/nl/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..e09994934
--- /dev/null
+++ b/plugins/UserLimit/locale/nl/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Limiteert het aantal gebruikers dat kan registreren."
diff --git a/plugins/UserLimit/locale/pt_BR/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/pt_BR/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..216a8e6c3
--- /dev/null
+++ b/plugins/UserLimit/locale/pt_BR/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - UserLimit to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Giro720
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Limitar o número de usuários que podem se registrar."
diff --git a/plugins/UserLimit/locale/ru/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/ru/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..ed402a397
--- /dev/null
+++ b/plugins/UserLimit/locale/ru/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,28 @@
+# Translation of StatusNet - UserLimit to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr ""
+"Ограничение количества пользователей, которые могут зарегистрироваться."
diff --git a/plugins/UserLimit/locale/tl/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/tl/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..71ff8a65f
--- /dev/null
+++ b/plugins/UserLimit/locale/tl/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Hangganan ng bilang ng mga tagagamit na makakapagpatala."
diff --git a/plugins/UserLimit/locale/tr/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/tr/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..538505e48
--- /dev/null
+++ b/plugins/UserLimit/locale/tr/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,26 @@
+# Translation of StatusNet - UserLimit to Turkish (Türkçe)
+# Expored from translatewiki.net
+#
+# Author: Maidis
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tr\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Kayıt olabilecek kullanıcı sayısını sınırla."
diff --git a/plugins/UserLimit/locale/uk/LC_MESSAGES/UserLimit.po b/plugins/UserLimit/locale/uk/LC_MESSAGES/UserLimit.po
new file mode 100644
index 000000000..6564c7897
--- /dev/null
+++ b/plugins/UserLimit/locale/uk/LC_MESSAGES/UserLimit.po
@@ -0,0 +1,27 @@
+# Translation of StatusNet - UserLimit to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - UserLimit\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:34+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:30+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-userlimit\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: UserLimitPlugin.php:89
+msgid "Limit the number of users who can register."
+msgstr "Обмеження кількості користувачів, котрі можуть зареєструватися."
diff --git a/plugins/WikiHashtagsPlugin.php b/plugins/WikiHashtags/WikiHashtagsPlugin.php
index c6c976b8f..c6c976b8f 100644
--- a/plugins/WikiHashtagsPlugin.php
+++ b/plugins/WikiHashtags/WikiHashtagsPlugin.php
diff --git a/plugins/WikiHashtags/locale/WikiHashtags.pot b/plugins/WikiHashtags/locale/WikiHashtags.pot
new file mode 100644
index 000000000..c9282d174
--- /dev/null
+++ b/plugins/WikiHashtags/locale/WikiHashtags.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
diff --git a/plugins/WikiHashtags/locale/fr/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/fr/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..971db3113
--- /dev/null
+++ b/plugins/WikiHashtags/locale/fr/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - WikiHashtags to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Obtient les descriptions de hashtags depuis <a href=\"http://hashtags.wikia."
+"com/\">WikiHashtags</a> ."
diff --git a/plugins/WikiHashtags/locale/ia/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/ia/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..d879d2a1d
--- /dev/null
+++ b/plugins/WikiHashtags/locale/ia/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - WikiHashtags to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Obtene descriptiones de hashtags ab <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
diff --git a/plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..5be14522d
--- /dev/null
+++ b/plugins/WikiHashtags/locale/mk/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - WikiHashtags to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Презема описи на хеш-ознаки од <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
diff --git a/plugins/WikiHashtags/locale/nb/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/nb/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..8741ffb99
--- /dev/null
+++ b/plugins/WikiHashtags/locale/nb/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - WikiHashtags to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Henter hashtag-beskrivelser fra <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
diff --git a/plugins/WikiHashtags/locale/nl/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/nl/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..369c3650e
--- /dev/null
+++ b/plugins/WikiHashtags/locale/nl/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - WikiHashtags to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Haalt hashtagbeschrijvingen op van <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
diff --git a/plugins/WikiHashtags/locale/pt_BR/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/pt_BR/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..8f1d8b7f6
--- /dev/null
+++ b/plugins/WikiHashtags/locale/pt_BR/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - WikiHashtags to Brazilian Portuguese (Português do Brasil)
+# Expored from translatewiki.net
+#
+# Author: Giro720
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Brazilian Portuguese <http://translatewiki.net/wiki/Portal:pt-"
+"br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: pt-br\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Obter as descrições de hashtags a partir de <a href=\"http://hashtags.wikia."
+"com/\">WikiHashtags</a> ."
diff --git a/plugins/WikiHashtags/locale/ru/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/ru/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..75e44a268
--- /dev/null
+++ b/plugins/WikiHashtags/locale/ru/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - WikiHashtags to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Получает описания хештегов из <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
diff --git a/plugins/WikiHashtags/locale/tl/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/tl/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..8488f2843
--- /dev/null
+++ b/plugins/WikiHashtags/locale/tl/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - WikiHashtags to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Kumukuha ng mga paglalarawan ng tatak ng giling mula sa <a href=\"http://"
+"hashtags.wikia.com/\">WikiHashtags</a>."
diff --git a/plugins/WikiHashtags/locale/tr/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/tr/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..781008065
--- /dev/null
+++ b/plugins/WikiHashtags/locale/tr/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - WikiHashtags to Turkish (Türkçe)
+# Expored from translatewiki.net
+#
+# Author: Maidis
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tr\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Kareetiket tanımlarını <a href=\"http://hashtags.wikia.com/\">WikiHashtags</"
+"a>'tan al."
diff --git a/plugins/WikiHashtags/locale/uk/LC_MESSAGES/WikiHashtags.po b/plugins/WikiHashtags/locale/uk/LC_MESSAGES/WikiHashtags.po
new file mode 100644
index 000000000..8b62c5be9
--- /dev/null
+++ b/plugins/WikiHashtags/locale/uk/LC_MESSAGES/WikiHashtags.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - WikiHashtags to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHashtags\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:35+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-wikihashtags\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: WikiHashtagsPlugin.php:110
+msgid ""
+"Gets hashtag descriptions from <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
+msgstr ""
+"Отримувати описи теґів з <a href=\"http://hashtags.wikia.com/"
+"\">WikiHashtags</a>."
diff --git a/plugins/WikiHowProfile/WikiHowProfilePlugin.php b/plugins/WikiHowProfile/WikiHowProfilePlugin.php
index b72bd55d6..fa683c483 100644
--- a/plugins/WikiHowProfile/WikiHowProfilePlugin.php
+++ b/plugins/WikiHowProfile/WikiHowProfilePlugin.php
@@ -47,7 +47,6 @@ if (!defined('STATUSNET')) {
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
* @link http://status.net/
*/
-
class WikiHowProfilePlugin extends Plugin
{
function onPluginVersion(&$versions)
@@ -57,7 +56,7 @@ class WikiHowProfilePlugin extends Plugin
'author' => 'Brion Vibber',
'homepage' => 'http://status.net/wiki/Plugin:Sample',
'rawdescription' =>
- _m('Fetches avatar and other profile info for WikiHow users when setting up an account via OpenID.'));
+ _m('Fetches avatar and other profile information for WikiHow users when setting up an account via OpenID.'));
return true;
}
@@ -107,14 +106,14 @@ class WikiHowProfilePlugin extends Plugin
/**
* Given a user's WikiHow profile URL, find their avatar.
- *
+ *
* @param string $profileUrl user page on the wiki
- *
+ *
* @return array of data; possible members:
* 'avatar' => full URL to avatar image
- *
+ *
* @throws Exception on various low-level failures
- *
+ *
* @todo pull location, web site, and about sections -- they aren't currently marked up cleanly.
*/
private function fetchProfile($profileUrl)
@@ -169,14 +168,14 @@ class WikiHowProfilePlugin extends Plugin
private function saveAvatar($user, $url)
{
if (!common_valid_http_url($url)) {
- throw new ServerException(sprintf(_m("Invalid avatar URL %s"), $url));
+ throw new ServerException(sprintf(_m("Invalid avatar URL %s."), $url));
}
// @fixme this should be better encapsulated
// ripped from OStatus via oauthstore.php (for old OMB client)
$temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar');
if (!copy($url, $temp_filename)) {
- throw new ServerException(sprintf(_m("Unable to fetch avatar from %s"), $url));
+ throw new ServerException(sprintf(_m("Unable to fetch avatar from %s."), $url));
}
$profile = $user->getProfile();
@@ -191,6 +190,4 @@ class WikiHowProfilePlugin extends Plugin
rename($temp_filename, Avatar::path($filename));
$profile->setOriginal($filename);
}
-
}
-
diff --git a/plugins/WikiHowProfile/locale/WikiHowProfile.pot b/plugins/WikiHowProfile/locale/WikiHowProfile.pot
new file mode 100644
index 000000000..fffb3ac24
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/WikiHowProfile.pot
@@ -0,0 +1,33 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr ""
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr ""
diff --git a/plugins/WikiHowProfile/locale/fr/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/fr/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..f6df675c8
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/fr/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - WikiHowProfile to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"Récupère l’avatar et les autres informations de profil des utilisateurs "
+"WikiHow lorsqu’ils créent un compte via OpenID."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Adresse URL d’avatar « %s » invalide."
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Impossible de récupérer l’avatar depuis « %s »."
diff --git a/plugins/WikiHowProfile/locale/ia/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/ia/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..3ca5438b1
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/ia/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - WikiHowProfile to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"Obtene le avatar e altere informationes de profilo pro usatores de WikiHow "
+"durante le creation de un conto via OpenID."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "URL de avatar %s invalide."
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Incapace de obtener avatar ab %s."
diff --git a/plugins/WikiHowProfile/locale/mk/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/mk/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..7f43004cb
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/mk/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - WikiHowProfile to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"Презема аватар и други профилни податоци за корисници на WikiHow при "
+"создавање на сметка преку OpenID."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Неважечка URL-адреса на аватарот: %s."
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Не можев да го преземам аватарот од %s."
diff --git a/plugins/WikiHowProfile/locale/nl/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/nl/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..e8e437416
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/nl/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - WikiHowProfile to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"Haalt avatar- en andere informatie op voor WikiHow-gebruikers die een "
+"gebruiker aanmaken via OpenID."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Ongeldige avatar-URL %s."
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Het was niet mogelijk om de avatar op te halen van %s."
diff --git a/plugins/WikiHowProfile/locale/ru/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/ru/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..bf3861a9e
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/ru/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,41 @@
+# Translation of StatusNet - WikiHowProfile to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Lockal
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"Запрашивает аватару и прочую информацию из профиля пользователя WikiHow при "
+"создании учётной записи с помощью OpenID."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Неверный URL-адрес аватары %s"
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Не удаётся получить аватару из %s."
diff --git a/plugins/WikiHowProfile/locale/tl/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/tl/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..ed6d70a8c
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/tl/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - WikiHowProfile to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"Dumarampot ng abatar at ibang kabatiran ng balangkas para sa mga tagagamit "
+"ng WikiHow kapag nagtatalaga ng isang akawnt sa pamamagitan ng OpenID."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Hindi tanggap na URL ng abatar ang %s."
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Hindi nagawang damputin ang abatar mula sa %s."
diff --git a/plugins/WikiHowProfile/locale/tr/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/tr/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..5b4df1d67
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/tr/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,40 @@
+# Translation of StatusNet - WikiHowProfile to Turkish (Türkçe)
+# Expored from translatewiki.net
+#
+# Author: Maidis
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tr\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"OpenID aracılığıyla hesap oluşturan WikiHow kullanıcıları için kullanıcı "
+"resimlerini ve diğer profil bilgilerini alır."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Geçersiz kullanıcı resmi bağlantısı %s."
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "%s'ten kullanıcı resmi alınamıyor."
diff --git a/plugins/WikiHowProfile/locale/uk/LC_MESSAGES/WikiHowProfile.po b/plugins/WikiHowProfile/locale/uk/LC_MESSAGES/WikiHowProfile.po
new file mode 100644
index 000000000..53944d0c4
--- /dev/null
+++ b/plugins/WikiHowProfile/locale/uk/LC_MESSAGES/WikiHowProfile.po
@@ -0,0 +1,41 @@
+# Translation of StatusNet - WikiHowProfile to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - WikiHowProfile\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:21:31+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-wikihowprofile\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: WikiHowProfilePlugin.php:59
+msgid ""
+"Fetches avatar and other profile information for WikiHow users when setting "
+"up an account via OpenID."
+msgstr ""
+"Запитує аватар та іншу супутню інформацію з WikiHow для користувачів, котрі "
+"створюють акаунти через OpenID."
+
+#: WikiHowProfilePlugin.php:171
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Невірна URL-адреса аватари %s."
+
+#: WikiHowProfilePlugin.php:178
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Неможливо завантажити аватару з %s."
diff --git a/plugins/XCachePlugin.php b/plugins/XCache/XCachePlugin.php
index 2baa290ed..2baa290ed 100644
--- a/plugins/XCachePlugin.php
+++ b/plugins/XCache/XCachePlugin.php
diff --git a/plugins/XCache/locale/XCache.pot b/plugins/XCache/locale/XCache.pot
new file mode 100644
index 000000000..e38f5c845
--- /dev/null
+++ b/plugins/XCache/locale/XCache.pot
@@ -0,0 +1,23 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
diff --git a/plugins/XCache/locale/br/LC_MESSAGES/XCache.po b/plugins/XCache/locale/br/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..c5025c52a
--- /dev/null
+++ b/plugins/XCache/locale/br/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Breton (Brezhoneg)
+# Expored from translatewiki.net
+#
+# Author: Fulup
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Breton <http://translatewiki.net/wiki/Portal:br>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: br\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Ober gant ar grubuilh hegemm <a href=\"http://xcache.lighttpd.net/\">XCache</"
+"a> da grubuilhañ disoc'hoù ar rekedoù."
diff --git a/plugins/XCache/locale/es/LC_MESSAGES/XCache.po b/plugins/XCache/locale/es/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..d24ff1189
--- /dev/null
+++ b/plugins/XCache/locale/es/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Spanish (Español)
+# Expored from translatewiki.net
+#
+# Author: Locos epraix
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Spanish <http://translatewiki.net/wiki/Portal:es>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: es\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Utilice la caché variable <a href=\"http://xcache.lighttpd.net/\">XCache</a> "
+"para guardar los resultados de consultas."
diff --git a/plugins/XCache/locale/fr/LC_MESSAGES/XCache.po b/plugins/XCache/locale/fr/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..5513c25f0
--- /dev/null
+++ b/plugins/XCache/locale/fr/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Verdy p
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Utilisez le cache variable <a href=\"http://xcache.lighttpd.net/\">XCache</"
+"a> pour mettre en cache les résultats de requêtes."
diff --git a/plugins/XCache/locale/ia/LC_MESSAGES/XCache.po b/plugins/XCache/locale/ia/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..4f8e5a1e9
--- /dev/null
+++ b/plugins/XCache/locale/ia/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Usar le cache de variabiles <a href=\"http://xcache.lighttpd.net/\">XCache</"
+"a> pro immagazinar le resultatos de consultas."
diff --git a/plugins/XCache/locale/mk/LC_MESSAGES/XCache.po b/plugins/XCache/locale/mk/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..cb6e5c419
--- /dev/null
+++ b/plugins/XCache/locale/mk/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Користи променлив кеш <a href=\"http://xcache.lighttpd.net/\">XCache</a> за "
+"кеширање на резултати од барања."
diff --git a/plugins/XCache/locale/nb/LC_MESSAGES/XCache.po b/plugins/XCache/locale/nb/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..c8812aaa8
--- /dev/null
+++ b/plugins/XCache/locale/nb/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Norwegian (bokmål)‬ (‪Norsk (bokmål)‬)
+# Expored from translatewiki.net
+#
+# Author: Nghtwlkr
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Norwegian (bokmål)‬ <http://translatewiki.net/wiki/Portal:no>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: no\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Bruk <a href=\"http://xcache.lighttpd.net/\">XCache</a>-"
+"variabelhurtiglageret til å hurtiglagre søkeresultat."
diff --git a/plugins/XCache/locale/nl/LC_MESSAGES/XCache.po b/plugins/XCache/locale/nl/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..22d5a87ce
--- /dev/null
+++ b/plugins/XCache/locale/nl/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:36+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"<a href=\"http://xcache.lighttpd.net/\">XCache</a> cache gebruiken voor het "
+"cachen van zoekopdrachtresultaten."
diff --git a/plugins/XCache/locale/ru/LC_MESSAGES/XCache.po b/plugins/XCache/locale/ru/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..16df3c2d9
--- /dev/null
+++ b/plugins/XCache/locale/ru/LC_MESSAGES/XCache.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - XCache to Russian (Русский)
+# Expored from translatewiki.net
+#
+# Author: Александр Сигачёв
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:37+0000\n"
+"Language-Team: Russian <http://translatewiki.net/wiki/Portal:ru>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ru\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Использование <a href=\"http://xcache.lighttpd.net/\">XCache</a> для "
+"кеширования результатов запросов."
diff --git a/plugins/XCache/locale/tl/LC_MESSAGES/XCache.po b/plugins/XCache/locale/tl/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..83abdf0af
--- /dev/null
+++ b/plugins/XCache/locale/tl/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Tagalog (Tagalog)
+# Expored from translatewiki.net
+#
+# Author: AnakngAraw
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:37+0000\n"
+"Language-Team: Tagalog <http://translatewiki.net/wiki/Portal:tl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tl\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Gamitin ang nababagong taguan na <a href=\"http://xcache.lighttpd.net/"
+"\">XCache</a> upang ikubli ang mga kinalabasan ng pagtatanong."
diff --git a/plugins/XCache/locale/tr/LC_MESSAGES/XCache.po b/plugins/XCache/locale/tr/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..d9550d72f
--- /dev/null
+++ b/plugins/XCache/locale/tr/LC_MESSAGES/XCache.po
@@ -0,0 +1,30 @@
+# Translation of StatusNet - XCache to Turkish (Türkçe)
+# Expored from translatewiki.net
+#
+# Author: Maidis
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:37+0000\n"
+"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tr\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Sorgulama sonuçlarını saklamak için <a href=\"http://xcache.lighttpd.net/"
+"\">XCache</a> değişken önbelleğini kullan."
diff --git a/plugins/XCache/locale/uk/LC_MESSAGES/XCache.po b/plugins/XCache/locale/uk/LC_MESSAGES/XCache.po
new file mode 100644
index 000000000..1c56db2fe
--- /dev/null
+++ b/plugins/XCache/locale/uk/LC_MESSAGES/XCache.po
@@ -0,0 +1,31 @@
+# Translation of StatusNet - XCache to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - XCache\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:37+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-09-27 23:22:09+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-xcache\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: XCachePlugin.php:120
+msgid ""
+"Use the <a href=\"http://xcache.lighttpd.net/\">XCache</a> variable cache to "
+"cache query results."
+msgstr ""
+"Використання <a href=\"http://xcache.lighttpd.net/\">XCache</a> для "
+"різноманітних запитів щодо кешу."
diff --git a/plugins/YammerImport/README b/plugins/YammerImport/README
new file mode 100644
index 000000000..975faa213
--- /dev/null
+++ b/plugins/YammerImport/README
@@ -0,0 +1,182 @@
+Yammer Import Plugin
+====================
+
+This plugin allows a one-time import pulling user accounts, groups, and
+public messages from an existing Yammer instance, using Yammer's public API.
+
+Requirements
+------------
+
+* An account on the Yammer network you wish to import from
+* An administrator account on the target StatusNet instance, or
+ command-line administrative access
+* This YammerImport plugin enabled on your StatusNet instance
+
+
+Limitations
+-----------
+
+Yammer API key registrations only work for your own network unless you make
+arrangements for a 'trusted app' key, so for now users will need to register
+the app themselves. There is a helper in the admin panel for this.
+
+In theory any number of users, groups, and messages should be supported, but
+it hasn't been fully tested on non-trivial-sized sites.
+
+No provision has yet been made for dealing with conflicting usernames or
+group names, or names which are not considered valid by StatusNet. Errors
+are possible.
+
+Running via the web admin interface requires having queueing enabled, and is
+fairly likely to have problems with the application key registration step in
+a small installation at this time.
+
+
+Web setup
+---------
+
+The import process is runnable through an administration panel on your
+StatusNet site. The user interface is still a bit flaky, however, and if
+errors occur during import the process may stop with no way to restart it
+visible.
+
+The admin interface will probably kinda blow up if JS/AJAX isn't working.
+
+You'll be prompted to register the application and authenticate into Yammer,
+after which a progress screen will display.
+
+Two big warnings:
+* The progress display does not currently auto-refresh.
+* If anything fails once actual import has begun, it'll just keep showing
+ the current state. You won't see an error message, and there's no way
+ to reset or restart from the web UI yet.
+
+You can continue or reset the import state using the command-line script.
+
+
+CLI setup
+---------
+
+You'll need to register an application consumer key to allow the importer
+to connect to your Yammer network; this requires logging into Yammer:
+
+ https://www.yammer.com/client_applications/new
+
+Check all the 'read' options; no 'write' options are required, but Yammer
+seems to end up setting them anyway.
+
+You can set the resulting keys directly in config.php:
+
+ $config['yammer']['consumer_key'] = '#####';
+ $config['yammer']['consumer_secret'] = '##########';
+
+Initiate authentication by starting up the importer script:
+
+ php plugins/YammerImport/scripts/yammer-import.php
+
+Since you haven't yet authenticated, this will request an auth token and
+give you a URL to open in your web browser. Once logged in and authorized
+there, you'll be given a confirmation code. Pass this back:
+
+ php plugins/YammerImport/scripts/yammer-import.php --verify=####
+
+If all is well, the import process will begin and run through the end.
+
+In case of error or manual abort, you should be able to continue the
+import from where you left off by running the script again:
+
+ php plugins/YammerImport/scripts/yammer-import.php
+
+To reset the Yammer import state -- without removing any of the items
+that have already been imported -- you can pass the --reset option:
+
+ php plugins/YammerImport/scripts/yammer-import.php --reset
+
+This'll let you start over from the requesting-authentication stage.
+Any users, groups, or notices that have already been imported will be
+retained.
+
+
+Subscriptions and group memberships
+-----------------------------------
+
+Yammer's API does not expose user/tag subscriptions or group memberships
+except for the authenticating user. As a result, users will need to re-join
+groups and re-follow their fellow users after the import.
+
+(This limitation may be lifted in future for sites on the Silver or Gold
+plans where the import is done by a verified admin, as it should be possible
+to fetch the information for each user via the admin account.)
+
+
+Authentication
+--------------
+
+Account passwords cannot be retrieved, but the primary e-mail address is
+retained so users can reset their passwords by mail if you're not using a
+custom authentication system like LDAP.
+
+
+Private messages and groups
+---------------------------
+
+At this time, only public messages are imported; private direct and group
+messages are ignored. (This may change with Silver and Gold plans in future.)
+
+Yammer groups may be either public or private. Groups in StatusNet currently
+have no privacy option, so any private groups will become public groups in the
+imported site.
+
+
+Attachments
+-----------
+
+Attached image and document files will be copied in as if they had been
+uploaded to the StatusNet site. Currently images do not display inline like
+they do on Yammer; they will be linked instead.
+
+File type and size limitations on attachments will be applied, so beware some
+attachments may not make it through.
+
+
+
+
+Code structure
+==============
+
+Standalone classes
+------------------
+
+YammerRunner: encapsulates the iterative process of retrieving the various users,
+ groups, and messages via SN_YammerClient and saving them locally
+ via YammerImporter.
+
+SN_YammerClient: encapsulates HTTP+OAuth interface to Yammer API, returns data
+ as straight decoded JSON object trees.
+
+YammerImporter: encapsulates logic to pull information from the returned API data
+ and convert them to native StatusNet users, groups, and messages.
+
+Web UI actions
+-------------
+
+YammeradminpanelAction: web panel for site administrator to initiate and monitor
+ the import process.
+
+Command-line scripts
+--------------------
+
+yammer-import.php: CLI script to start a Yammer import run in one go.
+
+Database objects
+----------------
+
+Yammer_state: data object storing YammerRunner's state between iterations.
+
+Yammer_notice_stub: data object for temporary storage of fetched Yammer messages
+ between fetching them (reverse chron order) and saving them
+ to local messages (forward chron order).
+Yammer_user,
+Yammer_group,
+Yammer_notice: data objects mapping original Yammer item IDs to their local copies.
+
diff --git a/plugins/YammerImport/YammerImportPlugin.php b/plugins/YammerImport/YammerImportPlugin.php
new file mode 100644
index 000000000..2ce5af21b
--- /dev/null
+++ b/plugins/YammerImport/YammerImportPlugin.php
@@ -0,0 +1,146 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * @package YammerImportPlugin
+ * @maintainer Brion Vibber <brion@status.net>
+ */
+
+if (!defined('STATUSNET')) { exit(1); }
+
+class YammerImportPlugin extends Plugin
+{
+ /**
+ * Hook for RouterInitialized event.
+ *
+ * @param Net_URL_Mapper $m path-to-action mapper
+ * @return boolean hook return
+ */
+ function onRouterInitialized($m)
+ {
+ $m->connect('admin/yammer',
+ array('action' => 'yammeradminpanel'));
+ $m->connect('admin/yammer/auth',
+ array('action' => 'yammerauth'));
+ return true;
+ }
+
+ /**
+ * Set up queue handlers for import processing
+ * @param QueueManager $qm
+ * @return boolean hook return
+ */
+ function onEndInitializeQueueManager(QueueManager $qm)
+ {
+ $qm->connect('yammer', 'YammerQueueHandler');
+
+ return true;
+ }
+
+ /**
+ * Set up all our tables...
+ */
+ function onCheckSchema()
+ {
+ $schema = Schema::get();
+
+ $tables = array('Yammer_state',
+ 'Yammer_user',
+ 'Yammer_group',
+ 'Yammer_notice',
+ 'Yammer_notice_stub');
+ foreach ($tables as $table) {
+ $schemaDef = call_user_func(array($table, 'schemaDef'));
+ $schema->ensureTable(strtolower($table), $schemaDef);
+ }
+
+ return true;
+ }
+
+ /**
+ * If the plugin's installed, this should be accessible to admins.
+ */
+ function onAdminPanelCheck($name, &$isOK)
+ {
+ if ($name == 'yammer') {
+ $isOK = true;
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Add the Yammer admin panel to the list...
+ */
+ function onEndAdminPanelNav($nav)
+ {
+ if (AdminPanelAction::canAdmin('yammer')) {
+ $action_name = $nav->action->trimmed('action');
+
+ $nav->out->menuItem(common_local_url('yammeradminpanel'),
+ _m('Yammer'),
+ _m('Yammer import'),
+ $action_name == 'yammeradminpanel',
+ 'nav_yammer_admin_panel');
+ }
+
+ return true;
+ }
+
+ /**
+ * Automatically load the actions and libraries used by the plugin
+ *
+ * @param Class $cls the class
+ *
+ * @return boolean hook return
+ *
+ */
+ function onAutoload($cls)
+ {
+ $base = dirname(__FILE__);
+ $lower = strtolower($cls);
+ switch ($lower) {
+ case 'sn_yammerclient':
+ case 'yammerimporter':
+ case 'yammerrunner':
+ case 'yammerapikeyform':
+ case 'yammerauthinitform':
+ case 'yammerauthverifyform':
+ case 'yammerprogressform':
+ case 'yammerqueuehandler':
+ require_once "$base/lib/$lower.php";
+ return false;
+ case 'yammeradminpanelaction':
+ $crop = substr($lower, 0, strlen($lower) - strlen('action'));
+ require_once "$base/actions/$crop.php";
+ return false;
+ case 'yammer_state':
+ case 'yammer_notice_stub':
+ case 'yammer_common':
+ case 'yammer_user':
+ case 'yammer_group':
+ case 'yammer_notice':
+ require_once "$base/classes/$cls.php";
+ return false;
+ default:
+ return true;
+ }
+ }
+}
diff --git a/plugins/YammerImport/actions/yammeradminpanel.php b/plugins/YammerImport/actions/yammeradminpanel.php
new file mode 100644
index 000000000..3faf390ac
--- /dev/null
+++ b/plugins/YammerImport/actions/yammeradminpanel.php
@@ -0,0 +1,187 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Yammer import administration panel
+ *
+ * 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 Settings
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+class YammeradminpanelAction extends AdminPanelAction
+{
+ private $runner;
+
+ /**
+ * Returns the page title
+ *
+ * @return string page title
+ */
+ function title()
+ {
+ return _m('Yammer Import');
+ }
+
+ /**
+ * Instructions for using this form.
+ *
+ * @return string instructions
+ */
+ function getInstructions()
+ {
+ return _m('This Yammer import tool is still undergoing testing, ' .
+ 'and is incomplete in some areas. ' .
+ 'Currently user subscriptions and group memberships are not ' .
+ 'transferred; in the future this may be supported for ' .
+ 'imports done by verified administrators on the Yammer side.');
+ }
+
+ function prepare($args)
+ {
+ $ok = parent::prepare($args);
+
+ $this->subaction = $this->trimmed('subaction');
+ $this->runner = YammerRunner::init();
+
+ return $ok;
+ }
+
+ function handle($args)
+ {
+ // @fixme move this to saveSettings and friends?
+ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
+ StatusNet::setApi(true); // short error pages :P
+ $this->checkSessionToken();
+ if ($this->subaction == 'change-apikey') {
+ $form = new YammerApiKeyForm($this);
+ } else if ($this->subaction == 'apikey') {
+ if ($this->saveKeys()) {
+ $form = new YammerAuthInitForm($this, $this->runner);
+ } else {
+ $form = new YammerApiKeyForm($this);
+ }
+ } else if ($this->subaction == 'authinit') {
+ // hack
+ if ($this->arg('change-apikey')) {
+ $form = new YammerApiKeyForm($this);
+ } else {
+ $url = $this->runner->requestAuth();
+ $form = new YammerAuthVerifyForm($this, $this->runner);
+ }
+ } else if ($this->subaction == 'authverify') {
+ $this->runner->saveAuthToken($this->trimmed('verify_token'));
+
+ // Haho! Now we can make THE FUN HAPPEN
+ $this->runner->startBackgroundImport();
+
+ $form = new YammerProgressForm($this, $this->runner);
+ } else if ($this->subaction == 'pause-import') {
+ $this->runner->recordError(_m('Paused from admin panel.'));
+ $form = $this->statusForm();
+ } else if ($this->subaction == 'continue-import') {
+ $this->runner->clearError();
+ $this->runner->startBackgroundImport();
+ $form = $this->statusForm();
+ } else if ($this->subaction == 'abort-import') {
+ $this->runner->reset();
+ $form = $this->statusForm();
+ } else if ($this->subaction == 'progress') {
+ $form = $this->statusForm();
+ } else {
+ throw new ClientException('Invalid POST');
+ }
+ return $this->showAjaxForm($form);
+ }
+ return parent::handle($args);
+ }
+
+ function saveKeys()
+ {
+ $key = $this->trimmed('consumer_key');
+ $secret = $this->trimmed('consumer_secret');
+ Config::save('yammer', 'consumer_key', $key);
+ Config::save('yammer', 'consumer_secret', $secret);
+
+ return !empty($key) && !empty($secret);
+ }
+
+ function showAjaxForm($form)
+ {
+ $this->startHTML('text/xml;charset=utf-8');
+ $this->elementStart('head');
+ $this->element('title', null, _m('Yammer import'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $form->show();
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ }
+
+ /**
+ * Fetch the appropriate form for our current state.
+ * @return Form
+ */
+ function statusForm()
+ {
+ if (!(common_config('yammer', 'consumer_key'))
+ || !(common_config('yammer', 'consumer_secret'))) {
+ return new YammerApiKeyForm($this);
+ }
+ switch($this->runner->state())
+ {
+ case 'init':
+ return new YammerAuthInitForm($this, $this->runner);
+ case 'requesting-auth':
+ return new YammerAuthVerifyForm($this, $this->runner);
+ default:
+ return new YammerProgressForm($this, $this->runner);
+ }
+ }
+
+ /**
+ * Show the Yammer admin panel form
+ *
+ * @return void
+ */
+ function showForm()
+ {
+ $this->elementStart('fieldset');
+ $this->statusForm()->show();
+ $this->elementEnd('fieldset');
+ }
+
+ function showStylesheets()
+ {
+ parent::showStylesheets();
+ $this->cssLink('plugins/YammerImport/css/admin.css', null, 'screen, projection, tv');
+ }
+
+ function showScripts()
+ {
+ parent::showScripts();
+ $this->script('plugins/YammerImport/js/yammer-admin.js');
+ }
+}
diff --git a/plugins/YammerImport/actions/yammerauth.php b/plugins/YammerImport/actions/yammerauth.php
new file mode 100644
index 000000000..d0d4b40c7
--- /dev/null
+++ b/plugins/YammerImport/actions/yammerauth.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * StatusNet, the distributed open-source microblogging tool
+ *
+ * Yammer import administration panel
+ *
+ * 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 Settings
+ * @package StatusNet
+ * @author Zach Copley <zach@status.net>
+ * @copyright 2010 StatusNet, Inc.
+ * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
+ * @link http://status.net/
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+class YammerauthAction extends AdminPanelAction
+{
+
+ /**
+ * Show the Yammer admin panel form
+ *
+ * @return void
+ */
+ function prepare($args)
+ {
+ parent::prepare($args);
+
+ $this->verify_token = $this->trim('verify_token');
+ }
+
+ /**
+ * Handle request
+ *
+ * Does the subscription and returns results.
+ *
+ * @param Array $args unused.
+ *
+ * @return void
+ */
+
+ function handle($args)
+ {
+ if ($this->verify_token) {
+ $runner->saveAuthToken($this->verify_token);
+ $form = new YammerAuthProgressForm();
+ } else {
+ $url = $runner->requestAuth();
+ $form = new YammerAuthVerifyForm($this, $url);
+ }
+
+ $this->startHTML('text/xml;charset=utf-8');
+ $this->elementStart('head');
+ $this->element('title', null, _m('Connect to Yammer'));
+ $this->elementEnd('head');
+ $this->elementStart('body');
+ $form->show();
+ $this->elementEnd('body');
+ $this->elementEnd('html');
+ }
+}
+
diff --git a/plugins/YammerImport/classes/Yammer_common.php b/plugins/YammerImport/classes/Yammer_common.php
new file mode 100644
index 000000000..6ec6fc904
--- /dev/null
+++ b/plugins/YammerImport/classes/Yammer_common.php
@@ -0,0 +1,165 @@
+<?php
+/**
+ * Data class for remembering Yammer import mappings
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Brion Vibber <brion@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Common base class for the Yammer import mappings for users, groups, and notices.
+ *
+ * Child classes must override these static methods, since we need to run
+ * on PHP 5.2.x which has no late static binding:
+ * - staticGet (as our other classes)
+ * - schemaDef (call self::doSchemaDef)
+ * - record (call self::doRecord)
+ */
+
+class Yammer_common extends Memcached_DataObject
+{
+ public $__table = 'yammer_XXXX'; // table name
+ public $__field = 'XXXX_id'; // field name to save into
+ public $id; // int primary_key not_null
+ public $user_id; // int(4)
+ public $created; // datetime
+
+ /**
+ * @fixme add a 'references' thing for the foreign key when we support that
+ */
+ protected static function doSchemaDef($field)
+ {
+ return array(new ColumnDef('id', 'bigint', null,
+ false, 'PRI'),
+ new ColumnDef($field, 'integer', null,
+ false, 'UNI'),
+ new ColumnDef('created', 'datetime', null,
+ false));
+ }
+
+ /**
+ * return table definition for DB_DataObject
+ *
+ * DB_DataObject needs to know something about the table to manipulate
+ * instances. This method provides all the DB_DataObject needs to know.
+ *
+ * @return array array of column definitions
+ */
+
+ function table()
+ {
+ return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ $this->__field => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
+ }
+
+ /**
+ * return key definitions for DB_DataObject
+ *
+ * DB_DataObject needs to know about keys that the table has, since it
+ * won't appear in StatusNet's own keys list. In most cases, this will
+ * simply reference your keyTypes() function.
+ *
+ * @return array list of key field names
+ */
+
+ function keys()
+ {
+ return array_keys($this->keyTypes());
+ }
+
+ /**
+ * return key definitions for Memcached_DataObject
+ *
+ * Our caching system uses the same key definitions, but uses a different
+ * method to get them. This key information is used to store and clear
+ * cached data, so be sure to list any key that will be used for static
+ * lookups.
+ *
+ * @return array associative array of key definitions, field name to type:
+ * 'K' for primary key: for compound keys, add an entry for each component;
+ * 'U' for unique keys: compound keys are not well supported here.
+ */
+
+ function keyTypes()
+ {
+ return array('id' => 'K', $this->__field => 'U');
+ }
+
+ /**
+ * Magic formula for non-autoincrementing integer primary keys
+ *
+ * If a table has a single integer column as its primary key, DB_DataObject
+ * assumes that the column is auto-incrementing and makes a sequence table
+ * to do this incrementation. Since we don't need this for our class, we
+ * overload this method and return the magic formula that DB_DataObject needs.
+ *
+ * @return array magic three-false array that stops auto-incrementing.
+ */
+
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
+
+ /**
+ * Save a mapping between a remote Yammer and local imported user.
+ *
+ * @param integer $user_id ID of the status in StatusNet
+ * @param integer $orig_id ID of the notice in Yammer
+ *
+ * @return Yammer_common new object for this value
+ */
+
+ protected static function doRecord($class, $field, $orig_id, $local_id)
+ {
+ $map = parent::staticGet($class, 'id', $orig_id);
+
+ if (!empty($map)) {
+ return $map;
+ }
+
+ $map = parent::staticGet($class, $field, $local_id);
+
+ if (!empty($map)) {
+ return $map;
+ }
+
+ common_debug("Mapping Yammer $field {$orig_id} to local $field {$local_id}");
+
+ $map = new $class();
+
+ $map->id = $orig_id;
+ $map->$field = $local_id;
+ $map->created = common_sql_now();
+
+ $map->insert();
+
+ return $map;
+ }
+}
diff --git a/plugins/YammerImport/classes/Yammer_group.php b/plugins/YammerImport/classes/Yammer_group.php
new file mode 100644
index 000000000..4e7a6ebd0
--- /dev/null
+++ b/plugins/YammerImport/classes/Yammer_group.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Data class for remembering Yammer import mappings
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Brion Vibber <brion@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+class Yammer_group extends Yammer_common
+{
+ public $__table = 'yammer_group'; // table name
+ public $__field = 'group_id'; // field to map to
+ public $group_id; // int
+
+ /**
+ * Get an instance by key
+ *
+ * This is a utility method to get a single instance with a given key value.
+ *
+ * @param string $k Key to use to lookup
+ * @param mixed $v Value to lookup
+ *
+ * @return Yammer_group object found, or null for no hits
+ *
+ */
+
+ function staticGet($k, $v=null)
+ {
+ return Memcached_DataObject::staticGet('Yammer_group', $k, $v);
+ }
+
+ /**
+ * Return schema definition to set this table up in onCheckSchema
+ */
+
+ static function schemaDef()
+ {
+ return self::doSchemaDef('group_id');
+ }
+
+ /**
+ * Save a mapping between a remote Yammer and local imported group.
+ *
+ * @param integer $orig_id ID of the notice in Yammer
+ * @param integer $group_id ID of the status in StatusNet
+ *
+ * @return Yammer_group new object for this value
+ */
+
+ static function record($orig_id, $group_id)
+ {
+ return self::doRecord('Yammer_group', 'group_id', $orig_id, $group_id);
+ }
+}
diff --git a/plugins/YammerImport/classes/Yammer_notice.php b/plugins/YammerImport/classes/Yammer_notice.php
new file mode 100644
index 000000000..0f63db630
--- /dev/null
+++ b/plugins/YammerImport/classes/Yammer_notice.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Data class for remembering Yammer import mappings
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Brion Vibber <brion@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+class Yammer_notice extends Yammer_common
+{
+ public $__table = 'yammer_notice'; // table name
+ public $__field = 'notice_id'; // field to map to
+ public $notice_id; // int
+
+ /**
+ * Get an instance by key
+ *
+ * This is a utility method to get a single instance with a given key value.
+ *
+ * @param string $k Key to use to lookup
+ * @param mixed $v Value to lookup
+ *
+ * @return Yammer_notice object found, or null for no hits
+ *
+ */
+
+ function staticGet($k, $v=null)
+ {
+ return Memcached_DataObject::staticGet('Yammer_notice', $k, $v);
+ }
+
+ /**
+ * Return schema definition to set this table up in onCheckSchema
+ */
+
+ static function schemaDef()
+ {
+ return self::doSchemaDef('notice_id');
+ }
+
+ /**
+ * Save a mapping between a remote Yammer and local imported notice.
+ *
+ * @param integer $orig_id ID of the notice in Yammer
+ * @param integer $notice_id ID of the status in StatusNet
+ *
+ * @return Yammer_notice new object for this value
+ */
+
+ static function record($orig_id, $notice_id)
+ {
+ return self::doRecord('Yammer_notice', 'notice_id', $orig_id, $notice_id);
+ }
+}
diff --git a/plugins/YammerImport/classes/Yammer_notice_stub.php b/plugins/YammerImport/classes/Yammer_notice_stub.php
new file mode 100644
index 000000000..e10300c4c
--- /dev/null
+++ b/plugins/YammerImport/classes/Yammer_notice_stub.php
@@ -0,0 +1,183 @@
+<?php
+/**
+ * Data class for remembering Yammer import mappings
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Brion Vibber <brion@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Temporary storage for imported Yammer messages between fetching and saving
+ * as local notices.
+ *
+ * The Yammer API only allows us to page down from the most recent items; in
+ * order to start saving the oldest notices first, we have to pull them all
+ * down in reverse chronological order, then go back over them from oldest to
+ * newest and actually save them into our notice table.
+ */
+
+class Yammer_notice_stub extends Memcached_DataObject
+{
+ public $__table = 'yammer_notice_stub'; // table name
+ public $id; // int primary_key not_null
+ public $json_data; // text
+ public $created; // datetime
+
+ /**
+ * Get an instance by key
+ *
+ * This is a utility method to get a single instance with a given key value.
+ *
+ * @param string $k Key to use to lookup
+ * @param mixed $v Value to lookup
+ *
+ * @return Yammer_notice_stub object found, or null for no hits
+ *
+ */
+
+ function staticGet($k, $v=null)
+ {
+ return Memcached_DataObject::staticGet('Yammer_notice_stub', $k, $v);
+ }
+
+ /**
+ * Return schema definition to set this table up in onCheckSchema
+ */
+ static function schemaDef()
+ {
+ return array(new ColumnDef('id', 'bigint', null,
+ false, 'PRI'),
+ new ColumnDef('json_data', 'text', null,
+ false),
+ new ColumnDef('created', 'datetime', null,
+ false));
+ }
+
+ /**
+ * return table definition for DB_DataObject
+ *
+ * DB_DataObject needs to know something about the table to manipulate
+ * instances. This method provides all the DB_DataObject needs to know.
+ *
+ * @return array array of column definitions
+ */
+
+ function table()
+ {
+ return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ 'json_data' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
+ 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
+ }
+
+ /**
+ * return key definitions for DB_DataObject
+ *
+ * DB_DataObject needs to know about keys that the table has, since it
+ * won't appear in StatusNet's own keys list. In most cases, this will
+ * simply reference your keyTypes() function.
+ *
+ * @return array list of key field names
+ */
+
+ function keys()
+ {
+ return array_keys($this->keyTypes());
+ }
+
+ /**
+ * return key definitions for Memcached_DataObject
+ *
+ * Our caching system uses the same key definitions, but uses a different
+ * method to get them. This key information is used to store and clear
+ * cached data, so be sure to list any key that will be used for static
+ * lookups.
+ *
+ * @return array associative array of key definitions, field name to type:
+ * 'K' for primary key: for compound keys, add an entry for each component;
+ * 'U' for unique keys: compound keys are not well supported here.
+ */
+
+ function keyTypes()
+ {
+ return array('id' => 'K');
+ }
+
+ /**
+ * Magic formula for non-autoincrementing integer primary keys
+ *
+ * If a table has a single integer column as its primary key, DB_DataObject
+ * assumes that the column is auto-incrementing and makes a sequence table
+ * to do this incrementation. Since we don't need this for our class, we
+ * overload this method and return the magic formula that DB_DataObject needs.
+ *
+ * @return array magic three-false array that stops auto-incrementing.
+ */
+
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
+
+ /**
+ * Decode the stored data structure.
+ *
+ * @return mixed
+ */
+ public function getData()
+ {
+ return json_decode($this->json_data, true);
+ }
+
+ /**
+ * Save the native Yammer API representation of a message for the pending
+ * import. Since they come in in reverse chronological order, we need to
+ * record them all as stubs and then go through from the beginning and
+ * save them as native notices, or we'll lose ordering and threading
+ * data.
+ *
+ * @param integer $orig_id ID of the notice on Yammer
+ * @param array $data the message record fetched out of Yammer API returnd data
+ *
+ * @return Yammer_notice_stub new object for this value
+ */
+
+ static function record($orig_id, $data)
+ {
+ common_debug("Recording Yammer message stub {$orig_id} for pending import...");
+
+ $stub = new Yammer_notice_stub();
+
+ $stub->id = $orig_id;
+ $stub->json_data = json_encode($data);
+ $stub->created = common_sql_now();
+
+ $stub->insert();
+
+ return $stub;
+ }
+}
diff --git a/plugins/YammerImport/classes/Yammer_state.php b/plugins/YammerImport/classes/Yammer_state.php
new file mode 100644
index 000000000..88bd693bf
--- /dev/null
+++ b/plugins/YammerImport/classes/Yammer_state.php
@@ -0,0 +1,156 @@
+<?php
+/**
+ * Data class for remembering Yammer import state
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Brion Vibber <brion@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+class Yammer_state extends Memcached_DataObject
+{
+ public $__table = 'yammer_state'; // table name
+ public $id; // int primary_key not_null
+ public $state; // import state key
+ public $last_error; // text of last-encountered error, if any
+ public $oauth_token; // actual oauth token! clear when import is done?
+ public $oauth_secret; // actual oauth secret! clear when import is done?
+ public $users_page; // last page of users we've fetched
+ public $groups_page; // last page of groups we've fetched
+ public $messages_oldest; // oldest message ID we've fetched
+ public $messages_newest; // newest message ID we've imported
+ public $created; // datetime
+ public $modified; // datetime
+
+ /**
+ * Get an instance by key
+ *
+ * This is a utility method to get a single instance with a given key value.
+ *
+ * @param string $k Key to use to lookup
+ * @param mixed $v Value to lookup
+ *
+ * @return Yammer_state object found, or null for no hits
+ *
+ */
+
+ function staticGet($k, $v=null)
+ {
+ return Memcached_DataObject::staticGet('Yammer_state', $k, $v);
+ }
+
+ /**
+ * Return schema definition to set this table up in onCheckSchema
+ */
+ static function schemaDef()
+ {
+ return array(new ColumnDef('id', 'int', null,
+ false, 'PRI'),
+ new ColumnDef('state', 'text'),
+ new ColumnDef('last_error', 'text'),
+ new ColumnDef('oauth_token', 'text'),
+ new ColumnDef('oauth_secret', 'text'),
+ new ColumnDef('users_page', 'int'),
+ new ColumnDef('groups_page', 'int'),
+ new ColumnDef('messages_oldest', 'bigint'),
+ new ColumnDef('messages_newest', 'bigint'),
+ new ColumnDef('created', 'datetime'),
+ new ColumnDef('modified', 'datetime'));
+ }
+
+ /**
+ * return table definition for DB_DataObject
+ *
+ * DB_DataObject needs to know something about the table to manipulate
+ * instances. This method provides all the DB_DataObject needs to know.
+ *
+ * @return array array of column definitions
+ */
+
+ function table()
+ {
+ return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ 'state' => DB_DATAOBJECT_STR,
+ 'last_error' => DB_DATAOBJECT_STR,
+ 'oauth_token' => DB_DATAOBJECT_STR,
+ 'oauth_secret' => DB_DATAOBJECT_STR,
+ 'users_page' => DB_DATAOBJECT_INT,
+ 'groups_page' => DB_DATAOBJECT_INT,
+ 'messages_oldest' => DB_DATAOBJECT_INT,
+ 'messages_newest' => DB_DATAOBJECT_INT,
+ 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL);
+ }
+
+ /**
+ * return key definitions for DB_DataObject
+ *
+ * DB_DataObject needs to know about keys that the table has, since it
+ * won't appear in StatusNet's own keys list. In most cases, this will
+ * simply reference your keyTypes() function.
+ *
+ * @return array list of key field names
+ */
+
+ function keys()
+ {
+ return array_keys($this->keyTypes());
+ }
+
+ /**
+ * return key definitions for Memcached_DataObject
+ *
+ * Our caching system uses the same key definitions, but uses a different
+ * method to get them. This key information is used to store and clear
+ * cached data, so be sure to list any key that will be used for static
+ * lookups.
+ *
+ * @return array associative array of key definitions, field name to type:
+ * 'K' for primary key: for compound keys, add an entry for each component;
+ * 'U' for unique keys: compound keys are not well supported here.
+ */
+
+ function keyTypes()
+ {
+ return array('id' => 'K');
+ }
+
+ /**
+ * Magic formula for non-autoincrementing integer primary keys
+ *
+ * If a table has a single integer column as its primary key, DB_DataObject
+ * assumes that the column is auto-incrementing and makes a sequence table
+ * to do this incrementation. Since we don't need this for our class, we
+ * overload this method and return the magic formula that DB_DataObject needs.
+ *
+ * @return array magic three-false array that stops auto-incrementing.
+ */
+
+ function sequenceKey()
+ {
+ return array(false, false, false);
+ }
+}
diff --git a/plugins/YammerImport/classes/Yammer_user.php b/plugins/YammerImport/classes/Yammer_user.php
new file mode 100644
index 000000000..f6fcd6c3c
--- /dev/null
+++ b/plugins/YammerImport/classes/Yammer_user.php
@@ -0,0 +1,79 @@
+<?php
+/**
+ * Data class for remembering Yammer import mappings
+ *
+ * PHP version 5
+ *
+ * @category Data
+ * @package StatusNet
+ * @author Brion Vibber <brion@status.net>
+ * @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
+ * @link http://status.net/
+ *
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+class Yammer_user extends Yammer_common
+{
+ public $__table = 'yammer_user'; // table name
+ public $__field = 'user_id'; // field to map to
+ public $user_id; // int
+
+ /**
+ * Get an instance by key
+ *
+ * This is a utility method to get a single instance with a given key value.
+ *
+ * @param string $k Key to use to lookup
+ * @param mixed $v Value to lookup
+ *
+ * @return Yammer_user object found, or null for no hits
+ *
+ */
+
+ function staticGet($k, $v=null)
+ {
+ return Memcached_DataObject::staticGet('Yammer_user', $k, $v);
+ }
+
+ /**
+ * Return schema definition to set this table up in onCheckSchema
+ */
+
+ static function schemaDef()
+ {
+ return self::doSchemaDef('user_id');
+ }
+
+ /**
+ * Save a mapping between a remote Yammer and local imported user.
+ *
+ * @param integer $orig_id ID of the notice in Yammer
+ * @param integer $user_id ID of the status in StatusNet
+ *
+ * @return Yammer_user new object for this value
+ */
+
+ static function record($orig_id, $user_id)
+ {
+ return self::doRecord('Yammer_user', 'user_id', $orig_id, $user_id);
+ }
+}
diff --git a/plugins/YammerImport/css/admin.css b/plugins/YammerImport/css/admin.css
new file mode 100644
index 000000000..80e0e038a
--- /dev/null
+++ b/plugins/YammerImport/css/admin.css
@@ -0,0 +1,61 @@
+.yammer-import {
+ padding: 16px;
+}
+
+.import-step {
+ padding: 8px;
+}
+.import-label {
+ font-weight: bold;
+}
+.import-status {
+ margin-left: 20px;
+ padding-left: 20px;
+}
+
+
+.waiting {
+ color: #888;
+}
+
+.progress {
+ background-color: white;
+ border: solid 1px blue;
+ border-radius: 8px;
+ -moz-border-radius: 8px;
+ -webkit-border-radius: 8px;
+ -opera-border-radius: 8px;
+}
+
+.progress .import-label {
+ color: blue;
+}
+
+.progress .import-status {
+ background-image: url(icon_processing.gif);
+ background-repeat: no-repeat;
+}
+
+.complete {
+ color: black;
+}
+
+.complete .import-status {
+ background-image: url(done.png);
+ background-repeat: no-repeat;
+}
+
+.import-step-done .import-status {
+ /* override */
+ background: none !important;
+}
+
+.magiclink {
+ margin-left: 40px;
+}
+
+fieldset.import-error {
+ margin-top: 12px;
+ margin-bottom: 0px !important;
+ background-color: #fee !important;
+}
diff --git a/plugins/YammerImport/css/done.png b/plugins/YammerImport/css/done.png
new file mode 100644
index 000000000..1f3f41150
--- /dev/null
+++ b/plugins/YammerImport/css/done.png
Binary files differ
diff --git a/plugins/YammerImport/css/icon_processing.gif b/plugins/YammerImport/css/icon_processing.gif
new file mode 100644
index 000000000..d0bce1542
--- /dev/null
+++ b/plugins/YammerImport/css/icon_processing.gif
Binary files differ
diff --git a/plugins/YammerImport/lib/sn_yammerclient.php b/plugins/YammerImport/lib/sn_yammerclient.php
new file mode 100644
index 000000000..5da1cc5e7
--- /dev/null
+++ b/plugins/YammerImport/lib/sn_yammerclient.php
@@ -0,0 +1,246 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * Basic client class for Yammer's OAuth/JSON API.
+ *
+ * @package YammerImportPlugin
+ * @author Brion Vibber <brion@status.net>
+ */
+class SN_YammerClient
+{
+ protected $apiBase = "https://www.yammer.com";
+ protected $consumerKey, $consumerSecret;
+ protected $token, $tokenSecret, $verifier;
+
+ public function __construct($consumerKey, $consumerSecret, $token=null, $tokenSecret=null)
+ {
+ $this->consumerKey = $consumerKey;
+ $this->consumerSecret = $consumerSecret;
+ $this->token = $token;
+ $this->tokenSecret = $tokenSecret;
+ }
+
+ /**
+ * Make an HTTP GET request with OAuth headers and return an HTTPResponse
+ * with the returned body and codes.
+ *
+ * @param string $url
+ * @return HTTPResponse
+ *
+ * @throws Exception on low-level network error
+ */
+ protected function httpGet($url)
+ {
+ $headers = array('Authorization: ' . $this->authHeader());
+
+ $client = HTTPClient::start();
+ return $client->get($url, $headers);
+ }
+
+ /**
+ * Make an HTTP GET request with OAuth headers and return the response body
+ * on success.
+ *
+ * @param string $url
+ * @return string
+ *
+ * @throws Exception on low-level network or HTTP error
+ */
+ public function fetchUrl($url)
+ {
+ $response = $this->httpGet($url);
+ if ($response->isOk()) {
+ return $response->getBody();
+ } else {
+ throw new Exception("Yammer API returned HTTP code " . $response->getStatus() . ': ' . $response->getBody());
+ }
+ }
+
+ /**
+ * Make an HTTP hit with OAuth headers and return the response body on success.
+ *
+ * @param string $path URL chunk for the API method
+ * @param array $params
+ * @return string
+ *
+ * @throws Exception on low-level network or HTTP error
+ */
+ protected function fetchApi($path, $params=array())
+ {
+ $url = $this->apiBase . '/' . $path;
+ if ($params) {
+ $url .= '?' . http_build_query($params, null, '&');
+ }
+ return $this->fetchUrl($url);
+ }
+
+ /**
+ * Hit the main Yammer API point and decode returned JSON data.
+ *
+ * @param string $method
+ * @param array $params
+ * @return array from JSON data
+ *
+ * @throws Exception for HTTP error or bad JSON return
+ */
+ public function api($method, $params=array())
+ {
+ $body = $this->fetchApi("api/v1/$method.json", $params);
+ $data = json_decode($body, true);
+ if ($data === null) {
+ common_log(LOG_ERR, "Invalid JSON response from Yammer API: " . $body);
+ throw new Exception("Invalid JSON response from Yammer API");
+ }
+ return $data;
+ }
+
+ /**
+ * Build an Authorization header value from the keys we have available.
+ */
+ protected function authHeader()
+ {
+ // token
+ // token_secret
+ $params = array('realm' => '',
+ 'oauth_consumer_key' => $this->consumerKey,
+ 'oauth_signature_method' => 'PLAINTEXT',
+ 'oauth_timestamp' => time(),
+ 'oauth_nonce' => time(),
+ 'oauth_version' => '1.0');
+ if ($this->token) {
+ $params['oauth_token'] = $this->token;
+ }
+ if ($this->tokenSecret) {
+ $params['oauth_signature'] = $this->consumerSecret . '&' . $this->tokenSecret;
+ } else {
+ $params['oauth_signature'] = $this->consumerSecret . '&';
+ }
+ if ($this->verifier) {
+ $params['oauth_verifier'] = $this->verifier;
+ }
+ $parts = array_map(array($this, 'authHeaderChunk'), array_keys($params), array_values($params));
+ return 'OAuth ' . implode(', ', $parts);
+ }
+
+ /**
+ * Encode a key-value pair for use in an authentication header.
+ *
+ * @param string $key
+ * @param string $val
+ * @return string
+ */
+ protected function authHeaderChunk($key, $val)
+ {
+ return urlencode($key) . '="' . urlencode($val) . '"';
+ }
+
+ /**
+ * Ask the Yammer server for a request token, which can be passed on
+ * to authorizeUrl() for the user to start the authentication process.
+ *
+ * @return array of oauth return data; should contain nice things
+ */
+ public function requestToken()
+ {
+ if ($this->token || $this->tokenSecret) {
+ throw new Exception("Requesting a token, but already set up with a token");
+ }
+ $data = $this->fetchApi('oauth/request_token');
+ $arr = array();
+ parse_str($data, $arr);
+ return $arr;
+ }
+
+ /**
+ * Get a final access token from the verifier/PIN code provided to
+ * the user from Yammer's auth pages.
+ *
+ * @return array of oauth return data; should contain nice things
+ */
+ public function accessToken($verifier)
+ {
+ $this->verifier = $verifier;
+ $data = $this->fetchApi('oauth/access_token');
+ $this->verifier = null;
+ $arr = array();
+ parse_str($data, $arr);
+ return $arr;
+ }
+
+ /**
+ * Give the URL to send users to to authorize a new app setup.
+ *
+ * @param string $token as returned from accessToken()
+ * @return string URL
+ */
+ public function authorizeUrl($token)
+ {
+ return $this->apiBase . '/oauth/authorize?oauth_token=' . urlencode($token);
+ }
+
+ /**
+ * High-level API hit: fetch all messages in the network (up to 20 at a time).
+ * Return data is the full JSON array returned, including meta and references
+ * sections.
+ *
+ * The matching messages themselves will be in the 'messages' item within.
+ *
+ * @param array $options optional set of additional params for the request.
+ * @return array
+ *
+ * @throws Exception on low-level or HTTP error
+ */
+ public function messages($params=array())
+ {
+ return $this->api('messages', $params);
+ }
+
+ /**
+ * High-level API hit: fetch all users in the network (up to 50 at a time).
+ * Return data is the full JSON array returned, listing user items.
+ *
+ * The matching messages themselves will be in the 'users' item within.
+ *
+ * @param array $options optional set of additional params for the request.
+ * @return array of JSON-sourced user data arrays
+ *
+ * @throws Exception on low-level or HTTP error
+ */
+ public function users($params=array())
+ {
+ return $this->api('users', $params);
+ }
+
+ /**
+ * High-level API hit: fetch all groups in the network (up to 20 at a time).
+ * Return data is the full JSON array returned, listing user items.
+ *
+ * The matching messages themselves will be in the 'users' item within.
+ *
+ * @param array $options optional set of additional params for the request.
+ * @return array of JSON-sourced user data arrays
+ *
+ * @throws Exception on low-level or HTTP error
+ */
+ public function groups($params=array())
+ {
+ return $this->api('groups', $params);
+ }
+}
diff --git a/plugins/YammerImport/lib/yammerapikeyform.php b/plugins/YammerImport/lib/yammerapikeyform.php
new file mode 100644
index 000000000..b2acec4ed
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerapikeyform.php
@@ -0,0 +1,112 @@
+<?php
+
+class YammerApikeyForm extends Form
+{
+ private $runner;
+
+ function __construct($out)
+ {
+ parent::__construct($out);
+ $this->runner = $runner;
+ }
+
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'yammer-apikey-form';
+ }
+
+
+ /**
+ * class of the form
+ *
+ * @return string of the form class
+ */
+
+ function formClass()
+ {
+ return 'form_yammer_apikey form_settings';
+ }
+
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+
+ function action()
+ {
+ return common_local_url('yammeradminpanel');
+ }
+
+
+ /**
+ * Legend of the Form
+ *
+ * @return void
+ */
+ function formLegend()
+ {
+ $this->out->element('legend', null, _m('Yammer API registration'));
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->hidden('subaction', 'apikey');
+
+ $this->out->elementStart('fieldset');
+
+ $this->out->elementStart('p');
+ $this->out->text(_m('Before we can connect to your Yammer network, ' .
+ 'you will need to register the importer as an ' .
+ 'application authorized to pull data on your behalf. ' .
+ 'This registration will work only for your own network. ' .
+ 'Follow this link to register the app at Yammer; ' .
+ 'you will be prompted to log in if necessary:'));
+ $this->out->elementEnd('p');
+
+ $this->out->elementStart('p', array('class' => 'magiclink'));
+ $this->out->element('a',
+ array('href' => 'https://www.yammer.com/client_applications/new',
+ 'target' => '_blank'),
+ _m('Open Yammer application registration form'));
+ $this->out->elementEnd('p');
+
+ $this->out->element('p', array(), _m('Copy the consumer key and secret you are given into the form below:'));
+
+ $this->out->elementStart('ul', array('class' => 'form_data'));
+ $this->out->elementStart('li');
+ $this->out->input('consumer_key', _m('Consumer key:'), common_config('yammer', 'consumer_key'));
+ $this->out->elementEnd('li');
+ $this->out->elementStart('li');
+ $this->out->input('consumer_secret', _m('Consumer secret:'), common_config('yammer', 'consumer_secret'));
+ $this->out->elementEnd('li');
+ $this->out->elementEnd('ul');
+
+ $this->out->submit('submit', _m('Save'), 'submit', null, _m('Save these consumer keys'));
+
+ $this->out->elementEnd('fieldset');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ }
+}
diff --git a/plugins/YammerImport/lib/yammerauthinitform.php b/plugins/YammerImport/lib/yammerauthinitform.php
new file mode 100644
index 000000000..9f48fd82a
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerauthinitform.php
@@ -0,0 +1,76 @@
+<?php
+
+class YammerAuthInitForm extends Form
+{
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'yammer-auth-init-form';
+ }
+
+
+ /**
+ * class of the form
+ *
+ * @return string of the form class
+ */
+
+ function formClass()
+ {
+ return 'form_yammer_auth_init form_settings';
+ }
+
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+
+ function action()
+ {
+ return common_local_url('yammeradminpanel');
+ }
+
+
+ /**
+ * Legend of the Form
+ *
+ * @return void
+ */
+ function formLegend()
+ {
+ $this->out->element('legend', null, _m('Connect to Yammer'));
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->hidden('subaction', 'authinit');
+
+ $this->out->elementStart('fieldset');
+ $this->out->submit('submit', _m('Start authentication'), 'submit', null, _m('Request authorization to connect to Yammer account'));
+ $this->out->submit('change-apikey', _m('Change API key'));
+ $this->out->elementEnd('fieldset');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ }
+}
diff --git a/plugins/YammerImport/lib/yammerauthverifyform.php b/plugins/YammerImport/lib/yammerauthverifyform.php
new file mode 100644
index 000000000..e119be96f
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerauthverifyform.php
@@ -0,0 +1,111 @@
+<?php
+
+class YammerAuthVerifyForm extends Form
+{
+ private $runner;
+
+ function __construct($out, YammerRunner $runner)
+ {
+ parent::__construct($out);
+ $this->runner = $runner;
+ }
+
+ /**
+ * ID of the form
+ *
+ * @return int ID of the form
+ */
+
+ function id()
+ {
+ return 'yammer-auth-verify-form';
+ }
+
+
+ /**
+ * class of the form
+ *
+ * @return string of the form class
+ */
+
+ function formClass()
+ {
+ return 'form_yammer_auth_verify form_settings';
+ }
+
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+
+ function action()
+ {
+ return common_local_url('yammeradminpanel');
+ }
+
+
+ /**
+ * Legend of the Form
+ *
+ * @return void
+ */
+ function formLegend()
+ {
+ $this->out->element('legend', null, _m('Connect to Yammer'));
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+
+ function formData()
+ {
+ $this->out->hidden('subaction', 'authverify');
+
+ $this->out->elementStart('fieldset');
+
+ $this->out->elementStart('p');
+ $this->out->text(_m('Follow this link to confirm authorization at Yammer; you will be prompted to log in if necessary:'));
+ $this->out->elementEnd('p');
+
+ // iframe would be nice to avoid leaving -- since they don't seem to have callback url O_O
+ /*
+ $this->out->element('iframe', array('id' => 'yammer-oauth',
+ 'src' => $this->runner->getAuthUrl()));
+ */
+ // yeah, it ignores the callback_url
+ // soo... crappy link. :(
+
+ $this->out->elementStart('p', array('class' => 'magiclink'));
+ $this->out->element('a',
+ array('href' => $this->runner->getAuthUrl(),
+ 'target' => '_blank'),
+ _m('Open Yammer authentication window'));
+ $this->out->elementEnd('p');
+
+ $this->out->element('p', array(), _m('Copy the verification code you are given below:'));
+
+ $this->out->elementStart('ul', array('class' => 'form_data'));
+ $this->out->elementStart('li');
+ $this->out->input('verify_token', _m('Verification code:'));
+ $this->out->elementEnd('li');
+ $this->out->elementEnd('ul');
+
+ $this->out->submit('submit', _m('Continue'), 'submit', null, _m('Save code and begin import'));
+ $this->out->elementEnd('fieldset');
+ }
+
+ /**
+ * Action elements
+ *
+ * @return void
+ */
+
+ function formActions()
+ {
+ }
+}
diff --git a/plugins/YammerImport/lib/yammerimporter.php b/plugins/YammerImport/lib/yammerimporter.php
new file mode 100644
index 000000000..80cbcff8e
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerimporter.php
@@ -0,0 +1,491 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * Basic client class for Yammer's OAuth/JSON API.
+ *
+ * @package YammerImportPlugin
+ * @author Brion Vibber <brion@status.net>
+ */
+class YammerImporter
+{
+ protected $client;
+
+ function __construct(SN_YammerClient $client)
+ {
+ $this->client = $client;
+ }
+
+ /**
+ * Load or create an imported profile from Yammer data.
+ *
+ * @param object $item loaded JSON data for Yammer importer
+ * @return Profile
+ */
+ function importUser($item)
+ {
+ $data = $this->prepUser($item);
+ $nickname = $data['options']['nickname'];
+
+ $profileId = $this->findImportedUser($data['orig_id']);
+ if ($profileId) {
+ return Profile::staticGet('id', $profileId);
+ } else {
+ $user = User::staticGet('nickname', $nickname);
+ if ($user) {
+ common_log(LOG_WARN, "Copying Yammer profile info onto existing user $nickname");
+ $profile = $user->getProfile();
+ $this->savePropertiesOn($profile, $data['options'],
+ array('fullname', 'homepage', 'bio', 'location'));
+ } else {
+ $user = User::register($data['options']);
+ $profile = $user->getProfile();
+ }
+ if ($data['avatar']) {
+ try {
+ $this->saveAvatar($data['avatar'], $profile);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Error importing Yammer avatar: " . $e->getMessage());
+ }
+ }
+ $this->recordImportedUser($data['orig_id'], $profile->id);
+ return $profile;
+ }
+ }
+
+ /**
+ * Load or create an imported group from Yammer data.
+ *
+ * @param object $item loaded JSON data for Yammer importer
+ * @return User_group
+ */
+ function importGroup($item)
+ {
+ $data = $this->prepGroup($item);
+ $nickname = $data['options']['nickname'];
+
+ $groupId = $this->findImportedGroup($data['orig_id']);
+ if ($groupId) {
+ return User_group::staticGet('id', $groupId);
+ } else {
+ $local = Local_group::staticGet('nickname', $nickname);
+ if ($local) {
+ common_log(LOG_WARN, "Copying Yammer group info onto existing group $nickname");
+ $group = User_group::staticGet('id', $local->group_id);
+ $this->savePropertiesOn($group, $data['options'],
+ array('fullname', 'description'));
+ } else {
+ $group = User_group::register($data['options']);
+ }
+ if ($data['avatar']) {
+ try {
+ $this->saveAvatar($data['avatar'], $group);
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Error importing Yammer avatar: " . $e->getMessage());
+ }
+ }
+ $this->recordImportedGroup($data['orig_id'], $group->id);
+ return $group;
+ }
+ }
+
+ private function savePropertiesOn($target, $options, $propList)
+ {
+ $changed = 0;
+ $orig = clone($target);
+ foreach ($propList as $prop) {
+ if (!empty($options[$prop]) && $target->$prop != $options[$prop]) {
+ $target->$prop = $options[$prop];
+ $changed++;
+ }
+ }
+ $target->update($orig);
+ }
+
+ /**
+ * Load or create an imported notice from Yammer data.
+ *
+ * @param object $item loaded JSON data for Yammer importer
+ * @return Notice
+ */
+ function importNotice($item)
+ {
+ $data = $this->prepNotice($item);
+
+ $noticeId = $this->findImportedNotice($data['orig_id']);
+ if ($noticeId) {
+ return Notice::staticGet('id', $noticeId);
+ } else {
+ $notice = Notice::staticGet('uri', $data['options']['uri']);
+ $content = $data['content'];
+ $user = User::staticGet($data['profile']);
+
+ // Fetch file attachments and add the URLs...
+ $uploads = array();
+ foreach ($data['attachments'] as $url) {
+ try {
+ $upload = $this->saveAttachment($url, $user);
+ $content .= ' ' . $upload->shortUrl();
+ $uploads[] = $upload;
+ } catch (Exception $e) {
+ common_log(LOG_ERR, "Error importing Yammer attachment: " . $e->getMessage());
+ }
+ }
+
+ // Here's the meat! Actually save the dang ol' notice.
+ $notice = Notice::saveNew($user->id,
+ $content,
+ $data['source'],
+ $data['options']);
+
+ // Save "likes" as favorites...
+ foreach ($data['faves'] as $nickname) {
+ $user = User::staticGet('nickname', $nickname);
+ if ($user) {
+ Fave::addNew($user->getProfile(), $notice);
+ }
+ }
+
+ // And finally attach the upload records...
+ foreach ($uploads as $upload) {
+ $upload->attachToNotice($notice);
+ }
+ $this->recordImportedNotice($data['orig_id'], $notice->id);
+ return $notice;
+ }
+ }
+
+ /**
+ * Pull relevant info out of a Yammer data record for a user import.
+ *
+ * @param array $item
+ * @return array
+ */
+ function prepUser($item)
+ {
+ if ($item['type'] != 'user') {
+ throw new Exception('Wrong item type sent to Yammer user import processing.');
+ }
+
+ $origId = $item['id'];
+ $origUrl = $item['url'];
+
+ // @fixme check username rules?
+
+ $options['nickname'] = $item['name'];
+ $options['fullname'] = trim($item['full_name']);
+
+ // Avatar... this will be the "_small" variant.
+ // Remove that (pre-extension) suffix to get the orig-size image.
+ $avatar = $item['mugshot_url'];
+
+ // The following info is only available in full data, not in the reference version.
+
+ // There can be extensive contact info, but for now we'll only pull the primary email.
+ if (isset($item['contact'])) {
+ foreach ($item['contact']['email_addresses'] as $addr) {
+ if ($addr['type'] == 'primary') {
+ $options['email'] = $addr['address'];
+ $options['email_confirmed'] = true;
+ break;
+ }
+ }
+ }
+
+ // There can be multiple external URLs; for now pull the first one as home page.
+ if (isset($item['external_urls'])) {
+ foreach ($item['external_urls'] as $url) {
+ if (common_valid_http_url($url)) {
+ $options['homepage'] = $url;
+ break;
+ }
+ }
+ }
+
+ // Combine a few bits into the bio...
+ $bio = array();
+ if (!empty($item['job_title'])) {
+ $bio[] = $item['job_title'];
+ }
+ if (!empty($item['summary'])) {
+ $bio[] = $item['summary'];
+ }
+ if (!empty($item['expertise'])) {
+ $bio[] = _m('Expertise:') . ' ' . $item['expertise'];
+ }
+ $options['bio'] = implode("\n\n", $bio);
+
+ // Pull raw location string, may be lookupable
+ if (!empty($item['location'])) {
+ $options['location'] = $item['location'];
+ }
+
+ // Timezone is in format like 'Pacific Time (US & Canada)'
+ // We need to convert that to a zone id. :P
+ // @fixme timezone not yet supported at registration time :)
+ if (!empty($item['timezone'])) {
+ $tz = $this->timezone($item['timezone']);
+ if ($tz) {
+ $options['timezone'] = $tz;
+ }
+ }
+
+ return array('orig_id' => $origId,
+ 'orig_url' => $origUrl,
+ 'avatar' => $avatar,
+ 'options' => $options);
+
+ }
+
+ /**
+ * Pull relevant info out of a Yammer data record for a group import.
+ *
+ * @param array $item
+ * @return array
+ */
+ function prepGroup($item)
+ {
+ if ($item['type'] != 'group') {
+ throw new Exception('Wrong item type sent to Yammer group import processing.');
+ }
+
+ $origId = $item['id'];
+ $origUrl = $item['url'];
+
+ $privacy = $item['privacy']; // Warning! only public groups in SN so far
+
+ $options['nickname'] = $item['name'];
+ $options['fullname'] = $item['full_name'];
+ $options['description'] = $item['description'];
+ $options['created'] = $this->timestamp($item['created_at']);
+
+ $avatar = $item['mugshot_url']; // as with user profiles...
+
+
+ $options['mainpage'] = common_local_url('showgroup',
+ array('nickname' => $options['nickname']));
+
+ // Set some default vals or User_group::register will whine
+ $options['homepage'] = '';
+ $options['location'] = '';
+ $options['aliases'] = array();
+ // @fixme what about admin user for the group?
+
+ $options['local'] = true;
+ return array('orig_id' => $origId,
+ 'orig_url' => $origUrl,
+ 'options' => $options,
+ 'avatar' => $avatar);
+ }
+
+ /**
+ * Pull relevant info out of a Yammer data record for a notice import.
+ *
+ * @param array $item
+ * @return array
+ */
+ function prepNotice($item)
+ {
+ if (isset($item['type']) && $item['type'] != 'message') {
+ throw new Exception('Wrong item type sent to Yammer message import processing.');
+ }
+
+ $origId = $item['id'];
+ $origUrl = $item['url'];
+
+ $profile = $this->findImportedUser($item['sender_id']);
+ $content = $item['body']['plain'];
+ $source = 'yammer';
+ $options = array();
+
+ if ($item['replied_to_id']) {
+ $replyTo = $this->findImportedNotice($item['replied_to_id']);
+ if ($replyTo) {
+ $options['reply_to'] = $replyTo;
+ }
+ }
+ $options['created'] = $this->timestamp($item['created_at']);
+
+ if (!empty($item['group_id'])) {
+ $groupId = $this->findImportedGroup($item['group_id']);
+ if ($groupId) {
+ $options['groups'] = array($groupId);
+
+ // @fixme if we see a group link inline, don't add this?
+ $group = User_group::staticGet('id', $groupId);
+ if ($group) {
+ $content .= ' !' . $group->nickname;
+ }
+ }
+ }
+
+ $faves = array();
+ foreach ($item['liked_by']['names'] as $liker) {
+ // "permalink" is the username. wtf?
+ $faves[] = $liker['permalink'];
+ }
+
+ $attachments = array();
+ foreach ($item['attachments'] as $attach) {
+ if ($attach['type'] == 'image' || $attach['type'] == 'file') {
+ $attachments[] = $attach[$attach['type']]['url'];
+ } else {
+ common_log(LOG_WARNING, "Unrecognized Yammer attachment type: " . $attach['type']);
+ }
+ }
+
+ return array('orig_id' => $origId,
+ 'orig_url' => $origUrl,
+ 'profile' => $profile,
+ 'content' => $content,
+ 'source' => $source,
+ 'options' => $options,
+ 'faves' => $faves,
+ 'attachments' => $attachments);
+ }
+
+ private function findImportedUser($origId)
+ {
+ $map = Yammer_user::staticGet('id', $origId);
+ return $map ? $map->user_id : null;
+ }
+
+ private function findImportedGroup($origId)
+ {
+ $map = Yammer_group::staticGet('id', $origId);
+ return $map ? $map->group_id : null;
+ }
+
+ private function findImportedNotice($origId)
+ {
+ $map = Yammer_notice::staticGet('id', $origId);
+ return $map ? $map->notice_id : null;
+ }
+
+ private function recordImportedUser($origId, $userId)
+ {
+ Yammer_user::record($origId, $userId);
+ }
+
+ private function recordImportedGroup($origId, $groupId)
+ {
+ Yammer_group::record($origId, $groupId);
+ }
+
+ private function recordImportedNotice($origId, $noticeId)
+ {
+ Yammer_notice::record($origId, $noticeId);
+ }
+
+ /**
+ * Normalize timestamp format.
+ * @param string $ts
+ * @return string
+ */
+ private function timestamp($ts)
+ {
+ return common_sql_date(strtotime($ts));
+ }
+
+ private function timezone($tz)
+ {
+ // Blaaaaaarf!
+ $known = array('Pacific Time (US & Canada)' => 'America/Los_Angeles',
+ 'Eastern Time (US & Canada)' => 'America/New_York');
+ if (array_key_exists($tz, $known)) {
+ return $known[$tz];
+ } else {
+ return false;
+ }
+ }
+
+ /**
+ * Download and update given avatar image
+ *
+ * @param string $url
+ * @param mixed $dest either a Profile or User_group object
+ * @throws Exception in various failure cases
+ */
+ private function saveAvatar($url, $dest)
+ {
+ // Yammer API data mostly gives us the small variant.
+ // Try hitting the source image if we can!
+ // @fixme no guarantee of this URL scheme I think.
+ $url = preg_replace('/_small(\..*?)$/', '$1', $url);
+
+ if (!common_valid_http_url($url)) {
+ throw new ServerException(sprintf(_m("Invalid avatar URL %s."), $url));
+ }
+
+ // @fixme this should be better encapsulated
+ // ripped from oauthstore.php (for old OMB client)
+ $temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar');
+ if (!copy($url, $temp_filename)) {
+ throw new ServerException(sprintf(_m("Unable to fetch avatar from %s."), $url));
+ }
+
+ $id = $dest->id;
+ // @fixme should we be using different ids?
+ $imagefile = new ImageFile($id, $temp_filename);
+ $filename = Avatar::filename($id,
+ image_type_to_extension($imagefile->type),
+ null,
+ common_timestamp());
+ rename($temp_filename, Avatar::path($filename));
+ // @fixme hardcoded chmod is lame, but seems to be necessary to
+ // keep from accidentally saving images from command-line (queues)
+ // that can't be read from web server, which causes hard-to-notice
+ // problems later on:
+ //
+ // http://status.net/open-source/issues/2663
+ chmod(Avatar::path($filename), 0644);
+
+ $dest->setOriginal($filename);
+ }
+
+ /**
+ * Fetch an attachment from Yammer and save it into our system.
+ * Unlike avatars, the attachment URLs are guarded by authentication,
+ * so we need to run the HTTP hit through our OAuth API client.
+ *
+ * @param string $url
+ * @param User $user
+ * @return MediaFile
+ *
+ * @throws Exception on low-level network or HTTP error
+ */
+ private function saveAttachment($url, User $user)
+ {
+ // Fetch the attachment...
+ // WARNING: file must fit in memory here :(
+ $body = $this->client->fetchUrl($url);
+
+ // Save to a temporary file and shove it into our file-attachment space...
+ $temp = tmpfile();
+ fwrite($temp, $body);
+ try {
+ $upload = MediaFile::fromFileHandle($temp, $user);
+ fclose($temp);
+ return $upload;
+ } catch (Exception $e) {
+ fclose($temp);
+ throw $e;
+ }
+ }
+}
diff --git a/plugins/YammerImport/lib/yammerprogressform.php b/plugins/YammerImport/lib/yammerprogressform.php
new file mode 100644
index 000000000..9bf833226
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerprogressform.php
@@ -0,0 +1,168 @@
+<?php
+
+class YammerProgressForm extends Form
+{
+ /**
+ * ID of the form
+ *
+ * @return string ID of the form
+ */
+ function id()
+ {
+ return 'yammer-progress-form';
+ }
+
+ /**
+ * class of the form
+ *
+ * @return string class of the form
+ */
+ function formClass()
+ {
+ $classes = array('form_settings');
+ $runner = YammerRunner::init();
+ if ($runner->lastError()) {
+ $classes[] = 'import-error';
+ } else if ($runner->state() == 'done') {
+ $classes[] = 'import-done';
+ } else {
+ $classes[] = 'import-progress';
+ }
+ return implode(' ', $classes);
+ }
+
+ /**
+ * Action of the form
+ *
+ * @return string URL of the action
+ */
+ function action()
+ {
+ return common_local_url('yammeradminpanel');
+ }
+
+ /**
+ * Data elements of the form
+ *
+ * @return void
+ */
+ function formData()
+ {
+ $this->out->hidden('subaction', 'progress');
+
+ $runner = YammerRunner::init();
+
+ $error = $runner->lastError();
+ $userCount = $runner->countUsers();
+ $groupCount = $runner->countGroups();
+ $fetchedCount = $runner->countFetchedNotices();
+ $savedCount = $runner->countSavedNotices();
+
+ $labels = array(
+ 'init' => array(
+ 'label' => _m("Initialize"),
+ 'progress' => _m('No import running'),
+ 'complete' => _m('Initiated Yammer server connection...'),
+ ),
+ 'requesting-auth' => array(
+ 'label' => _m('Connect to Yammer'),
+ 'progress' => _m('Awaiting authorization...'),
+ 'complete' => _m('Connected.'),
+ ),
+ 'import-users' => array(
+ 'label' => _m('Import user accounts'),
+ 'progress' => sprintf(_m("Importing %d user...", "Importing %d users...", $userCount), $userCount),
+ 'complete' => sprintf(_m("Imported %d user.", "Imported %d users.", $userCount), $userCount),
+ ),
+ 'import-groups' => array(
+ 'label' => _m('Import user groups'),
+ 'progress' => sprintf(_m("Importing %d group...", "Importing %d groups...", $groupCount), $groupCount),
+ 'complete' => sprintf(_m("Imported %d group.", "Imported %d groups.", $groupCount), $groupCount),
+ ),
+ 'fetch-messages' => array(
+ 'label' => _m('Prepare public notices for import'),
+ 'progress' => sprintf(_m("Preparing %d notice...", "Preparing %d notices...", $fetchedCount), $fetchedCount),
+ 'complete' => sprintf(_m("Prepared %d notice.", "Prepared %d notices.", $fetchedCount), $fetchedCount),
+ ),
+ 'save-messages' => array(
+ 'label' => _m('Import public notices'),
+ 'progress' => sprintf(_m("Importing %d notice...", "Importing %d notices...", $savedCount), $savedCount),
+ 'complete' => sprintf(_m("Imported %d notice.", "Imported %d notices.", $savedCount), $savedCount),
+ ),
+ 'done' => array(
+ 'label' => _m('Done'),
+ 'progress' => sprintf(_m("Import is complete!")),
+ 'complete' => sprintf(_m("Import is complete!")),
+ )
+ );
+ $steps = array_keys($labels);
+ $currentStep = array_search($runner->state(), $steps);
+
+ $classes = array('yammer-import');
+ if ($error) {
+ $classes[] = 'yammer-error';
+ } else {
+ $classes[] = 'yammer-running';
+ }
+ $this->out->elementStart('fieldset', array('class' => implode(' ', $classes)));
+ $this->out->element('legend', array(), _m('Import status'));
+ foreach ($steps as $step => $state) {
+ if ($state == 'init') {
+ // Don't show 'init', it's boring.
+ continue;
+ }
+ if ($step < $currentStep) {
+ // This step is done
+ $this->progressBar($state,
+ 'complete',
+ $labels[$state]['label'],
+ $labels[$state]['complete']);
+ } else if ($step == $currentStep) {
+ // This step is in progress
+ $this->progressBar($state,
+ 'progress',
+ $labels[$state]['label'],
+ $labels[$state]['progress'],
+ $error);
+ } else {
+ // This step has not yet been done.
+ $this->progressBar($state,
+ 'waiting',
+ $labels[$state]['label'],
+ _m("Waiting..."));
+ }
+ }
+ $this->out->elementEnd('fieldset');
+ }
+
+ private function progressBar($state, $class, $label, $status, $error=null)
+ {
+ // @fixme prettify ;)
+ $this->out->elementStart('div', array('class' => "import-step import-step-$state $class"));
+ $this->out->element('div', array('class' => 'import-label'), $label);
+ $this->out->element('div', array('class' => 'import-status'), $status);
+ if ($class == 'progress') {
+ if ($state == 'done') {
+ $this->out->submit('abort-import', _m('Reset import state'));
+ } else {
+ if ($error) {
+ $this->errorBox($error);
+ } else {
+ $this->out->submit('pause-import', _m('Pause import'));
+ }
+ }
+ }
+ $this->out->elementEnd('div');
+ }
+
+ private function errorBox($msg)
+ {
+ $errline = sprintf(_m('Encountered error "%s"'), $msg);
+ $this->out->elementStart('fieldset', array('class' => 'import-error'));
+ $this->out->element('legend', array(), _m('Paused'));
+ $this->out->element('p', array(), $errline);
+ $this->out->submit('continue-import', _m('Continue'));
+ $this->out->submit('abort-import', _m('Abort import'));
+ $this->out->elementEnd('fieldset');
+ }
+}
diff --git a/plugins/YammerImport/lib/yammerqueuehandler.php b/plugins/YammerImport/lib/yammerqueuehandler.php
new file mode 100644
index 000000000..0c4e8aec1
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerqueuehandler.php
@@ -0,0 +1,61 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * Queue handler for bumping the next chunk of Yammer import activity!
+ *
+ * @package YammerImportPlugin
+ * @author Brion Vibber <brion@status.net>
+ */
+class YammerQueueHandler extends QueueHandler
+{
+ function transport()
+ {
+ return 'yammer';
+ }
+
+ function handle($notice)
+ {
+ $runner = YammerRunner::init();
+ if ($runner->hasWork()) {
+ try {
+ if ($runner->iterate()) {
+ if ($runner->hasWork()) {
+ // More to do? Shove us back on the queue...
+ $runner->startBackgroundImport();
+ }
+ }
+ } catch (Exception $e) {
+ try {
+ $runner->recordError($e->getMessage());
+ } catch (Exception $f) {
+ common_log(LOG_ERR, "Error while recording error in Yammer background import: " . $e->getMessage() . " " . $f->getMessage());
+ }
+ }
+ } else {
+ // We're done!
+ common_log(LOG_INFO, "Yammer import has no work to do at this time; discarding.");
+ }
+ return true;
+ }
+}
diff --git a/plugins/YammerImport/lib/yammerrunner.php b/plugins/YammerImport/lib/yammerrunner.php
new file mode 100644
index 000000000..3e53f3361
--- /dev/null
+++ b/plugins/YammerImport/lib/yammerrunner.php
@@ -0,0 +1,438 @@
+<?php
+/*
+ * StatusNet - the distributed open-source microblogging tool
+ * Copyright (C) 2010, StatusNet, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+if (!defined('STATUSNET')) {
+ exit(1);
+}
+
+/**
+ * State machine for running through Yammer import.
+ *
+ * @package YammerImportPlugin
+ * @author Brion Vibber <brion@status.net>
+ */
+class YammerRunner
+{
+ private $state;
+ private $client;
+ private $importer;
+
+ /**
+ * Normalize our singleton state and give us a YammerRunner object to play with!
+ *
+ * @return YammerRunner
+ */
+ public static function init()
+ {
+ $state = Yammer_state::staticGet('id', 1);
+ if (!$state) {
+ $state = self::initState();
+ }
+ return new YammerRunner($state);
+ }
+
+ private static function initState()
+ {
+ $state = new Yammer_state();
+ $state->id = 1;
+ $state->state = 'init';
+ $state->created = common_sql_now();
+ $state->modified = common_sql_now();
+ $state->insert();
+ return $state;
+ }
+
+ private function __construct($state)
+ {
+ $this->state = $state;
+
+ $this->client = new SN_YammerClient(
+ common_config('yammer', 'consumer_key'),
+ common_config('yammer', 'consumer_secret'),
+ $this->state->oauth_token,
+ $this->state->oauth_secret);
+
+ $this->importer = new YammerImporter($this->client);
+ }
+
+ /**
+ * Check which state we're in
+ *
+ * @return string
+ */
+ public function state()
+ {
+ return $this->state->state;
+ }
+
+ /**
+ * Is the import done, finished, complete, finito?
+ *
+ * @return boolean
+ */
+ public function isDone()
+ {
+ $workStates = array('import-users', 'import-groups', 'fetch-messages', 'save-messages');
+ return ($this->state() == 'done');
+ }
+
+ /**
+ * Check if we have work to do in iterate().
+ *
+ * @return boolean
+ */
+ public function hasWork()
+ {
+ $workStates = array('import-users', 'import-groups', 'fetch-messages', 'save-messages');
+ return in_array($this->state(), $workStates);
+ }
+
+ /**
+ * Blow away any current state!
+ */
+ public function reset()
+ {
+ $this->state->delete();
+ $this->state = self::initState();
+ }
+
+ /**
+ * Start the authentication process! If all goes well, we'll get back a URL.
+ * Have the user visit that URL, log in on Yammer and verify the importer's
+ * permissions. They'll get back a verification code, which needs to be passed
+ * on to saveAuthToken().
+ *
+ * @return string URL
+ */
+ public function requestAuth()
+ {
+ if ($this->state->state != 'init') {
+ throw new ServerException("Cannot request Yammer auth; already there!");
+ }
+
+ $data = $this->client->requestToken();
+
+ $old = clone($this->state);
+ $this->state->state = 'requesting-auth';
+ $this->state->oauth_token = $data['oauth_token'];
+ $this->state->oauth_secret = $data['oauth_token_secret'];
+ $this->state->modified = common_sql_now();
+ $this->state->update($old);
+
+ return $this->getAuthUrl();
+ }
+
+ /**
+ * When already in requesting-auth state, grab the URL to send the user to
+ * to complete OAuth setup.
+ *
+ * @return string URL
+ */
+ function getAuthUrl()
+ {
+ if ($this->state() == 'requesting-auth') {
+ return $this->client->authorizeUrl($this->state->oauth_token);
+ } else {
+ throw new ServerException('Cannot get Yammer auth URL when not in requesting-auth state!');
+ }
+ }
+
+ /**
+ * Now that the user's given us this verification code from Yammer, we can
+ * request a final OAuth token/secret pair which we can use to access the
+ * API.
+ *
+ * After success here, we'll be ready to move on and run through iterate()
+ * until the import is complete.
+ *
+ * @param string $verifier
+ * @return boolean success
+ */
+ public function saveAuthToken($verifier)
+ {
+ if ($this->state->state != 'requesting-auth') {
+ throw new ServerException("Cannot save auth token in Yammer import state {$this->state->state}");
+ }
+
+ $data = $this->client->accessToken($verifier);
+
+ $old = clone($this->state);
+ $this->state->state = 'import-users';
+ $this->state->oauth_token = $data['oauth_token'];
+ $this->state->oauth_secret = $data['oauth_token_secret'];
+ $this->state->modified = common_sql_now();
+ $this->state->update($old);
+
+ return true;
+ }
+
+ /**
+ * Once authentication is complete, we need to call iterate() a bunch of times
+ * until state() returns 'done'.
+ *
+ * @return boolean success
+ */
+ public function iterate()
+ {
+ switch($this->state())
+ {
+ case 'init':
+ case 'requesting-auth':
+ // Neither of these should reach our background state!
+ common_log(LOG_ERR, "Non-background YammerImport state '$state->state' during import run!");
+ return false;
+ case 'import-users':
+ return $this->iterateUsers();
+ case 'import-groups':
+ return $this->iterateGroups();
+ case 'fetch-messages':
+ return $this->iterateFetchMessages();
+ case 'save-messages':
+ return $this->iterateSaveMessages();
+ default:
+ common_log(LOG_ERR, "Invalid YammerImport state '$state->state' during import run!");
+ return false;
+ }
+ }
+
+ /**
+ * Trundle through one 'page' return of up to 50 user accounts retrieved
+ * from the Yammer API, importing them as we go.
+ *
+ * When we run out of users, move on to groups.
+ *
+ * @return boolean success
+ */
+ private function iterateUsers()
+ {
+ $old = clone($this->state);
+
+ $page = intval($this->state->users_page) + 1;
+ $data = $this->client->users(array('page' => $page));
+
+ if (count($data) == 0) {
+ common_log(LOG_INFO, "Finished importing Yammer users; moving on to groups.");
+ $this->state->state = 'import-groups';
+ } else {
+ foreach ($data as $item) {
+ $user = $this->importer->importUser($item);
+ common_log(LOG_INFO, "Imported Yammer user " . $item['id'] . " as $user->nickname ($user->id)");
+ }
+ $this->state->users_page = $page;
+ }
+ $this->state->modified = common_sql_now();
+ $this->state->update($old);
+ return true;
+ }
+
+ /**
+ * Trundle through one 'page' return of up to 20 user groups retrieved
+ * from the Yammer API, importing them as we go.
+ *
+ * When we run out of groups, move on to messages.
+ *
+ * @return boolean success
+ */
+ private function iterateGroups()
+ {
+ $old = clone($this->state);
+
+ $page = intval($this->state->groups_page) + 1;
+ $data = $this->client->groups(array('page' => $page));
+
+ if (count($data) == 0) {
+ common_log(LOG_INFO, "Finished importing Yammer groups; moving on to messages.");
+ $this->state->state = 'fetch-messages';
+ } else {
+ foreach ($data as $item) {
+ $group = $this->importer->importGroup($item);
+ common_log(LOG_INFO, "Imported Yammer group " . $item['id'] . " as $group->nickname ($group->id)");
+ }
+ $this->state->groups_page = $page;
+ }
+ $this->state->modified = common_sql_now();
+ $this->state->update($old);
+ return true;
+ }
+
+ /**
+ * Trundle through one 'page' return of up to 20 public messages retrieved
+ * from the Yammer API, saving them to our stub table for future import in
+ * correct chronological order.
+ *
+ * When we run out of messages to fetch, move on to saving the messages.
+ *
+ * @return boolean success
+ */
+ private function iterateFetchMessages()
+ {
+ $old = clone($this->state);
+
+ $oldest = intval($this->state->messages_oldest);
+ if ($oldest) {
+ $params = array('older_than' => $oldest);
+ } else {
+ $params = array();
+ }
+ $data = $this->client->messages($params);
+ $messages = $data['messages'];
+
+ if (count($messages) == 0) {
+ common_log(LOG_INFO, "Finished fetching Yammer messages; moving on to save messages.");
+ $this->state->state = 'save-messages';
+ } else {
+ foreach ($messages as $item) {
+ $stub = Yammer_notice_stub::staticGet($item['id']);
+ if (!$stub) {
+ Yammer_notice_stub::record($item['id'], $item);
+ }
+ $oldest = $item['id'];
+ }
+ $this->state->messages_oldest = $oldest;
+ }
+ $this->state->modified = common_sql_now();
+ $this->state->update($old);
+ return true;
+ }
+
+ private function iterateSaveMessages()
+ {
+ $old = clone($this->state);
+
+ $newest = intval($this->state->messages_newest);
+
+ $stub = new Yammer_notice_stub();
+ if ($newest) {
+ $stub->whereAdd('id > ' . $newest);
+ }
+ $stub->limit(20);
+ $stub->orderBy('id');
+ $stub->find();
+
+ if ($stub->N == 0) {
+ common_log(LOG_INFO, "Finished saving Yammer messages; import complete!");
+ $this->state->state = 'done';
+ } else {
+ while ($stub->fetch()) {
+ $item = $stub->getData();
+ $notice = $this->importer->importNotice($item);
+ common_log(LOG_INFO, "Imported Yammer notice " . $item['id'] . " as $notice->id");
+ $newest = $item['id'];
+ }
+ $this->state->messages_newest = $newest;
+ }
+ $this->state->modified = common_sql_now();
+ $this->state->update($old);
+ return true;
+ }
+
+ /**
+ * Count the number of Yammer users we've mapped into our system!
+ *
+ * @return int
+ */
+ public function countUsers()
+ {
+ $map = new Yammer_user();
+ return $map->count();
+ }
+
+
+ /**
+ * Count the number of Yammer groups we've mapped into our system!
+ *
+ * @return int
+ */
+ public function countGroups()
+ {
+ $map = new Yammer_group();
+ return $map->count();
+ }
+
+
+ /**
+ * Count the number of Yammer notices we've pulled down for pending import...
+ *
+ * @return int
+ */
+ public function countFetchedNotices()
+ {
+ $map = new Yammer_notice_stub();
+ return $map->count();
+ }
+
+
+ /**
+ * Count the number of Yammer notices we've mapped into our system!
+ *
+ * @return int
+ */
+ public function countSavedNotices()
+ {
+ $map = new Yammer_notice();
+ return $map->count();
+ }
+
+ /**
+ * Start running import work in the background queues...
+ */
+ public function startBackgroundImport()
+ {
+ $qm = QueueManager::get();
+ $qm->enqueue('YammerImport', 'yammer');
+ }
+
+ /**
+ * Record an error condition from a background run, which we should
+ * display in progress state for the admin.
+ *
+ * @param string $msg
+ */
+ public function recordError($msg)
+ {
+ // HACK HACK HACK
+ try {
+ $temp = new Yammer_state();
+ $temp->query('ROLLBACK');
+ } catch (Exception $e) {
+ common_log(LOG_ERR, 'Exception while confirming rollback while recording error: ' . $e->getMessage());
+ }
+ $old = clone($this->state);
+ $this->state->last_error = $msg;
+ $this->state->update($old);
+ }
+
+ /**
+ * Clear the error state.
+ */
+ public function clearError()
+ {
+ $this->recordError('');
+ }
+
+ /**
+ * Get the last recorded background error message, if any.
+ *
+ * @return string
+ */
+ public function lastError()
+ {
+ return $this->state->last_error;
+ }
+}
diff --git a/plugins/YammerImport/locale/YammerImport.pot b/plugins/YammerImport/locale/YammerImport.pot
new file mode 100644
index 000000000..053834cde
--- /dev/null
+++ b/plugins/YammerImport/locale/YammerImport.pot
@@ -0,0 +1,264 @@
+# 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.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+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"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: YammerImportPlugin.php:98
+msgid "Yammer"
+msgstr ""
+
+#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135
+msgid "Yammer import"
+msgstr ""
+
+#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56
+#: lib/yammerprogressform.php:68 actions/yammerauth.php:71
+msgid "Connect to Yammer"
+msgstr ""
+
+#: lib/yammerauthinitform.php:62
+msgid "Start authentication"
+msgstr ""
+
+#: lib/yammerauthinitform.php:62
+msgid "Request authorization to connect to Yammer account"
+msgstr ""
+
+#: lib/yammerauthinitform.php:63
+msgid "Change API key"
+msgstr ""
+
+#: lib/yammerimporter.php:230
+msgid "Expertise:"
+msgstr ""
+
+#: lib/yammerimporter.php:433
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr ""
+
+#: lib/yammerimporter.php:440
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr ""
+
+#: lib/yammerapikeyform.php:56
+msgid "Yammer API registration"
+msgstr ""
+
+#: lib/yammerapikeyform.php:72
+msgid ""
+"Before we can connect to your Yammer network, you will need to register the "
+"importer as an application authorized to pull data on your behalf. This "
+"registration will work only for your own network. Follow this link to "
+"register the app at Yammer; you will be prompted to log in if necessary:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:84
+msgid "Open Yammer application registration form"
+msgstr ""
+
+#: lib/yammerapikeyform.php:87
+msgid "Copy the consumer key and secret you are given into the form below:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:91
+msgid "Consumer key:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:94
+msgid "Consumer secret:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:98
+msgid "Save"
+msgstr ""
+
+#: lib/yammerapikeyform.php:98
+msgid "Save these consumer keys"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:72
+msgid ""
+"Follow this link to confirm authorization at Yammer; you will be prompted to "
+"log in if necessary:"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:87
+msgid "Open Yammer authentication window"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:90
+msgid "Copy the verification code you are given below:"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:94
+msgid "Verification code:"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164
+msgid "Continue"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:98
+msgid "Save code and begin import"
+msgstr ""
+
+#: lib/yammerprogressform.php:63
+msgid "Initialize"
+msgstr ""
+
+#: lib/yammerprogressform.php:64
+msgid "No import running"
+msgstr ""
+
+#: lib/yammerprogressform.php:65
+msgid "Initiated Yammer server connection..."
+msgstr ""
+
+#: lib/yammerprogressform.php:69
+msgid "Awaiting authorization..."
+msgstr ""
+
+#: lib/yammerprogressform.php:70
+msgid "Connected."
+msgstr ""
+
+#: lib/yammerprogressform.php:73
+msgid "Import user accounts"
+msgstr ""
+
+#: lib/yammerprogressform.php:74
+#, php-format
+msgid "Importing %d user..."
+msgid_plural "Importing %d users..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:75
+#, php-format
+msgid "Imported %d user."
+msgid_plural "Imported %d users."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:78
+msgid "Import user groups"
+msgstr ""
+
+#: lib/yammerprogressform.php:79
+#, php-format
+msgid "Importing %d group..."
+msgid_plural "Importing %d groups..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:80
+#, php-format
+msgid "Imported %d group."
+msgid_plural "Imported %d groups."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:83
+msgid "Prepare public notices for import"
+msgstr ""
+
+#: lib/yammerprogressform.php:84
+#, php-format
+msgid "Preparing %d notice..."
+msgid_plural "Preparing %d notices..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:85
+#, php-format
+msgid "Prepared %d notice."
+msgid_plural "Prepared %d notices."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:88
+msgid "Import public notices"
+msgstr ""
+
+#: lib/yammerprogressform.php:89
+#, php-format
+msgid "Importing %d notice..."
+msgid_plural "Importing %d notices..."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:90
+#, php-format
+msgid "Imported %d notice."
+msgid_plural "Imported %d notices."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/yammerprogressform.php:93
+msgid "Done"
+msgstr ""
+
+#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95
+msgid "Import is complete!"
+msgstr ""
+
+#: lib/yammerprogressform.php:108
+msgid "Import status"
+msgstr ""
+
+#: lib/yammerprogressform.php:132
+msgid "Waiting..."
+msgstr ""
+
+#: lib/yammerprogressform.php:146
+msgid "Reset import state"
+msgstr ""
+
+#: lib/yammerprogressform.php:151
+msgid "Pause import"
+msgstr ""
+
+#: lib/yammerprogressform.php:160
+#, php-format
+msgid "Encountered error \"%s\""
+msgstr ""
+
+#: lib/yammerprogressform.php:162
+msgid "Paused"
+msgstr ""
+
+#: lib/yammerprogressform.php:165
+msgid "Abort import"
+msgstr ""
+
+#: actions/yammeradminpanel.php:45
+msgid "Yammer Import"
+msgstr ""
+
+#: actions/yammeradminpanel.php:55
+msgid ""
+"This Yammer import tool is still undergoing testing, and is incomplete in "
+"some areas. Currently user subscriptions and group memberships are not "
+"transferred; in the future this may be supported for imports done by "
+"verified administrators on the Yammer side."
+msgstr ""
+
+#: actions/yammeradminpanel.php:102
+msgid "Paused from admin panel."
+msgstr ""
diff --git a/plugins/YammerImport/locale/fr/LC_MESSAGES/YammerImport.po b/plugins/YammerImport/locale/fr/LC_MESSAGES/YammerImport.po
new file mode 100644
index 000000000..d26c5128a
--- /dev/null
+++ b/plugins/YammerImport/locale/fr/LC_MESSAGES/YammerImport.po
@@ -0,0 +1,282 @@
+# Translation of StatusNet - YammerImport to French (Français)
+# Expored from translatewiki.net
+#
+# Author: Peter17
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - YammerImport\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:40+0000\n"
+"Language-Team: French <http://translatewiki.net/wiki/Portal:fr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: fr\n"
+"X-Message-Group: #out-statusnet-plugin-yammerimport\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: YammerImportPlugin.php:98
+msgid "Yammer"
+msgstr "Yammer"
+
+#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135
+msgid "Yammer import"
+msgstr "Import Yammer"
+
+#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56
+#: lib/yammerprogressform.php:68 actions/yammerauth.php:71
+msgid "Connect to Yammer"
+msgstr "Connexion à Yammer"
+
+#: lib/yammerauthinitform.php:62
+msgid "Start authentication"
+msgstr "Démarrer l’identification"
+
+#: lib/yammerauthinitform.php:62
+msgid "Request authorization to connect to Yammer account"
+msgstr "Demander l’autorisation de se connecter à un compte Yammer"
+
+#: lib/yammerauthinitform.php:63
+msgid "Change API key"
+msgstr "Changer la clé de l’API"
+
+#: lib/yammerimporter.php:230
+msgid "Expertise:"
+msgstr "Expertise :"
+
+#: lib/yammerimporter.php:433
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "URL d’avatar invalide : %s."
+
+#: lib/yammerimporter.php:440
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Impossible de récupérer l’avatar depuis « %s »."
+
+#: lib/yammerapikeyform.php:56
+msgid "Yammer API registration"
+msgstr "Enregistrement de l’API Yammer"
+
+#: lib/yammerapikeyform.php:72
+msgid ""
+"Before we can connect to your Yammer network, you will need to register the "
+"importer as an application authorized to pull data on your behalf. This "
+"registration will work only for your own network. Follow this link to "
+"register the app at Yammer; you will be prompted to log in if necessary:"
+msgstr ""
+"Avant de pouvoir nous connecter à votre réseau Yammer, vous devez "
+"enregistrer l’application d’import comme étant autorisée à recueillir des "
+"données en votre nom. Cet enregistrement ne sera valable que pour votre "
+"propre réseau. Suivez ce lien pour enregistrer l’application sur Yammer ; si "
+"cela est nécessaire, il vous sera demandé de vous identifier :"
+
+#: lib/yammerapikeyform.php:84
+msgid "Open Yammer application registration form"
+msgstr "Ouvrir le formulaire d’enregistrement de l’application Yammer"
+
+#: lib/yammerapikeyform.php:87
+msgid "Copy the consumer key and secret you are given into the form below:"
+msgstr ""
+"Copiez dans le formulaire ci-dessous la clé et le secret utilisateur qui "
+"vous sont donnés :"
+
+#: lib/yammerapikeyform.php:91
+msgid "Consumer key:"
+msgstr "Clé de l'utilisateur :"
+
+#: lib/yammerapikeyform.php:94
+msgid "Consumer secret:"
+msgstr "Secret de l'utilisateur :"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save"
+msgstr "Sauvegarder"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save these consumer keys"
+msgstr "Enregistrer ces clés utilisateur"
+
+#: lib/yammerauthverifyform.php:72
+msgid ""
+"Follow this link to confirm authorization at Yammer; you will be prompted to "
+"log in if necessary:"
+msgstr ""
+"Suivez ce lien pour confirmer l’autorisation sur Yammer ; il vous sera "
+"demandé de vous identifier si nécessaire :"
+
+#: lib/yammerauthverifyform.php:87
+msgid "Open Yammer authentication window"
+msgstr "Ouvrir la fenêtre d’identification Yammer"
+
+#: lib/yammerauthverifyform.php:90
+msgid "Copy the verification code you are given below:"
+msgstr "Copiez ci-dessous le code de vérification qui vous est donné :"
+
+#: lib/yammerauthverifyform.php:94
+msgid "Verification code:"
+msgstr "Code de vérification :"
+
+#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164
+msgid "Continue"
+msgstr "Continuer"
+
+#: lib/yammerauthverifyform.php:98
+msgid "Save code and begin import"
+msgstr "Enregistrer le code et commencer l’import"
+
+#: lib/yammerprogressform.php:63
+msgid "Initialize"
+msgstr "Initialiser"
+
+#: lib/yammerprogressform.php:64
+msgid "No import running"
+msgstr "Aucun import en cours d’exécution"
+
+#: lib/yammerprogressform.php:65
+msgid "Initiated Yammer server connection..."
+msgstr "Connexion au serveur Yammer initiée..."
+
+#: lib/yammerprogressform.php:69
+msgid "Awaiting authorization..."
+msgstr "En attente d’autorisation..."
+
+#: lib/yammerprogressform.php:70
+msgid "Connected."
+msgstr "Connecté."
+
+#: lib/yammerprogressform.php:73
+msgid "Import user accounts"
+msgstr "Importer des comptes utilisateur"
+
+#: lib/yammerprogressform.php:74
+#, php-format
+msgid "Importing %d user..."
+msgid_plural "Importing %d users..."
+msgstr[0] "Import de %d utilisateur..."
+msgstr[1] "Import de %d utilisateurs..."
+
+#: lib/yammerprogressform.php:75
+#, php-format
+msgid "Imported %d user."
+msgid_plural "Imported %d users."
+msgstr[0] "%d utilisateur importé."
+msgstr[1] "%d utilisateurs importés."
+
+#: lib/yammerprogressform.php:78
+msgid "Import user groups"
+msgstr "Importer des groupes utilisateur"
+
+#: lib/yammerprogressform.php:79
+#, php-format
+msgid "Importing %d group..."
+msgid_plural "Importing %d groups..."
+msgstr[0] "Import de %d groupe..."
+msgstr[1] "Import de %d groupes..."
+
+#: lib/yammerprogressform.php:80
+#, php-format
+msgid "Imported %d group."
+msgid_plural "Imported %d groups."
+msgstr[0] "%d groupe importé."
+msgstr[1] "%d groupes importés."
+
+#: lib/yammerprogressform.php:83
+msgid "Prepare public notices for import"
+msgstr "Préparation de l’import d’avis publiques"
+
+#: lib/yammerprogressform.php:84
+#, php-format
+msgid "Preparing %d notice..."
+msgid_plural "Preparing %d notices..."
+msgstr[0] "Préparation de %d avis..."
+msgstr[1] "Préparation de %d avis..."
+
+#: lib/yammerprogressform.php:85
+#, php-format
+msgid "Prepared %d notice."
+msgid_plural "Prepared %d notices."
+msgstr[0] "%d avis prépara."
+msgstr[1] "%d avis préparés."
+
+#: lib/yammerprogressform.php:88
+msgid "Import public notices"
+msgstr "Import d’avis publiques"
+
+#: lib/yammerprogressform.php:89
+#, php-format
+msgid "Importing %d notice..."
+msgid_plural "Importing %d notices..."
+msgstr[0] "Import de %d avis..."
+msgstr[1] "Import de %d avis..."
+
+#: lib/yammerprogressform.php:90
+#, php-format
+msgid "Imported %d notice."
+msgid_plural "Imported %d notices."
+msgstr[0] "%d avis importé."
+msgstr[1] "%d avis importés."
+
+#: lib/yammerprogressform.php:93
+msgid "Done"
+msgstr "Fait"
+
+#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95
+msgid "Import is complete!"
+msgstr "L’import est terminé !"
+
+#: lib/yammerprogressform.php:108
+msgid "Import status"
+msgstr "État de l’import"
+
+#: lib/yammerprogressform.php:132
+msgid "Waiting..."
+msgstr "Attente..."
+
+#: lib/yammerprogressform.php:146
+msgid "Reset import state"
+msgstr ""
+
+#: lib/yammerprogressform.php:151
+msgid "Pause import"
+msgstr ""
+
+#: lib/yammerprogressform.php:160
+#, php-format
+msgid "Encountered error \"%s\""
+msgstr ""
+
+#: lib/yammerprogressform.php:162
+msgid "Paused"
+msgstr ""
+
+#: lib/yammerprogressform.php:165
+msgid "Abort import"
+msgstr ""
+
+#: actions/yammeradminpanel.php:45
+msgid "Yammer Import"
+msgstr "Import Yammer"
+
+#: actions/yammeradminpanel.php:55
+msgid ""
+"This Yammer import tool is still undergoing testing, and is incomplete in "
+"some areas. Currently user subscriptions and group memberships are not "
+"transferred; in the future this may be supported for imports done by "
+"verified administrators on the Yammer side."
+msgstr ""
+"Cet outil d’import Yammer est encore en phase de test et est en partie "
+"incomplet. Les abonnements d’utilisateurs et les appartenances aux groupes "
+"ne sont actuellement pas transférés ; ceci pourrait être pris en charge dans "
+"le futur pour les imports réalisés par les administrateurs autorisés du côté "
+"de Yammer."
+
+#: actions/yammeradminpanel.php:102
+msgid "Paused from admin panel."
+msgstr ""
diff --git a/plugins/YammerImport/locale/ia/LC_MESSAGES/YammerImport.po b/plugins/YammerImport/locale/ia/LC_MESSAGES/YammerImport.po
new file mode 100644
index 000000000..0de756d58
--- /dev/null
+++ b/plugins/YammerImport/locale/ia/LC_MESSAGES/YammerImport.po
@@ -0,0 +1,282 @@
+# Translation of StatusNet - YammerImport to Interlingua (Interlingua)
+# Expored from translatewiki.net
+#
+# Author: McDutchie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - YammerImport\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:40+0000\n"
+"Language-Team: Interlingua <http://translatewiki.net/wiki/Portal:ia>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: ia\n"
+"X-Message-Group: #out-statusnet-plugin-yammerimport\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: YammerImportPlugin.php:98
+msgid "Yammer"
+msgstr "Yammer"
+
+#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135
+msgid "Yammer import"
+msgstr "Importation de Yammer"
+
+#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56
+#: lib/yammerprogressform.php:68 actions/yammerauth.php:71
+msgid "Connect to Yammer"
+msgstr "Connecter a Yammer"
+
+#: lib/yammerauthinitform.php:62
+msgid "Start authentication"
+msgstr "Comenciar authentication"
+
+#: lib/yammerauthinitform.php:62
+msgid "Request authorization to connect to Yammer account"
+msgstr "Requestar autorisation de connecter al conto Yammer"
+
+#: lib/yammerauthinitform.php:63
+msgid "Change API key"
+msgstr "Cambiar clave API"
+
+#: lib/yammerimporter.php:230
+msgid "Expertise:"
+msgstr "Expertise:"
+
+#: lib/yammerimporter.php:433
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "URL de avatar %s invalide."
+
+#: lib/yammerimporter.php:440
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Incapace de obtener avatar ab %s."
+
+#: lib/yammerapikeyform.php:56
+msgid "Yammer API registration"
+msgstr "Registration in API de Yammer"
+
+#: lib/yammerapikeyform.php:72
+msgid ""
+"Before we can connect to your Yammer network, you will need to register the "
+"importer as an application authorized to pull data on your behalf. This "
+"registration will work only for your own network. Follow this link to "
+"register the app at Yammer; you will be prompted to log in if necessary:"
+msgstr ""
+"Ante que nos pote connecter a tu rete Yammer, tu debe registrar le "
+"importator como application autorisate a colliger datos in tu nomine. Iste "
+"registration functionara solmente pro tu proprie rete. Seque iste ligamine "
+"pro registrar le application a Yammer; tu essera demandate de aperir session "
+"si necessari:"
+
+#: lib/yammerapikeyform.php:84
+msgid "Open Yammer application registration form"
+msgstr "Aperir formulario de registration del application Yammer"
+
+#: lib/yammerapikeyform.php:87
+msgid "Copy the consumer key and secret you are given into the form below:"
+msgstr ""
+"Copia le clave e secreto de consumitor que tu recipe in le formulario hic "
+"infra:"
+
+#: lib/yammerapikeyform.php:91
+msgid "Consumer key:"
+msgstr "Clave de consumitor:"
+
+#: lib/yammerapikeyform.php:94
+msgid "Consumer secret:"
+msgstr "Secreto de consumitor:"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save"
+msgstr "Salveguardar"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save these consumer keys"
+msgstr "Salveguardar iste claves de consumitor"
+
+#: lib/yammerauthverifyform.php:72
+msgid ""
+"Follow this link to confirm authorization at Yammer; you will be prompted to "
+"log in if necessary:"
+msgstr ""
+"Seque iste ligamine pro confirmar autorisation a Yammer; tu essera demandate "
+"de aperir session si necessari:"
+
+#: lib/yammerauthverifyform.php:87
+msgid "Open Yammer authentication window"
+msgstr "Aperir fenestra de authentication a Yammer"
+
+#: lib/yammerauthverifyform.php:90
+msgid "Copy the verification code you are given below:"
+msgstr "Copia hic infra le codice de verification que tu recipe:"
+
+#: lib/yammerauthverifyform.php:94
+msgid "Verification code:"
+msgstr "Codice de verification:"
+
+#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164
+msgid "Continue"
+msgstr "Continuar"
+
+#: lib/yammerauthverifyform.php:98
+msgid "Save code and begin import"
+msgstr "Salveguardar codice e comenciar importation"
+
+#: lib/yammerprogressform.php:63
+msgid "Initialize"
+msgstr "Initialisar"
+
+#: lib/yammerprogressform.php:64
+msgid "No import running"
+msgstr "Nulle importation in curso"
+
+#: lib/yammerprogressform.php:65
+msgid "Initiated Yammer server connection..."
+msgstr "Connexion al servitor Yammer initiate..."
+
+#: lib/yammerprogressform.php:69
+msgid "Awaiting authorization..."
+msgstr "Attende autorisation..."
+
+#: lib/yammerprogressform.php:70
+msgid "Connected."
+msgstr "Connectite."
+
+#: lib/yammerprogressform.php:73
+msgid "Import user accounts"
+msgstr "Importar contos de usator"
+
+#: lib/yammerprogressform.php:74
+#, php-format
+msgid "Importing %d user..."
+msgid_plural "Importing %d users..."
+msgstr[0] "Importa %d usator..."
+msgstr[1] "Importa %d usatores..."
+
+#: lib/yammerprogressform.php:75
+#, php-format
+msgid "Imported %d user."
+msgid_plural "Imported %d users."
+msgstr[0] "%d usator importate."
+msgstr[1] "%d usatores importate."
+
+#: lib/yammerprogressform.php:78
+msgid "Import user groups"
+msgstr "Importar gruppos de usatores"
+
+#: lib/yammerprogressform.php:79
+#, php-format
+msgid "Importing %d group..."
+msgid_plural "Importing %d groups..."
+msgstr[0] "Importa %d gruppo..."
+msgstr[1] "Importa %d gruppos..."
+
+#: lib/yammerprogressform.php:80
+#, php-format
+msgid "Imported %d group."
+msgid_plural "Imported %d groups."
+msgstr[0] "%d gruppo importate."
+msgstr[1] "%d gruppos importate."
+
+#: lib/yammerprogressform.php:83
+msgid "Prepare public notices for import"
+msgstr "Preparar notas public pro importation"
+
+#: lib/yammerprogressform.php:84
+#, php-format
+msgid "Preparing %d notice..."
+msgid_plural "Preparing %d notices..."
+msgstr[0] "Prepara %d nota..."
+msgstr[1] "Prepara %d notas..."
+
+#: lib/yammerprogressform.php:85
+#, php-format
+msgid "Prepared %d notice."
+msgid_plural "Prepared %d notices."
+msgstr[0] "%d nota preparate."
+msgstr[1] "%d notas preparate."
+
+#: lib/yammerprogressform.php:88
+msgid "Import public notices"
+msgstr "Importar notas public"
+
+#: lib/yammerprogressform.php:89
+#, php-format
+msgid "Importing %d notice..."
+msgid_plural "Importing %d notices..."
+msgstr[0] "Importa %d nota..."
+msgstr[1] "Importa %d notas..."
+
+#: lib/yammerprogressform.php:90
+#, php-format
+msgid "Imported %d notice."
+msgid_plural "Imported %d notices."
+msgstr[0] "%d nota importate."
+msgstr[1] "%d notas importate."
+
+#: lib/yammerprogressform.php:93
+msgid "Done"
+msgstr "Finite"
+
+#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95
+msgid "Import is complete!"
+msgstr "Le importation es complete!"
+
+#: lib/yammerprogressform.php:108
+msgid "Import status"
+msgstr "Stato de importation"
+
+#: lib/yammerprogressform.php:132
+msgid "Waiting..."
+msgstr "Attende..."
+
+#: lib/yammerprogressform.php:146
+msgid "Reset import state"
+msgstr ""
+
+#: lib/yammerprogressform.php:151
+msgid "Pause import"
+msgstr ""
+
+#: lib/yammerprogressform.php:160
+#, php-format
+msgid "Encountered error \"%s\""
+msgstr "Incontrava error \"%s\""
+
+#: lib/yammerprogressform.php:162
+msgid "Paused"
+msgstr "Pausate"
+
+#: lib/yammerprogressform.php:165
+msgid "Abort import"
+msgstr ""
+
+#: actions/yammeradminpanel.php:45
+msgid "Yammer Import"
+msgstr "Importation de Yammer"
+
+#: actions/yammeradminpanel.php:55
+msgid ""
+"This Yammer import tool is still undergoing testing, and is incomplete in "
+"some areas. Currently user subscriptions and group memberships are not "
+"transferred; in the future this may be supported for imports done by "
+"verified administrators on the Yammer side."
+msgstr ""
+"Iste instrumento de importation de Yammer es ancora in phase de test, e es "
+"incomplete in alcun areas. Actualmente le subscriptiones de usator e "
+"membratos de gruppos non es transferite; in le futuro isto pote esser "
+"supportate pro importationes facite per administratores verificate al latere "
+"de Yammer."
+
+#: actions/yammeradminpanel.php:102
+msgid "Paused from admin panel."
+msgstr "Pausate ab le pannello admin."
diff --git a/plugins/YammerImport/locale/mk/LC_MESSAGES/YammerImport.po b/plugins/YammerImport/locale/mk/LC_MESSAGES/YammerImport.po
new file mode 100644
index 000000000..db906ea82
--- /dev/null
+++ b/plugins/YammerImport/locale/mk/LC_MESSAGES/YammerImport.po
@@ -0,0 +1,281 @@
+# Translation of StatusNet - YammerImport to Macedonian (Македонски)
+# Expored from translatewiki.net
+#
+# Author: Bjankuloski06
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - YammerImport\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:40+0000\n"
+"Language-Team: Macedonian <http://translatewiki.net/wiki/Portal:mk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: mk\n"
+"X-Message-Group: #out-statusnet-plugin-yammerimport\n"
+"Plural-Forms: nplurals=2; plural=(n == 1 || n%10 == 1) ? 0 : 1;\n"
+
+#: YammerImportPlugin.php:98
+msgid "Yammer"
+msgstr "Yammer"
+
+#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135
+msgid "Yammer import"
+msgstr "Увоз од Yammer"
+
+#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56
+#: lib/yammerprogressform.php:68 actions/yammerauth.php:71
+msgid "Connect to Yammer"
+msgstr "Поврзување со Yammer"
+
+#: lib/yammerauthinitform.php:62
+msgid "Start authentication"
+msgstr "Започни проверка"
+
+#: lib/yammerauthinitform.php:62
+msgid "Request authorization to connect to Yammer account"
+msgstr "Барај овластување за поврзување со сметката на Yammer"
+
+#: lib/yammerauthinitform.php:63
+msgid "Change API key"
+msgstr "Промени API-клуч"
+
+#: lib/yammerimporter.php:230
+msgid "Expertise:"
+msgstr "Стручност:"
+
+#: lib/yammerimporter.php:433
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Неважечка URL-адреса на аватарот: %s."
+
+#: lib/yammerimporter.php:440
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Не можев да го преземам аватарот од %s."
+
+#: lib/yammerapikeyform.php:56
+msgid "Yammer API registration"
+msgstr "Регистрација на API за Yammer"
+
+#: lib/yammerapikeyform.php:72
+msgid ""
+"Before we can connect to your Yammer network, you will need to register the "
+"importer as an application authorized to pull data on your behalf. This "
+"registration will work only for your own network. Follow this link to "
+"register the app at Yammer; you will be prompted to log in if necessary:"
+msgstr ""
+"Пред да можеме да Ве поврземе на Вашата Yammer-мрежа, ќе треба да го "
+"регистрирате увозникот како програм овластен за преземање на податоци во "
+"Ваше име. Оваа регистрација ќе работи само за Вашата мрежа. Проследете ја "
+"врската за да го регистрирате програмот на Yammer. Ако е потребно, ќе Ви "
+"биде побарано да се најавите:"
+
+#: lib/yammerapikeyform.php:84
+msgid "Open Yammer application registration form"
+msgstr "Отвори образец за регистрација на програм на Yammer"
+
+#: lib/yammerapikeyform.php:87
+msgid "Copy the consumer key and secret you are given into the form below:"
+msgstr ""
+"Ископирајте ги потрошувачкиот клуч и тајната што се наведени во образецот "
+"подолу:"
+
+#: lib/yammerapikeyform.php:91
+msgid "Consumer key:"
+msgstr "Потрошувачки клуч:"
+
+#: lib/yammerapikeyform.php:94
+msgid "Consumer secret:"
+msgstr "Потрошувачка тајна:"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save"
+msgstr "Зачувај"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save these consumer keys"
+msgstr "Зачувај ги овие потрошувачки клучеви"
+
+#: lib/yammerauthverifyform.php:72
+msgid ""
+"Follow this link to confirm authorization at Yammer; you will be prompted to "
+"log in if necessary:"
+msgstr ""
+"Проследете ја врскава за да го потврдите овластувањето на страницата на "
+"Yammer. Ако е потребно, ќе Ви биде побарано да се најавите:"
+
+#: lib/yammerauthverifyform.php:87
+msgid "Open Yammer authentication window"
+msgstr "Отвори прозорец за потврда на Yammer"
+
+#: lib/yammerauthverifyform.php:90
+msgid "Copy the verification code you are given below:"
+msgstr "Ископирајте го долунаведениот потврден код:"
+
+#: lib/yammerauthverifyform.php:94
+msgid "Verification code:"
+msgstr "Потврден код:"
+
+#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164
+msgid "Continue"
+msgstr "Продолжи"
+
+#: lib/yammerauthverifyform.php:98
+msgid "Save code and begin import"
+msgstr "Зачувај код и почни со увоз"
+
+#: lib/yammerprogressform.php:63
+msgid "Initialize"
+msgstr "Започни"
+
+#: lib/yammerprogressform.php:64
+msgid "No import running"
+msgstr "Увозот не е во тек"
+
+#: lib/yammerprogressform.php:65
+msgid "Initiated Yammer server connection..."
+msgstr "Започнав со поврзувањето со опслужувачот на Yammer..."
+
+#: lib/yammerprogressform.php:69
+msgid "Awaiting authorization..."
+msgstr "Чекам на овластување..."
+
+#: lib/yammerprogressform.php:70
+msgid "Connected."
+msgstr "Поврзано."
+
+#: lib/yammerprogressform.php:73
+msgid "Import user accounts"
+msgstr "Увези кориснички сметки"
+
+#: lib/yammerprogressform.php:74
+#, php-format
+msgid "Importing %d user..."
+msgid_plural "Importing %d users..."
+msgstr[0] "Увезувам %d корисник..."
+msgstr[1] "Увезувам %d корисници..."
+
+#: lib/yammerprogressform.php:75
+#, php-format
+msgid "Imported %d user."
+msgid_plural "Imported %d users."
+msgstr[0] "Увезов %d корисник."
+msgstr[1] "Увезов %d корисници."
+
+#: lib/yammerprogressform.php:78
+msgid "Import user groups"
+msgstr "Увези кориснички групи"
+
+#: lib/yammerprogressform.php:79
+#, php-format
+msgid "Importing %d group..."
+msgid_plural "Importing %d groups..."
+msgstr[0] "Увезувам %d група..."
+msgstr[1] "Увезувам %d групи..."
+
+#: lib/yammerprogressform.php:80
+#, php-format
+msgid "Imported %d group."
+msgid_plural "Imported %d groups."
+msgstr[0] "Увезов %d група."
+msgstr[1] "Увезов %d групи."
+
+#: lib/yammerprogressform.php:83
+msgid "Prepare public notices for import"
+msgstr "Подготви јавни известувања за увоз"
+
+#: lib/yammerprogressform.php:84
+#, php-format
+msgid "Preparing %d notice..."
+msgid_plural "Preparing %d notices..."
+msgstr[0] "Подготвувам %d известување..."
+msgstr[1] "Подготвувам %d известувања..."
+
+#: lib/yammerprogressform.php:85
+#, php-format
+msgid "Prepared %d notice."
+msgid_plural "Prepared %d notices."
+msgstr[0] "Подготвив %d известување."
+msgstr[1] "Подготвив %d известувања."
+
+#: lib/yammerprogressform.php:88
+msgid "Import public notices"
+msgstr "Увези јавни известувања"
+
+#: lib/yammerprogressform.php:89
+#, php-format
+msgid "Importing %d notice..."
+msgid_plural "Importing %d notices..."
+msgstr[0] "Увезувам %d известување..."
+msgstr[1] "Увезувам %d известувања..."
+
+#: lib/yammerprogressform.php:90
+#, php-format
+msgid "Imported %d notice."
+msgid_plural "Imported %d notices."
+msgstr[0] "Увезов %d известување..."
+msgstr[1] "Увезов %d известувања..."
+
+#: lib/yammerprogressform.php:93
+msgid "Done"
+msgstr "Готово"
+
+#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95
+msgid "Import is complete!"
+msgstr "Увозот заврши!"
+
+#: lib/yammerprogressform.php:108
+msgid "Import status"
+msgstr "Увези статус"
+
+#: lib/yammerprogressform.php:132
+msgid "Waiting..."
+msgstr "Чекам..."
+
+#: lib/yammerprogressform.php:146
+msgid "Reset import state"
+msgstr ""
+
+#: lib/yammerprogressform.php:151
+msgid "Pause import"
+msgstr ""
+
+#: lib/yammerprogressform.php:160
+#, php-format
+msgid "Encountered error \"%s\""
+msgstr "Наидов на грешка „%s“"
+
+#: lib/yammerprogressform.php:162
+msgid "Paused"
+msgstr "Паузирано"
+
+#: lib/yammerprogressform.php:165
+msgid "Abort import"
+msgstr ""
+
+#: actions/yammeradminpanel.php:45
+msgid "Yammer Import"
+msgstr "Увоз од Yammer"
+
+#: actions/yammeradminpanel.php:55
+msgid ""
+"This Yammer import tool is still undergoing testing, and is incomplete in "
+"some areas. Currently user subscriptions and group memberships are not "
+"transferred; in the future this may be supported for imports done by "
+"verified administrators on the Yammer side."
+msgstr ""
+"Оваа алатка за увоз од Yammer сè уште е во фаза на испробување, а наместа е "
+"недработена. Моментално не можат да се префрлаат кориснички претплати и "
+"членства во групи. Ваквите префрлања може да се поддржани во иднина, и тие "
+"би ги вршеле овластени администратори на Yammer."
+
+#: actions/yammeradminpanel.php:102
+msgid "Paused from admin panel."
+msgstr "Паузирано од администраторската табла."
diff --git a/plugins/YammerImport/locale/nl/LC_MESSAGES/YammerImport.po b/plugins/YammerImport/locale/nl/LC_MESSAGES/YammerImport.po
new file mode 100644
index 000000000..1d849fb6b
--- /dev/null
+++ b/plugins/YammerImport/locale/nl/LC_MESSAGES/YammerImport.po
@@ -0,0 +1,283 @@
+# Translation of StatusNet - YammerImport to Dutch (Nederlands)
+# Expored from translatewiki.net
+#
+# Author: SPQRobin
+# Author: Siebrand
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - YammerImport\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:40+0000\n"
+"Language-Team: Dutch <http://translatewiki.net/wiki/Portal:nl>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: nl\n"
+"X-Message-Group: #out-statusnet-plugin-yammerimport\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: YammerImportPlugin.php:98
+msgid "Yammer"
+msgstr "Yammer"
+
+#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135
+msgid "Yammer import"
+msgstr "Yammerimport"
+
+#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56
+#: lib/yammerprogressform.php:68 actions/yammerauth.php:71
+msgid "Connect to Yammer"
+msgstr "Verbinden met Yammer"
+
+#: lib/yammerauthinitform.php:62
+msgid "Start authentication"
+msgstr "Authenticatie starten"
+
+#: lib/yammerauthinitform.php:62
+msgid "Request authorization to connect to Yammer account"
+msgstr "Autorisatie verzoeken om te verbinden met Yammergebruiker"
+
+#: lib/yammerauthinitform.php:63
+msgid "Change API key"
+msgstr "API-sleutel wijzigen"
+
+#: lib/yammerimporter.php:230
+msgid "Expertise:"
+msgstr "Expertise:"
+
+#: lib/yammerimporter.php:433
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "%s is een ongeldige URL voor avatar."
+
+#: lib/yammerimporter.php:440
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Het was niet mogelijk de avatar op te halen van %s."
+
+#: lib/yammerapikeyform.php:56
+msgid "Yammer API registration"
+msgstr "API-registratie voor Yammer"
+
+#: lib/yammerapikeyform.php:72
+msgid ""
+"Before we can connect to your Yammer network, you will need to register the "
+"importer as an application authorized to pull data on your behalf. This "
+"registration will work only for your own network. Follow this link to "
+"register the app at Yammer; you will be prompted to log in if necessary:"
+msgstr ""
+"Voordat er verbinding gemaakt kan worden met uw Yammernetwerk, moet u het "
+"importprogramma eerst registreren als een applicatie die namens u gegevens "
+"mag ophalen. Deze registratie geldt alleen voor uw eigen netwerk. Volg de "
+"onderstaande verwijzing om de applicatie bij Yammer te registreren. Als het "
+"nodig is om aan te melden, wordt u dat gevraagd:"
+
+#: lib/yammerapikeyform.php:84
+msgid "Open Yammer application registration form"
+msgstr "Applicatieregistratieformulier voor Yammer openen"
+
+#: lib/yammerapikeyform.php:87
+msgid "Copy the consumer key and secret you are given into the form below:"
+msgstr ""
+"Kopieer de gebruikerssleutel en het gebruikersgeheim dat u hebt gekregen in "
+"het formulier hieronder:"
+
+#: lib/yammerapikeyform.php:91
+msgid "Consumer key:"
+msgstr "Gebruikerssleutel:"
+
+#: lib/yammerapikeyform.php:94
+msgid "Consumer secret:"
+msgstr "Gebruikersgeheim:"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save"
+msgstr "Opslaan"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save these consumer keys"
+msgstr "Deze gebruikerssleutels opslaan"
+
+#: lib/yammerauthverifyform.php:72
+msgid ""
+"Follow this link to confirm authorization at Yammer; you will be prompted to "
+"log in if necessary:"
+msgstr ""
+"Volg deze verwijzing om de autorisatie bij Yammer te bevestigen. Als u moet "
+"aanmelden wordt daarom gevraagd:"
+
+#: lib/yammerauthverifyform.php:87
+msgid "Open Yammer authentication window"
+msgstr "Authenticatievenster voor Yammer openen"
+
+#: lib/yammerauthverifyform.php:90
+msgid "Copy the verification code you are given below:"
+msgstr "Kopieer de verificatiecode die u hebt gekregen hieronder:"
+
+#: lib/yammerauthverifyform.php:94
+msgid "Verification code:"
+msgstr "Verificatiecode:"
+
+#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164
+msgid "Continue"
+msgstr "Doorgaan"
+
+#: lib/yammerauthverifyform.php:98
+msgid "Save code and begin import"
+msgstr "Code opslaan en importeren"
+
+#: lib/yammerprogressform.php:63
+msgid "Initialize"
+msgstr "Initialiseren"
+
+#: lib/yammerprogressform.php:64
+msgid "No import running"
+msgstr "Er loopt geen import"
+
+#: lib/yammerprogressform.php:65
+msgid "Initiated Yammer server connection..."
+msgstr "Er is verbinding gemaakt met de Yammerserver..."
+
+#: lib/yammerprogressform.php:69
+msgid "Awaiting authorization..."
+msgstr "Wachten op autorisatie..."
+
+#: lib/yammerprogressform.php:70
+msgid "Connected."
+msgstr "Verbonden."
+
+#: lib/yammerprogressform.php:73
+msgid "Import user accounts"
+msgstr "Gebruikers importeren"
+
+#: lib/yammerprogressform.php:74
+#, php-format
+msgid "Importing %d user..."
+msgid_plural "Importing %d users..."
+msgstr[0] "Bezig met het importeren van %d gebruiker..."
+msgstr[1] "Bezig met het importeren van %d gebruikers..."
+
+#: lib/yammerprogressform.php:75
+#, php-format
+msgid "Imported %d user."
+msgid_plural "Imported %d users."
+msgstr[0] "%d gebruiker geïmporteerd."
+msgstr[1] "%d gebruikers geïmporteerd."
+
+#: lib/yammerprogressform.php:78
+msgid "Import user groups"
+msgstr "Gebruikersgroepen importeren"
+
+#: lib/yammerprogressform.php:79
+#, php-format
+msgid "Importing %d group..."
+msgid_plural "Importing %d groups..."
+msgstr[0] "Bezig met het importeren van %d gebruikersgroep..."
+msgstr[1] "Bezig met het importeren van %d gebruikersgroepen..."
+
+#: lib/yammerprogressform.php:80
+#, php-format
+msgid "Imported %d group."
+msgid_plural "Imported %d groups."
+msgstr[0] "%d gebruikersgroep geïmporteerd."
+msgstr[1] "%d gebruikersgroepen geïmporteerd."
+
+#: lib/yammerprogressform.php:83
+msgid "Prepare public notices for import"
+msgstr "Publieke mededelingen voorbereiden op import"
+
+#: lib/yammerprogressform.php:84
+#, php-format
+msgid "Preparing %d notice..."
+msgid_plural "Preparing %d notices..."
+msgstr[0] "Bezig met het voorbereiden van %d mededeling..."
+msgstr[1] "Bezig met het voorbereiden van %d mededelingen..."
+
+#: lib/yammerprogressform.php:85
+#, php-format
+msgid "Prepared %d notice."
+msgid_plural "Prepared %d notices."
+msgstr[0] "%d mededeling voorbereid."
+msgstr[1] "%d mededelingen voorbereid."
+
+#: lib/yammerprogressform.php:88
+msgid "Import public notices"
+msgstr "Publieke mededelingen importeren"
+
+#: lib/yammerprogressform.php:89
+#, php-format
+msgid "Importing %d notice..."
+msgid_plural "Importing %d notices..."
+msgstr[0] "Bezig met het importeren van %d mededeling..."
+msgstr[1] "Bezig met het importeren van %d mededelingen..."
+
+#: lib/yammerprogressform.php:90
+#, php-format
+msgid "Imported %d notice."
+msgid_plural "Imported %d notices."
+msgstr[0] "%d mededeling geïmporteerd."
+msgstr[1] "%d mededelingen geïmporteerd."
+
+#: lib/yammerprogressform.php:93
+msgid "Done"
+msgstr "Afgerond"
+
+#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95
+msgid "Import is complete!"
+msgstr "Het importeren is voltooid!"
+
+#: lib/yammerprogressform.php:108
+msgid "Import status"
+msgstr "Importstatus"
+
+#: lib/yammerprogressform.php:132
+msgid "Waiting..."
+msgstr "Even geduld alstublieft..."
+
+#: lib/yammerprogressform.php:146
+msgid "Reset import state"
+msgstr "Importstatus herstellen"
+
+#: lib/yammerprogressform.php:151
+msgid "Pause import"
+msgstr "Import pauzeren"
+
+#: lib/yammerprogressform.php:160
+#, php-format
+msgid "Encountered error \"%s\""
+msgstr "Er is een fout opgetreden: \"%s\""
+
+#: lib/yammerprogressform.php:162
+msgid "Paused"
+msgstr "Gepauzeerd"
+
+#: lib/yammerprogressform.php:165
+msgid "Abort import"
+msgstr "Import afbreken"
+
+#: actions/yammeradminpanel.php:45
+msgid "Yammer Import"
+msgstr "Yammerimport"
+
+#: actions/yammeradminpanel.php:55
+msgid ""
+"This Yammer import tool is still undergoing testing, and is incomplete in "
+"some areas. Currently user subscriptions and group memberships are not "
+"transferred; in the future this may be supported for imports done by "
+"verified administrators on the Yammer side."
+msgstr ""
+"Dit Yammerimportprogramma wordt nog getest en bepaalde onderdelen zijn nog "
+"niet afgerond. Op dit moment worden gebruikersabonnementen en "
+"groepslidmaatschappen nog niet overgenomen. In de toekomst is dit wellicht "
+"mogelijk voor imports die door bevestigde beheerders in Yammer worden "
+"uitgevoerd."
+
+#: actions/yammeradminpanel.php:102
+msgid "Paused from admin panel."
+msgstr "Gepauzeerd vanuit het beheerpaneel."
diff --git a/plugins/YammerImport/locale/tr/LC_MESSAGES/YammerImport.po b/plugins/YammerImport/locale/tr/LC_MESSAGES/YammerImport.po
new file mode 100644
index 000000000..f61add2f8
--- /dev/null
+++ b/plugins/YammerImport/locale/tr/LC_MESSAGES/YammerImport.po
@@ -0,0 +1,260 @@
+# Translation of StatusNet - YammerImport to Turkish (Türkçe)
+# Expored from translatewiki.net
+#
+# Author: Maidis
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - YammerImport\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:40+0000\n"
+"Language-Team: Turkish <http://translatewiki.net/wiki/Portal:tr>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: tr\n"
+"X-Message-Group: #out-statusnet-plugin-yammerimport\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: YammerImportPlugin.php:98
+msgid "Yammer"
+msgstr "Yammer"
+
+#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135
+msgid "Yammer import"
+msgstr "Yammer içeri aktarma"
+
+#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56
+#: lib/yammerprogressform.php:68 actions/yammerauth.php:71
+msgid "Connect to Yammer"
+msgstr "Yammer'a Bağlan"
+
+#: lib/yammerauthinitform.php:62
+msgid "Start authentication"
+msgstr "Kimlik doğrulamaya başla"
+
+#: lib/yammerauthinitform.php:62
+msgid "Request authorization to connect to Yammer account"
+msgstr ""
+
+#: lib/yammerauthinitform.php:63
+msgid "Change API key"
+msgstr ""
+
+#: lib/yammerimporter.php:230
+msgid "Expertise:"
+msgstr ""
+
+#: lib/yammerimporter.php:433
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Geçersiz kullanıcı resmi bağlantısı %s."
+
+#: lib/yammerimporter.php:440
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr ""
+
+#: lib/yammerapikeyform.php:56
+msgid "Yammer API registration"
+msgstr ""
+
+#: lib/yammerapikeyform.php:72
+msgid ""
+"Before we can connect to your Yammer network, you will need to register the "
+"importer as an application authorized to pull data on your behalf. This "
+"registration will work only for your own network. Follow this link to "
+"register the app at Yammer; you will be prompted to log in if necessary:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:84
+msgid "Open Yammer application registration form"
+msgstr ""
+
+#: lib/yammerapikeyform.php:87
+msgid "Copy the consumer key and secret you are given into the form below:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:91
+msgid "Consumer key:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:94
+msgid "Consumer secret:"
+msgstr ""
+
+#: lib/yammerapikeyform.php:98
+msgid "Save"
+msgstr "Kaydet"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save these consumer keys"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:72
+msgid ""
+"Follow this link to confirm authorization at Yammer; you will be prompted to "
+"log in if necessary:"
+msgstr ""
+
+#: lib/yammerauthverifyform.php:87
+msgid "Open Yammer authentication window"
+msgstr "Open Yammer kimlik doğrulama penceresi"
+
+#: lib/yammerauthverifyform.php:90
+msgid "Copy the verification code you are given below:"
+msgstr "Aşağıda verilen doğrulama kodunu kopyalayın:"
+
+#: lib/yammerauthverifyform.php:94
+msgid "Verification code:"
+msgstr "Doğrulama kodu:"
+
+#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164
+msgid "Continue"
+msgstr "Devam et"
+
+#: lib/yammerauthverifyform.php:98
+msgid "Save code and begin import"
+msgstr "Kodu kaydet ve içeri aktarmaya başla"
+
+#: lib/yammerprogressform.php:63
+msgid "Initialize"
+msgstr "İlk kullanıma hazırla"
+
+#: lib/yammerprogressform.php:64
+msgid "No import running"
+msgstr "Çalışan içeri aktarma yok"
+
+#: lib/yammerprogressform.php:65
+msgid "Initiated Yammer server connection..."
+msgstr "Başlatılan Yammer sunucu bağlantısı..."
+
+#: lib/yammerprogressform.php:69
+msgid "Awaiting authorization..."
+msgstr "Yetkilendirme bekleniyor..."
+
+#: lib/yammerprogressform.php:70
+msgid "Connected."
+msgstr "Bağlandı."
+
+#: lib/yammerprogressform.php:73
+msgid "Import user accounts"
+msgstr "Kullanıcı hesaplarını içeri aktar"
+
+#: lib/yammerprogressform.php:74
+#, php-format
+msgid "Importing %d user..."
+msgid_plural "Importing %d users..."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:75
+#, php-format
+msgid "Imported %d user."
+msgid_plural "Imported %d users."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:78
+msgid "Import user groups"
+msgstr "Kullanıcı gruplarını içeri aktar"
+
+#: lib/yammerprogressform.php:79
+#, php-format
+msgid "Importing %d group..."
+msgid_plural "Importing %d groups..."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:80
+#, php-format
+msgid "Imported %d group."
+msgid_plural "Imported %d groups."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:83
+msgid "Prepare public notices for import"
+msgstr "Genel durum mesajlarını içeri aktarmak için hazırla"
+
+#: lib/yammerprogressform.php:84
+#, php-format
+msgid "Preparing %d notice..."
+msgid_plural "Preparing %d notices..."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:85
+#, php-format
+msgid "Prepared %d notice."
+msgid_plural "Prepared %d notices."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:88
+msgid "Import public notices"
+msgstr "Genel durum mesajlarını içeri aktar"
+
+#: lib/yammerprogressform.php:89
+#, php-format
+msgid "Importing %d notice..."
+msgid_plural "Importing %d notices..."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:90
+#, php-format
+msgid "Imported %d notice."
+msgid_plural "Imported %d notices."
+msgstr[0] ""
+
+#: lib/yammerprogressform.php:93
+msgid "Done"
+msgstr "Tamamlandı"
+
+#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95
+msgid "Import is complete!"
+msgstr "İçeri aktarma tamamlandı!"
+
+#: lib/yammerprogressform.php:108
+msgid "Import status"
+msgstr "İçeri aktarma durumu"
+
+#: lib/yammerprogressform.php:132
+msgid "Waiting..."
+msgstr "Bekleniyor..."
+
+#: lib/yammerprogressform.php:146
+msgid "Reset import state"
+msgstr "İçeri aktarma durumunu sıfırla"
+
+#: lib/yammerprogressform.php:151
+msgid "Pause import"
+msgstr "İçeri aktarmayı duraklat"
+
+#: lib/yammerprogressform.php:160
+#, php-format
+msgid "Encountered error \"%s\""
+msgstr "Karşılaşılan hata \"%s\""
+
+#: lib/yammerprogressform.php:162
+msgid "Paused"
+msgstr "Duraklatıldı"
+
+#: lib/yammerprogressform.php:165
+msgid "Abort import"
+msgstr "İçeri aktarmayı iptal et"
+
+#: actions/yammeradminpanel.php:45
+msgid "Yammer Import"
+msgstr "Yammer İçeri Aktar"
+
+#: actions/yammeradminpanel.php:55
+msgid ""
+"This Yammer import tool is still undergoing testing, and is incomplete in "
+"some areas. Currently user subscriptions and group memberships are not "
+"transferred; in the future this may be supported for imports done by "
+"verified administrators on the Yammer side."
+msgstr ""
+
+#: actions/yammeradminpanel.php:102
+msgid "Paused from admin panel."
+msgstr "Yönetim panelinden durduruldu."
diff --git a/plugins/YammerImport/locale/uk/LC_MESSAGES/YammerImport.po b/plugins/YammerImport/locale/uk/LC_MESSAGES/YammerImport.po
new file mode 100644
index 000000000..0d4ba086d
--- /dev/null
+++ b/plugins/YammerImport/locale/uk/LC_MESSAGES/YammerImport.po
@@ -0,0 +1,291 @@
+# Translation of StatusNet - YammerImport to Ukrainian (Українська)
+# Expored from translatewiki.net
+#
+# Author: Boogie
+# --
+# This file is distributed under the same license as the StatusNet package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: StatusNet - YammerImport\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-10-03 19:53+0000\n"
+"PO-Revision-Date: 2010-10-03 19:57:40+0000\n"
+"Language-Team: Ukrainian <http://translatewiki.net/wiki/Portal:uk>\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-POT-Import-Date: 2010-10-01 20:39:57+0000\n"
+"X-Generator: MediaWiki 1.17alpha (r74231); Translate extension (2010-09-17)\n"
+"X-Translation-Project: translatewiki.net at http://translatewiki.net\n"
+"X-Language-Code: uk\n"
+"X-Message-Group: #out-statusnet-plugin-yammerimport\n"
+"Plural-Forms: nplurals=3; plural=(n%10 == 1 && n%100 != 11) ? 0 : ( (n%10 >= "
+"2 && n%10 <= 4 && (n%100 < 10 || n%100 >= 20)) ? 1 : 2 );\n"
+
+#: YammerImportPlugin.php:98
+msgid "Yammer"
+msgstr "Yammer"
+
+#: YammerImportPlugin.php:99 actions/yammeradminpanel.php:135
+msgid "Yammer import"
+msgstr "Імпорт з Yammer"
+
+#: lib/yammerauthinitform.php:48 lib/yammerauthverifyform.php:56
+#: lib/yammerprogressform.php:68 actions/yammerauth.php:71
+msgid "Connect to Yammer"
+msgstr "З’єднання з Yammer"
+
+#: lib/yammerauthinitform.php:62
+msgid "Start authentication"
+msgstr "Початок автентифікації"
+
+#: lib/yammerauthinitform.php:62
+msgid "Request authorization to connect to Yammer account"
+msgstr "Запит дозволу на підключення до Yammer"
+
+#: lib/yammerauthinitform.php:63
+msgid "Change API key"
+msgstr "Змінити API-ключ"
+
+#: lib/yammerimporter.php:230
+msgid "Expertise:"
+msgstr "Експертиза:"
+
+#: lib/yammerimporter.php:433
+#, php-format
+msgid "Invalid avatar URL %s."
+msgstr "Невірна URL-адреса аватари %s."
+
+#: lib/yammerimporter.php:440
+#, php-format
+msgid "Unable to fetch avatar from %s."
+msgstr "Неможливо завантажити аватару з %s."
+
+#: lib/yammerapikeyform.php:56
+msgid "Yammer API registration"
+msgstr "Реєстрація API Yammer"
+
+#: lib/yammerapikeyform.php:72
+msgid ""
+"Before we can connect to your Yammer network, you will need to register the "
+"importer as an application authorized to pull data on your behalf. This "
+"registration will work only for your own network. Follow this link to "
+"register the app at Yammer; you will be prompted to log in if necessary:"
+msgstr ""
+"Перш ніж ми зможемо підключитися до вашого акаунту Yammer, вам необхідно "
+"зареєструвати у якості імпортера цей авторизований додаток, аби той забирав "
+"дані від вашого імені. Ця реєстрація буде працювати тільки для вашої власної "
+"мережі. Перейдіть за цим посиланням, щоб зареєструвати додаток на Yammer; "
+"вам буде запропоновано увійти до системи, якщо це необхідно:"
+
+#: lib/yammerapikeyform.php:84
+msgid "Open Yammer application registration form"
+msgstr "Відкрити реєстраційну форму додатку для Yammer"
+
+#: lib/yammerapikeyform.php:87
+msgid "Copy the consumer key and secret you are given into the form below:"
+msgstr ""
+"Скопіюйте ключ споживача та секретний код, котрі вам було надано, до віконця "
+"нижче:"
+
+#: lib/yammerapikeyform.php:91
+msgid "Consumer key:"
+msgstr "Ключ споживача:"
+
+#: lib/yammerapikeyform.php:94
+msgid "Consumer secret:"
+msgstr "Секретний код:"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save"
+msgstr "Зберегти"
+
+#: lib/yammerapikeyform.php:98
+msgid "Save these consumer keys"
+msgstr "Зберегти ключі споживача"
+
+#: lib/yammerauthverifyform.php:72
+msgid ""
+"Follow this link to confirm authorization at Yammer; you will be prompted to "
+"log in if necessary:"
+msgstr ""
+"Перейдіть за цим посиланням для підтвердження дозволу від Yammer; вам буде "
+"запропоновано увійти до системи, якщо це необхідно:"
+
+#: lib/yammerauthverifyform.php:87
+msgid "Open Yammer authentication window"
+msgstr "Відкрити вікно автентифікації Yammer"
+
+#: lib/yammerauthverifyform.php:90
+msgid "Copy the verification code you are given below:"
+msgstr "Скопіюйте наданий вам код підтвердження до віконця нижче:"
+
+#: lib/yammerauthverifyform.php:94
+msgid "Verification code:"
+msgstr "Код підтвердження:"
+
+#: lib/yammerauthverifyform.php:98 lib/yammerprogressform.php:164
+msgid "Continue"
+msgstr "Продовжити"
+
+#: lib/yammerauthverifyform.php:98
+msgid "Save code and begin import"
+msgstr "Зберегти код і почати імпорт"
+
+#: lib/yammerprogressform.php:63
+msgid "Initialize"
+msgstr "Ініціалізація"
+
+#: lib/yammerprogressform.php:64
+msgid "No import running"
+msgstr "Імпорт не працює"
+
+#: lib/yammerprogressform.php:65
+msgid "Initiated Yammer server connection..."
+msgstr "Розпочато з’єднання з сервером Yammer..."
+
+#: lib/yammerprogressform.php:69
+msgid "Awaiting authorization..."
+msgstr "Чекаємо дозволу..."
+
+#: lib/yammerprogressform.php:70
+msgid "Connected."
+msgstr "Під’єднано."
+
+#: lib/yammerprogressform.php:73
+msgid "Import user accounts"
+msgstr "Імпорт облікових записів користувачів"
+
+#: lib/yammerprogressform.php:74
+#, php-format
+msgid "Importing %d user..."
+msgid_plural "Importing %d users..."
+msgstr[0] "Імпорт %d користувача..."
+msgstr[1] "Імпорт %d користувачів..."
+msgstr[2] "Імпорт %d користувачів..."
+
+#: lib/yammerprogressform.php:75
+#, php-format
+msgid "Imported %d user."
+msgid_plural "Imported %d users."
+msgstr[0] "Імпортовано %d користувача."
+msgstr[1] "Імпортовано %d користувачів."
+msgstr[2] "Імпортовано %d користувачів."
+
+#: lib/yammerprogressform.php:78
+msgid "Import user groups"
+msgstr "Імпорт спільнот"
+
+#: lib/yammerprogressform.php:79
+#, php-format
+msgid "Importing %d group..."
+msgid_plural "Importing %d groups..."
+msgstr[0] "Імпорт %d спільноти..."
+msgstr[1] "Імпорт %d спільнот..."
+msgstr[2] "Імпорт %d спільнот..."
+
+#: lib/yammerprogressform.php:80
+#, php-format
+msgid "Imported %d group."
+msgid_plural "Imported %d groups."
+msgstr[0] "Імпортовано %d спільноту."
+msgstr[1] "Імпортовано %d спільнот."
+msgstr[2] "Імпортовано %d спільнот."
+
+#: lib/yammerprogressform.php:83
+msgid "Prepare public notices for import"
+msgstr "Підготовка до імпорту стрічки дописів"
+
+#: lib/yammerprogressform.php:84
+#, php-format
+msgid "Preparing %d notice..."
+msgid_plural "Preparing %d notices..."
+msgstr[0] "Підготовка %d допису..."
+msgstr[1] "Підготовка %d дописів..."
+msgstr[2] "Підготовка %d дописів..."
+
+#: lib/yammerprogressform.php:85
+#, php-format
+msgid "Prepared %d notice."
+msgid_plural "Prepared %d notices."
+msgstr[0] "Готовий %d допис."
+msgstr[1] "Готово %d дописів."
+msgstr[2] "Готово %d дописів."
+
+#: lib/yammerprogressform.php:88
+msgid "Import public notices"
+msgstr "Імпорт стрічки дописів"
+
+#: lib/yammerprogressform.php:89
+#, php-format
+msgid "Importing %d notice..."
+msgid_plural "Importing %d notices..."
+msgstr[0] "Імпорт %d допису..."
+msgstr[1] "Імпорт %d дописів..."
+msgstr[2] "Імпорт %d дописів..."
+
+#: lib/yammerprogressform.php:90
+#, php-format
+msgid "Imported %d notice."
+msgid_plural "Imported %d notices."
+msgstr[0] "Імпортовано %d допис."
+msgstr[1] "Імпортовано %d дописів."
+msgstr[2] "Імпортовано %d дописів."
+
+#: lib/yammerprogressform.php:93
+msgid "Done"
+msgstr "Виконано"
+
+#: lib/yammerprogressform.php:94 lib/yammerprogressform.php:95
+msgid "Import is complete!"
+msgstr "Імпорт завершено!"
+
+#: lib/yammerprogressform.php:108
+msgid "Import status"
+msgstr "Статус процесу імпорту"
+
+#: lib/yammerprogressform.php:132
+msgid "Waiting..."
+msgstr "Очікування..."
+
+#: lib/yammerprogressform.php:146
+msgid "Reset import state"
+msgstr ""
+
+#: lib/yammerprogressform.php:151
+msgid "Pause import"
+msgstr ""
+
+#: lib/yammerprogressform.php:160
+#, php-format
+msgid "Encountered error \"%s\""
+msgstr "Виявлено помилку «%s»"
+
+#: lib/yammerprogressform.php:162
+msgid "Paused"
+msgstr "Призупинено"
+
+#: lib/yammerprogressform.php:165
+msgid "Abort import"
+msgstr ""
+
+#: actions/yammeradminpanel.php:45
+msgid "Yammer Import"
+msgstr "Імпорт з Yammer"
+
+#: actions/yammeradminpanel.php:55
+msgid ""
+"This Yammer import tool is still undergoing testing, and is incomplete in "
+"some areas. Currently user subscriptions and group memberships are not "
+"transferred; in the future this may be supported for imports done by "
+"verified administrators on the Yammer side."
+msgstr ""
+"Цей додаток імпорту даних з Yammer все ще проходить випробовування і працює "
+"десь неповною мірою. На даний момент неможливо імпортувати дані щодо "
+"підписок та спільнот користувача; втім, можливо у майбутньому, адміністрація "
+"сайту Yammer піде нам на зустріч і тоді роботу над цим додатком буде "
+"завершено."
+
+#: actions/yammeradminpanel.php:102
+msgid "Paused from admin panel."
+msgstr "Призупинено з адміністраторської панелі."
diff --git a/plugins/YammerImport/scripts/yammer-import.php b/plugins/YammerImport/scripts/yammer-import.php
new file mode 100644
index 000000000..b4aa921e5
--- /dev/null
+++ b/plugins/YammerImport/scripts/yammer-import.php
@@ -0,0 +1,65 @@
+<?php
+
+if (php_sapi_name() != 'cli') {
+ die('no');
+}
+
+
+define('INSTALLDIR', dirname(dirname(dirname(dirname(__FILE__)))));
+
+$longoptions = array('verify=', 'reset');
+require INSTALLDIR . "/scripts/commandline.inc";
+
+echo "Checking current state...\n";
+$runner = YammerRunner::init();
+
+if (have_option('reset')) {
+ echo "Resetting Yammer import state...\n";
+ $runner->reset();
+ echo "done.\n";
+ exit(0);
+}
+
+switch ($runner->state())
+{
+ case 'init':
+ echo "Requesting authentication to Yammer API...\n";
+ $url = $runner->requestAuth();
+ echo "Log in to Yammer at the following URL and confirm permissions:\n";
+ echo "\n";
+ echo " $url\n";
+ echo "\n";
+ echo "Pass the resulting code back by running:\n";
+ echo "\n";
+ echo " php yammer-import.php --verify=####\n";
+ echo "\n";
+ break;
+
+ case 'requesting-auth':
+ if (!have_option('verify')) {
+ echo "Awaiting authentication...\n";
+ echo "\n";
+ echo "If you need to start over, reset the state:\n";
+ echo "\n";
+ echo " php yammer-import.php --reset\n";
+ echo "\n";
+ exit(1);
+ }
+ echo "Saving final authentication token for Yammer API...\n";
+ $runner->saveAuthToken(get_option_value('verify'));
+ // Fall through...
+
+ default:
+ while ($runner->hasWork()) {
+ echo "... {$runner->state()}\n";
+ if (!$runner->iterate()) {
+ echo "FAIL??!?!?!\n";
+ }
+ }
+ if ($runner->isDone()) {
+ echo "... done.\n";
+ } else {
+ echo "... no more import work scheduled.\n";
+ }
+ break;
+}