[CORE][COMPOSER] Move extlib packages with immediate composer correspondent to composer dependencies
This adds a composer.json for all dependencies that are available
BIN
public/plugins/ActivitySpam/icons/bullet_black.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
public/plugins/ActivitySpam/icons/exclamation.png
Normal file
After Width: | Height: | Size: 701 B |
137
public/plugins/Autocomplete/js/autocomplete.go.js
Normal file
@@ -0,0 +1,137 @@
|
||||
/** Init for Autocomplete (requires jquery-ui)
|
||||
*
|
||||
* @package Plugin
|
||||
* @author Mikael Nordfeldth <mmn@hethane.se>
|
||||
* @copyright 2013 Free Software Foundation, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
*/
|
||||
|
||||
var origInit = SN.Init.NoticeFormSetup;
|
||||
SN.Init.NoticeFormSetup = function(form) {
|
||||
origInit(form);
|
||||
|
||||
// Only attach to traditional-style forms
|
||||
var textarea = form.find('.notice_data-text:first');
|
||||
if (textarea.length === 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
function termSplit(val) {
|
||||
return val.split(/ \s*/);
|
||||
}
|
||||
function extractLast( term ) {
|
||||
return termSplit(term).pop();
|
||||
}
|
||||
var apiUrl = $('#autocomplete-api').attr('data-url');
|
||||
// migrated "multiple" and "multipleSeparator" from
|
||||
// http://www.learningjquery.com/2010/06/autocomplete-migration-guide
|
||||
textarea
|
||||
.bind('keydown', function( event ) {
|
||||
if ( event.keyCode === $.ui.keyCode.TAB &&
|
||||
$( this ).data( "ui-autocomplete" ).menu.active ) {
|
||||
event.preventDefault();
|
||||
}
|
||||
})
|
||||
.autocomplete({
|
||||
minLength: 1, // 1 is default
|
||||
source: function (request, response) {
|
||||
$.getJSON( apiUrl, {
|
||||
term: extractLast(request.term)
|
||||
}, response );
|
||||
},
|
||||
search: function () {
|
||||
// custom minLength, we though we match the 1 below
|
||||
var term = extractLast(this.value);
|
||||
if (term.length <= 1) {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
focus: function () {
|
||||
// prevent value inserted on focus
|
||||
return false;
|
||||
},
|
||||
select: function (event, ui) {
|
||||
var terms = termSplit(this.value);
|
||||
terms.pop(); // remove latest term
|
||||
terms.push(ui.item.value); // insert
|
||||
terms.push(''); // empty element, for the join()
|
||||
this.value = terms.join(' ');
|
||||
return false;
|
||||
},
|
||||
})
|
||||
.data('ui-autocomplete')._renderItem = function (ul, item) {
|
||||
return $('<li></li>')
|
||||
.data('ui-autocomplete-item', item)
|
||||
.append('<a><img style="display:inline; vertical-align: middle"><span /></a>')
|
||||
.find('img').attr('src', item.avatar).end()
|
||||
.find('span').text(item.label).end()
|
||||
.appendTo(ul);
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* Called when a people tag edit box is shown in the interface
|
||||
*
|
||||
* - loads the jQuery UI autocomplete plugin
|
||||
* - sets event handlers for tag completion
|
||||
*
|
||||
*/
|
||||
SN.Init.PeopletagAutocomplete = function(txtBox) {
|
||||
var split,
|
||||
extractLast;
|
||||
|
||||
split = function(val) {
|
||||
return val.split( /\s+/ );
|
||||
};
|
||||
|
||||
extractLast = function(term) {
|
||||
return split(term).pop();
|
||||
};
|
||||
|
||||
// don't navigate away from the field on tab when selecting an item
|
||||
txtBox
|
||||
.on('keydown', function(event) {
|
||||
if (event.keyCode === $.ui.keyCode.TAB &&
|
||||
$(this).data('ui-autocomplete').menu.active) {
|
||||
event.preventDefault();
|
||||
}
|
||||
})
|
||||
.autocomplete({
|
||||
minLength: 0,
|
||||
source: function(request, response) {
|
||||
// delegate back to autocomplete, but extract the last term
|
||||
response($.ui.autocomplete.filter(
|
||||
SN.C.PtagACData, extractLast(request.term)));
|
||||
},
|
||||
focus: function () {
|
||||
return false;
|
||||
},
|
||||
select: function(event, ui) {
|
||||
var terms = split(this.value);
|
||||
terms.pop();
|
||||
terms.push(ui.item.value);
|
||||
terms.push('');
|
||||
this.value = terms.join(' ');
|
||||
return false;
|
||||
}
|
||||
})
|
||||
.data('ui-autocomplete')
|
||||
._renderItem = function (ul, item) {
|
||||
// FIXME: with jQuery UI you cannot have it highlight the match
|
||||
var _l = '<a class="ptag-ac-line-tag">' + item.tag +
|
||||
' <em class="privacy_mode">' + item.mode + '</em>' +
|
||||
'<span class="freq">' + item.freq + '</span></a>';
|
||||
|
||||
return $('<li/>')
|
||||
.addClass('mode-' + item.mode)
|
||||
.addClass('ptag-ac-line')
|
||||
.data('item.autocomplete', item)
|
||||
.append(_l)
|
||||
.appendTo(ul);
|
||||
};
|
||||
};
|
||||
|
||||
$(document).on('click', '.peopletags_edit_button', function () {
|
||||
SN.Init.PeopletagAutocomplete($(this).closest('dd').find('[name="tags"]'));
|
||||
});
|
9
public/plugins/Bookmark/bookmarklet
Normal file
@@ -0,0 +1,9 @@
|
||||
<!-- Copyright 2008-2010 StatusNet Inc. and contributors. -->
|
||||
<!-- Document licensed under Creative Commons Attribution 3.0 Unported. See -->
|
||||
<!-- http://creativecommons.org/licenses/by/3.0/ for details. -->
|
||||
|
||||
A bookmarklet is a small piece of javascript code used as a bookmark. This one will let you post to %%site.name%% simply by selecting some text on a page and pressing the bookmarklet.
|
||||
|
||||
Drag-and-drop the following link to your bookmarks bar or right-click it and add it to your browser favorites to keep it handy.
|
||||
|
||||
<a href="javascript:(function(){var%20d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://%%site.server%%/%%site.path%%/index.php?action=bookmarkpopup',l=d.location,e=encodeURIComponent,g=f+'&title='+((e(s))?e(s):e(document.title))+'&url='+e(l.href);function%20a(){if(!w.open(g,'t','toolbar=0,resizable=0,scrollbars=1,status=1,width=650,height=520')){l.href=g;}}a();})()">Bookmark on %%site.name%%</a>
|
30
public/plugins/Bookmark/bookmarkpopup.js
Normal file
@@ -0,0 +1,30 @@
|
||||
$(document).ready(
|
||||
function() {
|
||||
var form = $('#form_new_bookmark');
|
||||
form.append('<input type="hidden" name="ajax" value="1"/>');
|
||||
function doClose() {
|
||||
self.close();
|
||||
// If in popup blocker situation, we'll have to redirect back.
|
||||
setTimeout(function() {
|
||||
window.location = $('#url').val();
|
||||
}, 100);
|
||||
}
|
||||
form.ajaxForm({dataType: 'xml',
|
||||
timeout: '60000',
|
||||
beforeSend: function(formData) {
|
||||
form.addClass('processing');
|
||||
form.find('#submit').addClass('disabled');
|
||||
},
|
||||
error: function (xhr, textStatus, errorThrown) {
|
||||
form.removeClass('processing');
|
||||
form.find('#submit').removeClass('disabled');
|
||||
doClose();
|
||||
},
|
||||
success: function(data, textStatus) {
|
||||
form.removeClass('processing');
|
||||
form.find('#submit').removeClass('disabled');
|
||||
doClose();
|
||||
}});
|
||||
|
||||
}
|
||||
);
|
134
public/plugins/Bookmark/css/bookmark.css
Normal file
@@ -0,0 +1,134 @@
|
||||
/* Bookmark specific styles */
|
||||
|
||||
.bookmark-tags li { display: inline; }
|
||||
|
||||
.bookmark h3 {
|
||||
margin: 4px 0px 8px 0px;
|
||||
}
|
||||
|
||||
.bookmark-notice-count {
|
||||
border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
padding: 1px 6px;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.2em;
|
||||
background: #fff;
|
||||
border: 1px solid #7b8dbb;
|
||||
color: #3e3e8c !important;
|
||||
position: relative;
|
||||
right: 4px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.bookmark-notice-count:hover {
|
||||
text-decoration: none;
|
||||
background: #f2f2f2;
|
||||
border: 1px solid #7b8dbb;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
.notice .bookmark-description {
|
||||
clear: both;
|
||||
margin-left: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.notice .bookmark-author {
|
||||
margin-left: 0px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.bookmark-tags {
|
||||
clear: both;
|
||||
margin-bottom: 4px;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
ul.bookmark-tags a {
|
||||
border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
padding: 1px 6px;
|
||||
background: #f2f2f2;
|
||||
color: #3e3e8c !important;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.5);
|
||||
font-size: 0.88em;
|
||||
}
|
||||
|
||||
ul.bookmark-tags a:hover {
|
||||
background-color: #cdd1dd;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bookmark-avatar {
|
||||
float: none !important;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.bookmark div.e-content {
|
||||
font-size: 0.88em;
|
||||
line-height: 1.2em;
|
||||
margin-top: 6px;
|
||||
opacity: 0.6;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bookmark:hover div.e-content {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#bookmarkpopup {
|
||||
min-width: 600px;
|
||||
margin-top: 0px;
|
||||
height: 100%;
|
||||
border: 10px solid #364A84;
|
||||
background: #364A84;
|
||||
}
|
||||
|
||||
#bookmarkpopup #wrap {
|
||||
width: auto;
|
||||
min-width: 560px;
|
||||
padding: 40px 0px 25px 0px;
|
||||
margin-right: 2px;
|
||||
background: #fff url(../mobilelogo.png) no-repeat 6px 6px;
|
||||
}
|
||||
|
||||
#bookmarkpopup #header {
|
||||
width: auto;
|
||||
padding: 0px 10px;
|
||||
}
|
||||
|
||||
#bookmarkpopup .form_settings label {
|
||||
margin-top: 2px;
|
||||
text-align: right;
|
||||
width: 24%;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#bookmarkpopup .form_settings .form_data input {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
#bookmarkpopup .form_guide {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
#bookmarkpopup #bookmark-submit {
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#bookmarkpopup fieldset fieldset {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#form_initial_bookmark.form_settings .form_data li {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
#form_new_bookmark.form_settings .bookmarkform-thumbnail {
|
||||
position: absolute;
|
||||
top: 50px;
|
||||
right: 0px;
|
||||
}
|
36
public/plugins/Bookmark/js/bookmark.js
Normal file
@@ -0,0 +1,36 @@
|
||||
var Bookmark = {
|
||||
|
||||
// Special XHR that sends in some code to be run
|
||||
// when the full bookmark form gets loaded
|
||||
BookmarkXHR: function(form)
|
||||
{
|
||||
SN.U.FormXHR(form, Bookmark.InitBookmarkForm);
|
||||
return false;
|
||||
},
|
||||
|
||||
// Special initialization function just for the
|
||||
// second step in the bookmarking workflow
|
||||
InitBookmarkForm: function() {
|
||||
SN.Init.CheckBoxes();
|
||||
$('fieldset fieldset label').inFieldLabels({ fadeOpacity:0 });
|
||||
SN.Init.NoticeFormSetup($('#form_new_bookmark'));
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
// Stop normal live event stuff
|
||||
$(document).off("submit", "form.ajax");
|
||||
$(document).off("click", "form.ajax input[type=submit]");
|
||||
|
||||
// Make the bookmark submit super special
|
||||
$(document).on('submit', '#form_initial_bookmark', function (e) {
|
||||
Bookmark.BookmarkXHR($(this));
|
||||
e.stopPropagation();
|
||||
return false;
|
||||
});
|
||||
|
||||
// Restore live event stuff to other forms & submit buttons
|
||||
SN.Init.AjaxForms();
|
||||
|
||||
});
|
77
public/plugins/ClientSideShorten/shorten.js
Normal file
@@ -0,0 +1,77 @@
|
||||
//wrap everything in a self-executing anonymous function to avoid conflicts
|
||||
(function(){
|
||||
|
||||
// smart(x) from Paul Irish
|
||||
// http://paulirish.com/2009/throttled-smartresize-jquery-event-handler/
|
||||
|
||||
(function($,sr){
|
||||
|
||||
// debouncing function from John Hann
|
||||
// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
|
||||
var debounce = function (func, threshold, execAsap) {
|
||||
var timeout;
|
||||
|
||||
return function debounced () {
|
||||
var obj = this, args = arguments;
|
||||
function delayed () {
|
||||
if (!execAsap)
|
||||
func.apply(obj, args);
|
||||
timeout = null;
|
||||
};
|
||||
|
||||
if (timeout)
|
||||
clearTimeout(timeout);
|
||||
else if (execAsap)
|
||||
func.apply(obj, args);
|
||||
|
||||
timeout = setTimeout(delayed, threshold || 100);
|
||||
};
|
||||
}
|
||||
jQuery.fn[sr] = function(fn){ return fn ? this.bind('keypress', debounce(fn, 1000)) : this.trigger(sr); };
|
||||
|
||||
})(jQuery,'smartkeypress');
|
||||
|
||||
function longestWordInString(string)
|
||||
{
|
||||
var words = string.split(/\s/);
|
||||
var longestWord = 0;
|
||||
for(var i=0;i<words.length;i++)
|
||||
if(words[i].length > longestWord) longestWord = words[i].length;
|
||||
return longestWord;
|
||||
}
|
||||
|
||||
function shorten()
|
||||
{
|
||||
var $noticeDataText = $('#'+SN.C.S.NoticeDataText);
|
||||
var noticeText = $noticeDataText.val();
|
||||
|
||||
if(noticeText.length > maxNoticeLength || longestWordInString(noticeText) > maxUrlLength) {
|
||||
var original = $noticeDataText.val();
|
||||
shortenAjax = $.ajax({
|
||||
url: $('address .url')[0].href+'/plugins/ClientSideShorten/shorten',
|
||||
data: { text: $noticeDataText.val() },
|
||||
dataType: 'text',
|
||||
success: function(data) {
|
||||
if(original == $noticeDataText.val()) {
|
||||
$noticeDataText.val(data).keyup();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
$noticeDataText = $('#'+SN.C.S.NoticeDataText);
|
||||
$noticeDataText.smartkeypress(function(e){
|
||||
//if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort();
|
||||
if(e.charCode == '32') {
|
||||
shorten();
|
||||
}
|
||||
});
|
||||
$noticeDataText.bind('paste', function() {
|
||||
//if(typeof(shortenAjax) !== 'undefined') shortenAjax.abort();
|
||||
setTimeout(shorten,1);
|
||||
});
|
||||
});
|
||||
|
||||
})();
|
27
public/plugins/Comet/js/cometupdate.js
Normal file
@@ -0,0 +1,27 @@
|
||||
// update the local timeline from a Comet server
|
||||
var CometUpdate = function()
|
||||
{
|
||||
var _server;
|
||||
var _timeline;
|
||||
var _userid;
|
||||
var _replyurl;
|
||||
var _favorurl;
|
||||
var _deleteurl;
|
||||
var _cometd;
|
||||
|
||||
return {
|
||||
init: function(server, timeline, userid, replyurl, favorurl, deleteurl)
|
||||
{
|
||||
_cometd = $.cometd; // Uses the default Comet object
|
||||
_cometd.init(server);
|
||||
_server = server;
|
||||
_timeline = timeline;
|
||||
_userid = userid;
|
||||
_favorurl = favorurl;
|
||||
_replyurl = replyurl;
|
||||
_deleteurl = deleteurl;
|
||||
_cometd.subscribe(timeline, function(message) { RealtimeUpdate.receive(message.data) });
|
||||
$(window).unload(function() { _cometd.disconnect(); } );
|
||||
}
|
||||
}
|
||||
}();
|
1451
public/plugins/Comet/js/jquery.comet.js
Normal file
72
public/plugins/DirectionDetector/jquery.DirectionDetector.js
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
/**
|
||||
*
|
||||
* 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;
|
||||
};
|
||||
var origInit = SN.Init.NoticeFormSetup;
|
||||
SN.Init.NoticeFormSetup = function(form) {
|
||||
origInit(form);
|
||||
var tArea = form.find(".notice_data-text:first");
|
||||
if (tArea.length > 0) {
|
||||
var tCleaner = new RegExp('@[^ ]+|![^ ]+|#[^ ]+|^RT[: ]{1}| RT | RT: |^RD[: ]{1}| RD | RD: |[♺♻:]+', 'g')
|
||||
var ping = function(){
|
||||
var cleaned = tArea.val().replace(tCleaner, '').replace(/^[ ]+/, '');
|
||||
if($().isRTL(cleaned))
|
||||
tArea.css('direction', 'rtl');
|
||||
else
|
||||
tArea.css('direction', 'ltr');
|
||||
};
|
||||
tArea.bind('keyup cut paste', function() {
|
||||
// cut/paste trigger before the change
|
||||
window.setTimeout(ping, 0);
|
||||
});
|
||||
form.bind('reset', function() {
|
||||
tArea.css('direction', 'ltr');
|
||||
});
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
60
public/plugins/Directory/css/directory.css
Normal file
@@ -0,0 +1,60 @@
|
||||
/* CSS file for the Directory plugin */
|
||||
|
||||
div#profile_directory div.alpha_nav {
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* XXX: this needs serious CSS foo */
|
||||
div#profile_directory div.alpha_nav > a {
|
||||
border-left: 1px solid #000;
|
||||
padding-left: 2px;
|
||||
}
|
||||
div#profile_directory div.alpha_nav > a.first {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
div#profile_directory div.alpha_nav a:link {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
div#profile_directory div.alpha_nav a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
div#profile_directory div.alpha_nav a:active {
|
||||
text-decoration: none;
|
||||
}
|
||||
div#profile_directory div.alpha_nav a:hover {
|
||||
text-decoration: underline; color: blue;
|
||||
}
|
||||
|
||||
div#profile_directory div.alpha_nav a.current {
|
||||
background-color:#9BB43E;
|
||||
}
|
||||
|
||||
table.profile_list {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.profile_list tr {
|
||||
float: none;
|
||||
}
|
||||
|
||||
table.profie_list td {
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
th.current {
|
||||
background-image: url(../images/control_arrow_down.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 60% 2px;
|
||||
}
|
||||
|
||||
th.current.reverse {
|
||||
background-image: url(../images/control_arrow_up.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: 60% 2px;
|
||||
}
|
BIN
public/plugins/Directory/images/control_arrow_down.gif
Normal file
After Width: | Height: | Size: 110 B |
BIN
public/plugins/Directory/images/control_arrow_up.gif
Normal file
After Width: | Height: | Size: 111 B |
72
public/plugins/DomainWhitelist/js/whitelistinvite.js
Normal file
@@ -0,0 +1,72 @@
|
||||
// XXX: Should I do crazy SN.X.Y.Z.A namespace instead?
|
||||
var SN_WHITELIST = SN_WHITELIST || {};
|
||||
|
||||
SN_WHITELIST.updateButtons = function () {
|
||||
$("ul > li > a.remove_row").show();
|
||||
$("ul > li > a.add_row").hide();
|
||||
|
||||
var lis = $('ul > li > input[name^="username[]"]');
|
||||
if (lis.length === 1) {
|
||||
$("ul > li > a.remove_row").hide();
|
||||
} else {
|
||||
$("ul > li > a.remove_row:first").show();
|
||||
}
|
||||
$("ul > li > a.add_row:last").show();
|
||||
};
|
||||
|
||||
SN_WHITELIST.resetRow = function (row) {
|
||||
$("input", row).val('');
|
||||
// Make sure the default domain is the first selection
|
||||
$("select option:first", row).val();
|
||||
$("a.remove_row", row).show();
|
||||
};
|
||||
|
||||
SN_WHITELIST.addRow = function () {
|
||||
var row = $(this).closest("li");
|
||||
var newRow = row.clone();
|
||||
$(row).find('a.add_row').hide();
|
||||
SN_WHITELIST.resetRow(newRow);
|
||||
$(newRow).insertAfter(row).show("blind", "fast", function () {
|
||||
SN_WHITELIST.updateButtons();
|
||||
});
|
||||
};
|
||||
|
||||
SN_WHITELIST.removeRow = function () {
|
||||
var that = this;
|
||||
|
||||
$("#confirm-dialog").dialog({
|
||||
buttons : {
|
||||
"Confirm" : function () {
|
||||
$(this).dialog("close");
|
||||
$(that).closest("li").hide("blind", "fast", function () {
|
||||
$(this).remove();
|
||||
SN_WHITELIST.updateButtons();
|
||||
});
|
||||
},
|
||||
"Cancel" : function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if ($(this).closest('li').find(':input[name^=username]').val()) {
|
||||
$("#confirm-dialog").dialog("open");
|
||||
} else {
|
||||
$(that).closest("li").hide("blind", "fast", function () {
|
||||
$(this).remove();
|
||||
SN_WHITELIST.updateButtons();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
$("#confirm-dialog").dialog({
|
||||
autoOpen: false,
|
||||
modal: true
|
||||
});
|
||||
|
||||
$(document).on('click', '.add_row', SN_WHITELIST.addRow);
|
||||
$(document).on('click', '.remove_row', SN_WHITELIST.removeRow);
|
||||
|
||||
SN_WHITELIST.updateButtons();
|
||||
});
|
126
public/plugins/Event/css/event.css
Normal file
@@ -0,0 +1,126 @@
|
||||
/* Event specific styles */
|
||||
|
||||
.event-tags li { display: inline; }
|
||||
.event-mentions li { display: inline; }
|
||||
.event-avatar { float: left; }
|
||||
.event-notice-count { float: right; }
|
||||
.event-info { float: left; }
|
||||
.event-title { margin-left: 0px; }
|
||||
.ui-autocomplete {
|
||||
max-height: 100px;
|
||||
overflow-y: auto;
|
||||
/* prevent horizontal scrollbar */
|
||||
overflow-x: hidden;
|
||||
/* add padding to account for vertical scrollbar */
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
.attending-list { list-style-type: none; float: left; width: 100%; }
|
||||
|
||||
#form_event_rsvp { clear: left; }
|
||||
|
||||
li.rsvp-list { float: left; clear: left; }
|
||||
|
||||
li.rsvp-list ul.entities {
|
||||
display:inline;
|
||||
}
|
||||
li.rsvp-list .entities li {
|
||||
list-style-type: none;
|
||||
margin-right: 3px;
|
||||
margin-bottom: 8px;
|
||||
display: inline;
|
||||
}
|
||||
li.rsvp-list .entities li .u-photo {
|
||||
margin: 0 !important;
|
||||
float: none !important;
|
||||
}
|
||||
|
||||
.notice .h-event div {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.event-info {
|
||||
margin-left: 0px !important;
|
||||
margin-top: 2px !important;
|
||||
}
|
||||
|
||||
.notice .event-info + .notice-options {
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.notice .threaded-replies .event-info + .notice-options {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
#form_event_rsvp #new_rsvp_data {
|
||||
display: inline;
|
||||
margin: 10px 0px;
|
||||
}
|
||||
|
||||
#form_event_rsvp input.submit {
|
||||
height: auto;
|
||||
padding: 0px 10px;
|
||||
margin-left: 10px;
|
||||
color:#fff;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
font-size: 1.1em;
|
||||
text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.2);
|
||||
border: 1px solid #d7621c;
|
||||
border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
background: #FB6104;
|
||||
background: -moz-linear-gradient(top, #ff9d63 0%, #fb6104 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff9d63), color-stop(100%,#fb6104));
|
||||
background: -webkit-linear-gradient(top, #ff9d63 0%,#fb6104 100%);
|
||||
background: -o-linear-gradient(top, #ff9d63 0%,#fb6104 100%);
|
||||
background: -ms-linear-gradient(top, #ff9d63 0%,#fb6104 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff9d63', endColorstr='#fb6104',GradientType=0 );
|
||||
background: linear-gradient(top, #ff9d63 0%,#fb6104 100%);
|
||||
}
|
||||
|
||||
#form_event_rsvp input.submit:hover {
|
||||
text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.6);
|
||||
background: #ff9d63;
|
||||
background: -moz-linear-gradient(top, #fb6104 0%, #fc8035 100%);
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fb6104), color-stop(100%,#fc8035));
|
||||
background: -webkit-linear-gradient(top, #fb6104 0%,#fc8035 100%);
|
||||
background: -o-linear-gradient(top, #fb6104 0%,#fc8035 100%);
|
||||
background: -ms-linear-gradient(top, #fb6104 0%,#fc8035 100%);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fb6104', endColorstr='#fc8035',GradientType=0 );
|
||||
background: linear-gradient(top, #fb6104 0%,#fc8035 100%);
|
||||
}
|
||||
|
||||
#wrap .h-event form.processing input.submit {
|
||||
text-indent: 0;
|
||||
background: #ff9d63;
|
||||
}
|
||||
|
||||
#input_form_event .form_settings .form_data {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#input_form_event .form_settings .form_data li {
|
||||
float: left;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
#input_form_event .form_settings .form_data label {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
label[for=event-starttime], label[for=event-endtime] {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
#event-starttime, #event-endtime {
|
||||
margin-top: -1px;
|
||||
margin-bottom: -1px;
|
||||
height: 2em;
|
||||
}
|
||||
|
||||
#event-startdate, #event-enddate {
|
||||
margin-right: 20px;
|
||||
width: 120px;
|
||||
}
|
144
public/plugins/Event/js/event.js
Normal file
@@ -0,0 +1,144 @@
|
||||
$(document).ready(function() {
|
||||
|
||||
// get current time from server
|
||||
var today = new Date($('now').val());
|
||||
|
||||
$("#event-startdate").datepicker({
|
||||
// Don't let the user set a start date < before today
|
||||
minDate: today,
|
||||
onClose: onStartDateSelected
|
||||
});
|
||||
|
||||
$("#event-enddate").datepicker({
|
||||
minDate: today,
|
||||
onClose: onEndDateSelected
|
||||
});
|
||||
|
||||
$("#event-starttime").change(function(e) {
|
||||
var tz = $("#tz").val();
|
||||
|
||||
var startDate = $("#event-startdate").val();
|
||||
var startTime = $("#event-starttime option:selected").val().replace(/(pm|am)/, ' $1');
|
||||
var startStr = startDate + ' ' + startTime + ' ' + tz;
|
||||
|
||||
var endDate = $("#event-enddate").val();
|
||||
var endTime = $("#event-endtime option:selected").val();
|
||||
var endStr = endDate + ' ' + endTime.replace(/(pm|am)/, ' $1') + ' ' + tz;
|
||||
|
||||
// just need to compare hours
|
||||
var start = new Date(startStr);
|
||||
var end = new Date(endStr);
|
||||
|
||||
updateTimes(startStr, (startDate === endDate), function (data) {
|
||||
var times = [];
|
||||
$.each(data, function(key, val) {
|
||||
times.push('<option value="' + key + '">' + val + '</option>');
|
||||
});
|
||||
$("#event-endtime").html(times.join(''));
|
||||
|
||||
if (start > end) {
|
||||
$("#event-endtime").val(startTime).attr("selected", "selected");
|
||||
} else {
|
||||
$("#event-endtime").val(endTime).attr("selected", "selected");
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$("#event-endtime").change(function(e) {
|
||||
var HOUR = 60 * 60 * 1000;
|
||||
var tz = $("#tz").val();
|
||||
var startDate = $("#event-startdate").val();
|
||||
var endDate = $("#event-enddate").val();
|
||||
var starttime = $("#event-starttime option:selected").val();
|
||||
var endtime = $("#event-endtime option:selected").val();
|
||||
var endtimeText = $("#event-endtime option:selected").text();
|
||||
|
||||
// If the end time is in the next day then update the start date
|
||||
if (startDate === endDate) {
|
||||
var startstr = startDate + ' ' + starttime.replace(/(pm|am)/, ' $1') + ' ' + tz;
|
||||
var start = new Date(startstr);
|
||||
var matches = endtimeText.match(/\(.*\)/);
|
||||
var hours;
|
||||
if (matches) {
|
||||
hours = matches[0].substr(1).split(' ')[0]; // get x from (x hours)
|
||||
if (hours) {
|
||||
if (hours == 30) {
|
||||
hours = .5; // special case: x == 30 from (30 mins)
|
||||
}
|
||||
var end = new Date(start.getTime() + (hours * HOUR));
|
||||
if (end.getDate() > start.getDate()) {
|
||||
$("#event-enddate").datepicker('setDate', end);
|
||||
var endstr = endDate + ' 12:00 am ' + tz;
|
||||
updateTimes(endstr, false, function(data) {
|
||||
var times = [];
|
||||
$.each(data, function(key, val) {
|
||||
times.push('<option value="' + key + '">' + val + '</option>');
|
||||
});
|
||||
$("#event-endtime").html(times.join(''));
|
||||
|
||||
if (start > end) {
|
||||
$("#event-endtime").val(starttime).attr("selected", "selected");
|
||||
} else {
|
||||
$("#event-endtime").val(endtime).attr("selected", "selected");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function onStartDateSelected(dateText, inst) {
|
||||
var tz = $("#tz").val();
|
||||
var startTime = $("#event-starttime option:selected").val();
|
||||
var startDateTime = new Date(dateText + ' ' + startTime.replace(/(pm|am)/, ' $1') + ' ' + tz);
|
||||
|
||||
// When we update the start date and time, we need to update the end date and time
|
||||
// to make sure they are equal or in the future
|
||||
$("#event-enddate").datepicker('option', 'minDate', startDateTime);
|
||||
|
||||
recalculateTimes();
|
||||
}
|
||||
|
||||
function onEndDateSelected(dateText, inst) {
|
||||
recalculateTimes();
|
||||
}
|
||||
|
||||
function recalculateTimes(showDuration) {
|
||||
var tz = $("#tz").val();
|
||||
|
||||
var startDate = $("#event-startdate").val();
|
||||
var startTime = $("#event-starttime option:selected").val();
|
||||
var startStr = startDate + ' ' + startTime.replace(/(pm|am)/, ' $1') + ' ' + tz;
|
||||
var startDateTime = new Date(startStr);
|
||||
|
||||
var endDate = $("#event-enddate").val();
|
||||
var endTime = $("#event-endtime option:selected").val();
|
||||
var endDateTime = new Date(endDate + ' ' + endTime.replace(/(pm|am)/, ' $1') + ' ' + tz);
|
||||
var showDuration = true;
|
||||
|
||||
if (endDateTime.getDate() !== startDateTime.getDate()) {
|
||||
starStr = endDate + ' 12:00 am ' + tz;
|
||||
showDuration = false;
|
||||
}
|
||||
|
||||
updateTimes(startStr, showDuration, function(data) {
|
||||
var times = [];
|
||||
$.each(data, function(key, val) {
|
||||
times.push('<option value="' + key + '">' + val + '</option>');
|
||||
});
|
||||
$("#event-endtime").html(times.join(''));
|
||||
if (startDateTime > endDateTime) {
|
||||
$("#event-endtime").val(startTime).attr("selected", "selected");
|
||||
} else {
|
||||
$("#event-endtime").val(endTime).attr("selected", "selected");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function updateTimes(start, duration, onSuccess) {
|
||||
$.getJSON($('#timelist_action_url').val(), {start: start, ajax: true, duration: duration}, onSuccess);
|
||||
}
|
||||
|
||||
});
|
165
public/plugins/ExtendedProfile/css/profiledetail.css
Normal file
@@ -0,0 +1,165 @@
|
||||
/* Note the #content is only needed to override weird crap in default styles */
|
||||
|
||||
#profiledetail .entity_actions {
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
#profiledetail #content h3 {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#content table.extended-profile {
|
||||
width: 100%;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0px 8px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#content table.extended-profile th {
|
||||
color: #777;
|
||||
background-color: #ECECF2;
|
||||
width: 150px;
|
||||
text-align: right;
|
||||
padding: 2px 8px 2px 0px;
|
||||
}
|
||||
|
||||
#content table.extended-profile th.employer, #content table.extended-profile th.institution {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#content table.extended-profile td {
|
||||
padding: 2px 0px 2px 8px;
|
||||
}
|
||||
|
||||
.experience-item, .education-item {
|
||||
float: left;
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
||||
.experience-item .label, .education-item .label {
|
||||
float: left;
|
||||
clear: left;
|
||||
position: relative;
|
||||
left: -8px;
|
||||
margin-right: 2px;
|
||||
margin-bottom: 8px;
|
||||
color: #777;
|
||||
background-color: #ECECF2;
|
||||
width: 150px;
|
||||
text-align: right;
|
||||
padding: 2px 8px 2px 0px;
|
||||
}
|
||||
|
||||
.experience-item .field, .education-item .field {
|
||||
float: left;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 2px;
|
||||
max-width: 350px;
|
||||
}
|
||||
|
||||
#profiledetailsettings #content table.extended-profile td {
|
||||
padding: 0px 0px 0px 8px;
|
||||
}
|
||||
|
||||
#profiledetailsettings input {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.form_settings .extended-profile label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.extended-profile textarea {
|
||||
width: 280px;
|
||||
}
|
||||
|
||||
.extended-profile input[type=text] {
|
||||
width: 280px;
|
||||
}
|
||||
|
||||
.extended-profile .phone-item input[type=text], .extended-profile .im-item input[type=text], .extended-profile .website-item input[type=text] {
|
||||
width: 175px;
|
||||
}
|
||||
|
||||
.extended-profile input.hasDatepicker {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.experience-item input[type=text], .education-item input[type=text] {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.extended-profile .current-checkbox {
|
||||
float: left;
|
||||
position: relative;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.form_settings .extended-profile input.checkbox {
|
||||
margin-left: 0px;
|
||||
left: 0px;
|
||||
top: 2px;
|
||||
}
|
||||
|
||||
.form_settings .extended-profile label.checkbox {
|
||||
max-width: 100%;
|
||||
float: none;
|
||||
display: inline;
|
||||
left: -20px;
|
||||
}
|
||||
|
||||
.extended-profile select {
|
||||
padding-right: 2px;
|
||||
font-size: 0.88em;
|
||||
}
|
||||
|
||||
.extended-profile a.add_row, .extended-profile a.remove_row {
|
||||
display: block;
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
overflow: hidden;
|
||||
background-image: url('../../../theme/base/images/icons/icons-01.gif');
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.extended-profile a.remove_row {
|
||||
background-position: 0px -1252px;
|
||||
float: right;
|
||||
position: relative;
|
||||
top: 6px;
|
||||
line-height: 4em;
|
||||
}
|
||||
|
||||
.extended-profile a.add_row {
|
||||
clear: both;
|
||||
position: relative;
|
||||
top: 6px;
|
||||
left: 2px;
|
||||
background-position: 0px -1186px;
|
||||
width: 120px;
|
||||
padding-left: 20px;
|
||||
line-height: 1.2em;
|
||||
}
|
||||
|
||||
#content table.extended-profile .supersizeme th {
|
||||
border-bottom: 28px solid #fff;
|
||||
}
|
||||
|
||||
#profiledetailsettings .experience-item, #profiledetailsettings .education-item {
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#profiledetailsettings .education-item textarea {
|
||||
float: left;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
#profiledetailsettings tr:last-child .experience-item, #profiledetailsettings tr:last-child .education-item {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
#profiledetailsettings .experience-item a.add_row, #profiledetailsettings .education-item a.add_row {
|
||||
left: 160px;
|
||||
}
|
144
public/plugins/ExtendedProfile/js/profiledetail.js
Normal file
@@ -0,0 +1,144 @@
|
||||
var SN_EXTENDED = SN_EXTENDED || {};
|
||||
|
||||
SN_EXTENDED.reorder = function (cls) {
|
||||
|
||||
var divs = $('div[class=' + cls + ']');
|
||||
|
||||
$(divs).each(function (i, div) {
|
||||
$(div).find('a.add_row').hide();
|
||||
$(div).find('a.remove_row').show();
|
||||
SN_EXTENDED.replaceIndex(SN_EXTENDED.rowIndex(div), i);
|
||||
});
|
||||
|
||||
var lastDiv = $(divs).last().closest('tr');
|
||||
lastDiv.addClass('supersizeme');
|
||||
|
||||
$(divs).last().find('a.add_row').show();
|
||||
|
||||
if (divs.length == 1) {
|
||||
$(divs).find('a.remove_row').fadeOut("slow");
|
||||
}
|
||||
};
|
||||
|
||||
SN_EXTENDED.rowIndex = function (div) {
|
||||
var idstr = $(div).attr('id');
|
||||
var id = idstr.match(/\d+/);
|
||||
return id;
|
||||
};
|
||||
|
||||
SN_EXTENDED.rowCount = function (cls) {
|
||||
var divs = $.find('div[class=' + cls + ']');
|
||||
return divs.length;
|
||||
};
|
||||
|
||||
SN_EXTENDED.replaceIndex = function (elem, oldIndex, newIndex) {
|
||||
$(elem).find('*').each(function () {
|
||||
$.each(this.attributes, function (i, attrib) {
|
||||
var regexp = /extprofile-.*-\d.*/;
|
||||
var value = attrib.value;
|
||||
var match = value.match(regexp);
|
||||
if (match !== null) {
|
||||
attrib.value = value.replace("-" + oldIndex, "-" + newIndex);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
SN_EXTENDED.resetRow = function (elem) {
|
||||
$(elem).find('input, textarea').attr('value', '');
|
||||
$(elem).find('input').removeAttr('disabled');
|
||||
$(elem).find("select option[value='office']").attr("selected", true);
|
||||
$(elem).find("input:checkbox").attr('checked', false);
|
||||
$(elem).find("input[name$=-start], input[name$=-end]").each(function () {
|
||||
$(this).removeClass('hasDatepicker');
|
||||
$(this).datepicker({ dateFormat: 'd M yy' });
|
||||
});
|
||||
};
|
||||
|
||||
SN_EXTENDED.addRow = function () {
|
||||
var div = $(this).closest('div');
|
||||
var id = div.attr('id');
|
||||
var cls = div.attr('class');
|
||||
var index = id.match(/\d+/);
|
||||
var newIndex = parseInt(index) + 1;
|
||||
var newtr = $(div).closest('tr').removeClass('supersizeme').clone();
|
||||
SN_EXTENDED.replaceIndex(newtr, index, newIndex);
|
||||
SN_EXTENDED.resetRow(newtr);
|
||||
$(div).closest('tr').after(newtr);
|
||||
SN_EXTENDED.reorder(cls);
|
||||
};
|
||||
|
||||
SN_EXTENDED.removeRow = function () {
|
||||
|
||||
var div = $(this).closest('div');
|
||||
var id = $(div).attr('id');
|
||||
var cls = $(div).attr('class');
|
||||
var that = this;
|
||||
|
||||
$("#confirm-dialog").dialog({
|
||||
buttons : {
|
||||
"Confirm" : function () {
|
||||
$(this).dialog("close");
|
||||
var target = $(that).closest('tr');
|
||||
target.fadeOut("slow", function () {
|
||||
$(target).remove();
|
||||
SN_EXTENDED.reorder(cls);
|
||||
});
|
||||
},
|
||||
"Cancel" : function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var cnt = SN_EXTENDED.rowCount(cls);
|
||||
|
||||
if (cnt > 1) {
|
||||
$("#confirm-dialog").dialog("open");
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#confirm-dialog").dialog({
|
||||
autoOpen: false,
|
||||
modal: true
|
||||
});
|
||||
|
||||
$("input#extprofile-manager").autocomplete({
|
||||
source: 'finduser',
|
||||
minLength: 2 });
|
||||
|
||||
$("input[name$=-start], input[name$=-end], #extprofile-birthday").datepicker({ dateFormat: 'd M yy' });
|
||||
|
||||
var multifields = ["phone-item", "experience-item", "education-item", "im-item", 'website-item'];
|
||||
|
||||
for (f in multifields) {
|
||||
SN_EXTENDED.reorder(multifields[f]);
|
||||
}
|
||||
|
||||
$("input#extprofile-manager").autocomplete({
|
||||
source: 'finduser',
|
||||
minLength: 2 });
|
||||
|
||||
$(document).on('click', '.add_row', SN_EXTENDED.addRow);
|
||||
$(document).on('click', '.remove_row', SN_EXTENDED.removeRow);
|
||||
|
||||
$('input:checkbox[name$=current]').each(function () {
|
||||
var input = $(this).parent().siblings('input[id$=-end]');
|
||||
if ($(this).is(':checked')) {
|
||||
$(input).attr('disabled', 'true');
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', 'input:checkbox[name$=current]', function () {
|
||||
var input = $(this).parent().siblings('input[id$=-end]');
|
||||
if ($(this).is(':checked')) {
|
||||
$(input).val('');
|
||||
$(input).attr('disabled', 'true');
|
||||
} else {
|
||||
$(input).removeAttr('disabled');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
29
public/plugins/GNUsocialPhotos/res/gnusocialphotos.js
Normal file
@@ -0,0 +1,29 @@
|
||||
function increasePhotoSize() {
|
||||
$('.photoingallery, .albumingallery').each(function(index) {
|
||||
this.height *= 1.1;
|
||||
this.width *= 1.1;
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function decreasePhotoSize() {
|
||||
$('.photoingallery, .albumingallery').each(function(index) {
|
||||
this.height /= 1.1;
|
||||
this.width /= 1.1;
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
function scalePhotosToSize(size) {
|
||||
$('.photoingallery, .albumingallery').each(function(index) {
|
||||
if(this.height > this.width) {
|
||||
this.width = this.width*size/this.height;
|
||||
this.height = size;
|
||||
}
|
||||
else {
|
||||
this.height = this.height*size/this.width;
|
||||
this.width = size;
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
14
public/plugins/GNUsocialPhotos/res/style.css
Normal file
@@ -0,0 +1,14 @@
|
||||
.photocontainer, .albumcontainer {
|
||||
display: block;
|
||||
background-color: yellow;
|
||||
float: left;
|
||||
padding: 20px;
|
||||
margin: 15px;
|
||||
}
|
||||
|
||||
.photodescription {
|
||||
display: block;
|
||||
background-color: #dddddd;
|
||||
padding: 20px;
|
||||
margin: 15px;
|
||||
}
|
4
public/plugins/GNUsocialProfileExtensions/js/profile.js
Normal file
@@ -0,0 +1,4 @@
|
||||
SN.U.NoticeReplySet = function(nick,id) {
|
||||
$('div.replyform').hide();
|
||||
$('div#form'+id).show();
|
||||
}
|
BIN
public/plugins/GNUsocialProfileExtensions/res/bgstripe.gif
Normal file
After Width: | Height: | Size: 36 B |
23
public/plugins/GNUsocialProfileExtensions/res/style.css
Normal file
@@ -0,0 +1,23 @@
|
||||
.biotitle {
|
||||
font-weight: bold;
|
||||
}
|
||||
.biovalue {
|
||||
font-style: italic;
|
||||
}
|
||||
#showstream ol.notices ol.notices {
|
||||
background-image: url(/plugins/GNUsocialProfileExtensions/res/bgstripe.gif);
|
||||
background-repeat: repeat-y;
|
||||
background-position: left top;
|
||||
padding-left: 15px;
|
||||
color: #333333;
|
||||
}
|
||||
#showstream ol.notices ol.notices ol.notices {
|
||||
padding-left: 5px;
|
||||
}
|
||||
div.replyform {
|
||||
display: none;
|
||||
padding-left: 15px;
|
||||
}
|
||||
.replyform .form_notice {
|
||||
width: 75%;
|
||||
}
|
BIN
public/plugins/InfiniteScroll/ajax-loader.gif
Normal file
After Width: | Height: | Size: 11 KiB |
161
public/plugins/InfiniteScroll/infinitescroll.js
Normal file
@@ -0,0 +1,161 @@
|
||||
|
||||
// notices
|
||||
jQuery(document).ready(function($){
|
||||
$('notices_primary').infinitescroll({
|
||||
debug: false,
|
||||
infiniteScroll : !infinite_scroll_on_next_only,
|
||||
nextSelector : 'body#public li.nav_next a,'+
|
||||
'body#all li.nav_next a,'+
|
||||
'body#showstream li.nav_next a,'+
|
||||
'body#replies li.nav_next a,'+
|
||||
'body#showfavorites li.nav_next a,'+
|
||||
'body#showgroup li.nav_next a,'+
|
||||
'body#favorited li.nav_next a',
|
||||
loadingImg : ajax_loader_url,
|
||||
text : "<em>Loading the next set of posts...</em>",
|
||||
donetext : "<em>Congratulations, you\'ve reached the end of the Internet.</em>",
|
||||
navSelector : "#pagination",
|
||||
contentSelector : "#notices_primary ol.notices",
|
||||
itemSelector : "#notices_primary ol.notices > li"
|
||||
},function(){
|
||||
// Reply button and attachment magic need to be set up
|
||||
// for each new notice.
|
||||
// DO NOT run SN.Init.Notices() which will duplicate stuff.
|
||||
$(this).find('.notice').each(function() {
|
||||
SN.U.NoticeReplyTo($(this));
|
||||
SN.U.NoticeWithAttachment($(this));
|
||||
});
|
||||
|
||||
// moving the loaded notices out of their container
|
||||
$('#infscr-loading').remove();
|
||||
var ids_to_append = Array(); var i=0;
|
||||
$.each($('.infscr-pages').children('.notice'),function(){
|
||||
|
||||
// remove dupes
|
||||
if($('.threaded-notices > #' + $(this).attr('id')).length > 0) {
|
||||
$(this).remove();
|
||||
}
|
||||
|
||||
// keep new unique notices
|
||||
else {
|
||||
ids_to_append[i] = $(this).attr('id');
|
||||
i++;
|
||||
}
|
||||
});
|
||||
var loaded_html = $('.infscr-pages').html();
|
||||
$('.infscr-pages').remove();
|
||||
|
||||
// no results
|
||||
if(loaded_html == '') {
|
||||
}
|
||||
// append
|
||||
else {
|
||||
$('#notices_primary ol.notices').append(loaded_html);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// users
|
||||
jQuery(document).ready(function($){
|
||||
$('profile_list').infinitescroll({
|
||||
debug: false,
|
||||
infiniteScroll : !infinite_scroll_on_next_only,
|
||||
nextSelector : 'body#subscribers li.nav_next a, body#subscriptions li.nav_next a',
|
||||
loadingImg : ajax_loader_url,
|
||||
text : "<em>Loading the next set of users...</em>",
|
||||
donetext : "<em>Congratulations, you\'ve reached the end of the Internet.</em>",
|
||||
navSelector : "#pagination",
|
||||
contentSelector : "#content_inner ul.profile_list",
|
||||
itemSelector : "#content_inner ul.profile_list > li"
|
||||
},function(){
|
||||
// Reply button and attachment magic need to be set up
|
||||
// for each new notice.
|
||||
// DO NOT run SN.Init.Notices() which will duplicate stuff.
|
||||
$(this).find('.profile').each(function() {
|
||||
SN.U.NoticeReplyTo($(this));
|
||||
SN.U.NoticeWithAttachment($(this));
|
||||
});
|
||||
|
||||
// moving the loaded notices out of their container
|
||||
$('#infscr-loading').remove();
|
||||
var ids_to_append = Array(); var i=0;
|
||||
$.each($('.infscr-pages').children('.profile'),function(){
|
||||
|
||||
// remove dupes
|
||||
if($('.profile_list > #' + $(this).attr('id')).length > 0) {
|
||||
$(this).remove();
|
||||
}
|
||||
|
||||
// keep new unique notices
|
||||
else {
|
||||
ids_to_append[i] = $(this).attr('id');
|
||||
i++;
|
||||
}
|
||||
});
|
||||
var loaded_html = $('.infscr-pages').html();
|
||||
$('.infscr-pages').remove();
|
||||
|
||||
// no results
|
||||
if(loaded_html == '') {
|
||||
}
|
||||
// append
|
||||
else {
|
||||
$('#content_inner ul.profile_list').append(loaded_html);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// user directory
|
||||
jQuery(document).ready(function($){
|
||||
$('profile_list').infinitescroll({
|
||||
debug: false,
|
||||
infiniteScroll : !infinite_scroll_on_next_only,
|
||||
nextSelector : 'body#userdirectory li.nav_next a',
|
||||
loadingImg : ajax_loader_url,
|
||||
text : "<em>Loading the next set of users...</em>",
|
||||
donetext : "<em>Congratulations, you\'ve reached the end of the Internet.</em>",
|
||||
navSelector : "#pagination",
|
||||
contentSelector : "#profile_directory table.profile_list tbody",
|
||||
itemSelector : "#profile_directory table.profile_list tbody tr"
|
||||
},function(){
|
||||
// Reply button and attachment magic need to be set up
|
||||
// for each new notice.
|
||||
// DO NOT run SN.Init.Notices() which will duplicate stuff.
|
||||
$(this).find('.profile').each(function() {
|
||||
SN.U.NoticeReplyTo($(this));
|
||||
SN.U.NoticeWithAttachment($(this));
|
||||
});
|
||||
|
||||
// moving the loaded notices out of their container
|
||||
$('#infscr-loading').remove();
|
||||
var ids_to_append = Array(); var i=0;
|
||||
$.each($('.infscr-pages').children('.profile'),function(){
|
||||
|
||||
// remove dupes
|
||||
if($('.profile_list > #' + $(this).attr('id')).length > 0) {
|
||||
$(this).remove();
|
||||
}
|
||||
|
||||
// keep new unique notices
|
||||
else {
|
||||
ids_to_append[i] = $(this).attr('id');
|
||||
i++;
|
||||
}
|
||||
});
|
||||
var loaded_html = $('.infscr-pages').html();
|
||||
$('.infscr-pages').remove();
|
||||
|
||||
// no results
|
||||
if(loaded_html == '') {
|
||||
}
|
||||
// append
|
||||
else {
|
||||
$('#profile_directory table.profile_list tbody').append(loaded_html);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
261
public/plugins/InfiniteScroll/jquery.infinitescroll.js
Normal file
@@ -0,0 +1,261 @@
|
||||
|
||||
/*!
|
||||
// Infinite Scroll jQuery plugin
|
||||
// copyright Paul Irish, licensed GPL & MIT
|
||||
// version 1.2.090804
|
||||
|
||||
// home and docs: http://www.infinite-scroll.com
|
||||
*/
|
||||
|
||||
// todo: add preloading option.
|
||||
|
||||
;(function($){
|
||||
|
||||
$.fn.infinitescroll = function(options,callback){
|
||||
|
||||
// console log wrapper.
|
||||
function debug(){
|
||||
if (opts.debug) { window.console && console.log.call(console,arguments)}
|
||||
}
|
||||
|
||||
// grab each selector option and see if any fail.
|
||||
function areSelectorsValid(opts){
|
||||
for (var key in opts){
|
||||
if (key.indexOf && (key.indexOf('Selector') != -1) && $(opts[key]).length === 0){
|
||||
debug('Your ' + key + ' found no elements.');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// find the number to increment in the path.
|
||||
function determinePath(path){
|
||||
|
||||
path.match(relurl) ? path.match(relurl)[2] : path;
|
||||
|
||||
// there is a 2 in the url surrounded by slashes, e.g. /page/2/
|
||||
if ( path.match(/^(.*?)\b2\b(.*?$)/) ){
|
||||
path = path.match(/^(.*?)\b2\b(.*?$)/).slice(1);
|
||||
} else
|
||||
// if there is any 2 in the url at all.
|
||||
if (path.match(/^(.*?)2(.*?$)/)){
|
||||
debug('Trying backup next selector parse technique. Treacherous waters here, matey.');
|
||||
path = path.match(/^(.*?)2(.*?$)/).slice(1);
|
||||
} else {
|
||||
debug('Sorry, we couldn\'t parse your Next (Previous Posts) URL. Verify your the css selector points to the correct A tag. If you still get this error: yell, scream, and kindly ask for help at infinite-scroll.com.');
|
||||
props.isInvalidPage = true; //prevent it from running on this page.
|
||||
}
|
||||
|
||||
return path;
|
||||
}
|
||||
|
||||
|
||||
// 'document' means the full document usually, but sometimes the content of the overflow'd div in local mode
|
||||
function getDocumentHeight(){
|
||||
// weird doubletouch of scrollheight because http://soulpass.com/2006/07/24/ie-and-scrollheight/
|
||||
return opts.localMode ? ($(props.container)[0].scrollHeight && $(props.container)[0].scrollHeight)
|
||||
// needs to be document's height. (not props.container's) html's height is wrong in IE.
|
||||
: $(document).height()
|
||||
}
|
||||
|
||||
|
||||
|
||||
function isNearBottom(opts,props){
|
||||
|
||||
// distance remaining in the scroll
|
||||
// computed as: document height - distance already scroll - viewport height - buffer
|
||||
var pixelsFromWindowBottomToBottom = getDocumentHeight() -
|
||||
(opts.localMode ? $(props.container).scrollTop() :
|
||||
// have to do this bs because safari doesnt report a scrollTop on the html element
|
||||
($(props.container).scrollTop() || $(props.container.ownerDocument.body).scrollTop())) -
|
||||
$(opts.localMode ? props.container : window).height();
|
||||
|
||||
debug('math:',pixelsFromWindowBottomToBottom, props.pixelsFromNavToBottom);
|
||||
|
||||
// if distance remaining in the scroll (including buffer) is less than the orignal nav to bottom....
|
||||
return (pixelsFromWindowBottomToBottom - opts.bufferPx < props.pixelsFromNavToBottom);
|
||||
}
|
||||
|
||||
function showDoneMsg(){
|
||||
props.loadingMsg
|
||||
.find('img').hide()
|
||||
.parent()
|
||||
.find('div').html(opts.donetext).animate({opacity: 1},2000).fadeOut('normal');
|
||||
|
||||
// user provided callback when done
|
||||
opts.errorCallback();
|
||||
}
|
||||
|
||||
function infscrSetup(path,opts,props,callback){
|
||||
|
||||
if (props.isDuringAjax || props.isInvalidPage || props.isDone) return;
|
||||
|
||||
if ( opts.infiniteScroll && !isNearBottom(opts,props) ) return;
|
||||
|
||||
// we dont want to fire the ajax multiple times
|
||||
props.isDuringAjax = true;
|
||||
|
||||
// show the loading message and hide the previous/next links
|
||||
props.loadingMsg.appendTo( opts.contentSelector ).show();
|
||||
if(opts.infiniteScroll) $( opts.navSelector ).hide();
|
||||
|
||||
// increment the URL bit. e.g. /page/3/
|
||||
props.currPage++;
|
||||
|
||||
debug('heading into ajax',path);
|
||||
|
||||
// if we're dealing with a table we can't use DIVs
|
||||
var box = $(opts.contentSelector).is('table') ? $('<tbody/>') : $('<div/>');
|
||||
|
||||
box
|
||||
.attr('id','infscr-page-'+props.currPage)
|
||||
.addClass('infscr-pages')
|
||||
.appendTo( opts.contentSelector )
|
||||
.load( path.join( props.currPage ) + ' ' + opts.itemSelector,null,function(){
|
||||
|
||||
// if we've hit the last page...
|
||||
if (props.isDone){
|
||||
showDoneMsg();
|
||||
return false;
|
||||
|
||||
} else {
|
||||
|
||||
// if it didn't return anything
|
||||
if (box.children().length == 0){
|
||||
// fake an ajaxError so we can quit.
|
||||
$.event.trigger( "ajaxError", [{status:404}] );
|
||||
}
|
||||
|
||||
// fadeout currently makes the <em>'d text ugly in IE6
|
||||
props.loadingMsg.fadeOut('normal' );
|
||||
|
||||
// smooth scroll to ease in the new content
|
||||
if (opts.animate){
|
||||
var scrollTo = $(window).scrollTop() + $('#infscr-loading').height() + opts.extraScrollPx + 'px';
|
||||
$('html,body').animate({scrollTop: scrollTo}, 800,function(){ props.isDuringAjax = false; });
|
||||
}
|
||||
|
||||
// pass in the new DOM element as context for the callback
|
||||
callback.call( box[0] );
|
||||
|
||||
if (!opts.animate) props.isDuringAjax = false; // once the call is done, we can allow it again.
|
||||
}
|
||||
}); // end of load()
|
||||
|
||||
|
||||
} // end of infscrSetup()
|
||||
|
||||
|
||||
|
||||
|
||||
// lets get started.
|
||||
|
||||
var opts = $.extend({}, $.infinitescroll.defaults, options);
|
||||
var props = $.infinitescroll; // shorthand
|
||||
callback = callback || function(){};
|
||||
|
||||
if (!areSelectorsValid(opts)){ return false; }
|
||||
|
||||
// we doing this on an overflow:auto div?
|
||||
props.container = opts.localMode ? this : document.documentElement;
|
||||
|
||||
// contentSelector we'll use for our .load()
|
||||
opts.contentSelector = opts.contentSelector || this;
|
||||
|
||||
|
||||
// get the relative URL - everything past the domain name.
|
||||
var relurl = /(.*?\/\/).*?(\/.*)/;
|
||||
var path = $(opts.nextSelector).attr('href');
|
||||
|
||||
|
||||
if (!path) { debug('Navigation selector not found'); return; }
|
||||
|
||||
// set the path to be a relative URL from root.
|
||||
path = determinePath(path);
|
||||
|
||||
|
||||
// reset scrollTop in case of page refresh:
|
||||
if (opts.localMode) $(props.container)[0].scrollTop = 0;
|
||||
|
||||
// distance from nav links to bottom
|
||||
// computed as: height of the document + top offset of container - top offset of nav link
|
||||
props.pixelsFromNavToBottom = getDocumentHeight() +
|
||||
$(props.container).offset().top -
|
||||
$(opts.navSelector).offset().top;
|
||||
|
||||
// define loading msg
|
||||
props.loadingMsg = $('<div id="infscr-loading" style="text-align: center;"><img alt="Loading..." src="'+
|
||||
opts.loadingImg+'" /><div>'+opts.loadingText+'</div></div>');
|
||||
// preload the image
|
||||
(new Image()).src = opts.loadingImg;
|
||||
|
||||
|
||||
|
||||
// set up our bindings
|
||||
$(document).ajaxError(function(e,xhr,opt){
|
||||
debug('Page not found. Self-destructing...');
|
||||
|
||||
// die if we're out of pages.
|
||||
if (xhr.status == 404){
|
||||
showDoneMsg();
|
||||
props.isDone = true;
|
||||
$(opts.localMode ? this : window).unbind('scroll.infscr');
|
||||
}
|
||||
});
|
||||
|
||||
if(opts.infiniteScroll){
|
||||
// bind scroll handler to element (if its a local scroll) or window
|
||||
$(opts.localMode ? this : window)
|
||||
.bind('scroll.infscr', function(){ infscrSetup(path,opts,props,callback); } )
|
||||
.trigger('scroll.infscr'); // trigger the event, in case it's a short page
|
||||
}else{
|
||||
$(opts.nextSelector).click(
|
||||
function(){
|
||||
infscrSetup(path,opts,props,callback);
|
||||
return false;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
return this;
|
||||
|
||||
} // end of $.fn.infinitescroll()
|
||||
|
||||
|
||||
|
||||
// options and read-only properties object
|
||||
|
||||
$.infinitescroll = {
|
||||
defaults : {
|
||||
debug : false,
|
||||
infiniteScroll : true,
|
||||
preload : false,
|
||||
nextSelector : "div.navigation a:first",
|
||||
loadingImg : "http://www.infinite-scroll.com/loading.gif",
|
||||
loadingText : "<em>Loading the next set of posts...</em>",
|
||||
donetext : "<em>Congratulations, you've reached the end of the internet.</em>",
|
||||
navSelector : "div.navigation",
|
||||
contentSelector : null, // not really a selector. :) it's whatever the method was called on..
|
||||
extraScrollPx : 150,
|
||||
itemSelector : "div.post",
|
||||
animate : false,
|
||||
localMode : false,
|
||||
bufferPx : 40,
|
||||
errorCallback : function(){}
|
||||
},
|
||||
loadingImg : undefined,
|
||||
loadingMsg : undefined,
|
||||
container : undefined,
|
||||
currPage : 1,
|
||||
currDOMChunk : null, // defined in setup()'s load()
|
||||
isDuringAjax : false,
|
||||
isInvalidPage : false,
|
||||
isDone : false // for when it goes all the way through the archive.
|
||||
};
|
||||
|
||||
|
||||
|
||||
})(jQuery);
|
8
public/plugins/InfiniteScroll/jquery.infinitescroll.min.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
// Infinite Scroll jQuery plugin
|
||||
// copyright Paul Irish, licensed GPL & MIT
|
||||
// version 1.2.090804
|
||||
|
||||
// home and docs: http://www.infinite-scroll.com
|
||||
*/
|
||||
(function(A){A.fn.infinitescroll=function(N,L){function E(){if(B.debug){window.console&&console.log.call(console,arguments)}}function G(P){for(var O in P){if(O.indexOf&&O.indexOf("Selector")&&A(P[O]).length===0){E("Your "+O+" found no elements.");return false}return true}}function K(O){O.match(C)?O.match(C)[2]:O;if(O.match(/^(.*?)\b2\b(.*?$)/)){O=O.match(/^(.*?)\b2\b(.*?$)/).slice(1)}else{if(O.match(/^(.*?)2(.*?$)/)){E("Trying backup next selector parse technique. Treacherous waters here, matey.");O=O.match(/^(.*?)2(.*?$)/).slice(1)}else{E("Sorry, we couldn't parse your Next (Previous Posts) URL. Verify your the css selector points to the correct A tag. If you still get this error: yell, scream, and kindly ask for help at infinite-scroll.com.");H.isInvalidPage=true}}return O}function I(){return B.localMode?(A(H.container)[0].scrollHeight&&A(H.container)[0].scrollHeight):A(document).height()}function F(Q,P){var O=I()-(Q.localMode?A(P.container).scrollTop():(A(P.container).scrollTop()||A(P.container.ownerDocument.body).scrollTop()))-A(Q.localMode?P.container:window).height();E("math:",O,P.pixelsFromNavToBottom);return(O-Q.bufferPx<P.pixelsFromNavToBottom)}function J(){H.loadingMsg.find("img").hide().parent().find("div").html(B.donetext).animate({opacity:1},2000).fadeOut("normal");B.errorCallback()}function D(R,Q,O,S){if(O.isDuringAjax||O.isInvalidPage||O.isDone){return }if(!F(Q,O)){return }O.isDuringAjax=true;O.loadingMsg.appendTo(Q.contentSelector).show();A(Q.navSelector).hide();O.currPage++;E("heading into ajax",R);var P=A(Q.contentSelector).is("table")?A("<tbody/>"):A("<div/>");P.attr("id","infscr-page-"+O.currPage).addClass("infscr-pages").appendTo(Q.contentSelector).load(R.join(O.currPage)+" "+Q.itemSelector,null,function(){if(O.isDone){J();return false}else{if(P.children().length==0){A.event.trigger("ajaxError",[{status:404}])}O.loadingMsg.fadeOut("normal");if(Q.animate){var T=A(window).scrollTop()+A("#infscr-loading").height()+Q.extraScrollPx+"px";A("html,body").animate({scrollTop:T},800,function(){O.isDuringAjax=false})}S.call(P[0]);if(!Q.animate){O.isDuringAjax=false}}})}var B=A.extend({},A.infinitescroll.defaults,N);var H=A.infinitescroll;L=L||function(){};if(!G(B)){return false}H.container=B.localMode?this:document.documentElement;B.contentSelector=B.contentSelector||this;var C=/(.*?\/\/).*?(\/.*)/;var M=A(B.nextSelector).attr("href");if(!M){E("Navigation selector not found");return }M=K(M);if(B.localMode){A(H.container)[0].scrollTop=0}H.pixelsFromNavToBottom=I()+A(H.container).offset().top-A(B.navSelector).offset().top;H.loadingMsg=A('<div id="infscr-loading" style="text-align: center;"><img alt="Loading..." src="'+B.loadingImg+'" /><div>'+B.loadingText+"</div></div>");(new Image()).src=B.loadingImg;A(document).ajaxError(function(P,Q,O){E("Page not found. Self-destructing...");if(Q.status==404){J();H.isDone=true;A(B.localMode?this:window).unbind("scroll.infscr")}});A(B.localMode?this:window).bind("scroll.infscr",function(){D(M,B,H,L)}).trigger("scroll.infscr");return this};A.infinitescroll={defaults:{debug:false,preload:false,nextSelector:"div.navigation a:first",loadingImg:"http://www.infinite-scroll.com/loading.gif",loadingText:"<em>Loading the next set of posts...</em>",donetext:"<em>Congratulations, you've reached the end of the internet.</em>",navSelector:"div.navigation",contentSelector:null,extraScrollPx:150,itemSelector:"div.post",animate:false,localMode:false,bufferPx:40,errorCallback:function(){}},loadingImg:undefined,loadingMsg:undefined,container:undefined,currPage:1,currDOMChunk:null,isDuringAjax:false,isInvalidPage:false,isDone:false}})(jQuery);
|
27
public/plugins/InfiniteScroll/locale/InfiniteScroll.pot
Normal file
@@ -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: 2019-06-08 18:20+0100\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"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: 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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Afrikaans (http://www.transifex.com/gnu-social/gnu-social/language/af/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: af\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic (http://www.transifex.com/gnu-social/gnu-social/language/ar/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic (Egypt) (http://www.transifex.com/gnu-social/gnu-social/language/ar_EG/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ar_EG\n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Asturian (http://www.transifex.com/gnu-social/gnu-social/language/ast/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ast\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Belarusian (Tarask) (http://www.transifex.com/gnu-social/gnu-social/language/be@tarask/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: be@tarask\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bulgarian (http://www.transifex.com/gnu-social/gnu-social/language/bg/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bg\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bengali (India) (http://www.transifex.com/gnu-social/gnu-social/language/bn_IN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: bn_IN\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Breton (http://www.transifex.com/gnu-social/gnu-social/language/br/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: br\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Catalan (http://www.transifex.com/gnu-social/gnu-social/language/ca/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ca\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Czech (http://www.transifex.com/gnu-social/gnu-social/language/cs/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: cs\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Danish (http://www.transifex.com/gnu-social/gnu-social/language/da/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: da\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: German (http://www.transifex.com/gnu-social/gnu-social/language/de/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 fügt die folgende Funktionalität zu deiner StatusNet-Installation hinzu: Wenn ein Benutzer Richtung Seitenende scrollt, wird die nächste Nachrichtenseite automatisch geladen und angefügt. Das bedeutet, dass du nie „Nächste Seite“ klicken musst, was die Attraktivität dramatisch erhöht."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Greek (http://www.transifex.com/gnu-social/gnu-social/language/el/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: el\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,28 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
# Luke Hollins <luke@farcry.ca>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-03-07 19:41+0000\n"
|
||||
"Last-Translator: Luke Hollins <luke@farcry.ca>\n"
|
||||
"Language-Team: English (United Kingdom) (http://www.transifex.com/gnu-social/gnu-social/language/en_GB/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: en_GB\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 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."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Esperanto (http://www.transifex.com/gnu-social/gnu-social/language/eo/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: eo\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,28 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
# Juan Riquelme González <soulchainer@gmail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-27 14:21+0000\n"
|
||||
"Last-Translator: Juan Riquelme González <soulchainer@gmail.com>\n"
|
||||
"Language-Team: Spanish (http://www.transifex.com/gnu-social/gnu-social/language/es/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: es\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 añade la función «Desplazamiento infinito» a tu instalación GNU social. Con ella activada, cuando un usuario alcanza el final de la página actual, se carga y añade inmediatamente la página siguiente (de existir). Así, no se fuerza al usuario a clicar continuamente en un botón si quiere cargar más contenido, lo que mejora la navegabilidad e incrementa la capacidad del sitio para retener su atención."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2011 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Basque (http://www.transifex.com/gnu-social/gnu-social/language/eu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: eu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 pluginak scrollarekin behera egin einean orria luzatzen du ohar zaharrak azpikaldean gehituz, \"Hurrengo Orria\" linka ezabatzen du aldi berean."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Persian (http://www.transifex.com/gnu-social/gnu-social/language/fa/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fa\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Finnish (http://www.transifex.com/gnu-social/gnu-social/language/fi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fi\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: French (http://www.transifex.com/gnu-social/gnu-social/language/fr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Friulian (http://www.transifex.com/gnu-social/gnu-social/language/fur/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: fur\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2011 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Galician (http://www.transifex.com/gnu-social/gnu-social/language/gl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: gl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 engade a seguinte funcionalizade á súa instalación de StatusNet: Cando un usuario se despraza ata o pé da páxina, recupérase e engádese a seguinte páxina de notas. Isto significa que non é necesario premer en \"Páxina seguinte\", algo que aumenta considerablemente a capacidade de retención."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Hebrew (http://www.transifex.com/gnu-social/gnu-social/language/he/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: he\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 (גלילה אינסופית) מוסיפה את התכונות הבאות להתקנת ה־StatusNet שלך: כאשר משתמש גולל אל עבר תחתית הדף, דף העדכונים הבא נטען ונוסף אוטומטית. משמעות הדבר היא שאין על המשתמשים ללחוץ על \"הדף הבא\", מה שמגביר את תחושת הדבקות בצורה דרמטית."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Upper Sorbian (http://www.transifex.com/gnu-social/gnu-social/language/hsb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hsb\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hungarian (http://www.transifex.com/gnu-social/gnu-social/language/hu/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hu\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Armenian (Armenia) (http://www.transifex.com/gnu-social/gnu-social/language/hy_AM/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: hy_AM\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Interlingua (http://www.transifex.com/gnu-social/gnu-social/language/ia/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ia\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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."
|
@@ -0,0 +1,28 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
# zk <zamani.karmana@gmail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-05-28 15:50+0000\n"
|
||||
"Last-Translator: zk <zamani.karmana@gmail.com>\n"
|
||||
"Language-Team: Indonesian (http://www.transifex.com/gnu-social/gnu-social/language/id/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: id\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 menambahkan fungsi berikut ke pemasangan StatusNet anda: Ketika seorang pengguna menggulir ke bawah halaman, halaman pemberitahuan selanjutnya secara otomatis diambil dan ditambahkan. Ini berarti mereka tidak perlu menekan \"Halaman Selanjutnya\", yang akan meningkatkan kelekatan."
|
@@ -0,0 +1,29 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
# Ciencisto Dementa <maliktunga@users.noreply.github.com>, 2015
|
||||
# William <fxinkeo@mail.com>, 2015
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-06-16 22:00+0000\n"
|
||||
"Last-Translator: Ciencisto Dementa <maliktunga@users.noreply.github.com>\n"
|
||||
"Language-Team: Ido (http://www.transifex.com/gnu-social/gnu-social/language/io/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: io\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 adjuntas la sequanta funciono a vua instaluro GNU social: Kande uzanto iras vers la fundo di la pagino, la sequanta pagino di avizi esas automatale riganis ed adjuntis. Ico signifikas ke li nulatempe mustas pulsar \"Sequanta pagino\", quo ya augmentas adheremeso."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Icelandic (http://www.transifex.com/gnu-social/gnu-social/language/is/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: is\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2012 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Italian (http://www.transifex.com/gnu-social/gnu-social/language/it/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: it\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 aggiunge le seguenti funzionalità alla vostra installazione di StatusNet: quando un utente scorre verso il fondo della pagina, la pagina delle comunicazioni seguenti è automaticamente recuperata e messa di seguito. Questo significa che gli utenti non necessitano di cliccare su \"Pagina seguente\", che aumenta considerevolmente la concentrazione dell'utilizzatore"
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Japanese (http://www.transifex.com/gnu-social/gnu-social/language/ja/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ja\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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のインストールに次の機能を追加します:ユーザーがページの最後までスクロースしたとき、次のページの通知が自動的に取得され追加されます。これはつまり、「次のページ」をクリックする必要がなく、手間を劇的に改善します。"
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Georgian (http://www.transifex.com/gnu-social/gnu-social/language/ka/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ka\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Korean (http://www.transifex.com/gnu-social/gnu-social/language/ko/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ko\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Colognian (http://www.transifex.com/gnu-social/gnu-social/language/ksh/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ksh\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==0) ? 0 : (n==1) ? 1 : 2;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Luxembourgish (http://www.transifex.com/gnu-social/gnu-social/language/lb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lb\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Lithuanian (http://www.transifex.com/gnu-social/gnu-social/language/lt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lt\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-07 09:39+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Latvian (http://www.transifex.com/gnu-social/gnu-social/language/lv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lv\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Malagasy (http://www.transifex.com/gnu-social/gnu-social/language/mg/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: mg\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Macedonian (http://www.transifex.com/gnu-social/gnu-social/language/mk/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: mk\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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: Кога еден корисник лизга кон дното на страницата, следната страница автоматски се појавува во продолжение. Со ова се отстранува потребата од стискање на „Следна страница“, што значително ја зголемува лепливоста."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Malayalam (http://www.transifex.com/gnu-social/gnu-social/language/ml/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ml\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Malay (http://www.transifex.com/gnu-social/gnu-social/language/ms/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ms\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Burmese (http://www.transifex.com/gnu-social/gnu-social/language/my/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: my\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Norwegian Bokmål (http://www.transifex.com/gnu-social/gnu-social/language/nb/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nb\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 legger til følgende funksjonalitet til din StatusNet-installasjon: Når en bruker ruller mot bunnen av siden hentes den neste siden med notiser og legges til automatisk. Dette betyr at de aldri trenger å klikke «Neste side». Dette øker «stickiness» dramatisk."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-07 09:30+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Nepali (http://www.transifex.com/gnu-social/gnu-social/language/ne/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ne\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Dutch (http://www.transifex.com/gnu-social/gnu-social/language/nl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Norwegian Nynorsk (http://www.transifex.com/gnu-social/gnu-social/language/nn/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: nn\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Polish (http://www.transifex.com/gnu-social/gnu-social/language/pl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pl\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Portuguese (http://www.transifex.com/gnu-social/gnu-social/language/pt/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/gnu-social/gnu-social/language/pt_BR/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 adiciona a seguinte funcionalidade a sua instalação StatusNet: Quando um usuário se desloca para o final da página, a próxima página de mensagens é recuperada e adicionada automaticamente. Isto significa que não será necessário clicar em \"Próxima página\", que aumenta drasticamente a capacidade de retenção de usuários."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian (Romania) (http://www.transifex.com/gnu-social/gnu-social/language/ro_RO/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ro_RO\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Russian (http://www.transifex.com/gnu-social/gnu-social/language/ru/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ru\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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: Когда пользователь прокручивает страницу уведомлений до самого низа, следующая страница уведомлений автоматически запрашивается и добавлятся. Это значит, что вам никогда не прийдётся нажимать кнопку \"Следующая страница\", что резко увеличивает клейкость."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Slovenian (http://www.transifex.com/gnu-social/gnu-social/language/sl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Serbian (http://www.transifex.com/gnu-social/gnu-social/language/sr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sr\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 dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Swedish (http://www.transifex.com/gnu-social/gnu-social/language/sv/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: sv\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-07 08:48+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Tamil (http://www.transifex.com/gnu-social/gnu-social/language/ta/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ta\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Telugu (http://www.transifex.com/gnu-social/gnu-social/language/te/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: te\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Tagalog (http://www.transifex.com/gnu-social/gnu-social/language/tl/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tl\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish (http://www.transifex.com/gnu-social/gnu-social/language/tr/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Ukrainian (http://www.transifex.com/gnu-social/gnu-social/language/uk/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: uk\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 dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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: коли користувач прокручує сторінку до самого її низу, дописи з наступної сторінки додаються автоматично. Це означає, що вам не доведеться натискати «Назад» (до попередньої сторінки), аби переглянути повідомлення."
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Urdu (Pakistan) (http://www.transifex.com/gnu-social/gnu-social/language/ur_PK/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: ur_PK\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Vietnamese (http://www.transifex.com/gnu-social/gnu-social/language/vi/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: vi\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese (http://www.transifex.com/gnu-social/gnu-social/language/zh/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2010 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:43+0000\n"
|
||||
"Last-Translator: digitaldreamer <digitaldreamer@email.cz>\n"
|
||||
"Language-Team: Chinese (China) (http://www.transifex.com/gnu-social/gnu-social/language/zh_CN/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_CN\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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)给你的 StatusNet 网站增加了这些功能:当用户滚动页面到底部的时候,将自动获取下一页的消息并追加显示出来。这样用户就不用再去点击“下一页”按钮了,大大的增加了黏贴度。"
|
@@ -0,0 +1,27 @@
|
||||
# Translation file for GNU social - the free software social networking platform
|
||||
# Copyright (C) 2015 - 2019 Free Software Foundation, Inc http://www.fsf.org
|
||||
# This file is under https://www.gnu.org/licenses/agpl v3 or later
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: GNU social\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-02-02 17:47+0100\n"
|
||||
"PO-Revision-Date: 2015-02-06 16:29+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/gnu-social/gnu-social/language/zh_TW/)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: zh_TW\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. TRANS: Plugin dscription.
|
||||
#: InfiniteScrollPlugin.php:60
|
||||
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 ""
|
270
public/plugins/LinkPreview/js/linkpreview.js
Normal file
@@ -0,0 +1,270 @@
|
||||
/**
|
||||
* (c) 2010 StatusNet, Inc.
|
||||
*/
|
||||
|
||||
(function() {
|
||||
/**
|
||||
* Quickie wrapper around ooembed JSON lookup
|
||||
*/
|
||||
var oEmbed = {
|
||||
api: 'https://noembed.com/embed',
|
||||
width: 100,
|
||||
height: 75,
|
||||
cache: {},
|
||||
callbacks: {},
|
||||
|
||||
/**
|
||||
* Do a cached oEmbed lookup for the given URL.
|
||||
*
|
||||
* @param {String} url
|
||||
* @param {function} callback
|
||||
*/
|
||||
lookup: function(url, callback)
|
||||
{
|
||||
if (typeof oEmbed.cache[url] == "object") {
|
||||
// We already have a successful lookup.
|
||||
callback(oEmbed.cache[url]);
|
||||
} else if (typeof oEmbed.callbacks[url] == "undefined") {
|
||||
// No lookup yet... Start it!
|
||||
oEmbed.callbacks[url] = [callback];
|
||||
|
||||
oEmbed.rawLookup(url, function(data) {
|
||||
oEmbed.cache[url] = data;
|
||||
var callbacks = oEmbed.callbacks[url];
|
||||
oEmbed.callbacks[url] = undefined;
|
||||
for (var i = 0; i < callbacks.length; i++) {
|
||||
callbacks[i](data);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// A lookup is in progress.
|
||||
oEmbed.callbacks[url].push(callback);
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Do an oEmbed lookup for the given URL.
|
||||
*
|
||||
* @fixme proxy through ourselves if possible?
|
||||
* @fixme use the global thumbnail size settings
|
||||
*
|
||||
* @param {String} url
|
||||
* @param {function} callback
|
||||
*/
|
||||
rawLookup: function(url, callback)
|
||||
{
|
||||
var params = {
|
||||
url: url,
|
||||
format: 'json',
|
||||
maxwidth: oEmbed.width,
|
||||
maxheight: oEmbed.height,
|
||||
token: $('#token').val()
|
||||
};
|
||||
$.ajax({
|
||||
url: oEmbed.api,
|
||||
data: params,
|
||||
dataType: 'json',
|
||||
success: function(data, xhr) {
|
||||
callback(data);
|
||||
},
|
||||
error: function(xhr, textStatus, errorThrown) {
|
||||
callback(null);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
SN.Init.LinkPreview = function(params) {
|
||||
if (params.api) oEmbed.api = params.api;
|
||||
if (params.width) oEmbed.width = params.width;
|
||||
if (params.height) oEmbed.height = params.height;
|
||||
}
|
||||
|
||||
// Piggyback on the counter update...
|
||||
var origCounter = SN.U.Counter;
|
||||
SN.U.Counter = function(form) {
|
||||
var preview = form.data('LinkPreview');
|
||||
if (preview) {
|
||||
preview.previewLinks(form.find('.notice_data-text:first').val());
|
||||
}
|
||||
return origCounter(form);
|
||||
}
|
||||
|
||||
// Customize notice form init...
|
||||
var origSetup = SN.Init.NoticeFormSetup;
|
||||
SN.Init.NoticeFormSetup = function(form) {
|
||||
origSetup(form);
|
||||
|
||||
form
|
||||
.bind('reset', function() {
|
||||
LinkPreview.clear();
|
||||
});
|
||||
|
||||
var LinkPreview = {
|
||||
links: [],
|
||||
state: [],
|
||||
refresh: [],
|
||||
|
||||
/**
|
||||
* Find URL links from the source text that may be interesting.
|
||||
*
|
||||
* @param {String} text
|
||||
* @return {Array} list of URLs
|
||||
*/
|
||||
findLinks: function (text)
|
||||
{
|
||||
// @fixme match this to core code
|
||||
var re = /(?:^| )(https?:\/\/.+?\/.+?)(?= |$)/mg;
|
||||
var links = [];
|
||||
var matches;
|
||||
while ((matches = re.exec(text)) !== null) {
|
||||
links.push(matches[1]);
|
||||
}
|
||||
return links;
|
||||
},
|
||||
|
||||
ensureArea: function() {
|
||||
if (form.find('.link-preview').length < 1) {
|
||||
form.append('<div class="notice-status link-preview thumbnails"></div>');
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Start looking up info for a link preview...
|
||||
* May start async data loads.
|
||||
*
|
||||
* @param {number} col: column number to insert preview into
|
||||
*/
|
||||
prepLinkPreview: function(col)
|
||||
{
|
||||
var id = 'link-preview-' + col;
|
||||
var url = LinkPreview.links[col];
|
||||
LinkPreview.refresh[col] = false;
|
||||
LinkPreview.markLoading(col);
|
||||
|
||||
oEmbed.lookup(url, function(data) {
|
||||
var thumb = null;
|
||||
var width = 100;
|
||||
if (data && typeof data.thumbnail_url == "string") {
|
||||
thumb = data.thumbnail_url;
|
||||
if (typeof data.thumbnail_width !== "undefined") {
|
||||
if (data.thumbnail_width < width) {
|
||||
width = data.thumbnail_width;
|
||||
}
|
||||
}
|
||||
} else if (data && data.type == 'photo' && typeof data.url == "string") {
|
||||
thumb = data.url;
|
||||
if (typeof data.width !== "undefined") {
|
||||
if (data.width < width) {
|
||||
width = data.width;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (thumb) {
|
||||
LinkPreview.ensureArea();
|
||||
var link = $('<span class="inline-attachment"><a><img/></a></span>');
|
||||
link.find('a')
|
||||
.attr('href', url)
|
||||
.attr('target', '_blank')
|
||||
.last()
|
||||
.find('img')
|
||||
.attr('src', thumb)
|
||||
.attr('width', width)
|
||||
.attr('title', data.title || data.url || url);
|
||||
form.find('.' + id)
|
||||
.empty()
|
||||
.append(link);
|
||||
} else {
|
||||
// No thumbnail available or error retriving it.
|
||||
LinkPreview.clearLink(col);
|
||||
}
|
||||
|
||||
if (LinkPreview.refresh[col]) {
|
||||
// Darn user has typed more characters.
|
||||
// Go fetch another link!
|
||||
LinkPreview.prepLinkPreview(col);
|
||||
} else {
|
||||
LinkPreview.markDone(col);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Update the live preview section with links found in the given text.
|
||||
* May start async data loads.
|
||||
*
|
||||
* @param {String} text: free-form input text
|
||||
*/
|
||||
previewLinks: function(text)
|
||||
{
|
||||
var i;
|
||||
var old = LinkPreview.links;
|
||||
var links = LinkPreview.findLinks(text);
|
||||
LinkPreview.links = links;
|
||||
|
||||
// Check for existing common elements...
|
||||
for (i = 0; i < old.length && i < links.length; i++) {
|
||||
if (links[i] != old[i]) {
|
||||
if (LinkPreview.state[i] == "loading") {
|
||||
// Slate this column for a refresh when this one's done.
|
||||
LinkPreview.refresh[i] = true;
|
||||
} else {
|
||||
// Change an existing entry!
|
||||
LinkPreview.prepLinkPreview(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (links.length > old.length) {
|
||||
// Adding new entries, whee!
|
||||
for (i = old.length; i < links.length; i++) {
|
||||
LinkPreview.addPreviewArea(i);
|
||||
LinkPreview.prepLinkPreview(i);
|
||||
}
|
||||
} else if (old.length > links.length) {
|
||||
// Remove preview entries for links that have been removed.
|
||||
for (i = links.length; i < old.length; i++) {
|
||||
LinkPreview.clearLink(i);
|
||||
}
|
||||
}
|
||||
if (links.length == 0) {
|
||||
LinkPreview.clear();
|
||||
}
|
||||
},
|
||||
|
||||
addPreviewArea: function(col) {
|
||||
LinkPreview.ensureArea();
|
||||
var id = 'link-preview-' + col;
|
||||
if (form.find('.' + id).length < 1) {
|
||||
form.find('.link-preview').append('<span class="' + id + '"></span>');
|
||||
}
|
||||
},
|
||||
|
||||
clearLink: function(col) {
|
||||
var id = 'link-preview-' + col;
|
||||
form.find('.' + id).html('');
|
||||
},
|
||||
|
||||
markLoading: function(col) {
|
||||
LinkPreview.state[col] = "loading";
|
||||
var id = 'link-preview-' + col;
|
||||
form.find('.' + id).attr('style', 'opacity: 0.5');
|
||||
},
|
||||
|
||||
markDone: function(col) {
|
||||
LinkPreview.state[col] = "done";
|
||||
var id = 'link-preview-' + col;
|
||||
form.find('.' + id).removeAttr('style');
|
||||
},
|
||||
|
||||
/**
|
||||
* Clear out any link preview data.
|
||||
*/
|
||||
clear: function() {
|
||||
LinkPreview.links = [];
|
||||
form.find('.link-preview').remove();
|
||||
}
|
||||
};
|
||||
form.data('LinkPreview', LinkPreview);
|
||||
}
|
||||
})();
|
15
public/plugins/Mapstraction/OpenLayers/Makefile
Normal file
@@ -0,0 +1,15 @@
|
||||
.fake: clean all
|
||||
|
||||
TARGET=OpenLayers.js
|
||||
SOURCEDIR=OpenLayers-2.10/
|
||||
HERE=`pwd`
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
|
||||
$(TARGET): statusnet.cfg
|
||||
cp -f statusnet.cfg $(SOURCEDIR)/build/statusnet.cfg
|
||||
(cd $(SOURCEDIR)/build && ./build.py statusnet.cfg)
|
||||
yui-compressor $(SOURCEDIR)/build/OpenLayers.js -o $(TARGET)
|
1
public/plugins/Mapstraction/OpenLayers/OpenLayers.js
Normal file
14
public/plugins/Mapstraction/OpenLayers/README
Normal file
@@ -0,0 +1,14 @@
|
||||
The default OpenLayers.js file, minified, weighs in at a whopping 943kb uncompressed.
|
||||
With gzip compression it's still over 200kb, so we're building a stripped-down copy
|
||||
with just what we need.
|
||||
|
||||
Docs on how the stripping process works:
|
||||
http://docs.openlayers.org/library/deploying.html
|
||||
|
||||
To recreate this OpenLayers.js file:
|
||||
|
||||
# get yui-compressor (install from apt, or set up a shell script or alias to the jar)
|
||||
# download and decompress OpenLayers-2.10 zip or tgz
|
||||
make clean && make
|
||||
|
||||
If necessary, change the relative path to the OpenLayers source directory in the Makefile.
|
BIN
public/plugins/Mapstraction/OpenLayers/img/blank.gif
Normal file
After Width: | Height: | Size: 42 B |
After Width: | Height: | Size: 3.1 KiB |