This commit is contained in:
LubuWest 2018-10-01 21:17:54 +02:00
parent d1acb9339a
commit 09e8b8d097
49 changed files with 1720 additions and 825 deletions

View file

@ -88,3 +88,13 @@
* Bugfix: random crashes for conversations
* Bugfix: attach image to message works again
* Bugfix: check for nickname on Server has been removed due to API change
## v0.3.3 ##
* Update for OpenSSL and Qt
* Experimental support for Peertube (links are expanded for video widget)
* Some unicode emojis
* Redesign of contact details (click on contact opens in new stack and shows last news)
* Experimental support for Peertube (links are expanded to video widget)
* Some Unicode emojis
* Redesign of contact details (click on contact opens in new stack and shows last news)

View file

@ -22,8 +22,9 @@ Currently supported:
* Search button for news
* Click on hashtag in newsitem starts search for news with that word
* Click on image shows image fullscreen
* For news containing urls ending with mp3, mp4, avi, webm, ogg or to a Peertube instance: media can be played in the app
* Open links in external browser
* Click on contact photo for contact details
* Click on contact photo for contact details and last news
* Click on like text for additional contact info
* Deletion, Reposting, Answering of Posts
* Expand truncated news items
@ -31,16 +32,15 @@ Currently supported:
* Attending for event posts
* Update fetches new posts (up to last 50) since last in local DB
* More shows older posts from local DB
* Create new Message with images or direct messages, Contact/Group access rights(can be stored), smileys
* Create new Message with images or direct messages, Contact/Group access rights (can be stored), smileys
* Send image from Android gallery
* Send text or urls from other apps to Friendiqa
* Native Android image dialog
ToDo:
* Videos and other binary data as attachment (sending and receiving)
* Videos and other binary data as attachment (sending)
* More than one attachment (currently not supported in API)
* Rich text editing in Send Dialog (currently not possible in QML)
* Attachments for Direct messages (currently not supported in API)
@ -49,9 +49,8 @@ Currently supported:
* Tabs for own profiles, friends, other contacts and groups
* Show profile(s) of user and change profile picture
* Grid of all known contacts with locally downloaded pictures
* Large friend item for additional information and functionality
* Show news of contact from local database
* List of all known contacts with locally downloaded pictures
* Additional information, last messages and other functionality shown in news tab
* Send direct message, if contact is following
* Show public and private (Friendica 3.6 required) pictures of contact (screenscraping of contact's website, works only with certain theme)
* Show public and private (Friendica 3.6 required) events of contact
@ -71,12 +70,12 @@ Currently supported:
* Download public and private own images to local directory
* Upload picture to album with descriptions(public), send from gallery
* Delete own pictures and albums on client and server
* Change name or album of existing picture
* Show albums in grid, show images in album in grid and fullscreen
* Show public and private (Friendica 3.6 server required) albums and images of contacts
* Pinch to zoom, swipe to scroll
ToDo:
* Change name or album of existing picture
* Upload private images

View file

@ -1,5 +1,5 @@
<?xml version="1.0"?>
<manifest package="org.qtproject.friendiqa" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.3.2" android:versionCode="9" android:installLocation="auto">
<manifest package="org.qtproject.friendiqa" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="0.3.3" android:versionCode="10" android:installLocation="auto">
<application android:hardwareAccelerated="true" android:vmSafeMode="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="Friendiqa" android:icon="@drawable/friendiqa" android:logo="@drawable/friendiqa" android:theme="@android:style/Theme.Holo.Light">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="androidnative.friendiqa.FriendiqaActivity" android:label="Friendiqa" android:screenOrientation="unspecified" android:launchMode="singleInstance" android:taskAffinity="">
<intent-filter>

BIN
source-android/android/libcrypto.so Normal file → Executable file

Binary file not shown.

BIN
source-android/android/libssl.so Normal file → Executable file

Binary file not shown.

View file

@ -21,6 +21,7 @@ public class AndroidNativeActivity extends org.qtproject.qt5.android.bindings.Qt
protected void onResume() {
super.onResume();
System.loadLibrary("friendiqa");
if((getIntent().getFlags() == (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY)) || (getIntent().getFlags() == Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) || (getIntent().getFlags() == Intent.FLAG_ACTIVITY_NEW_TASK) || (getIntent().getFlags() == Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED) || (getIntent().getFlags() == (Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED))) {
SystemDispatcher.onActivityResume();
} else {
@ -49,6 +50,7 @@ public class AndroidNativeActivity extends org.qtproject.qt5.android.bindings.Qt
}
protected void onNewIntent(Intent data) {
System.loadLibrary("friendiqa");
super.onNewIntent(data);
if ((data!=null) && (data.getType() != null) && !(data.getBooleanExtra("used",false))){
String type = data.getType();

View file

@ -222,5 +222,6 @@
<file>qml/genericqml/IntentReceiver.qml</file>
<file>qml/newsqml/NewsImage.qml</file>
<file>qml/newsqml/NewsVideo.qml</file>
<file>qml/newsqml/ContactPage.qml</file>
</qresource>
</RCC>

View file

@ -235,13 +235,13 @@ void XHR::getlist()
void XHR::post()
{
qDebug() << "start post to " << m_url;
//qDebug() << "start post to " << m_url;
QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
QHashIterator<QString, QString> iparams(params);
while(iparams.hasNext()) {
iparams.next();
qDebug() << "\t add param " << iparams.key() << " : " << iparams.value();
//qDebug() << "\t add param " << iparams.key() << " : " << iparams.value();
QHttpPart textPart;
textPart.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"" + iparams.key() + "\""));
@ -256,7 +256,7 @@ void XHR::post()
ifiles.next();
uimg.setSource(ifiles.value());
qDebug() << "\t image: " << uimg.mimetype() << ", " << ifiles.key();
//qDebug() << "\t image: " << uimg.mimetype() << ", " << ifiles.key();
QHttpPart imagePart;
imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant(uimg.mimetype()));

View file

@ -40,7 +40,10 @@ function requestFriends(login,database,rootwindow,callback){
var result = tx.executeSql('UPDATE contacts SET isFriend=0 where username="'+login.username+'"')}); // clean old friends
Helperjs.friendicaRequest(login,"/api/statuses/friends?count=9999", rootwindow,function (obj){
var friends=JSON.parse(obj);
for (var i=0;i<friends.length;i++){ friends[i].isFriend=1}
for (var i=0;i<friends.length;i++){
friends[i].created_at=Date.parse(cleanDate(friends[i].created_at));
friends[i].isFriend=1
}
//try{requestProfile(login,friends,rootwindow,function(friends_profile){callback(friends_profile)})}
//catch(e){
callback(friends)//}

View file

@ -29,6 +29,12 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
function findend (text, startpos) {
var indexOf = text.substring(startpos || 0).search(/\s/);
return (indexOf >= 0) ? (indexOf + (startpos || 0)) : indexOf;
}
WorkerScript.onMessage = function(msg) {
if(msg.deleteId!==undefined)
{msg.model.remove(msg.deleteId);
@ -97,8 +103,10 @@ else{
}
else {attachhelper.url=attachArray[image].url}
attachmentList.push(attachhelper)
//print("Attachhelper "+attachhelper.url)
newsitemobject.statusnet_html=newsitemobject.statusnet_html.replace(attachhelper.url,"")
newsitemobject.statusnet_html=newsitemobject.statusnet_html.replace(attachhelper.url.substring(0,attachhelper.url.length-4)+".jpeg","")
newsitemobject.statusnet_html=newsitemobject.statusnet_html.replace(attachhelper.url.substring(0,attachhelper.url.length-4),"")
}
}
}catch(e){print("attachment "+e)}
@ -114,6 +122,20 @@ else{
}
}
}
if (newsitemobject.text.indexOf("/videos/watch/")>-1){
var ptvideohelper={mimetype:"video/mp4"}
var ptvideotext=newsitemobject.text;
while (ptvideotext.indexOf("/videos/watch/")>-1){
var ptvideohelperstringposition=ptvideotext.indexOf("/videos/watch/");
var ptposend=findend(ptvideotext,ptvideohelperstringposition);
if(ptposend==-1){ptposend=ptvideotext.length};
ptvideohelper.url=ptvideotext.substring(ptvideotext.lastIndexOf("http",ptvideohelperstringposition),ptposend)+"-480.mp4";
ptvideohelper.url=ptvideohelper.url.replace("/videos/watch","/static/webseed");
ptvideotext=ptvideotext.substring(ptposend,ptvideotext.length)
if ((attachmentList.length==0) || (attachmentList[attachmentList.length-1].url!=ptvideohelper.url)){attachmentList.push(ptvideohelper)}
}
}
newsitemobject.attachmentList=attachmentList;
var seconds=(msg.currentTime-newsitemobject.created_at)/1000;

View file

@ -394,7 +394,7 @@ function processNews(api,data){
newslist[n].statusnet_html=newslist[n].msg_html;
newslist[n].text=newslist[n].msg;
}
} else {
} else {//if(api!="/api/statuses/user_timeline"){
var chatlist=[];
var conversationIds=[];
var commentCount=[];
@ -458,6 +458,9 @@ function processNews(api,data){
newslist.reverse();
newstab.conversation=newslist
}
else if (api=="/api/statuses/user_timeline"){
newstab.contactposts=newslist
}
else if (newstab.newstabstatus==="Conversations"){
showNews(chatlist);root.news=newslist}
else {showNews(newslist);root.news=newslist};

View file

@ -30,6 +30,53 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
var html=[//Smileys
'\u263A',
'\u2639',
'\u263B',
//Weather
'\u2600',
'\u2601',
'\u263C',
'\u2614',
'\u2602',
'\u2603',
'\u2604',
'\u26C4',
'\u26C5',
'\u26C8',
//Leisure
'\u2615',
'\u26BD',
'\u26BE',
'\u26F1',
'\u26F2',
'\u26F3',
'\u26F4',
'\u26F5',
'\u26F7',
'\u26F8',
'\u26F9',
'\u26FA',
'\u26FD',
//Hand
'\u261C',
'\u261D',
'\u261E',
'\u261F',
'\u2620',
'\u2622',
'\u2623',
//Religion
'\u2626',
'\u262A',
'\u262C',
'\u262E',
'\u262F',
'\u26EA',
'\u26E9'
]
var core=[
{name:'&lt;3',url:
'qrc:///images/smileys/core/smiley-heart.gif'},

View file

@ -43,7 +43,7 @@ Rectangle{
textFormat: Text.RichText
width: parent.width
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
text: "<b>Friendiqa v0.3.2 </b><br>Licensed under GPL 3 with the exception of OpenSSL <br> "+
text: "<b>Friendiqa v0.3.3 </b><br>Licensed under GPL 3 with the exception of OpenSSL <br> "+
"Profile <a href='https://freunde.ma-nic.de/profile/friendiqa'>https://freunde.ma-nic.de/profile/friendiqa</a><br>"+
"Sourcecode: <a href='https://git.friendi.ca/LubuWest/Friendiqa'>https://git.friendi.ca/LubuWest/Friendiqa</a><br>"+
"Most of C++ code by <a href='https://kirgroup.com/profile/fabrixxm'>Fabio</a><br>"+

View file

@ -34,55 +34,58 @@ import QtQuick.Controls 1.3
import "qrc:/qml/genericqml"
Item {
id: contactComponent
property var createdAtDate: new Date(contact.created_at)
property string connectUrl: (contact.network!=="dfrn")||(contact.isFriend==1)?"":( "<a href='"+contact.url.replace("profile","dfrn_request") +"'>"+qsTr("Connect")+"</a><br>")
id: contactComponent
height: 8*mm
width: parent.width
property var createdAtDate: new Date(contact.created_at)
property string connectUrl: (contact.network!=="dfrn")||(contact.isFriend==1)?"":( "<a href='"+contact.url.replace("profile","dfrn_request") +"'>"+qsTr("Connect")+"</a><br>")
Rectangle {
Rectangle {
id: wrapper
width: 16*mm
height: 15*mm
width:parent.width
height: 8*mm
border.color: "grey"
color:"white"
Image {
id: photoImage
x:1
y:1
width: 10*mm
height:10*mm
x:0.5*mm
y:0.5*mm
width: 7*mm
height:7*mm
source:((contact.profile_image!="") && (typeof(contact.profile_image)=="string"))? "file://"+contact.profile_image : contact.profile_image_url
onStatusChanged: {if (photoImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"}}
}
Column{
width: wrapper.width-8*mm
anchors.left: photoImage.right
anchors.margins: 1*mm
spacing: mm
Label {
id: namelabel
x: 1
width: wrapper.width-4
height: 3*mm
text: contact.screen_name
text: contact.name
elide:Text.ElideRight
anchors.topMargin: 0
anchors.left: photoImage.left
color: "#303030"
font.pixelSize: 3*mm
anchors.top: photoImage.bottom
}
BlueButton{
id:infobutton
width: 5*mm
height: 5*mm
color:"transparent"
text:"?"
anchors.left: photoImage.right
anchors.leftMargin: 0.5*mm
anchors.topMargin: mm
anchors.top: parent.top
Label {
id: screennamelabel
width: wrapper.width-8*mm
height: 2.5*mm
text: "@"+contact.screen_name
elide:Text.ElideRight
color: "#303030"
font.pixelSize: 2.5*mm
}
}
MouseArea{
anchors.fill: parent
onClicked:{
var component = Qt.createComponent("qrc:/qml/contactqml/ContactDetailsComponent.qml");
if (component.status== Component.Ready){
var contactDetails = component.createObject(friendstab,{"contact": contact})}
root.currentIndex=0;
root.contactdetailsSignal(contact)
}
}
}
}

View file

@ -153,7 +153,7 @@ Rectangle {
anchors.right: parent.right
onClicked: {
try {friendsModel.clear()} catch(e){print(e)};
root.contactLoadType="friends";
//root.contactLoadType="friends";
Newsjs.requestFriends(root.login,db,root,function(nc){
root.newContacts=nc
})
@ -171,15 +171,15 @@ Rectangle {
value: currentContact/root.newContacts.length
}
GridView {
//GridView {
ListView{
id: friendsView
x:mm
y:updateFriendsButton.height+2*mm
width:friendsGridTab.width-2*mm
height:friendsGridTab.height-updateFriendsButton.height-2*mm
clip: true
cellHeight: 16*mm
cellWidth: 17*mm
spacing: 2
//add: Transition {
// NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
// }
@ -233,15 +233,13 @@ Rectangle {
})
}
}
GridView {
ListView {
id: contactsView
x:mm
y:cleanButton.height+2*mm
width:contactsGridTab.width-2*mm
height:contactsGridTab.height-cleanButton.height-2*mm
clip: true
cellHeight: 16*mm
cellWidth: 17*mm
//add: Transition {
// NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
// }

View file

@ -93,7 +93,11 @@ Item {
groupmembers=JSON.parse(groups);
for (var user in groupmembers){
Helperjs.readData(root.db,"contacts",root.login.username,function(userdata){
if (userdata[0]){groupModel.append({"groupmember":userdata[0]})}
if (userdata[0]){
userdata[0].name=Qt.atob(userdata[0].name);
userdata[0].description=Qt.atob(userdata[0].description)
groupModel.append({"groupmember":userdata[0]
})}
},"id",groupmembers[user])
} //catch(e){}
},"groupname",group.groupname);
@ -132,13 +136,15 @@ Item {
anchors.left: memberImage.right
anchors.margins: 1*mm
width:parent.width-1
text:Qt.atob(groupmember.name)
text:groupmember.name
}
MouseArea{
anchors.fill: parent
onClicked:{
root.currentIndex=1;
friendstab.active=true;
// root.currentIndex=1;
// friendstab.active=true;
// root.contactdetailsSignal(groupmember)
root.currentIndex=0;
root.contactdetailsSignal(groupmember)
}
}

View file

@ -70,7 +70,7 @@ TabView{
signal changeimage(var method, var type, var id)
property var news:[]
property var newContacts:[]
property string contactLoadType: ""
//property string contactLoadType: ""
property bool imagePicking: false
onLoginChanged:{
@ -95,23 +95,14 @@ TabView{
xhr.setContactlist(contactnames);
xhr.setImagedir(login.imagestore);
xhr.getlist();
// Service.processNews(function(){
// root.contactLoadType="";
// root.news=[];
// })
}
// else if (contactLoadType!=""){
// Service.processNews(function(){
// root.contactLoadType="";
// root.news=[];
// })}
}
Connections{
target:xhr
onDownloaded:{
if(type=="contactlist"){
//print("contact image saved"+Date.now()+" "+filename+" "+url);
var database=LocalStorage.openDatabaseSync(root.db[0],root.db[1],root.db[2],root.db[3]);
var result;
database.transaction( function(tx) {
@ -173,6 +164,7 @@ TabView{
id: newstab
property string newstabstatus
property var conversation:[]
property var contactposts:[]
source:(root.currentIndex==0)? "qrc:/qml/newsqml/NewsTab.qml":""
}
Tab{

View file

@ -0,0 +1,203 @@
// This file is part of Friendiqa
// https://github.com/lubuwest/Friendiqa
// Copyright (C) 2017 Marco R. <thomasschmidt45@gmx.net>
//
// 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.
//
// In addition, as a special exception, the copyright holders give
// permission to link the code of portions of this program with the
// OpenSSL library under certain conditions as described in each
// individual source file, and distribute linked combinations including
// the two.
//
// You must obey the GNU General Public License in all respects for all
// of the code used other than OpenSSL. If you modify file(s) with this
// exception, you may extend this exception to your version of the
// file(s), but you are not obligated to do so. If you do not wish to do
// so, delete this exception statement from your version. If you delete
// this exception statement from all source files in the program, then
// also delete it here.
//
// 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/>.
import QtQuick 2.0
import QtQuick.Controls 1.2
import "qrc:/js/helper.js" as Helperjs
import "qrc:/qml/genericqml"
Rectangle {
id:contactList
color: "white"
property var contact:({})
property string profileimagesource:contact.profile_image
ListView {
id: contactView
x:mm
y:8*mm
width: contactList.width-4*mm
height:contactList.height-10*mm
clip: true
spacing: 0
header: contactHeader
model: contactModel
delegate: Newsitem{}
}
BusyIndicator{
id: contactBusy
anchors.centerIn:parent
width:10*mm
height: 10*mm
running: true
}
Component { id: contactHeader
Rectangle{
border.color: "#EEEEEE"
border.width: 1
color:"white"
width:contactView.width
height: profileImage.height+namelabel.height+detailtext.height+7*mm
//height: wrapper.height
property var createdAtDate: new Date(contact.created_at)
property string connectUrl: (contact.network!=="dfrn")||(contact.isFriend!=0)?"":( "<a href='"+contact.url.replace("profile","dfrn_request") +"'>"+qsTr("Connect")+"</a><br>")
Image {
id: profileImage
x:mm
y:mm
width: contactView.width/2
height:width
source:(contact.profile_image!="")? "file://"+contact.profile_image : contact.profile_image_url
onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"}
Connections{
target:contactList
onProfileimagesourceChanged:profileImage.source=profileimagesource
}
}
Column{id:buttoncolumn
anchors.right: parent.right
anchors.rightMargin: mm
y: mm
spacing:4
BlueButton{
id:photobutton
text: "\uf03e" // "Photos"
visible:(contact.network=="dfrn")
onClicked:{print(createdAtDate + " contact.created_at"+contact.created_at)
fotostab.phototabstatus="Contact";
currentIndex=2;
fotostab.active=true;
fotoSignal(root.login,contact) ;
newsStack.pop();
}
}
BlueButton{
id:dmbutton
visible: (contact.following=="true")
text: "\uf040" //"DM"
onClicked:{
currentIndex=0;
directmessageSignal(contact.screen_name)
newsStack.pop()
}
}
BlueButton{
id:eventbutton
visible:(contact.network=="dfrn")
text:"\uf073"
onClicked:{
currentIndex=3;
calendartab.calendartabstatus="Friend"
eventSignal(contact);
newsStack.pop()
}
}
}//Row end
Label {
id: namelabel
x:mm
width: contactView.width-2*mm
height: implicitHeight
text:contact.name+" (@"+contact.screen_name+")"
wrapMode: Text.Wrap//elide:Text.ElideRight
color: "#303030"
font.pixelSize: 4*mm
anchors.top: profileImage.bottom
anchors.topMargin: mm
}
Text{
id:detailtext
anchors.top: namelabel.bottom
anchors.topMargin: 2*mm
x:mm
width: contactView.width-2*mm
height: implicitHeight
font.pixelSize: 2.5*mm
textFormat:Text.RichText
wrapMode: Text.Wrap
text:"<b>"+qsTr("Description")+": </b> "+contact.description+"<br> <b>"+qsTr("Location")+":</b> "+contact.location+"<br> <b>"+qsTr("Posts")+":</b> "+contact.statuses_count+
"<br> <b>"+qsTr("URL")+":</b> <a href='"+ contact.url+"'>"+contact.url+"</a><br>"+
connectUrl+ "<b>"+qsTr("Created at")+":</b> "+createdAtDate.toLocaleString(Qt.locale())
onLinkActivated: {
Qt.openUrlExternally(link)}
}
//}
}
}//Component end
Connections{
target:newstab
onContactpostsChanged:{
if (newstab.contactposts.length>0){profileimagesource=newstab.contactposts[0].user.profile_image_url_large}
contactBusy.running=false;
contactModel.clear();
var currentTime= new Date();
var msg = {'currentTime': currentTime, 'model': contactModel,'news':newstab.contactposts};
contactWorker.sendMessage(msg)
}
}
ListModel{id: contactModel}
WorkerScript {
id: contactWorker
source: "qrc:/js/newsworker.js"
}
BlueButton {
id: closeButton
width:10*mm
anchors.top: parent.top
anchors.topMargin: 1*mm
anchors.right: parent.right
anchors.rightMargin: 1*mm
text: "\uf057"
onClicked: {
newsStack.pop()
}
}
Component.onCompleted: {
xhr.clearParams();
xhr.setLogin(login.username+":"+Qt.atob(login.password));
xhr.setUrl(login.server);
xhr.setApi("/api/statuses/user_timeline");
xhr.setParam("user_id",contact.id)
xhr.get();
}
}

View file

@ -65,7 +65,6 @@ Item {
showConversation(newsStack.timelineIndex-1,newsModel.get(0).newsitemobject)}
else{
Service.updateView(newstab.newstabstatus)
root.contactLoadType="news";
}
}
}
@ -81,7 +80,9 @@ Item {
function showNews(newsToShow){
try{if (newsStack.depth>1){newsStack.pop()}}catch(e){}
try{
if (newsStack.depth>1){newsStack.pop()}
}catch(e){}
newsBusy.running=false;
var currentTime= new Date();
// downloadNotice.text=downloadNotice.text + "\n shownews start "+ Date.now();
@ -94,10 +95,6 @@ Item {
function showConversation(conversationIndex,newsitemobject){
//newsBusy.running=true;
root.contactLoadType="conversation";
newsStack.conversationIndex= conversationIndex;
//print(newsitemobject.id);
if(newsitemobject.messagetype==0){
xhr.clearParams();
xhr.setLogin(login.username+":"+Qt.atob(login.password));
@ -117,10 +114,8 @@ Item {
}
function showContact(contact){
var component = Qt.createComponent("qrc:/qml/contactqml/ContactDetailsComponent.qml");
if (component.status== Component.Ready){
var contactDetails = component.createObject(newstab,{"contact": contact})
}
newstab.newstabstatus="Contact";
newsStack.push({item:"qrc:/qml/newsqml/ContactPage.qml",properties:{"contact": contact}});
}
function search(term){//print("Search "+term)
@ -134,7 +129,6 @@ Item {
xhr.clearParams();
xhr.setParam("q",term)
xhr.get();}
//newsSearch.visible=false;
newsView.anchors.topMargin=7*mm
}
@ -174,7 +168,6 @@ Item {
StackView{
id: newsStack
anchors.fill:parent
property int conversationIndex: 0
property string updateMethodNews: "refresh"
property var allchats: ({})
initialItem:Rectangle {
@ -284,17 +277,9 @@ Item {
id: searchButton
text: "\uf002"
onClicked: {
//if (newsSearch.visible==false){
newsView.anchors.topMargin=18*mm;
var component = Qt.createComponent("qrc:/qml/genericqml/Search.qml");
var searchItem = component.createObject(newsStack,{y:8*mm,width:root.width,height: 8*mm});
//searchItem.forceActiveFocus()
// newsSearch.visible=true}
//else{
// newsSearch.visible=false;
// newsView.anchors.topMargin=7*mm;
//}
}
}
@ -327,7 +312,7 @@ Item {
if (newstab.newstabstatus=="Timeline"){
newsStack.updateMethodNews="append"
} else {newsStack.updateMethodNews="refresh"}
root.contactLoadType="news";
//root.contactLoadType="news";
Service.updateView(newstab.newstabstatus)
}
}
@ -358,32 +343,21 @@ Item {
var msg = {'currentTime': currentTime, 'model': newsModel,'news':news,'appendnews':true};
newsWorker.sendMessage(msg);
},lastnews_id)}
else if(newstab.newstabstatus=="Contact"){
Newsjs.newsfromdb(root.db,root.login.username, function(news){
var msg = {'currentTime': currentTime, 'model': newsModel,'news':news,'appendnews':true};
newsWorker.sendMessage(msg);
},newsModel.get(newsModel.count-1).newsitemobject.uid,lastnews_id)}
// else if(newstab.newstabstatus=="Contact"){
// Newsjs.newsfromdb(root.db,root.login.username, function(news){
// var msg = {'currentTime': currentTime, 'model': newsModel,'news':news,'appendnews':true};
// newsWorker.sendMessage(msg);
// },newsModel.get(newsModel.count-1).newsitemobject.uid,lastnews_id)}
else if (newstab.newstabstatus=="Notifications"){}
else{
newsStack.appendNews=true;
//newsStack.appendNews=true;
xhr.setParam("max_id",newsModel.get(newsModel.count-1).newsitemobject.id-1);
xhr.get()
}}
}
}
}
// Rectangle{
// id: newsSearch
// color: "#FFFAFA"
// y:8*mm
// width:root.width
// height: 8*mm
// //visible:false
// Search{
// anchors.fill: parent
// anchors.margins: mm
// }
// }
ListView {
id: newsView
@ -398,11 +372,9 @@ Item {
delegate: Newsitem{}
//onContentYChanged:{if(contentY<-8*mm&&contentY>(-8*mm-1)){print("refreshing");
onDragEnded:{if(contentY<-5*mm){
root.contactLoadType="news";
var onlynew=true;
Service.updateView(newstab.newstabstatus)
}}
//Component.onCompleted: currentIndex=count
}
ListModel{id: newsModel}
@ -447,6 +419,7 @@ Item {
Component.onCompleted: {
root.messageSignal.connect(onFriendsMessages);
root.directmessageSignal.connect(onDirectMessage);
root.contactdetailsSignal.connect(showContact);
root.newsSignal.connect(showNews);
root.uploadSignal.connect(sendUrls);
root.sendtextSignal.connect(sendtext);

View file

@ -38,7 +38,7 @@ Rectangle{
color:"black"
//border.color: "light grey"
width:newscolumn.width;
height:video.hasVideo?newscolumn.width/4*3:10*mm
height:newscolumn.width/4*3//video.hasVideo?newscolumn.width/4*3:10*mm
property alias source:video.source
Text{
id:noticeText

View file

@ -298,7 +298,7 @@ Item {
font.pixelSize: 2.5*mm
font.family:fontAwesome.name
color:control.checked?"black": "grey"
text:"\uf118"
text:control.checked?"\uf118"+"!":"\uf118"
}
}
}
@ -320,7 +320,7 @@ Item {
font.pixelSize: 2.5*mm
font.family:fontAwesome.name
color:control.checked?"black": "grey"
text: "\uf119"
text: control.checked?"\uf119"+"!":"\uf119"
}
}
}

View file

@ -40,7 +40,7 @@ Rectangle{
id:smileyDialog
x: mm
width: messageColumn.width-5*mm
height:root.height/3
height:root.height/2
BlueButton{
id:closeButton
@ -64,7 +64,7 @@ Rectangle{
frameOverlap: 1
tab: Rectangle {
color: "white"
implicitWidth: smileyTabView.width/3-2*mm
implicitWidth: smileyTabView.width/4-2*mm
implicitHeight: 4*mm
Text { id: text
anchors.centerIn: parent
@ -78,6 +78,30 @@ Rectangle{
tabsAlignment:Qt.AlignHCenter
}
Tab{
title: qsTr("Unicode")
Rectangle{
id: htmlGridTab
GridView {
id:htmlView
anchors.fill: parent
cellWidth: 5*mm
cellHeight: 5*mm
clip: true
model: htmlModel
delegate: htmlItem
}
ListModel{
id:htmlModel
}
Component.onCompleted:{
for (var icon in Smileyjs.html){
htmlModel.append({"emoji":Smileyjs.html[icon]})
}
}
}
}
Tab{
title: qsTr("Standard")
Rectangle{
@ -152,6 +176,9 @@ Rectangle{
}
}
}
}
Component{
id:smileyItem
@ -166,9 +193,31 @@ Rectangle{
onClicked:{
//bodyField.append(emoji.name+" ")
bodyField.insert(bodyField.cursorPosition,emoji.name+" ");
smileyDialog.destroy()
smileyDialog.visible=false
}
}
}
}
Component{
id:htmlItem
Text{id:smileText
width:4.5*mm
height: 4.5*mm
textFormat:Text.RichText
font.pixelSize: 4*mm
text: emoji
MouseArea{
anchors.fill: parent
onClicked:{
//bodyField.append(emoji.name+" ")
bodyField.insert(bodyField.cursorPosition,emoji+" ");
smileyDialog.visible=false
}
}
}
}
}

View file

@ -59,16 +59,14 @@
<translation>Intervall (0=keins)</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<location filename="../qml/configqml/ConfigTab.qml" line="328"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<source>Nickname not registered at given server!</source>
<translation>Name auf der Seite nicht registriert!</translation>
<translation type="vanished">Name auf der Seite nicht registriert!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="289"/>
@ -138,7 +136,7 @@
<context>
<name>ContactComponent</name>
<message>
<location filename="../qml/contactqml/ContactComponent.qml" line="39"/>
<location filename="../qml/contactqml/ContactComponent.qml" line="41"/>
<source>Connect</source>
<translation>Kontaktanfrage</translation>
</message>
@ -176,6 +174,39 @@
<translation>Erstellt</translation>
</message>
</context>
<context>
<name>ContactPage</name>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="72"/>
<source>Connect</source>
<translation>Kontaktanfrage</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Location</source>
<translation>Ort</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Posts</source>
<translation>Beiträge</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="153"/>
<source>URL</source>
<translation>Profilseite</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="154"/>
<source>Created at</source>
<translation>Erstellt</translation>
</message>
</context>
<context>
<name>FriendsTab</name>
<message>
@ -194,7 +225,7 @@
<translation>Kontakte</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="259"/>
<location filename="../qml/contactqml/FriendsTab.qml" line="257"/>
<source>Groups</source>
<translation>Gruppen</translation>
</message>
@ -213,37 +244,40 @@
<context>
<name>ImageUploadDialog</name>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="100"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="124"/>
<source>Upload to album</source>
<translation>In Album hochladen</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="121"/>
<source>Album</source>
<translation>Album</translation>
<translation type="vanished">Album</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="126"/>
<source>Image</source>
<translation>Bild</translation>
<translation type="vanished">Bild</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="131"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="221"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="229"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Upload</source>
<translation>Hochladen</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Change</source>
<translation>Ändern</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source> No album name given</source>
<translation>Kein Albumname angegeben</translation>
</message>
@ -251,17 +285,17 @@
<context>
<name>MessageSend</name>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="111"/>
<location filename="../qml/newsqml/MessageSend.qml" line="108"/>
<source>Title (optional)</source>
<translation>Überschrift (optional)</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Only one attachment supported at the moment.
Remove other attachment first!</source>
<translation>Nur ein Anhang derzeit unterstützt.
@ -275,52 +309,56 @@
<translation type="vanished">Lade Profilbild für </translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="404"/>
<location filename="../qml/newsqml/NewsTab.qml" line="330"/>
<source>More</source>
<translation>Mehr</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="281"/>
<location filename="../qml/newsqml/NewsTab.qml" line="200"/>
<source>Timeline</source>
<translation>Chronologisch</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="63"/>
<source>Error</source>
<translation>Fehler</translation>
<translation type="vanished">Fehler</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="298"/>
<location filename="../qml/newsqml/NewsTab.qml" line="217"/>
<source>Favorites</source>
<translation>Markierte News</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="290"/>
<location filename="../qml/newsqml/NewsTab.qml" line="209"/>
<source>Conversations</source>
<translation>Unterhaltungen</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="306"/>
<location filename="../qml/newsqml/NewsTab.qml" line="54"/>
<source>Network Error</source>
<translation>Netzwerk-Fehler</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="225"/>
<source>Public timeline</source>
<translation>Gemeinschaft</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="314"/>
<location filename="../qml/newsqml/NewsTab.qml" line="234"/>
<source>Direct Messages</source>
<translation>Direktnachrichten</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="321"/>
<location filename="../qml/newsqml/NewsTab.qml" line="242"/>
<source>Notifications</source>
<translation>Meldungen</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="328"/>
<location filename="../qml/newsqml/NewsTab.qml" line="251"/>
<source>Group news</source>
<translation>News Gruppe</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="332"/>
<location filename="../qml/newsqml/NewsTab.qml" line="259"/>
<source>Quit</source>
<translation>Schliessen</translation>
</message>
@ -353,57 +391,57 @@
<translation> Kommentare</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="258"/>
<location filename="../qml/newsqml/Newsitem.qml" line="281"/>
<source>Attending: </source>
<translation>Teilnahme: </translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="378"/>
<location filename="../qml/newsqml/Newsitem.qml" line="403"/>
<source>Reply</source>
<translation>Antworten</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="386"/>
<location filename="../qml/newsqml/Newsitem.qml" line="411"/>
<source>DM</source>
<translation>Direktnachricht</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="392"/>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<source>Repost</source>
<translation>Teilen</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="395"/>
<location filename="../qml/newsqml/Newsitem.qml" line="420"/>
<source>Success!</source>
<translation>Erledigt!</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="400"/>
<location filename="../qml/newsqml/Newsitem.qml" line="425"/>
<source>Conversation</source>
<translation>Unterhaltung</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="410"/>
<location filename="../qml/newsqml/Newsitem.qml" line="435"/>
<source>Attending</source>
<translation>Teilnahme</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="412"/>
<location filename="../qml/newsqml/Newsitem.qml" line="437"/>
<source>yes</source>
<translation>ja</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<location filename="../qml/newsqml/Newsitem.qml" line="442"/>
<source>maybe</source>
<translation>vielleicht</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="422"/>
<location filename="../qml/newsqml/Newsitem.qml" line="447"/>
<source>no</source>
<translation>nein</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="429"/>
<location filename="../qml/newsqml/Newsitem.qml" line="454"/>
<source>Delete</source>
<translation>Löschen</translation>
</message>
@ -424,28 +462,28 @@
<context>
<name>PhotoTab</name>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="121"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="123"/>
<source>&apos;s images</source>
<translation>s Bilder</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="178"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="188"/>
<source>All Images</source>
<translation>Alle Bilder</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="183"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="193"/>
<source>Only new</source>
<translation>Nur neue</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="197"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="201"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="207"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="211"/>
<source>Own Images</source>
<translation>Eigene Bilder</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="238"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="248"/>
<source>More</source>
<translation>Mehr</translation>
</message>
@ -677,16 +715,21 @@
<name>SmileyDialog</name>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="82"/>
<source>Unicode</source>
<translation>Unicode</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="106"/>
<source>Standard</source>
<translation>Standard</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="108"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<source>Addon</source>
<translation>Addon</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="156"/>
<source>Adult</source>
<translation>XXX</translation>
</message>
@ -694,131 +737,131 @@
<context>
<name>newsworker</name>
<message>
<location filename="../js/newsworker.js" line="57"/>
<location filename="../js/newsworker.js" line="63"/>
<source>likes this.</source>
<translation>mag das.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="58"/>
<location filename="../js/newsworker.js" line="64"/>
<source>like this.</source>
<translation>mögen das.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="61"/>
<location filename="../js/newsworker.js" line="67"/>
<source>doesn&apos;t like this.</source>
<translation>mag das nicht.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="62"/>
<location filename="../js/newsworker.js" line="68"/>
<source>don&apos;t like this.</source>
<translation>mögen das nicht.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="65"/>
<location filename="../js/newsworker.js" line="71"/>
<source>will attend.</source>
<translation>nehmen teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="66"/>
<location filename="../js/newsworker.js" line="72"/>
<source>persons will attend.</source>
<translation>Personen nehmen teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="69"/>
<location filename="../js/newsworker.js" line="75"/>
<source>will not attend.</source>
<translation>nimmt nicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="70"/>
<location filename="../js/newsworker.js" line="76"/>
<source>persons will not attend.</source>
<translation>Personen nehmen nicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="73"/>
<location filename="../js/newsworker.js" line="79"/>
<source>may attend.</source>
<translation>nimmt vielleicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="74"/>
<location filename="../js/newsworker.js" line="80"/>
<source>persons may attend.</source>
<translation>Personen nehmen vielleicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="78"/>
<location filename="../js/newsworker.js" line="84"/>
<source>yes</source>
<translation>ja</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="79"/>
<location filename="../js/newsworker.js" line="85"/>
<source>no</source>
<translation>nein</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="80"/>
<location filename="../js/newsworker.js" line="86"/>
<source>maybe</source>
<translation>vielleicht</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="143"/>
<source>seconds</source>
<translation>Sekunden</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="143"/>
<location filename="../js/newsworker.js" line="144"/>
<location filename="../js/newsworker.js" line="145"/>
<location filename="../js/newsworker.js" line="146"/>
<location filename="../js/newsworker.js" line="147"/>
<location filename="../js/newsworker.js" line="148"/>
<location filename="../js/newsworker.js" line="149"/>
<location filename="../js/newsworker.js" line="150"/>
<location filename="../js/newsworker.js" line="151"/>
<location filename="../js/newsworker.js" line="152"/>
<source>ago</source>
<translation>her</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="144"/>
<source>minute</source>
<translation>Minute</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="145"/>
<source>minutes</source>
<translation>Minuten</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="146"/>
<source>hour</source>
<translation>Stunde</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="147"/>
<source>hours</source>
<translation>Stunden</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="148"/>
<source>day</source>
<translation>Tag</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="149"/>
<source>days</source>
<translation>Tage</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="150"/>
<source>month</source>
<translation>Monat</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="151"/>
<source>months</source>
<translation>Monate</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="152"/>
<source>years</source>
<translation></translation>
</message>
@ -826,11 +869,18 @@
<context>
<name>service</name>
<message>
<location filename="../js/service.js" line="360"/>
<location filename="../js/service.js" line="362"/>
<location filename="../js/service.js" line="365"/>
<source>Error</source>
<translation>Fehler</translation>
<translation type="vanished">Fehler</translation>
</message>
<message>
<location filename="../js/service.js" line="363"/>
<source>Undefined Array Error</source>
<translation>Antwort-Array ungültig</translation>
</message>
<message>
<location filename="../js/service.js" line="366"/>
<source>JSON status Error</source>
<translation>Server-Antwort: Fehler</translation>
</message>
</context>
</TS>

View file

@ -31,7 +31,7 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="100"/>
<source>Nickname</source>
<translation type="unfinished"></translation>
<translation>Usuario</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="105"/>
@ -59,16 +59,10 @@
<translation>Intervalo (0=ningún)</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<location filename="../qml/configqml/ConfigTab.qml" line="328"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<source>Nickname not registered at given server!</source>
<translation type="unfinished"></translation>
<translation>Error</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="289"/>
@ -83,12 +77,12 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="294"/>
<source>No nickname given! </source>
<translation type="unfinished"></translation>
<translation>¡Usuario incorrecto!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="295"/>
<source>Nickname not registered at given server! </source>
<translation type="unfinished"></translation>
<translation>¡Usuario incorrecto!</translation>
</message>
<message>
<source>No username given! </source>
@ -112,17 +106,17 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<source>Wrong password!</source>
<translation type="unfinished"></translation>
<translation>¡Contraseña incorrecta!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Success</source>
<translation type="unfinished"></translation>
<translation>éxito!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Name</source>
<translation type="unfinished"></translation>
<translation>Nombre</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="389"/>
@ -138,7 +132,7 @@
<context>
<name>ContactComponent</name>
<message>
<location filename="../qml/contactqml/ContactComponent.qml" line="39"/>
<location filename="../qml/contactqml/ContactComponent.qml" line="41"/>
<source>Connect</source>
<translation>Conectar</translation>
</message>
@ -176,12 +170,45 @@
<translation>Creado en</translation>
</message>
</context>
<context>
<name>ContactPage</name>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="72"/>
<source>Connect</source>
<translation>Conectar</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Description</source>
<translation>Descripción</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Location</source>
<translation>Localización</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Posts</source>
<translation>Mensajes</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="153"/>
<source>URL</source>
<translation>URL</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="154"/>
<source>Created at</source>
<translation>Creado en</translation>
</message>
</context>
<context>
<name>FriendsTab</name>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="111"/>
<source>Me</source>
<translation type="unfinished"></translation>
<translation>Yo</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="121"/>
@ -194,7 +221,7 @@
<translation>Contactos</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="259"/>
<location filename="../qml/contactqml/FriendsTab.qml" line="257"/>
<source>Groups</source>
<translation>Grupos</translation>
</message>
@ -202,37 +229,40 @@
<context>
<name>ImageUploadDialog</name>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="100"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="124"/>
<source>Upload to album</source>
<translation type="unfinished"></translation>
<translation>Subir álbum</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="121"/>
<source>Album</source>
<translation>álbum</translation>
<translation type="vanished">álbum</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="126"/>
<source>Image</source>
<translation>imagen</translation>
<translation type="vanished">imagen</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="131"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="221"/>
<source>Description</source>
<translation>Descripción</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="229"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Upload</source>
<translation>Subir</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Change</source>
<translation>Cambiar</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source> No album name given</source>
<translation>¡Nombre del álbum no encontrado!</translation>
</message>
@ -240,17 +270,17 @@
<context>
<name>MessageSend</name>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="111"/>
<location filename="../qml/newsqml/MessageSend.qml" line="108"/>
<source>Title (optional)</source>
<translation>Título (opcional)</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Only one attachment supported at the moment.
Remove other attachment first!</source>
<translation>Solo se admite adjuntar un solo archivo en este momento.
@ -264,54 +294,58 @@
<translation type="vanished">Descargar la imagen del perfil para </translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="404"/>
<location filename="../qml/newsqml/NewsTab.qml" line="330"/>
<source>More</source>
<translation>Mas</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="281"/>
<location filename="../qml/newsqml/NewsTab.qml" line="200"/>
<source>Timeline</source>
<translation>Cronología</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="63"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
<translation type="obsolete">Error</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="298"/>
<location filename="../qml/newsqml/NewsTab.qml" line="217"/>
<source>Favorites</source>
<translation>Favoritos</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="290"/>
<location filename="../qml/newsqml/NewsTab.qml" line="209"/>
<source>Conversations</source>
<translation>Conversaciones</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="306"/>
<location filename="../qml/newsqml/NewsTab.qml" line="54"/>
<source>Network Error</source>
<translation>Fallo de red</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="225"/>
<source>Public timeline</source>
<translation type="unfinished"></translation>
<translation>Cronología pública</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="314"/>
<location filename="../qml/newsqml/NewsTab.qml" line="234"/>
<source>Direct Messages</source>
<translation type="unfinished"></translation>
<translation>Mensaje directo</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="321"/>
<location filename="../qml/newsqml/NewsTab.qml" line="242"/>
<source>Notifications</source>
<translation>Notificaciones</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="328"/>
<location filename="../qml/newsqml/NewsTab.qml" line="251"/>
<source>Group news</source>
<translation type="unfinished"></translation>
<translation>Grupos</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="332"/>
<location filename="../qml/newsqml/NewsTab.qml" line="259"/>
<source>Quit</source>
<translation type="unfinished"></translation>
<translation>Salida</translation>
</message>
</context>
<context>
@ -342,57 +376,57 @@
<translation> comentarios</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="258"/>
<location filename="../qml/newsqml/Newsitem.qml" line="281"/>
<source>Attending: </source>
<translation>Asistiendo: </translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="378"/>
<location filename="../qml/newsqml/Newsitem.qml" line="403"/>
<source>Reply</source>
<translation>Respuesta</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="386"/>
<location filename="../qml/newsqml/Newsitem.qml" line="411"/>
<source>DM</source>
<translation>Mensaje directo</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="392"/>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<source>Repost</source>
<translation>Volver a publicar</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="395"/>
<location filename="../qml/newsqml/Newsitem.qml" line="420"/>
<source>Success!</source>
<translation>éxito!</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="400"/>
<location filename="../qml/newsqml/Newsitem.qml" line="425"/>
<source>Conversation</source>
<translation>Conversación</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="410"/>
<location filename="../qml/newsqml/Newsitem.qml" line="435"/>
<source>Attending</source>
<translation>Asistiendo</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="412"/>
<location filename="../qml/newsqml/Newsitem.qml" line="437"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<location filename="../qml/newsqml/Newsitem.qml" line="442"/>
<source>maybe</source>
<translation>quizás</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="422"/>
<location filename="../qml/newsqml/Newsitem.qml" line="447"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="429"/>
<location filename="../qml/newsqml/Newsitem.qml" line="454"/>
<source>Delete</source>
<translation>Borrar</translation>
</message>
@ -413,28 +447,28 @@
<context>
<name>PhotoTab</name>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="121"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="123"/>
<source>&apos;s images</source>
<translation>s Imágenes</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="178"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="188"/>
<source>All Images</source>
<translation type="unfinished"></translation>
<translation>Todas las imagenes</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="183"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="193"/>
<source>Only new</source>
<translation type="unfinished"></translation>
<translation>Solo nueva</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="197"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="201"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="207"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="211"/>
<source>Own Images</source>
<translation>Mis imágenes</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="238"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="248"/>
<source>More</source>
<translation>Mas</translation>
</message>
@ -444,7 +478,7 @@
<message>
<location filename="../qml/contactqml/ProfileComponent.qml" line="60"/>
<source>profile name</source>
<translation type="unfinished"></translation>
<translation>Nombre de perfil</translation>
</message>
<message>
<location filename="../qml/contactqml/ProfileComponent.qml" line="61"/>
@ -666,16 +700,21 @@
<name>SmileyDialog</name>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="82"/>
<source>Unicode</source>
<translation>Unicode</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="106"/>
<source>Standard</source>
<translation>Standard</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="108"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<source>Addon</source>
<translation>Addon</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="156"/>
<source>Adult</source>
<translation>XXX</translation>
</message>
@ -683,131 +722,131 @@
<context>
<name>newsworker</name>
<message>
<location filename="../js/newsworker.js" line="57"/>
<location filename="../js/newsworker.js" line="63"/>
<source>likes this.</source>
<translation>le gusta esto.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="58"/>
<location filename="../js/newsworker.js" line="64"/>
<source>like this.</source>
<translation>me gusta esto.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="61"/>
<location filename="../js/newsworker.js" line="67"/>
<source>doesn&apos;t like this.</source>
<translation>no de ése.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="62"/>
<location filename="../js/newsworker.js" line="68"/>
<source>don&apos;t like this.</source>
<translation>no me gusta.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="65"/>
<location filename="../js/newsworker.js" line="71"/>
<source>will attend.</source>
<translation>asistirá.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="66"/>
<location filename="../js/newsworker.js" line="72"/>
<source>persons will attend.</source>
<translation>Personas que asistirán.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="69"/>
<location filename="../js/newsworker.js" line="75"/>
<source>will not attend.</source>
<translation>no asistirá.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="70"/>
<location filename="../js/newsworker.js" line="76"/>
<source>persons will not attend.</source>
<translation>Personas que no asistirán..</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="73"/>
<location filename="../js/newsworker.js" line="79"/>
<source>may attend.</source>
<translation>Puede asistir.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="74"/>
<location filename="../js/newsworker.js" line="80"/>
<source>persons may attend.</source>
<translation>Personas que pueden asistir.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="78"/>
<location filename="../js/newsworker.js" line="84"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="79"/>
<location filename="../js/newsworker.js" line="85"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="80"/>
<location filename="../js/newsworker.js" line="86"/>
<source>maybe</source>
<translation>quizás</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="143"/>
<source>seconds</source>
<translation>Segundos</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="143"/>
<location filename="../js/newsworker.js" line="144"/>
<location filename="../js/newsworker.js" line="145"/>
<location filename="../js/newsworker.js" line="146"/>
<location filename="../js/newsworker.js" line="147"/>
<location filename="../js/newsworker.js" line="148"/>
<location filename="../js/newsworker.js" line="149"/>
<location filename="../js/newsworker.js" line="150"/>
<location filename="../js/newsworker.js" line="151"/>
<location filename="../js/newsworker.js" line="152"/>
<source>ago</source>
<translation>hace</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="144"/>
<source>minute</source>
<translation>Minuto</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="145"/>
<source>minutes</source>
<translation>Minutos</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="146"/>
<source>hour</source>
<translation>Hora</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="147"/>
<source>hours</source>
<translation>Horas</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="148"/>
<source>day</source>
<translation>Dia</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="149"/>
<source>days</source>
<translation>Dias</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="150"/>
<source>month</source>
<translation>Mes</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="151"/>
<source>months</source>
<translation>Meses</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="152"/>
<source>years</source>
<translation>Años</translation>
</message>
@ -815,11 +854,18 @@
<context>
<name>service</name>
<message>
<location filename="../js/service.js" line="360"/>
<location filename="../js/service.js" line="362"/>
<location filename="../js/service.js" line="365"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
<translation type="obsolete">Error</translation>
</message>
<message>
<location filename="../js/service.js" line="363"/>
<source>Undefined Array Error</source>
<translation></translation>
</message>
<message>
<location filename="../js/service.js" line="366"/>
<source>JSON status Error</source>
<translation></translation>
</message>
</context>
</TS>

View file

@ -31,7 +31,7 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="100"/>
<source>Nickname</source>
<translation type="unfinished"></translation>
<translation>Utente</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="105"/>
@ -59,16 +59,10 @@
<translation>Intervallo (0=nessuno)</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<location filename="../qml/configqml/ConfigTab.qml" line="328"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<source>Nickname not registered at given server!</source>
<translation type="unfinished"></translation>
<translation>Errore</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="289"/>
@ -83,12 +77,12 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="294"/>
<source>No nickname given! </source>
<translation type="unfinished"></translation>
<translation>Nessun utente inserito!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="295"/>
<source>Nickname not registered at given server! </source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>No username given! </source>
@ -112,17 +106,17 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<source>Wrong password!</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Success</source>
<translation type="unfinished"></translation>
<translation>Ha funzionato!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Name</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="389"/>
@ -138,7 +132,7 @@
<context>
<name>ContactComponent</name>
<message>
<location filename="../qml/contactqml/ContactComponent.qml" line="39"/>
<location filename="../qml/contactqml/ContactComponent.qml" line="41"/>
<source>Connect</source>
<translation>Connetti</translation>
</message>
@ -176,6 +170,39 @@
<translation>Creato il</translation>
</message>
</context>
<context>
<name>ContactPage</name>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="72"/>
<source>Connect</source>
<translation>Connetti</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Description</source>
<translation>Descrizione</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Location</source>
<translation>Località</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Posts</source>
<translation>Messaggi</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="153"/>
<source>URL</source>
<translation>URL</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="154"/>
<source>Created at</source>
<translation>Creato il</translation>
</message>
</context>
<context>
<name>FriendsTab</name>
<message>
@ -194,7 +221,7 @@
<translation>Contatti</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="259"/>
<location filename="../qml/contactqml/FriendsTab.qml" line="257"/>
<source>Groups</source>
<translation>Gruppi</translation>
</message>
@ -202,37 +229,40 @@
<context>
<name>ImageUploadDialog</name>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="100"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="124"/>
<source>Upload to album</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="121"/>
<source>Album</source>
<translation>Album</translation>
<translation type="vanished">Album</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="126"/>
<source>Image</source>
<translation>Immagine</translation>
<translation type="vanished">Immagine</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="131"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="221"/>
<source>Description</source>
<translation>Descrizione</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="229"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Upload</source>
<translation>Carica</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Change</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source> No album name given</source>
<translation>Nessun nome album inserito!</translation>
</message>
@ -240,17 +270,17 @@
<context>
<name>MessageSend</name>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="111"/>
<location filename="../qml/newsqml/MessageSend.qml" line="108"/>
<source>Title (optional)</source>
<translation>Titolo (opzionale)</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Only one attachment supported at the moment.
Remove other attachment first!</source>
<translation>Solo un allegato è attualmente supportato.
@ -264,52 +294,56 @@
<translation type="vanished">Download immagine profilo per </translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="404"/>
<location filename="../qml/newsqml/NewsTab.qml" line="330"/>
<source>More</source>
<translation>Ancora</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="281"/>
<location filename="../qml/newsqml/NewsTab.qml" line="200"/>
<source>Timeline</source>
<translation>Cronologia</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="63"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
<translation type="obsolete">Errore</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="298"/>
<location filename="../qml/newsqml/NewsTab.qml" line="217"/>
<source>Favorites</source>
<translation>Favoriti</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="290"/>
<location filename="../qml/newsqml/NewsTab.qml" line="209"/>
<source>Conversations</source>
<translation>Conversazioni</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="306"/>
<location filename="../qml/newsqml/NewsTab.qml" line="54"/>
<source>Network Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="225"/>
<source>Public timeline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="314"/>
<location filename="../qml/newsqml/NewsTab.qml" line="234"/>
<source>Direct Messages</source>
<translation type="unfinished"></translation>
<translation>Messaggio diretto</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="321"/>
<location filename="../qml/newsqml/NewsTab.qml" line="242"/>
<source>Notifications</source>
<translation>Notifiche</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="328"/>
<location filename="../qml/newsqml/NewsTab.qml" line="251"/>
<source>Group news</source>
<translation type="unfinished"></translation>
<translation>Gruppi</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="332"/>
<location filename="../qml/newsqml/NewsTab.qml" line="259"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -342,57 +376,57 @@
<translation> commenti</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="258"/>
<location filename="../qml/newsqml/Newsitem.qml" line="281"/>
<source>Attending: </source>
<translation>Attendi: </translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="378"/>
<location filename="../qml/newsqml/Newsitem.qml" line="403"/>
<source>Reply</source>
<translation>Risposta</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="386"/>
<location filename="../qml/newsqml/Newsitem.qml" line="411"/>
<source>DM</source>
<translation>Messaggio diretto</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="392"/>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<source>Repost</source>
<translation>Condividi</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="395"/>
<location filename="../qml/newsqml/Newsitem.qml" line="420"/>
<source>Success!</source>
<translation>Ha funzionato!</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="400"/>
<location filename="../qml/newsqml/Newsitem.qml" line="425"/>
<source>Conversation</source>
<translation>Conversazione</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="410"/>
<location filename="../qml/newsqml/Newsitem.qml" line="435"/>
<source>Attending</source>
<translation>Attendi</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="412"/>
<location filename="../qml/newsqml/Newsitem.qml" line="437"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<location filename="../qml/newsqml/Newsitem.qml" line="442"/>
<source>maybe</source>
<translation>potrebbe</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="422"/>
<location filename="../qml/newsqml/Newsitem.qml" line="447"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="429"/>
<location filename="../qml/newsqml/Newsitem.qml" line="454"/>
<source>Delete</source>
<translation>Cancella</translation>
</message>
@ -413,28 +447,28 @@
<context>
<name>PhotoTab</name>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="121"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="123"/>
<source>&apos;s images</source>
<translation> Immagini</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="178"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="188"/>
<source>All Images</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="183"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="193"/>
<source>Only new</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="197"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="201"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="207"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="211"/>
<source>Own Images</source>
<translation>Mie immagini</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="238"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="248"/>
<source>More</source>
<translation>Ancora</translation>
</message>
@ -666,16 +700,21 @@
<name>SmileyDialog</name>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="82"/>
<source>Unicode</source>
<translation>Unicode</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="106"/>
<source>Standard</source>
<translation>Standard</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="108"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<source>Addon</source>
<translation>Addon</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="156"/>
<source>Adult</source>
<translation>XXX</translation>
</message>
@ -683,131 +722,131 @@
<context>
<name>newsworker</name>
<message>
<location filename="../js/newsworker.js" line="57"/>
<location filename="../js/newsworker.js" line="63"/>
<source>likes this.</source>
<translation>mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="58"/>
<location filename="../js/newsworker.js" line="64"/>
<source>like this.</source>
<translation>mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="61"/>
<location filename="../js/newsworker.js" line="67"/>
<source>doesn&apos;t like this.</source>
<translation>non mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="62"/>
<location filename="../js/newsworker.js" line="68"/>
<source>don&apos;t like this.</source>
<translation>non mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="65"/>
<location filename="../js/newsworker.js" line="71"/>
<source>will attend.</source>
<translation>attendere.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="66"/>
<location filename="../js/newsworker.js" line="72"/>
<source>persons will attend.</source>
<translation>Persone che attendono.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="69"/>
<location filename="../js/newsworker.js" line="75"/>
<source>will not attend.</source>
<translation>non aspettare.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="70"/>
<location filename="../js/newsworker.js" line="76"/>
<source>persons will not attend.</source>
<translation>Persone che non aspettano.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="73"/>
<location filename="../js/newsworker.js" line="79"/>
<source>may attend.</source>
<translation>puoi attendere.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="74"/>
<location filename="../js/newsworker.js" line="80"/>
<source>persons may attend.</source>
<translation>Persone che possono attendere.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="78"/>
<location filename="../js/newsworker.js" line="84"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="79"/>
<location filename="../js/newsworker.js" line="85"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="80"/>
<location filename="../js/newsworker.js" line="86"/>
<source>maybe</source>
<translation>potrebbe</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="143"/>
<source>seconds</source>
<translation>secondi</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="143"/>
<location filename="../js/newsworker.js" line="144"/>
<location filename="../js/newsworker.js" line="145"/>
<location filename="../js/newsworker.js" line="146"/>
<location filename="../js/newsworker.js" line="147"/>
<location filename="../js/newsworker.js" line="148"/>
<location filename="../js/newsworker.js" line="149"/>
<location filename="../js/newsworker.js" line="150"/>
<location filename="../js/newsworker.js" line="151"/>
<location filename="../js/newsworker.js" line="152"/>
<source>ago</source>
<translation>fa</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="144"/>
<source>minute</source>
<translation>minuti</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="145"/>
<source>minutes</source>
<translation>minuti</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="146"/>
<source>hour</source>
<translation>ora</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="147"/>
<source>hours</source>
<translation>ore</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="148"/>
<source>day</source>
<translation>giorno</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="149"/>
<source>days</source>
<translation>giorni</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="150"/>
<source>month</source>
<translation>mese</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="151"/>
<source>months</source>
<translation>mesi</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="152"/>
<source>years</source>
<translation>anni</translation>
</message>
@ -815,11 +854,18 @@
<context>
<name>service</name>
<message>
<location filename="../js/service.js" line="360"/>
<location filename="../js/service.js" line="362"/>
<location filename="../js/service.js" line="365"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
<translation type="obsolete">Errore</translation>
</message>
<message>
<location filename="../js/service.js" line="363"/>
<source>Undefined Array Error</source>
<translation></translation>
</message>
<message>
<location filename="../js/service.js" line="366"/>
<source>JSON status Error</source>
<translation></translation>
</message>
</context>
</TS>

View file

@ -222,5 +222,6 @@
<file>qml/genericqml/IntentReceiver.qml</file>
<file>qml/newsqml/NewsImage.qml</file>
<file>qml/newsqml/NewsVideo.qml</file>
<file>qml/newsqml/ContactPage.qml</file>
</qresource>
</RCC>

View file

@ -40,7 +40,10 @@ function requestFriends(login,database,rootwindow,callback){
var result = tx.executeSql('UPDATE contacts SET isFriend=0 where username="'+login.username+'"')}); // clean old friends
Helperjs.friendicaRequest(login,"/api/statuses/friends?count=9999", rootwindow,function (obj){
var friends=JSON.parse(obj);
for (var i=0;i<friends.length;i++){ friends[i].isFriend=1}
for (var i=0;i<friends.length;i++){
friends[i].created_at=Date.parse(cleanDate(friends[i].created_at));
friends[i].isFriend=1
}
//try{requestProfile(login,friends,rootwindow,function(friends_profile){callback(friends_profile)})}
//catch(e){
callback(friends)//}

View file

@ -29,6 +29,12 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
function findend (text, startpos) {
var indexOf = text.substring(startpos || 0).search(/\s/);
return (indexOf >= 0) ? (indexOf + (startpos || 0)) : indexOf;
}
WorkerScript.onMessage = function(msg) {
if(msg.deleteId!==undefined)
{msg.model.remove(msg.deleteId);
@ -97,8 +103,10 @@ else{
}
else {attachhelper.url=attachArray[image].url}
attachmentList.push(attachhelper)
//print("Attachhelper "+attachhelper.url)
newsitemobject.statusnet_html=newsitemobject.statusnet_html.replace(attachhelper.url,"")
newsitemobject.statusnet_html=newsitemobject.statusnet_html.replace(attachhelper.url.substring(0,attachhelper.url.length-4)+".jpeg","")
newsitemobject.statusnet_html=newsitemobject.statusnet_html.replace(attachhelper.url.substring(0,attachhelper.url.length-4),"")
}
}
}catch(e){print("attachment "+e)}
@ -114,6 +122,20 @@ else{
}
}
}
if (newsitemobject.text.indexOf("/videos/watch/")>-1){
var ptvideohelper={mimetype:"video/mp4"}
var ptvideotext=newsitemobject.text;
while (ptvideotext.indexOf("/videos/watch/")>-1){
var ptvideohelperstringposition=ptvideotext.indexOf("/videos/watch/");
var ptposend=findend(ptvideotext,ptvideohelperstringposition);
if(ptposend==-1){ptposend=ptvideotext.length};
ptvideohelper.url=ptvideotext.substring(ptvideotext.lastIndexOf("http",ptvideohelperstringposition),ptposend)+"-480.mp4";
ptvideohelper.url=ptvideohelper.url.replace("/videos/watch","/static/webseed");
ptvideotext=ptvideotext.substring(ptposend,ptvideotext.length)
if ((attachmentList.length==0) || (attachmentList[attachmentList.length-1].url!=ptvideohelper.url)){attachmentList.push(ptvideohelper)}
}
}
newsitemobject.attachmentList=attachmentList;
var seconds=(msg.currentTime-newsitemobject.created_at)/1000;

View file

@ -394,7 +394,7 @@ function processNews(api,data){
newslist[n].statusnet_html=newslist[n].msg_html;
newslist[n].text=newslist[n].msg;
}
} else {
} else {//if(api!="/api/statuses/user_timeline"){
var chatlist=[];
var conversationIds=[];
var commentCount=[];
@ -458,6 +458,9 @@ function processNews(api,data){
newslist.reverse();
newstab.conversation=newslist
}
else if (api=="/api/statuses/user_timeline"){
newstab.contactposts=newslist
}
else if (newstab.newstabstatus==="Conversations"){
showNews(chatlist);root.news=newslist}
else {showNews(newslist);root.news=newslist};

View file

@ -30,6 +30,53 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
var html=[//Smileys
'\u263A',
'\u2639',
'\u263B',
//Weather
'\u2600',
'\u2601',
'\u263C',
'\u2614',
'\u2602',
'\u2603',
'\u2604',
'\u26C4',
'\u26C5',
'\u26C8',
//Leisure
'\u2615',
'\u26BD',
'\u26BE',
'\u26F1',
'\u26F2',
'\u26F3',
'\u26F4',
'\u26F5',
'\u26F7',
'\u26F8',
'\u26F9',
'\u26FA',
'\u26FD',
//Hand
'\u261C',
'\u261D',
'\u261E',
'\u261F',
'\u2620',
'\u2622',
'\u2623',
//Religion
'\u2626',
'\u262A',
'\u262C',
'\u262E',
'\u262F',
'\u26EA',
'\u26E9'
]
var core=[
{name:'&lt;3',url:
'qrc:///images/smileys/core/smiley-heart.gif'},

View file

@ -43,7 +43,7 @@ Rectangle{
textFormat: Text.RichText
width: parent.width
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
text: "<b>Friendiqa v0.3.2 </b><br>Licensed under GPL 3 with the exception of OpenSSL <br> "+
text: "<b>Friendiqa v0.3.3 </b><br>Licensed under GPL 3 with the exception of OpenSSL <br> "+
"Profile <a href='https://freunde.ma-nic.de/profile/friendiqa'>https://freunde.ma-nic.de/profile/friendiqa</a><br>"+
"Sourcecode: <a href='https://git.friendi.ca/LubuWest/Friendiqa'>https://git.friendi.ca/LubuWest/Friendiqa</a><br>"+
"Most of C++ code by <a href='https://kirgroup.com/profile/fabrixxm'>Fabio</a><br>"+

View file

@ -34,55 +34,58 @@ import QtQuick.Controls 1.3
import "qrc:/qml/genericqml"
Item {
id: contactComponent
property var createdAtDate: new Date(contact.created_at)
property string connectUrl: (contact.network!=="dfrn")||(contact.isFriend==1)?"":( "<a href='"+contact.url.replace("profile","dfrn_request") +"'>"+qsTr("Connect")+"</a><br>")
id: contactComponent
height: 8*mm
width: parent.width
property var createdAtDate: new Date(contact.created_at)
property string connectUrl: (contact.network!=="dfrn")||(contact.isFriend==1)?"":( "<a href='"+contact.url.replace("profile","dfrn_request") +"'>"+qsTr("Connect")+"</a><br>")
Rectangle {
Rectangle {
id: wrapper
width: 16*mm
height: 15*mm
width:parent.width
height: 8*mm
border.color: "grey"
color:"white"
Image {
id: photoImage
x:1
y:1
width: 10*mm
height:10*mm
x:0.5*mm
y:0.5*mm
width: 7*mm
height:7*mm
source:((contact.profile_image!="") && (typeof(contact.profile_image)=="string"))? "file://"+contact.profile_image : contact.profile_image_url
onStatusChanged: {if (photoImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"}}
}
Column{
width: wrapper.width-8*mm
anchors.left: photoImage.right
anchors.margins: 1*mm
spacing: mm
Label {
id: namelabel
x: 1
width: wrapper.width-4
height: 3*mm
text: contact.screen_name
text: contact.name
elide:Text.ElideRight
anchors.topMargin: 0
anchors.left: photoImage.left
color: "#303030"
font.pixelSize: 3*mm
anchors.top: photoImage.bottom
}
BlueButton{
id:infobutton
width: 5*mm
height: 5*mm
color:"transparent"
text:"?"
anchors.left: photoImage.right
anchors.leftMargin: 0.5*mm
anchors.topMargin: mm
anchors.top: parent.top
Label {
id: screennamelabel
width: wrapper.width-8*mm
height: 2.5*mm
text: "@"+contact.screen_name
elide:Text.ElideRight
color: "#303030"
font.pixelSize: 2.5*mm
}
}
MouseArea{
anchors.fill: parent
onClicked:{
var component = Qt.createComponent("qrc:/qml/contactqml/ContactDetailsComponent.qml");
if (component.status== Component.Ready){
var contactDetails = component.createObject(friendstab,{"contact": contact})}
root.currentIndex=0;
root.contactdetailsSignal(contact)
}
}
}
}

View file

@ -153,7 +153,7 @@ Rectangle {
anchors.right: parent.right
onClicked: {
try {friendsModel.clear()} catch(e){print(e)};
root.contactLoadType="friends";
//root.contactLoadType="friends";
Newsjs.requestFriends(root.login,db,root,function(nc){
root.newContacts=nc
})
@ -171,15 +171,15 @@ Rectangle {
value: currentContact/root.newContacts.length
}
GridView {
//GridView {
ListView{
id: friendsView
x:mm
y:updateFriendsButton.height+2*mm
width:friendsGridTab.width-2*mm
height:friendsGridTab.height-updateFriendsButton.height-2*mm
clip: true
cellHeight: 16*mm
cellWidth: 17*mm
spacing: 2
//add: Transition {
// NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
// }
@ -233,15 +233,13 @@ Rectangle {
})
}
}
GridView {
ListView {
id: contactsView
x:mm
y:cleanButton.height+2*mm
width:contactsGridTab.width-2*mm
height:contactsGridTab.height-cleanButton.height-2*mm
clip: true
cellHeight: 16*mm
cellWidth: 17*mm
//add: Transition {
// NumberAnimation { properties: "x,y"; from: 300; duration: 1000 }
// }

View file

@ -93,7 +93,11 @@ Item {
groupmembers=JSON.parse(groups);
for (var user in groupmembers){
Helperjs.readData(root.db,"contacts",root.login.username,function(userdata){
if (userdata[0]){groupModel.append({"groupmember":userdata[0]})}
if (userdata[0]){
userdata[0].name=Qt.atob(userdata[0].name);
userdata[0].description=Qt.atob(userdata[0].description)
groupModel.append({"groupmember":userdata[0]
})}
},"id",groupmembers[user])
} //catch(e){}
},"groupname",group.groupname);
@ -132,13 +136,15 @@ Item {
anchors.left: memberImage.right
anchors.margins: 1*mm
width:parent.width-1
text:Qt.atob(groupmember.name)
text:groupmember.name
}
MouseArea{
anchors.fill: parent
onClicked:{
root.currentIndex=1;
friendstab.active=true;
// root.currentIndex=1;
// friendstab.active=true;
// root.contactdetailsSignal(groupmember)
root.currentIndex=0;
root.contactdetailsSignal(groupmember)
}
}

View file

@ -70,7 +70,7 @@ TabView{
signal changeimage(var method, var type, var id)
property var news:[]
property var newContacts:[]
property string contactLoadType: ""
//property string contactLoadType: ""
property bool imagePicking: false
onLoginChanged:{
@ -95,23 +95,14 @@ TabView{
xhr.setContactlist(contactnames);
xhr.setImagedir(login.imagestore);
xhr.getlist();
// Service.processNews(function(){
// root.contactLoadType="";
// root.news=[];
// })
}
// else if (contactLoadType!=""){
// Service.processNews(function(){
// root.contactLoadType="";
// root.news=[];
// })}
}
Connections{
target:xhr
onDownloaded:{
if(type=="contactlist"){
//print("contact image saved"+Date.now()+" "+filename+" "+url);
var database=LocalStorage.openDatabaseSync(root.db[0],root.db[1],root.db[2],root.db[3]);
var result;
database.transaction( function(tx) {
@ -173,6 +164,7 @@ TabView{
id: newstab
property string newstabstatus
property var conversation:[]
property var contactposts:[]
source:(root.currentIndex==0)? "qrc:/qml/newsqml/NewsTab.qml":""
}
Tab{

View file

@ -0,0 +1,203 @@
// This file is part of Friendiqa
// https://github.com/lubuwest/Friendiqa
// Copyright (C) 2017 Marco R. <thomasschmidt45@gmx.net>
//
// 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.
//
// In addition, as a special exception, the copyright holders give
// permission to link the code of portions of this program with the
// OpenSSL library under certain conditions as described in each
// individual source file, and distribute linked combinations including
// the two.
//
// You must obey the GNU General Public License in all respects for all
// of the code used other than OpenSSL. If you modify file(s) with this
// exception, you may extend this exception to your version of the
// file(s), but you are not obligated to do so. If you do not wish to do
// so, delete this exception statement from your version. If you delete
// this exception statement from all source files in the program, then
// also delete it here.
//
// 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/>.
import QtQuick 2.0
import QtQuick.Controls 1.2
import "qrc:/js/helper.js" as Helperjs
import "qrc:/qml/genericqml"
Rectangle {
id:contactList
color: "white"
property var contact:({})
property string profileimagesource:contact.profile_image
ListView {
id: contactView
x:mm
y:8*mm
width: contactList.width-4*mm
height:contactList.height-10*mm
clip: true
spacing: 0
header: contactHeader
model: contactModel
delegate: Newsitem{}
}
BusyIndicator{
id: contactBusy
anchors.centerIn:parent
width:10*mm
height: 10*mm
running: true
}
Component { id: contactHeader
Rectangle{
border.color: "#EEEEEE"
border.width: 1
color:"white"
width:contactView.width
height: profileImage.height+namelabel.height+detailtext.height+7*mm
//height: wrapper.height
property var createdAtDate: new Date(contact.created_at)
property string connectUrl: (contact.network!=="dfrn")||(contact.isFriend!=0)?"":( "<a href='"+contact.url.replace("profile","dfrn_request") +"'>"+qsTr("Connect")+"</a><br>")
Image {
id: profileImage
x:mm
y:mm
width: contactView.width/2
height:width
source:(contact.profile_image!="")? "file://"+contact.profile_image : contact.profile_image_url
onStatusChanged: if (profileImage.status == Image.Error) {source="qrc:/images/defaultcontact.jpg"}
Connections{
target:contactList
onProfileimagesourceChanged:profileImage.source=profileimagesource
}
}
Column{id:buttoncolumn
anchors.right: parent.right
anchors.rightMargin: mm
y: mm
spacing:4
BlueButton{
id:photobutton
text: "\uf03e" // "Photos"
visible:(contact.network=="dfrn")
onClicked:{print(createdAtDate + " contact.created_at"+contact.created_at)
fotostab.phototabstatus="Contact";
currentIndex=2;
fotostab.active=true;
fotoSignal(root.login,contact) ;
newsStack.pop();
}
}
BlueButton{
id:dmbutton
visible: (contact.following=="true")
text: "\uf040" //"DM"
onClicked:{
currentIndex=0;
directmessageSignal(contact.screen_name)
newsStack.pop()
}
}
BlueButton{
id:eventbutton
visible:(contact.network=="dfrn")
text:"\uf073"
onClicked:{
currentIndex=3;
calendartab.calendartabstatus="Friend"
eventSignal(contact);
newsStack.pop()
}
}
}//Row end
Label {
id: namelabel
x:mm
width: contactView.width-2*mm
height: implicitHeight
text:contact.name+" (@"+contact.screen_name+")"
wrapMode: Text.Wrap//elide:Text.ElideRight
color: "#303030"
font.pixelSize: 4*mm
anchors.top: profileImage.bottom
anchors.topMargin: mm
}
Text{
id:detailtext
anchors.top: namelabel.bottom
anchors.topMargin: 2*mm
x:mm
width: contactView.width-2*mm
height: implicitHeight
font.pixelSize: 2.5*mm
textFormat:Text.RichText
wrapMode: Text.Wrap
text:"<b>"+qsTr("Description")+": </b> "+contact.description+"<br> <b>"+qsTr("Location")+":</b> "+contact.location+"<br> <b>"+qsTr("Posts")+":</b> "+contact.statuses_count+
"<br> <b>"+qsTr("URL")+":</b> <a href='"+ contact.url+"'>"+contact.url+"</a><br>"+
connectUrl+ "<b>"+qsTr("Created at")+":</b> "+createdAtDate.toLocaleString(Qt.locale())
onLinkActivated: {
Qt.openUrlExternally(link)}
}
//}
}
}//Component end
Connections{
target:newstab
onContactpostsChanged:{
if (newstab.contactposts.length>0){profileimagesource=newstab.contactposts[0].user.profile_image_url_large}
contactBusy.running=false;
contactModel.clear();
var currentTime= new Date();
var msg = {'currentTime': currentTime, 'model': contactModel,'news':newstab.contactposts};
contactWorker.sendMessage(msg)
}
}
ListModel{id: contactModel}
WorkerScript {
id: contactWorker
source: "qrc:/js/newsworker.js"
}
BlueButton {
id: closeButton
width:10*mm
anchors.top: parent.top
anchors.topMargin: 1*mm
anchors.right: parent.right
anchors.rightMargin: 1*mm
text: "\uf057"
onClicked: {
newsStack.pop()
}
}
Component.onCompleted: {
xhr.clearParams();
xhr.setLogin(login.username+":"+Qt.atob(login.password));
xhr.setUrl(login.server);
xhr.setApi("/api/statuses/user_timeline");
xhr.setParam("user_id",contact.id)
xhr.get();
}
}

View file

@ -65,7 +65,6 @@ Item {
showConversation(newsStack.timelineIndex-1,newsModel.get(0).newsitemobject)}
else{
Service.updateView(newstab.newstabstatus)
root.contactLoadType="news";
}
}
}
@ -81,7 +80,9 @@ Item {
function showNews(newsToShow){
try{if (newsStack.depth>1){newsStack.pop()}}catch(e){}
try{
if (newsStack.depth>1){newsStack.pop()}
}catch(e){}
newsBusy.running=false;
var currentTime= new Date();
// downloadNotice.text=downloadNotice.text + "\n shownews start "+ Date.now();
@ -94,10 +95,6 @@ Item {
function showConversation(conversationIndex,newsitemobject){
//newsBusy.running=true;
root.contactLoadType="conversation";
newsStack.conversationIndex= conversationIndex;
//print(newsitemobject.id);
if(newsitemobject.messagetype==0){
xhr.clearParams();
xhr.setLogin(login.username+":"+Qt.atob(login.password));
@ -117,10 +114,8 @@ Item {
}
function showContact(contact){
var component = Qt.createComponent("qrc:/qml/contactqml/ContactDetailsComponent.qml");
if (component.status== Component.Ready){
var contactDetails = component.createObject(newstab,{"contact": contact})
}
newstab.newstabstatus="Contact";
newsStack.push({item:"qrc:/qml/newsqml/ContactPage.qml",properties:{"contact": contact}});
}
function search(term){//print("Search "+term)
@ -134,7 +129,6 @@ Item {
xhr.clearParams();
xhr.setParam("q",term)
xhr.get();}
//newsSearch.visible=false;
newsView.anchors.topMargin=7*mm
}
@ -174,7 +168,6 @@ Item {
StackView{
id: newsStack
anchors.fill:parent
property int conversationIndex: 0
property string updateMethodNews: "refresh"
property var allchats: ({})
initialItem:Rectangle {
@ -284,17 +277,9 @@ Item {
id: searchButton
text: "\uf002"
onClicked: {
//if (newsSearch.visible==false){
newsView.anchors.topMargin=18*mm;
var component = Qt.createComponent("qrc:/qml/genericqml/Search.qml");
var searchItem = component.createObject(newsStack,{y:8*mm,width:root.width,height: 8*mm});
//searchItem.forceActiveFocus()
// newsSearch.visible=true}
//else{
// newsSearch.visible=false;
// newsView.anchors.topMargin=7*mm;
//}
}
}
@ -327,7 +312,7 @@ Item {
if (newstab.newstabstatus=="Timeline"){
newsStack.updateMethodNews="append"
} else {newsStack.updateMethodNews="refresh"}
root.contactLoadType="news";
//root.contactLoadType="news";
Service.updateView(newstab.newstabstatus)
}
}
@ -358,32 +343,21 @@ Item {
var msg = {'currentTime': currentTime, 'model': newsModel,'news':news,'appendnews':true};
newsWorker.sendMessage(msg);
},lastnews_id)}
else if(newstab.newstabstatus=="Contact"){
Newsjs.newsfromdb(root.db,root.login.username, function(news){
var msg = {'currentTime': currentTime, 'model': newsModel,'news':news,'appendnews':true};
newsWorker.sendMessage(msg);
},newsModel.get(newsModel.count-1).newsitemobject.uid,lastnews_id)}
// else if(newstab.newstabstatus=="Contact"){
// Newsjs.newsfromdb(root.db,root.login.username, function(news){
// var msg = {'currentTime': currentTime, 'model': newsModel,'news':news,'appendnews':true};
// newsWorker.sendMessage(msg);
// },newsModel.get(newsModel.count-1).newsitemobject.uid,lastnews_id)}
else if (newstab.newstabstatus=="Notifications"){}
else{
newsStack.appendNews=true;
//newsStack.appendNews=true;
xhr.setParam("max_id",newsModel.get(newsModel.count-1).newsitemobject.id-1);
xhr.get()
}}
}
}
}
// Rectangle{
// id: newsSearch
// color: "#FFFAFA"
// y:8*mm
// width:root.width
// height: 8*mm
// //visible:false
// Search{
// anchors.fill: parent
// anchors.margins: mm
// }
// }
ListView {
id: newsView
@ -398,11 +372,9 @@ Item {
delegate: Newsitem{}
//onContentYChanged:{if(contentY<-8*mm&&contentY>(-8*mm-1)){print("refreshing");
onDragEnded:{if(contentY<-5*mm){
root.contactLoadType="news";
var onlynew=true;
Service.updateView(newstab.newstabstatus)
}}
//Component.onCompleted: currentIndex=count
}
ListModel{id: newsModel}
@ -447,6 +419,7 @@ Item {
Component.onCompleted: {
root.messageSignal.connect(onFriendsMessages);
root.directmessageSignal.connect(onDirectMessage);
root.contactdetailsSignal.connect(showContact);
root.newsSignal.connect(showNews);
root.uploadSignal.connect(sendUrls);
root.sendtextSignal.connect(sendtext);

View file

@ -38,7 +38,7 @@ Rectangle{
color:"black"
//border.color: "light grey"
width:newscolumn.width;
height:video.hasVideo?newscolumn.width/4*3:10*mm
height:newscolumn.width/4*3//video.hasVideo?newscolumn.width/4*3:10*mm
property alias source:video.source
Text{
id:noticeText

View file

@ -298,7 +298,7 @@ Item {
font.pixelSize: 2.5*mm
font.family:fontAwesome.name
color:control.checked?"black": "grey"
text:"\uf118"
text:control.checked?"\uf118"+"!":"\uf118"
}
}
}
@ -320,7 +320,7 @@ Item {
font.pixelSize: 2.5*mm
font.family:fontAwesome.name
color:control.checked?"black": "grey"
text: "\uf119"
text: control.checked?"\uf119"+"!":"\uf119"
}
}
}

View file

@ -40,7 +40,7 @@ Rectangle{
id:smileyDialog
x: mm
width: messageColumn.width-5*mm
height:root.height/3
height:root.height/2
BlueButton{
id:closeButton
@ -64,7 +64,7 @@ Rectangle{
frameOverlap: 1
tab: Rectangle {
color: "white"
implicitWidth: smileyTabView.width/3-2*mm
implicitWidth: smileyTabView.width/4-2*mm
implicitHeight: 4*mm
Text { id: text
anchors.centerIn: parent
@ -78,6 +78,30 @@ Rectangle{
tabsAlignment:Qt.AlignHCenter
}
Tab{
title: qsTr("Unicode")
Rectangle{
id: htmlGridTab
GridView {
id:htmlView
anchors.fill: parent
cellWidth: 5*mm
cellHeight: 5*mm
clip: true
model: htmlModel
delegate: htmlItem
}
ListModel{
id:htmlModel
}
Component.onCompleted:{
for (var icon in Smileyjs.html){
htmlModel.append({"emoji":Smileyjs.html[icon]})
}
}
}
}
Tab{
title: qsTr("Standard")
Rectangle{
@ -152,6 +176,9 @@ Rectangle{
}
}
}
}
Component{
id:smileyItem
@ -166,9 +193,31 @@ Rectangle{
onClicked:{
//bodyField.append(emoji.name+" ")
bodyField.insert(bodyField.cursorPosition,emoji.name+" ");
smileyDialog.destroy()
smileyDialog.visible=false
}
}
}
}
Component{
id:htmlItem
Text{id:smileText
width:4.5*mm
height: 4.5*mm
textFormat:Text.RichText
font.pixelSize: 4*mm
text: emoji
MouseArea{
anchors.fill: parent
onClicked:{
//bodyField.append(emoji.name+" ")
bodyField.insert(bodyField.cursorPosition,emoji+" ");
smileyDialog.visible=false
}
}
}
}
}

View file

@ -59,16 +59,14 @@
<translation>Intervall (0=keins)</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<location filename="../qml/configqml/ConfigTab.qml" line="328"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<source>Nickname not registered at given server!</source>
<translation>Name auf der Seite nicht registriert!</translation>
<translation type="vanished">Name auf der Seite nicht registriert!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="289"/>
@ -138,7 +136,7 @@
<context>
<name>ContactComponent</name>
<message>
<location filename="../qml/contactqml/ContactComponent.qml" line="39"/>
<location filename="../qml/contactqml/ContactComponent.qml" line="41"/>
<source>Connect</source>
<translation>Kontaktanfrage</translation>
</message>
@ -176,6 +174,39 @@
<translation>Erstellt</translation>
</message>
</context>
<context>
<name>ContactPage</name>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="72"/>
<source>Connect</source>
<translation>Kontaktanfrage</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Location</source>
<translation>Ort</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Posts</source>
<translation>Beiträge</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="153"/>
<source>URL</source>
<translation>Profilseite</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="154"/>
<source>Created at</source>
<translation>Erstellt</translation>
</message>
</context>
<context>
<name>FriendsTab</name>
<message>
@ -194,7 +225,7 @@
<translation>Kontakte</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="259"/>
<location filename="../qml/contactqml/FriendsTab.qml" line="257"/>
<source>Groups</source>
<translation>Gruppen</translation>
</message>
@ -213,37 +244,40 @@
<context>
<name>ImageUploadDialog</name>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="100"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="124"/>
<source>Upload to album</source>
<translation>In Album hochladen</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="121"/>
<source>Album</source>
<translation>Album</translation>
<translation type="vanished">Album</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="126"/>
<source>Image</source>
<translation>Bild</translation>
<translation type="vanished">Bild</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="131"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="221"/>
<source>Description</source>
<translation>Beschreibung</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="229"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Upload</source>
<translation>Hochladen</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Change</source>
<translation>Ändern</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source> No album name given</source>
<translation>Kein Albumname angegeben</translation>
</message>
@ -251,17 +285,17 @@
<context>
<name>MessageSend</name>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="111"/>
<location filename="../qml/newsqml/MessageSend.qml" line="108"/>
<source>Title (optional)</source>
<translation>Überschrift (optional)</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Only one attachment supported at the moment.
Remove other attachment first!</source>
<translation>Nur ein Anhang derzeit unterstützt.
@ -275,52 +309,56 @@
<translation type="vanished">Lade Profilbild für </translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="404"/>
<location filename="../qml/newsqml/NewsTab.qml" line="330"/>
<source>More</source>
<translation>Mehr</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="281"/>
<location filename="../qml/newsqml/NewsTab.qml" line="200"/>
<source>Timeline</source>
<translation>Chronologisch</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="63"/>
<source>Error</source>
<translation>Fehler</translation>
<translation type="vanished">Fehler</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="298"/>
<location filename="../qml/newsqml/NewsTab.qml" line="217"/>
<source>Favorites</source>
<translation>Markierte News</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="290"/>
<location filename="../qml/newsqml/NewsTab.qml" line="209"/>
<source>Conversations</source>
<translation>Unterhaltungen</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="306"/>
<location filename="../qml/newsqml/NewsTab.qml" line="54"/>
<source>Network Error</source>
<translation>Netzwerk-Fehler</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="225"/>
<source>Public timeline</source>
<translation>Gemeinschaft</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="314"/>
<location filename="../qml/newsqml/NewsTab.qml" line="234"/>
<source>Direct Messages</source>
<translation>Direktnachrichten</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="321"/>
<location filename="../qml/newsqml/NewsTab.qml" line="242"/>
<source>Notifications</source>
<translation>Meldungen</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="328"/>
<location filename="../qml/newsqml/NewsTab.qml" line="251"/>
<source>Group news</source>
<translation>News Gruppe</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="332"/>
<location filename="../qml/newsqml/NewsTab.qml" line="259"/>
<source>Quit</source>
<translation>Schliessen</translation>
</message>
@ -353,57 +391,57 @@
<translation> Kommentare</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="258"/>
<location filename="../qml/newsqml/Newsitem.qml" line="281"/>
<source>Attending: </source>
<translation>Teilnahme: </translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="378"/>
<location filename="../qml/newsqml/Newsitem.qml" line="403"/>
<source>Reply</source>
<translation>Antworten</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="386"/>
<location filename="../qml/newsqml/Newsitem.qml" line="411"/>
<source>DM</source>
<translation>Direktnachricht</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="392"/>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<source>Repost</source>
<translation>Teilen</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="395"/>
<location filename="../qml/newsqml/Newsitem.qml" line="420"/>
<source>Success!</source>
<translation>Erledigt!</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="400"/>
<location filename="../qml/newsqml/Newsitem.qml" line="425"/>
<source>Conversation</source>
<translation>Unterhaltung</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="410"/>
<location filename="../qml/newsqml/Newsitem.qml" line="435"/>
<source>Attending</source>
<translation>Teilnahme</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="412"/>
<location filename="../qml/newsqml/Newsitem.qml" line="437"/>
<source>yes</source>
<translation>ja</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<location filename="../qml/newsqml/Newsitem.qml" line="442"/>
<source>maybe</source>
<translation>vielleicht</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="422"/>
<location filename="../qml/newsqml/Newsitem.qml" line="447"/>
<source>no</source>
<translation>nein</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="429"/>
<location filename="../qml/newsqml/Newsitem.qml" line="454"/>
<source>Delete</source>
<translation>Löschen</translation>
</message>
@ -424,28 +462,28 @@
<context>
<name>PhotoTab</name>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="121"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="123"/>
<source>&apos;s images</source>
<translation>s Bilder</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="178"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="188"/>
<source>All Images</source>
<translation>Alle Bilder</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="183"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="193"/>
<source>Only new</source>
<translation>Nur neue</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="197"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="201"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="207"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="211"/>
<source>Own Images</source>
<translation>Eigene Bilder</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="238"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="248"/>
<source>More</source>
<translation>Mehr</translation>
</message>
@ -677,16 +715,21 @@
<name>SmileyDialog</name>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="82"/>
<source>Unicode</source>
<translation>Unicode</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="106"/>
<source>Standard</source>
<translation>Standard</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="108"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<source>Addon</source>
<translation>Addon</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="156"/>
<source>Adult</source>
<translation>XXX</translation>
</message>
@ -694,131 +737,131 @@
<context>
<name>newsworker</name>
<message>
<location filename="../js/newsworker.js" line="57"/>
<location filename="../js/newsworker.js" line="63"/>
<source>likes this.</source>
<translation>mag das.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="58"/>
<location filename="../js/newsworker.js" line="64"/>
<source>like this.</source>
<translation>mögen das.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="61"/>
<location filename="../js/newsworker.js" line="67"/>
<source>doesn&apos;t like this.</source>
<translation>mag das nicht.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="62"/>
<location filename="../js/newsworker.js" line="68"/>
<source>don&apos;t like this.</source>
<translation>mögen das nicht.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="65"/>
<location filename="../js/newsworker.js" line="71"/>
<source>will attend.</source>
<translation>nehmen teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="66"/>
<location filename="../js/newsworker.js" line="72"/>
<source>persons will attend.</source>
<translation>Personen nehmen teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="69"/>
<location filename="../js/newsworker.js" line="75"/>
<source>will not attend.</source>
<translation>nimmt nicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="70"/>
<location filename="../js/newsworker.js" line="76"/>
<source>persons will not attend.</source>
<translation>Personen nehmen nicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="73"/>
<location filename="../js/newsworker.js" line="79"/>
<source>may attend.</source>
<translation>nimmt vielleicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="74"/>
<location filename="../js/newsworker.js" line="80"/>
<source>persons may attend.</source>
<translation>Personen nehmen vielleicht teil.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="78"/>
<location filename="../js/newsworker.js" line="84"/>
<source>yes</source>
<translation>ja</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="79"/>
<location filename="../js/newsworker.js" line="85"/>
<source>no</source>
<translation>nein</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="80"/>
<location filename="../js/newsworker.js" line="86"/>
<source>maybe</source>
<translation>vielleicht</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="143"/>
<source>seconds</source>
<translation>Sekunden</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="143"/>
<location filename="../js/newsworker.js" line="144"/>
<location filename="../js/newsworker.js" line="145"/>
<location filename="../js/newsworker.js" line="146"/>
<location filename="../js/newsworker.js" line="147"/>
<location filename="../js/newsworker.js" line="148"/>
<location filename="../js/newsworker.js" line="149"/>
<location filename="../js/newsworker.js" line="150"/>
<location filename="../js/newsworker.js" line="151"/>
<location filename="../js/newsworker.js" line="152"/>
<source>ago</source>
<translation>her</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="144"/>
<source>minute</source>
<translation>Minute</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="145"/>
<source>minutes</source>
<translation>Minuten</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="146"/>
<source>hour</source>
<translation>Stunde</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="147"/>
<source>hours</source>
<translation>Stunden</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="148"/>
<source>day</source>
<translation>Tag</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="149"/>
<source>days</source>
<translation>Tage</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="150"/>
<source>month</source>
<translation>Monat</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="151"/>
<source>months</source>
<translation>Monate</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="152"/>
<source>years</source>
<translation></translation>
</message>
@ -826,11 +869,18 @@
<context>
<name>service</name>
<message>
<location filename="../js/service.js" line="360"/>
<location filename="../js/service.js" line="362"/>
<location filename="../js/service.js" line="365"/>
<source>Error</source>
<translation>Fehler</translation>
<translation type="vanished">Fehler</translation>
</message>
<message>
<location filename="../js/service.js" line="363"/>
<source>Undefined Array Error</source>
<translation>Antwort-Array ungültig</translation>
</message>
<message>
<location filename="../js/service.js" line="366"/>
<source>JSON status Error</source>
<translation>Server-Antwort: Fehler</translation>
</message>
</context>
</TS>

View file

@ -31,7 +31,7 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="100"/>
<source>Nickname</source>
<translation type="unfinished"></translation>
<translation>Usuario</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="105"/>
@ -59,16 +59,10 @@
<translation>Intervalo (0=ningún)</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<location filename="../qml/configqml/ConfigTab.qml" line="328"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<source>Nickname not registered at given server!</source>
<translation type="unfinished"></translation>
<translation>Error</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="289"/>
@ -83,12 +77,12 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="294"/>
<source>No nickname given! </source>
<translation type="unfinished"></translation>
<translation>¡Usuario incorrecto!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="295"/>
<source>Nickname not registered at given server! </source>
<translation type="unfinished"></translation>
<translation>¡Usuario incorrecto!</translation>
</message>
<message>
<source>No username given! </source>
@ -112,17 +106,17 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<source>Wrong password!</source>
<translation type="unfinished"></translation>
<translation>¡Contraseña incorrecta!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Success</source>
<translation type="unfinished"></translation>
<translation>éxito!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Name</source>
<translation type="unfinished"></translation>
<translation>Nombre</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="389"/>
@ -138,7 +132,7 @@
<context>
<name>ContactComponent</name>
<message>
<location filename="../qml/contactqml/ContactComponent.qml" line="39"/>
<location filename="../qml/contactqml/ContactComponent.qml" line="41"/>
<source>Connect</source>
<translation>Conectar</translation>
</message>
@ -176,12 +170,45 @@
<translation>Creado en</translation>
</message>
</context>
<context>
<name>ContactPage</name>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="72"/>
<source>Connect</source>
<translation>Conectar</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Description</source>
<translation>Descripción</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Location</source>
<translation>Localización</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Posts</source>
<translation>Mensajes</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="153"/>
<source>URL</source>
<translation>URL</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="154"/>
<source>Created at</source>
<translation>Creado en</translation>
</message>
</context>
<context>
<name>FriendsTab</name>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="111"/>
<source>Me</source>
<translation type="unfinished"></translation>
<translation>Yo</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="121"/>
@ -194,7 +221,7 @@
<translation>Contactos</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="259"/>
<location filename="../qml/contactqml/FriendsTab.qml" line="257"/>
<source>Groups</source>
<translation>Grupos</translation>
</message>
@ -202,37 +229,40 @@
<context>
<name>ImageUploadDialog</name>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="100"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="124"/>
<source>Upload to album</source>
<translation type="unfinished"></translation>
<translation>Subir álbum</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="121"/>
<source>Album</source>
<translation>álbum</translation>
<translation type="vanished">álbum</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="126"/>
<source>Image</source>
<translation>imagen</translation>
<translation type="vanished">imagen</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="131"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="221"/>
<source>Description</source>
<translation>Descripción</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="229"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Upload</source>
<translation>Subir</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Change</source>
<translation>Cambiar</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source> No album name given</source>
<translation>¡Nombre del álbum no encontrado!</translation>
</message>
@ -240,17 +270,17 @@
<context>
<name>MessageSend</name>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="111"/>
<location filename="../qml/newsqml/MessageSend.qml" line="108"/>
<source>Title (optional)</source>
<translation>Título (opcional)</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Only one attachment supported at the moment.
Remove other attachment first!</source>
<translation>Solo se admite adjuntar un solo archivo en este momento.
@ -264,54 +294,58 @@
<translation type="vanished">Descargar la imagen del perfil para </translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="404"/>
<location filename="../qml/newsqml/NewsTab.qml" line="330"/>
<source>More</source>
<translation>Mas</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="281"/>
<location filename="../qml/newsqml/NewsTab.qml" line="200"/>
<source>Timeline</source>
<translation>Cronología</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="63"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
<translation type="obsolete">Error</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="298"/>
<location filename="../qml/newsqml/NewsTab.qml" line="217"/>
<source>Favorites</source>
<translation>Favoritos</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="290"/>
<location filename="../qml/newsqml/NewsTab.qml" line="209"/>
<source>Conversations</source>
<translation>Conversaciones</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="306"/>
<location filename="../qml/newsqml/NewsTab.qml" line="54"/>
<source>Network Error</source>
<translation>Fallo de red</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="225"/>
<source>Public timeline</source>
<translation type="unfinished"></translation>
<translation>Cronología pública</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="314"/>
<location filename="../qml/newsqml/NewsTab.qml" line="234"/>
<source>Direct Messages</source>
<translation type="unfinished"></translation>
<translation>Mensaje directo</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="321"/>
<location filename="../qml/newsqml/NewsTab.qml" line="242"/>
<source>Notifications</source>
<translation>Notificaciones</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="328"/>
<location filename="../qml/newsqml/NewsTab.qml" line="251"/>
<source>Group news</source>
<translation type="unfinished"></translation>
<translation>Grupos</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="332"/>
<location filename="../qml/newsqml/NewsTab.qml" line="259"/>
<source>Quit</source>
<translation type="unfinished"></translation>
<translation>Salida</translation>
</message>
</context>
<context>
@ -342,57 +376,57 @@
<translation> comentarios</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="258"/>
<location filename="../qml/newsqml/Newsitem.qml" line="281"/>
<source>Attending: </source>
<translation>Asistiendo: </translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="378"/>
<location filename="../qml/newsqml/Newsitem.qml" line="403"/>
<source>Reply</source>
<translation>Respuesta</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="386"/>
<location filename="../qml/newsqml/Newsitem.qml" line="411"/>
<source>DM</source>
<translation>Mensaje directo</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="392"/>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<source>Repost</source>
<translation>Volver a publicar</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="395"/>
<location filename="../qml/newsqml/Newsitem.qml" line="420"/>
<source>Success!</source>
<translation>éxito!</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="400"/>
<location filename="../qml/newsqml/Newsitem.qml" line="425"/>
<source>Conversation</source>
<translation>Conversación</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="410"/>
<location filename="../qml/newsqml/Newsitem.qml" line="435"/>
<source>Attending</source>
<translation>Asistiendo</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="412"/>
<location filename="../qml/newsqml/Newsitem.qml" line="437"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<location filename="../qml/newsqml/Newsitem.qml" line="442"/>
<source>maybe</source>
<translation>quizás</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="422"/>
<location filename="../qml/newsqml/Newsitem.qml" line="447"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="429"/>
<location filename="../qml/newsqml/Newsitem.qml" line="454"/>
<source>Delete</source>
<translation>Borrar</translation>
</message>
@ -413,28 +447,28 @@
<context>
<name>PhotoTab</name>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="121"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="123"/>
<source>&apos;s images</source>
<translation>s Imágenes</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="178"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="188"/>
<source>All Images</source>
<translation type="unfinished"></translation>
<translation>Todas las imagenes</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="183"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="193"/>
<source>Only new</source>
<translation type="unfinished"></translation>
<translation>Solo nueva</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="197"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="201"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="207"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="211"/>
<source>Own Images</source>
<translation>Mis imágenes</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="238"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="248"/>
<source>More</source>
<translation>Mas</translation>
</message>
@ -444,7 +478,7 @@
<message>
<location filename="../qml/contactqml/ProfileComponent.qml" line="60"/>
<source>profile name</source>
<translation type="unfinished"></translation>
<translation>Nombre de perfil</translation>
</message>
<message>
<location filename="../qml/contactqml/ProfileComponent.qml" line="61"/>
@ -666,16 +700,21 @@
<name>SmileyDialog</name>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="82"/>
<source>Unicode</source>
<translation>Unicode</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="106"/>
<source>Standard</source>
<translation>Standard</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="108"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<source>Addon</source>
<translation>Addon</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="156"/>
<source>Adult</source>
<translation>XXX</translation>
</message>
@ -683,131 +722,131 @@
<context>
<name>newsworker</name>
<message>
<location filename="../js/newsworker.js" line="57"/>
<location filename="../js/newsworker.js" line="63"/>
<source>likes this.</source>
<translation>le gusta esto.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="58"/>
<location filename="../js/newsworker.js" line="64"/>
<source>like this.</source>
<translation>me gusta esto.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="61"/>
<location filename="../js/newsworker.js" line="67"/>
<source>doesn&apos;t like this.</source>
<translation>no de ése.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="62"/>
<location filename="../js/newsworker.js" line="68"/>
<source>don&apos;t like this.</source>
<translation>no me gusta.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="65"/>
<location filename="../js/newsworker.js" line="71"/>
<source>will attend.</source>
<translation>asistirá.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="66"/>
<location filename="../js/newsworker.js" line="72"/>
<source>persons will attend.</source>
<translation>Personas que asistirán.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="69"/>
<location filename="../js/newsworker.js" line="75"/>
<source>will not attend.</source>
<translation>no asistirá.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="70"/>
<location filename="../js/newsworker.js" line="76"/>
<source>persons will not attend.</source>
<translation>Personas que no asistirán..</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="73"/>
<location filename="../js/newsworker.js" line="79"/>
<source>may attend.</source>
<translation>Puede asistir.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="74"/>
<location filename="../js/newsworker.js" line="80"/>
<source>persons may attend.</source>
<translation>Personas que pueden asistir.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="78"/>
<location filename="../js/newsworker.js" line="84"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="79"/>
<location filename="../js/newsworker.js" line="85"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="80"/>
<location filename="../js/newsworker.js" line="86"/>
<source>maybe</source>
<translation>quizás</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="143"/>
<source>seconds</source>
<translation>Segundos</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="143"/>
<location filename="../js/newsworker.js" line="144"/>
<location filename="../js/newsworker.js" line="145"/>
<location filename="../js/newsworker.js" line="146"/>
<location filename="../js/newsworker.js" line="147"/>
<location filename="../js/newsworker.js" line="148"/>
<location filename="../js/newsworker.js" line="149"/>
<location filename="../js/newsworker.js" line="150"/>
<location filename="../js/newsworker.js" line="151"/>
<location filename="../js/newsworker.js" line="152"/>
<source>ago</source>
<translation>hace</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="144"/>
<source>minute</source>
<translation>Minuto</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="145"/>
<source>minutes</source>
<translation>Minutos</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="146"/>
<source>hour</source>
<translation>Hora</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="147"/>
<source>hours</source>
<translation>Horas</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="148"/>
<source>day</source>
<translation>Dia</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="149"/>
<source>days</source>
<translation>Dias</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="150"/>
<source>month</source>
<translation>Mes</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="151"/>
<source>months</source>
<translation>Meses</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="152"/>
<source>years</source>
<translation>Años</translation>
</message>
@ -815,11 +854,18 @@
<context>
<name>service</name>
<message>
<location filename="../js/service.js" line="360"/>
<location filename="../js/service.js" line="362"/>
<location filename="../js/service.js" line="365"/>
<source>Error</source>
<translation type="unfinished">Error</translation>
<translation type="obsolete">Error</translation>
</message>
<message>
<location filename="../js/service.js" line="363"/>
<source>Undefined Array Error</source>
<translation></translation>
</message>
<message>
<location filename="../js/service.js" line="366"/>
<source>JSON status Error</source>
<translation></translation>
</message>
</context>
</TS>

View file

@ -31,7 +31,7 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="100"/>
<source>Nickname</source>
<translation type="unfinished"></translation>
<translation>Utente</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="105"/>
@ -59,16 +59,10 @@
<translation>Intervallo (0=nessuno)</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<location filename="../qml/configqml/ConfigTab.qml" line="328"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="188"/>
<source>Nickname not registered at given server!</source>
<translation type="unfinished"></translation>
<translation>Errore</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="289"/>
@ -83,12 +77,12 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="294"/>
<source>No nickname given! </source>
<translation type="unfinished"></translation>
<translation>Nessun utente inserito!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="295"/>
<source>Nickname not registered at given server! </source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>No username given! </source>
@ -112,17 +106,17 @@
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="304"/>
<source>Wrong password!</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Success</source>
<translation type="unfinished"></translation>
<translation>Ha funzionato!</translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="323"/>
<source>Name</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../qml/configqml/ConfigTab.qml" line="389"/>
@ -138,7 +132,7 @@
<context>
<name>ContactComponent</name>
<message>
<location filename="../qml/contactqml/ContactComponent.qml" line="39"/>
<location filename="../qml/contactqml/ContactComponent.qml" line="41"/>
<source>Connect</source>
<translation>Connetti</translation>
</message>
@ -176,6 +170,39 @@
<translation>Creato il</translation>
</message>
</context>
<context>
<name>ContactPage</name>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="72"/>
<source>Connect</source>
<translation>Connetti</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Description</source>
<translation>Descrizione</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Location</source>
<translation>Località</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="152"/>
<source>Posts</source>
<translation>Messaggi</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="153"/>
<source>URL</source>
<translation>URL</translation>
</message>
<message>
<location filename="../qml/newsqml/ContactPage.qml" line="154"/>
<source>Created at</source>
<translation>Creato il</translation>
</message>
</context>
<context>
<name>FriendsTab</name>
<message>
@ -194,7 +221,7 @@
<translation>Contatti</translation>
</message>
<message>
<location filename="../qml/contactqml/FriendsTab.qml" line="259"/>
<location filename="../qml/contactqml/FriendsTab.qml" line="257"/>
<source>Groups</source>
<translation>Gruppi</translation>
</message>
@ -202,37 +229,40 @@
<context>
<name>ImageUploadDialog</name>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="100"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="124"/>
<source>Upload to album</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="121"/>
<source>Album</source>
<translation>Album</translation>
<translation type="vanished">Album</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="126"/>
<source>Image</source>
<translation>Immagine</translation>
<translation type="vanished">Immagine</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="131"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="221"/>
<source>Description</source>
<translation>Descrizione</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="229"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Upload</source>
<translation>Carica</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="270"/>
<source>Change</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="232"/>
<location filename="../qml/photoqml/ImageUploadDialog.qml" line="272"/>
<source> No album name given</source>
<translation>Nessun nome album inserito!</translation>
</message>
@ -240,17 +270,17 @@
<context>
<name>MessageSend</name>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="111"/>
<location filename="../qml/newsqml/MessageSend.qml" line="108"/>
<source>Title (optional)</source>
<translation>Titolo (opzionale)</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Error</source>
<translation>Errore</translation>
</message>
<message>
<location filename="../qml/newsqml/MessageSend.qml" line="190"/>
<location filename="../qml/newsqml/MessageSend.qml" line="189"/>
<source>Only one attachment supported at the moment.
Remove other attachment first!</source>
<translation>Solo un allegato è attualmente supportato.
@ -264,52 +294,56 @@
<translation type="vanished">Download immagine profilo per </translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="404"/>
<location filename="../qml/newsqml/NewsTab.qml" line="330"/>
<source>More</source>
<translation>Ancora</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="281"/>
<location filename="../qml/newsqml/NewsTab.qml" line="200"/>
<source>Timeline</source>
<translation>Cronologia</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="63"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
<translation type="obsolete">Errore</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="298"/>
<location filename="../qml/newsqml/NewsTab.qml" line="217"/>
<source>Favorites</source>
<translation>Favoriti</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="290"/>
<location filename="../qml/newsqml/NewsTab.qml" line="209"/>
<source>Conversations</source>
<translation>Conversazioni</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="306"/>
<location filename="../qml/newsqml/NewsTab.qml" line="54"/>
<source>Network Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="225"/>
<source>Public timeline</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="314"/>
<location filename="../qml/newsqml/NewsTab.qml" line="234"/>
<source>Direct Messages</source>
<translation type="unfinished"></translation>
<translation>Messaggio diretto</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="321"/>
<location filename="../qml/newsqml/NewsTab.qml" line="242"/>
<source>Notifications</source>
<translation>Notifiche</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="328"/>
<location filename="../qml/newsqml/NewsTab.qml" line="251"/>
<source>Group news</source>
<translation type="unfinished"></translation>
<translation>Gruppi</translation>
</message>
<message>
<location filename="../qml/newsqml/NewsTab.qml" line="332"/>
<location filename="../qml/newsqml/NewsTab.qml" line="259"/>
<source>Quit</source>
<translation type="unfinished"></translation>
</message>
@ -342,57 +376,57 @@
<translation> commenti</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="258"/>
<location filename="../qml/newsqml/Newsitem.qml" line="281"/>
<source>Attending: </source>
<translation>Attendi: </translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="378"/>
<location filename="../qml/newsqml/Newsitem.qml" line="403"/>
<source>Reply</source>
<translation>Risposta</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="386"/>
<location filename="../qml/newsqml/Newsitem.qml" line="411"/>
<source>DM</source>
<translation>Messaggio diretto</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="392"/>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<source>Repost</source>
<translation>Condividi</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="395"/>
<location filename="../qml/newsqml/Newsitem.qml" line="420"/>
<source>Success!</source>
<translation>Ha funzionato!</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="400"/>
<location filename="../qml/newsqml/Newsitem.qml" line="425"/>
<source>Conversation</source>
<translation>Conversazione</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="410"/>
<location filename="../qml/newsqml/Newsitem.qml" line="435"/>
<source>Attending</source>
<translation>Attendi</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="412"/>
<location filename="../qml/newsqml/Newsitem.qml" line="437"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="417"/>
<location filename="../qml/newsqml/Newsitem.qml" line="442"/>
<source>maybe</source>
<translation>potrebbe</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="422"/>
<location filename="../qml/newsqml/Newsitem.qml" line="447"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../qml/newsqml/Newsitem.qml" line="429"/>
<location filename="../qml/newsqml/Newsitem.qml" line="454"/>
<source>Delete</source>
<translation>Cancella</translation>
</message>
@ -413,28 +447,28 @@
<context>
<name>PhotoTab</name>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="121"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="123"/>
<source>&apos;s images</source>
<translation> Immagini</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="178"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="188"/>
<source>All Images</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="183"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="193"/>
<source>Only new</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="197"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="201"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="207"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="211"/>
<source>Own Images</source>
<translation>Mie immagini</translation>
</message>
<message>
<location filename="../qml/photoqml/PhotoTab.qml" line="238"/>
<location filename="../qml/photoqml/PhotoTab.qml" line="248"/>
<source>More</source>
<translation>Ancora</translation>
</message>
@ -666,16 +700,21 @@
<name>SmileyDialog</name>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="82"/>
<source>Unicode</source>
<translation>Unicode</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="106"/>
<source>Standard</source>
<translation>Standard</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="108"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<source>Addon</source>
<translation>Addon</translation>
</message>
<message>
<location filename="../qml/newsqml/SmileyDialog.qml" line="132"/>
<location filename="../qml/newsqml/SmileyDialog.qml" line="156"/>
<source>Adult</source>
<translation>XXX</translation>
</message>
@ -683,131 +722,131 @@
<context>
<name>newsworker</name>
<message>
<location filename="../js/newsworker.js" line="57"/>
<location filename="../js/newsworker.js" line="63"/>
<source>likes this.</source>
<translation>mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="58"/>
<location filename="../js/newsworker.js" line="64"/>
<source>like this.</source>
<translation>mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="61"/>
<location filename="../js/newsworker.js" line="67"/>
<source>doesn&apos;t like this.</source>
<translation>non mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="62"/>
<location filename="../js/newsworker.js" line="68"/>
<source>don&apos;t like this.</source>
<translation>non mi piace.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="65"/>
<location filename="../js/newsworker.js" line="71"/>
<source>will attend.</source>
<translation>attendere.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="66"/>
<location filename="../js/newsworker.js" line="72"/>
<source>persons will attend.</source>
<translation>Persone che attendono.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="69"/>
<location filename="../js/newsworker.js" line="75"/>
<source>will not attend.</source>
<translation>non aspettare.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="70"/>
<location filename="../js/newsworker.js" line="76"/>
<source>persons will not attend.</source>
<translation>Persone che non aspettano.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="73"/>
<location filename="../js/newsworker.js" line="79"/>
<source>may attend.</source>
<translation>puoi attendere.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="74"/>
<location filename="../js/newsworker.js" line="80"/>
<source>persons may attend.</source>
<translation>Persone che possono attendere.</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="78"/>
<location filename="../js/newsworker.js" line="84"/>
<source>yes</source>
<translation>si</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="79"/>
<location filename="../js/newsworker.js" line="85"/>
<source>no</source>
<translation>no</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="80"/>
<location filename="../js/newsworker.js" line="86"/>
<source>maybe</source>
<translation>potrebbe</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="143"/>
<source>seconds</source>
<translation>secondi</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="96"/>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="143"/>
<location filename="../js/newsworker.js" line="144"/>
<location filename="../js/newsworker.js" line="145"/>
<location filename="../js/newsworker.js" line="146"/>
<location filename="../js/newsworker.js" line="147"/>
<location filename="../js/newsworker.js" line="148"/>
<location filename="../js/newsworker.js" line="149"/>
<location filename="../js/newsworker.js" line="150"/>
<location filename="../js/newsworker.js" line="151"/>
<location filename="../js/newsworker.js" line="152"/>
<source>ago</source>
<translation>fa</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="97"/>
<location filename="../js/newsworker.js" line="144"/>
<source>minute</source>
<translation>minuti</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="98"/>
<location filename="../js/newsworker.js" line="145"/>
<source>minutes</source>
<translation>minuti</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="99"/>
<location filename="../js/newsworker.js" line="146"/>
<source>hour</source>
<translation>ora</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="100"/>
<location filename="../js/newsworker.js" line="147"/>
<source>hours</source>
<translation>ore</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="101"/>
<location filename="../js/newsworker.js" line="148"/>
<source>day</source>
<translation>giorno</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="102"/>
<location filename="../js/newsworker.js" line="149"/>
<source>days</source>
<translation>giorni</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="103"/>
<location filename="../js/newsworker.js" line="150"/>
<source>month</source>
<translation>mese</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="104"/>
<location filename="../js/newsworker.js" line="151"/>
<source>months</source>
<translation>mesi</translation>
</message>
<message>
<location filename="../js/newsworker.js" line="105"/>
<location filename="../js/newsworker.js" line="152"/>
<source>years</source>
<translation>anni</translation>
</message>
@ -815,11 +854,18 @@
<context>
<name>service</name>
<message>
<location filename="../js/service.js" line="360"/>
<location filename="../js/service.js" line="362"/>
<location filename="../js/service.js" line="365"/>
<source>Error</source>
<translation type="unfinished">Errore</translation>
<translation type="obsolete">Errore</translation>
</message>
<message>
<location filename="../js/service.js" line="363"/>
<source>Undefined Array Error</source>
<translation></translation>
</message>
<message>
<location filename="../js/service.js" line="366"/>
<source>JSON status Error</source>
<translation></translation>
</message>
</context>
</TS>