Merge remote-tracking branch 'upstream/master'

This commit is contained in:
iamnomeutente 2020-10-31 09:38:51 +01:00
commit ba0038ef8c
16 changed files with 339 additions and 176 deletions

View file

@ -80,6 +80,7 @@ Item {
visible: text !== ""
text: Emoji.emojify(pollData.question, Theme.fontSizeSmall)
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
textFormat: Text.StyledText
color: pollMessageComponent.isOwnMessage ? Theme.highlightColor : Theme.primaryColor
}
@ -102,10 +103,11 @@ Item {
id: canAnswerDelegate
TextSwitch {
id: optionDelegate
// TextSwitch changes the html base path:
property url emojiBase: "../js/emoji/"
width: pollMessageComponent.width
automaticCheck: false
// emojify does not work here :/
text: modelData.text
text: Emoji.emojify(modelData.text, Theme.fontSizeMedium, emojiBase)
checked: pollMessageComponent.chosenIndexes.indexOf(index) > -1
onClicked: {
pollMessageComponent.handleChoose(index);
@ -151,6 +153,7 @@ Item {
Label {
id: displayOptionLabel
text: Emoji.emojify(modelData.text, Theme.fontSizeMedium)
textFormat: Text.StyledText
wrapMode: Text.WrapAtWordBoundaryOrAnywhere
anchors {
@ -263,6 +266,7 @@ Item {
Component {
id: closePollMenuItemComponent
MenuItem {
visible: !pollData.is_closed && pollMessageComponent.canEdit
text: qsTr("Close Poll")
onClicked: {
tdLibWrapper.stopPoll(pollMessageComponent.chatId, pollMessageComponent.messageId);
@ -272,6 +276,7 @@ Item {
Component {
id: resetAnswerMenuItemComponent
MenuItem {
visible: !pollData.is_closed && !pollMessageComponent.isQuiz && pollMessageComponent.hasAnswered
text: qsTr("Reset Answer")
onClicked: {
pollMessageComponent.resetChosen()
@ -282,12 +287,8 @@ Item {
Component.onCompleted: {
opacity = 1;
if(messageItem && messageItem.menu ) { // workaround to add menu entries
if(!pollData.is_closed && pollMessageComponent.canEdit) {
closePollMenuItemComponent.createObject(messageItem.menu._contentColumn);
}
if(!pollData.is_closed && !pollMessageComponent.isQuiz && pollMessageComponent.hasAnswered) {
resetAnswerMenuItemComponent.createObject(messageItem.menu._contentColumn);
}
closePollMenuItemComponent.createObject(messageItem.menu._contentColumn);
resetAnswerMenuItemComponent.createObject(messageItem.menu._contentColumn);
}
}
}

View file

@ -79,18 +79,18 @@ ChatInformationTabItemBase {
width: parent.width
// chat title isPrivateChat ? () :
primaryText.text: Emoji.emojify(Functions.getUserName(user), primaryText.font.pixelSize)
primaryText.text: Emoji.emojify(Functions.getUserName(user), primaryText.font.pixelSize, "../../js/emoji/")
// last user
prologSecondaryText.text: "@"+(user.username !== "" ? user.username : user_id) + (user_id === chatInformationPage.myUserId ? " " + qsTr("You") : "")
secondaryText {
horizontalAlignment: Text.AlignRight
property string statusText: Functions.getChatMemberStatusText(model.status["@type"])
property string customText: model.status.custom_title ? Emoji.emojify(model.status.custom_title, secondaryText.font.pixelSize) : ""
property string customText: model.status.custom_title ? Emoji.emojify(model.status.custom_title, secondaryText.font.pixelSize, "../../js/emoji/") : ""
text: (statusText !== "" && customText !== "") ? statusText + ", " + customText : statusText + customText
}
tertiaryText {
maximumLineCount: 1
text: user.type["@type"] === "userTypeBot" ? (Emoji.emojify("🤖 "+bot_info.description, tertiaryText.font.pixelSize)) : Functions.getChatPartnerStatusText(user.status["@type"], user.status.was_online);
text: user.type["@type"] === "userTypeBot" ? (Emoji.emojify("🤖 "+bot_info.description, tertiaryText.font.pixelSize, "../../js/emoji/")) : Functions.getChatPartnerStatusText(user.status["@type"], user.status.was_online);
elide: Text.ElideRight
}
@ -162,7 +162,7 @@ ChatInformationTabItemBase {
onChatChanged: {
if (changedChatId === chat_id) {
// Force update of some list item elements (currently only last message text seems to create problems). dataChanged() doesn't seem to trigger them all :(
secondaryText.text = last_message_text ? Emoji.emojify(last_message_text, Theme.fontSizeExtraSmall) : qsTr("Unknown")
secondaryText.text = last_message_text ? Emoji.emojify(last_message_text, Theme.fontSizeExtraSmall, "../../js/emoji/") : qsTr("Unknown")
}
}
}

View file

@ -50,7 +50,7 @@ Column {
font.pixelSize: Theme.fontSizeExtraSmall
textFormat: Text.StyledText
color: Theme.highlightColor
text: Emoji.emojify( Functions.replaceUrlsWithLinks(textItem.text).replace(/\n/g, "<br>"), Theme.fontSizeExtraSmall).replace(/\.\.\/js/g, "../../js")
text: Emoji.emojify( Functions.replaceUrlsWithLinks(textItem.text).replace(/\n/g, "<br>"), Theme.fontSizeExtraSmall, "../../js/emoji/")
linkColor: Theme.primaryColor
visible: text !== ""
onLinkActivated: {

View file

@ -98,16 +98,16 @@ function getMessageText(message, simple, myself) {
return myself ? qsTr("changed the chat title to %1", "myself").arg(message.content.title) : qsTr("changed the chat title to %1").arg(message.content.title);
}
if (message.content['@type'] === 'messagePoll') {
if(message.content.poll.type['@type'] === "pollTypeQuiz") {
if(message.content.poll.is_anonymous) {
return myself ? qsTr("sent an anonymous quiz", "myself") : qsTr("sent an anonymous quiz");
if (message.content.poll.type['@type'] === "pollTypeQuiz") {
if (message.content.poll.is_anonymous) {
return simple ? (myself ? qsTr("sent an anonymous quiz", "myself") : qsTr("sent an anonymous quiz")) : ("<b>" + qsTr("Anonymous Quiz") + "</b>");
}
return myself ? qsTr("sent a quiz", "myself") : qsTr("sent a quiz");
return simple ? (myself ? qsTr("sent a quiz", "myself") : qsTr("sent a quiz")) : ("<b>" + qsTr("Quiz") + "</b>");
}
if(message.content.poll.is_anonymous) {
return myself ? qsTr("sent an anonymous poll", "myself") : qsTr("sent an anonymous poll");
if (message.content.poll.is_anonymous) {
return simple ? (myself ? qsTr("sent an anonymous poll", "myself") : qsTr("sent an anonymous poll")) : ("<b>" + qsTr("Anonymous Poll") + "</b>");
}
return myself ? qsTr("sent a poll", "myself") : qsTr("sent a poll");
return simple ? (myself ? qsTr("sent a poll", "myself") : qsTr("sent a poll")) : ("<b>" + qsTr("Poll") + "</b>");
}
return qsTr("Unsupported message: %1").arg(message.content['@type'].substring(7));
}

View file

@ -568,8 +568,8 @@ var twemoji = (function (
}());
function emojify(rawText, emojiSize) {
var curatedText = twemoji.parse(rawText, { callback: function(icon, options, variant) { return '../js/emoji/' + icon + '.svg'; }, size: emojiSize });
function emojify(rawText, emojiSize, basePath) {
var curatedText = twemoji.parse(rawText, { callback: function(icon, options, variant) { return (basePath || '../js/emoji/') + icon + '.svg'; }, size: emojiSize });
// QML has a weird bug. If an ampersand is followed by an HTML tag or a character, the tag is ignored and returned as string or the following string is omitted
// Therefore replacing the ampersand with &amp; in these cases...
return curatedText.replace(/((\&[\w\d]+\;)|((\&)(\<|\w+)))/g, function(match, p1, p2, p3, p4, p5, offset, string) {

View file

@ -265,8 +265,10 @@ Page {
: "../components/chatInformationPage/ChatInformationProfilePicture.qml"
}
}
// PageHeader changes the html base path:
property url emojiBase: "../js/emoji/"
leftMargin: imageContainer.minDimension + Theme.horizontalPageMargin + Theme.paddingMedium
title: chatInformation.title !== "" ? Emoji.emojify(chatInformation.title, Theme.fontSizeLarge) : qsTr("Unknown")
title: chatInformation.title !== "" ? Emoji.emojify(chatInformation.title, Theme.fontSizeLarge, emojiBase) : qsTr("Unknown")
description: chatInformationPage.isPrivateChat ? ("@"+(chatInformationPage.privateChatUserInformation.username || chatInformationPage.chatPartnerGroupId)) : ""
}

View file

@ -1190,5 +1190,21 @@
<source>sent an anonymous poll</source>
<translation>hat eine anonyme Umfrage gesendet</translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation>Anonymes Quiz</translation>
</message>
<message>
<source>Quiz</source>
<translation>Quiz</translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation>Anonyme Umfrage</translation>
</message>
<message>
<source>Poll</source>
<translation>Umfrage</translation>
</message>
</context>
</TS>

View file

@ -545,20 +545,20 @@
<message>
<source>sent a poll</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>envió una encuesta</translation>
</message>
<message>
<source>sent a poll</source>
<translation type="unfinished"></translation>
<translation>envió una encuesta</translation>
</message>
<message>
<source>sent a quiz</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>envió un cuestionario</translation>
</message>
<message>
<source>sent a quiz</source>
<translation type="unfinished"></translation>
<translation>envió un cuestionario</translation>
</message>
</context>
<context>
@ -707,83 +707,83 @@
<name>PollCreationPage</name>
<message>
<source>All answers have to contain 1-100 characters.</source>
<translation type="unfinished"></translation>
<translation>Todas las respuestas deben contener de 1 a 100 caracteres.</translation>
</message>
<message>
<source>To send a quiz, you have to specify the right answer.</source>
<translation type="unfinished"></translation>
<translation>Para enviar una cuestión, debe especificar la respuesta correcta.</translation>
</message>
<message>
<source>You have to enter a question.</source>
<translation type="unfinished"></translation>
<translation>Introducir una pregunta.</translation>
</message>
<message>
<source>The question has to be shorter than 256 characters.</source>
<translation type="unfinished"></translation>
<translation>La pregunta debe tener menos de 256 caracteres.</translation>
</message>
<message>
<source>A poll requires 2-10 answers.</source>
<translation type="unfinished"></translation>
<translation>Una encuesta requiere de 2 a 10 respuestas.</translation>
</message>
<message>
<source>Create a Poll</source>
<comment>Dialog Header</comment>
<translation type="unfinished"></translation>
<translation>Encuesta</translation>
</message>
<message>
<source>in %1</source>
<comment>After dialog header Create a Poll in [group name]</comment>
<translation type="unfinished"></translation>
<translation>en %1</translation>
</message>
<message>
<source>Enter your question here</source>
<translation type="unfinished"></translation>
<translation>Introducir su pregunta aquí</translation>
</message>
<message numerus="yes">
<source>Question (%n1 characters left)</source>
<translation type="unfinished">
<numerusform></numerusform>
<translation>
<numerusform>Pregunta (quedan %n1 caracteres)</numerusform>
</translation>
</message>
<message>
<source>Answers</source>
<comment>Section header</comment>
<translation type="unfinished"></translation>
<translation>Respuestas</translation>
</message>
<message>
<source>Enter an answer here</source>
<translation type="unfinished"></translation>
<translation>Introducir una respuesta aquí</translation>
</message>
<message numerus="yes">
<source>Answer (%n1 characters left)</source>
<translation type="unfinished">
<numerusform></numerusform>
<translation>
<numerusform>Respuesta (quedan %n1 caracteres)</numerusform>
</translation>
</message>
<message>
<source>Add an answer</source>
<translation type="unfinished"></translation>
<translation>Agregar una respuesta</translation>
</message>
<message>
<source>Poll Options</source>
<comment>Section header</comment>
<translation type="unfinished"></translation>
<translation>Opciones de encuesta</translation>
</message>
<message>
<source>Anonymous answers</source>
<translation type="unfinished"></translation>
<translation>Respuestas anónimas</translation>
</message>
<message>
<source>Multiple answers allowed</source>
<translation type="unfinished"></translation>
<translation>Se permiten múltiples respuestas</translation>
</message>
<message>
<source>Quiz Mode</source>
<translation type="unfinished"></translation>
<translation>Modo interrogar</translation>
</message>
<message>
<source>Quizzes have one correct answer. Participants can&apos;t revoke their responses.</source>
<translation type="unfinished"></translation>
<translation>Los interrogatorios tienen una respuesta correcta. Los participantes no pueden revocar sus respuestas.</translation>
</message>
</context>
<context>
@ -791,81 +791,81 @@
<message>
<source>%L1%</source>
<comment>% of votes for option</comment>
<translation type="unfinished"></translation>
<translation>%L1%</translation>
</message>
<message>
<source>Final Result:</source>
<translation type="unfinished"></translation>
<translation>Resultado final:</translation>
</message>
<message>
<source>Multiple Answers are allowed.</source>
<translation type="unfinished"></translation>
<translation>Se permiten múltiples respuestas.</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s) total</source>
<comment>number of total votes</comment>
<translation type="unfinished">
<numerusform></numerusform>
<translation>
<numerusform>%L1 votos totales</numerusform>
</translation>
</message>
<message>
<source>Close Poll</source>
<translation type="unfinished"></translation>
<translation>Cerrar encuesta</translation>
</message>
<message>
<source>Reset Answer</source>
<translation type="unfinished"></translation>
<translation>Restablecer respuesta</translation>
</message>
</context>
<context>
<name>PollResultsPage</name>
<message>
<source>Quiz Results</source>
<translation type="unfinished"></translation>
<translation>Resultados de cuestionario</translation>
</message>
<message>
<source>Poll Results</source>
<translation type="unfinished"></translation>
<translation>Resultados de encuesta</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s) total</source>
<comment>number of total votes</comment>
<translation type="unfinished">
<numerusform></numerusform>
<translation>
<numerusform>%L1 total de votos</numerusform>
</translation>
</message>
<message>
<source>Question</source>
<comment>section header</comment>
<translation type="unfinished"></translation>
<translation>Pregunta</translation>
</message>
<message>
<source>Results</source>
<comment>section header</comment>
<translation type="unfinished"></translation>
<translation>Resultados</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s)</source>
<comment>number of votes for option</comment>
<translation type="unfinished">
<numerusform></numerusform>
<translation>
<numerusform>%L1 votos</numerusform>
</translation>
</message>
<message>
<source>%L1%</source>
<comment>% of votes for option</comment>
<translation type="unfinished"></translation>
<translation>%L1%</translation>
</message>
<message>
<source>Chosen by:</source>
<comment>This answer has been chosen by the following users</comment>
<translation type="unfinished"></translation>
<translation>Elegido por:</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s) including yours</source>
<comment>number of votes for option</comment>
<translation type="unfinished">
<numerusform></numerusform>
<translation>
<numerusform>%L1 votos incluyendo el suyo</numerusform>
</translation>
</message>
</context>
@ -1151,37 +1151,53 @@
<message>
<source>sent a poll</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>envió una encuesta</translation>
</message>
<message>
<source>sent a poll</source>
<translation type="unfinished"></translation>
<translation>envió una encuesta</translation>
</message>
<message>
<source>sent an anonymous quiz</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>envió un cuestionario anónimo</translation>
</message>
<message>
<source>sent an anonymous quiz</source>
<translation type="unfinished"></translation>
<translation>envió un cuestionario anónimo</translation>
</message>
<message>
<source>sent a quiz</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>envió un cuestionario</translation>
</message>
<message>
<source>sent a quiz</source>
<translation type="unfinished"></translation>
<translation>envió un cuestionario</translation>
</message>
<message>
<source>sent an anonymous poll</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>envió una encuesta anónima</translation>
</message>
<message>
<source>sent an anonymous poll</source>
<translation>envió una encuesta anónima</translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -1191,5 +1191,21 @@
<source>sent an anonymous poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -1184,5 +1184,21 @@
<source>sent an anonymous poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -111,7 +111,7 @@
</message>
<message>
<source>The Invite Link has been copied to the clipboard.</source>
<translation>Il link d&apos;invito è stato copiato nella clipboard</translation>
<translation>Il link d&apos;invito è stato copiato nella clipboard.</translation>
</message>
<message>
<source>%1 members, %2 online</source>
@ -142,7 +142,7 @@
</message>
<message>
<source>There is no information text available, yet.</source>
<translation>Attualmente non è disponibile nessuna informazione</translation>
<translation>Attualmente non è disponibile nessuna informazione.</translation>
</message>
<message>
<source>Chat Title</source>
@ -261,10 +261,6 @@
<source>You</source>
<translation>Tu</translation>
</message>
<message>
<source>Loading messages</source>
<translation>Carica messaggi</translation>
</message>
<message>
<source>Unmute Chat</source>
<translation>Riattiva suoni chat</translation>
@ -289,10 +285,6 @@
<source>Delete Message</source>
<translation>Cancella messaggio</translation>
</message>
<message>
<source>Uploading</source>
<translation>Carica</translation>
</message>
<message>
<source>Forwarded Message</source>
<translation>Messaggio inoltrato</translation>
@ -301,6 +293,14 @@
<source>This chat is empty.</source>
<translation>Questa chat è vuota.</translation>
</message>
<message>
<source>Loading messages...</source>
<translation>Carica messaggi...</translation>
</message>
<message>
<source>Uploading...</source>
<translation>Carica...</translation>
</message>
</context>
<context>
<name>CoverPage</name>
@ -317,8 +317,20 @@
<translation>in</translation>
</message>
<message>
<source>Waiting for network</source>
<translation>Attendo la rete</translation>
<source>Connected</source>
<translation>Connesso</translation>
</message>
<message>
<source>chat</source>
<translation>chat</translation>
</message>
<message>
<source>chats</source>
<translation>chat</translation>
</message>
<message>
<source>Waiting for network...</source>
<translation>Attendo la rete...</translation>
</message>
<message>
<source>Connecting to network</source>
@ -329,20 +341,8 @@
<translation>Connetto al proxy</translation>
</message>
<message>
<source>Connected</source>
<translation>Connesso</translation>
</message>
<message>
<source>Updating content</source>
<translation>Aggiorna contenuti</translation>
</message>
<message>
<source>chat</source>
<translation>chat</translation>
</message>
<message>
<source>chats</source>
<translation>chat</translation>
<source>Updating content...</source>
<translation>Aggiorna contenuti...</translation>
</message>
</context>
<context>
@ -605,10 +605,6 @@
<source>Please enter the code that you received:</source>
<translation>Inserisci il codice che hai ricevuto:</translation>
</message>
<message>
<source>Loading</source>
<translation>Carica</translation>
</message>
<message>
<source>Unable to authenticate you with the entered code.</source>
<translation>Autenticazione non riuscita con il codice inserito.</translation>
@ -645,6 +641,10 @@
<source>Use the international format, e.g. %1</source>
<translation>Utilizza il formato internazionale, es. %1</translation>
</message>
<message>
<source>Loading...</source>
<translation>Carica...</translation>
</message>
</context>
<context>
<name>LocationPreview</name>
@ -671,8 +671,20 @@
<translation>Fernschreiber</translation>
</message>
<message>
<source>Waiting for network</source>
<translation>Attendo la rete</translation>
<source>Unknown</source>
<translation>Sconosciuto</translation>
</message>
<message>
<source>Settings</source>
<translation>Impostazioni</translation>
</message>
<message>
<source>You don&apos;t have any chats yet.</source>
<translation>Non hai nessuna chat.</translation>
</message>
<message>
<source>Waiting for network...</source>
<translation>Attendo la rete...</translation>
</message>
<message>
<source>Connecting to network</source>
@ -687,20 +699,8 @@
<translation>Aggiorna contenuti</translation>
</message>
<message>
<source>Unknown</source>
<translation>Sconosciuto</translation>
</message>
<message>
<source>Loading chat list</source>
<translation>Carica lista chat</translation>
</message>
<message>
<source>Settings</source>
<translation>Impostazioni</translation>
</message>
<message>
<source>You don&apos;t have any chats yet.</source>
<translation>Non hai nessuna chat.</translation>
<source>Loading chat list...</source>
<translation>Carica lista chat...</translation>
</message>
</context>
<context>
@ -801,7 +801,7 @@
</message>
<message>
<source>Multiple Answers are allowed.</source>
<translation>Risposte multiple consentite</translation>
<translation>Risposte multiple consentite.</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s) total</source>
@ -1190,5 +1190,21 @@
<source>sent an anonymous poll</source>
<translation>ha inviato un sondaggio anonimo</translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -1196,5 +1196,21 @@
<source>sent an anonymous poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -1196,5 +1196,21 @@
<source>sent an anonymous poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -545,20 +545,20 @@
<message>
<source>sent a quiz</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>skickade en frågesport</translation>
</message>
<message>
<source>sent a quiz</source>
<translation type="unfinished"></translation>
<translation>skickade en frågesport</translation>
</message>
<message>
<source>sent a poll</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>skickade en omröstning</translation>
</message>
<message>
<source>sent a poll</source>
<translation type="unfinished"></translation>
<translation>skickade en omröstning</translation>
</message>
</context>
<context>
@ -707,172 +707,172 @@
<name>PollCreationPage</name>
<message>
<source>You have to enter a question.</source>
<translation type="unfinished"></translation>
<translation>Du måste ange en fråga.</translation>
</message>
<message>
<source>The question has to be shorter than 256 characters.</source>
<translation type="unfinished"></translation>
<translation>Frågan måste vara kortare än 256 tecken.</translation>
</message>
<message>
<source>A poll requires 2-10 answers.</source>
<translation type="unfinished"></translation>
<translation>En omröstning kräver 2-10 svarsalternativ.</translation>
</message>
<message>
<source>All answers have to contain 1-100 characters.</source>
<translation type="unfinished"></translation>
<translation>Alla svarsalternativ måste innehålla 1-100 tecken.</translation>
</message>
<message>
<source>To send a quiz, you have to specify the right answer.</source>
<translation type="unfinished"></translation>
<translation>För att skicka en frågesport, måste du ange rätt svar.</translation>
</message>
<message>
<source>Create a Poll</source>
<comment>Dialog Header</comment>
<translation type="unfinished"></translation>
<translation>Skapa en omröstning</translation>
</message>
<message>
<source>in %1</source>
<comment>After dialog header Create a Poll in [group name]</comment>
<translation type="unfinished"></translation>
<translation>i %1</translation>
</message>
<message>
<source>Enter your question here</source>
<translation type="unfinished"></translation>
<translation>Ange din fråga här</translation>
</message>
<message numerus="yes">
<source>Question (%n1 characters left)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<translation>
<numerusform>Fråga (%n1 tecken kvar)</numerusform>
<numerusform>Fråga (%n1 tecken kvar)</numerusform>
</translation>
</message>
<message>
<source>Answers</source>
<comment>Section header</comment>
<translation type="unfinished"></translation>
<translation>Svar</translation>
</message>
<message>
<source>Enter an answer here</source>
<translation type="unfinished"></translation>
<translation>Ange svaret här</translation>
</message>
<message numerus="yes">
<source>Answer (%n1 characters left)</source>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<translation>
<numerusform>Svar (%n1 tecken kvar)</numerusform>
<numerusform>Svar (%n1 tecken kvar)</numerusform>
</translation>
</message>
<message>
<source>Add an answer</source>
<translation type="unfinished"></translation>
<translation>Lägg till ett svar</translation>
</message>
<message>
<source>Poll Options</source>
<comment>Section header</comment>
<translation type="unfinished"></translation>
<translation>Omröstningsalternativ</translation>
</message>
<message>
<source>Anonymous answers</source>
<translation type="unfinished"></translation>
<translation>Anonyma svar</translation>
</message>
<message>
<source>Multiple answers allowed</source>
<translation type="unfinished"></translation>
<translation>Flera svarsalternativ tillåtna</translation>
</message>
<message>
<source>Quiz Mode</source>
<translation type="unfinished"></translation>
<translation>Frågesportsläge</translation>
</message>
<message>
<source>Quizzes have one correct answer. Participants can&apos;t revoke their responses.</source>
<translation type="unfinished"></translation>
<translation>Frågor har ett korrekt svar. Deltagarna kan inte återkalla sina svar.</translation>
</message>
</context>
<context>
<name>PollPreview</name>
<message>
<source>Final Result:</source>
<translation type="unfinished"></translation>
<translation>Slutresultat:</translation>
</message>
<message>
<source>Multiple Answers are allowed.</source>
<translation type="unfinished"></translation>
<translation>Flera svarsalternativ tillåtna.</translation>
</message>
<message>
<source>%L1%</source>
<comment>% of votes for option</comment>
<translation type="unfinished"></translation>
<translation>%L1%</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s) total</source>
<comment>number of total votes</comment>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<translation>
<numerusform>%L1 röst sammanlagt</numerusform>
<numerusform>%L1 röster sammanlagt</numerusform>
</translation>
</message>
<message>
<source>Close Poll</source>
<translation type="unfinished"></translation>
<translation>Stäng omröstningen</translation>
</message>
<message>
<source>Reset Answer</source>
<translation type="unfinished"></translation>
<translation>Återställ svar</translation>
</message>
</context>
<context>
<name>PollResultsPage</name>
<message>
<source>Quiz Results</source>
<translation type="unfinished"></translation>
<translation>Frågesportresultat</translation>
</message>
<message>
<source>Poll Results</source>
<translation type="unfinished"></translation>
<translation>Omröstningsresultat</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s) total</source>
<comment>number of total votes</comment>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<translation>
<numerusform>%L1 röst sammanlagt</numerusform>
<numerusform>%L1 röster sammanlagt</numerusform>
</translation>
</message>
<message>
<source>Question</source>
<comment>section header</comment>
<translation type="unfinished"></translation>
<translation>Fråga</translation>
</message>
<message>
<source>Results</source>
<comment>section header</comment>
<translation type="unfinished"></translation>
<translation>Resultat</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s) including yours</source>
<comment>number of votes for option</comment>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<translation>
<numerusform>%L1 röst inklusive din</numerusform>
<numerusform>%L1 röster inklusive din</numerusform>
</translation>
</message>
<message numerus="yes">
<source>%L1 vote(s)</source>
<comment>number of votes for option</comment>
<translation type="unfinished">
<numerusform></numerusform>
<numerusform></numerusform>
<translation>
<numerusform>%L1 röst</numerusform>
<numerusform>%L1 röster</numerusform>
</translation>
</message>
<message>
<source>%L1%</source>
<comment>% of votes for option</comment>
<translation type="unfinished"></translation>
<translation>%L1%</translation>
</message>
<message>
<source>Chosen by:</source>
<comment>This answer has been chosen by the following users</comment>
<translation type="unfinished"></translation>
<translation>Valt av</translation>
</message>
</context>
<context>
@ -1157,37 +1157,53 @@
<message>
<source>sent an anonymous quiz</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>skickade en anonym frågesport</translation>
</message>
<message>
<source>sent an anonymous quiz</source>
<translation type="unfinished"></translation>
<translation>skickade en anonym frågesport</translation>
</message>
<message>
<source>sent a quiz</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>skickade en frågesport</translation>
</message>
<message>
<source>sent a quiz</source>
<translation type="unfinished"></translation>
<translation>skickade en frågesport</translation>
</message>
<message>
<source>sent an anonymous poll</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>skickade en anonym omröstning</translation>
</message>
<message>
<source>sent an anonymous poll</source>
<translation type="unfinished"></translation>
<translation>skickade en anonym omröstning</translation>
</message>
<message>
<source>sent a poll</source>
<comment>myself</comment>
<translation type="unfinished"></translation>
<translation>skickade en omröstning</translation>
</message>
<message>
<source>sent a poll</source>
<translation>skickade en omröstning</translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>

View file

@ -1184,5 +1184,21 @@
<source>sent an anonymous poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -1184,5 +1184,21 @@
<source>sent an anonymous poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Quiz</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Anonymous Poll</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Poll</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>