1
0
Fork 0

- updated README (new installation instruction and mentioning openssl);

- updated translations files;
- updated configure (new version number).
This commit is contained in:
cage 2021-03-09 09:32:09 +01:00
parent 0728829746
commit fb76953a64
5 changed files with 190 additions and 581 deletions

View File

@ -47,6 +47,7 @@
+ to run the program:
- SBCL compiler;
- xdg-open;
- openssl;
- your favourite editor (default: nano).
All the dependencies above should be available using the package
@ -97,6 +98,24 @@ manager of your distribution (~apt~, ~yum~ etc).
* Install
** Using guix
Using [[https://guix.gnu.org/][guix]] is the simpler way to install this software:
#+BEGIN_SRC sh
$ guix install tinmop
#+END_SRC
Guix can be installed on debian (testing or sid):
#+BEGIN_SRC sh
$ apt-get install guix
#+END_SRC
or using a shell script [[https://guix.gnu.org/manual/en/guix.html#Binary-Installation][as explained in the guix manual]].
** From source
1. optional step needed only if you have not already the configure script,
you will need ~autotools~ for that.

View File

@ -6,412 +6,8 @@
Table of Contents
─────────────────
1. Introduction
2. Peculiar Features
.. 1. Important note
3. Dependency
.. 1. Programs
.. 2. Lisp Libraries
.. 3. Foreign (C language) library
4. Install
5. Usage
6. BUGS
7. Translations
8. License
9. Privacy
10. Contributing
11. FAQ
12. NO WARRANTY
13. Acknowledgment
1 Introduction
══════════════
Tinmop is an opinionated client for [Pleroma] (using the mastodon API)
and [gemini protocol]. It offer a distraction free terminal
interface.
The name is a recursive acronym: "Tinmop Is Not Mutt or Pine". The
older of us can remember that, in turn, Pine is sometimes considered
an acronym as well: "Pine Is Not Elm" and, finally, Elm means
(according to Wikipedia): "Electronic Mail".
[Pleroma] <https://pleroma.social/>
[gemini protocol] <https://gemini.circumlunar.space/>
2 Peculiar Features
═══════════════════
• tree structure of messages;
• subscriptions of hashtag;
• programmable and extensible;
• encrypted direct message (but see 11);
• no mentions notification, no knowledge of when or who favourited
your status;
• No blocking or muting, the client can be configured to ignore a list
of accounts.
2.1 Important note
──────────────────
This is alpha quality software, many things are broken, some feature
are missing some works with unintended/unexpected side effects; this
software is for testing only and remember that there is [NO WARRANTY].
[NO WARRANTY] See section 12
3 Dependency
════════════
3.1 Programs
────────────
to build the package: xgettext.
to install the package, including running the script to install lisp
libraries (`quick_quicklisp.sh'):
• AWK;
• BASH shell.
to run the program:
• SBCL compiler;
• xdg-open;
• your favourite editor (default: nano).
All the dependencies above should be available using the package
manager of your distribution (`apt', `yum' etc).
3.2 Lisp Libraries
──────────────────
• alexandria;
• cl-ppcre;
• tooter;
• croatoan;
• osicat;
• cl-spark;
• access;
• sqlite;
• sxql;
• sxql-composer;
• marshal;
• bordeaux-threads;
• log4cl;
• local-time;
• cl-colors2;
• cl-i18n;
• clunit2;
• esrap;
• ieee-floats;
• parse-number;
• cl-html5-parser;
• unix-opts;
• crypto-shortcuts;
• drakma.
All these libraries will be downloaded, compiled and installed by the
script `quick_quicklisp.sh', see below.
3.3 Foreign (C language) library
────────────────────────────────
• libssl (TLS socket)
The C library should be installed with their header (`*.h') files.
On Debian or derived system this means installing the library
package with the `-dev' suffix as shown below:
┌────
│ # apt-get install libssl-dev
└────
4 Install
═════════
1. optional step needed only if you have not already the configure
script, you will need `autotools' for that.
┌────
│ $ autoreconf -fiv
└────
2. run `configure' and resolve the missing dependencies (if any)
┌────
│ $ ./configure
└────
3. the script `quick-quicklisp.sh' will download and install the
library manager and the library on your home dir.
┌────
│ $ ./quick_quicklisp.sh
└────
This step is optional if you have already installed quicklisp, in
this case just load the [dependencies] using the client installed
on your computer.
4. clone in `$HOME/quicklisp/local-projects/' the latest version of
croatoan, a library to wrap the ncurses TUI library.
This step is temporary as this version will get into quicklisp
eventually.
┌────
│ $ cd $HOME/quicklisp/local-projects/
│ $ git clone https://github.com/McParen/croatoan.git
└────
5. build the executable:
┌────
│ $ make
└────
6. install on your system:
┌────
│ # make install
└────
7. take a look the manpage:
┌────
│ $ man tinmop
└────
8. run the software!
┌────
│ $ tinmop
└────
9. An error will be printed about a missing file place a simple
configuration file in one of the directory the software indicated.
See [the FAQ below].
[dependencies] See section 3
[the FAQ below] See section 11
5 Usage
═══════
See the command line options:
┌────
│ $ tinmop -h
└────
To get instruction about configuration:
┌────
│ $ man tinmop
└────
6 BUGS
══════
Please file bug reports on the [notabug repository].
[notabug repository] <https://notabug.org/cage/tinmop/>
7 Translations
══════════════
Only Italian translation is regularly updated.
8 License
═════════
This program is released under GNU General Public license version 3 or
later (see COPYING file).
The program use data and code from other sources, please see
LICENSES.org for credits.
Although any efforts has been put to make the list of credits
exhaustive, errors are always possible. Please send correction to
cage-dev at twistfold dot it.
9 Privacy
═════════
The author of this software collects no user data information with
this software.
But this software is a client to connect and interact to one or more
remote computer. So potentially it could share a lot of information
with other actors but just after the user allowed it to do so.
It is the user responsibility to checks the privacy conditions of the
instance this software connect to.
Moreover launching `quick_quicklisp.sh' will contact
<https://www.quicklisp.org/>, check the [quicklisp sources] for
details.
By default, pressing "!" will contact the remote service located at:
"gemini://houston.coder.town/search".
[quicklisp sources] <https://beta.quicklisp.org/quicklisp.lisp>
10 Contributing
═══════════════
Any help is appreciated. If you intend to contribute please point your
browser to the [issue tracker] or file a [pull request].
But, please take a minute to read the file <./CONTRIBUTING.org>
[issue tracker] <https://notabug.org/cage/tinmop/issues>
[pull request] <https://notabug.org/cage/tinmop/pulls>
11 FAQ
══════
• I just tried to start the program for the first time but it give me
a weird error, what's wrong?
Did you wrote a configuration file before starting?
Tinmop expects a configuration file in your config directory
(usually `$HOME/.config/tinmop/'). This file must contains at least
the username and the name of the instance you want to connect.
Example :
┌────
│ # a line starting with a '#' is a comment
│ # a file can be included in another with this directive:
│ # use "shared.conf"
│ # The server instance name
│ server = server address
│ # your username
│ username = username
└────
If this file does not exists or is invalid tinmop could be used just
as a gemini client.
Please check the man page (tinmop(1)) for more information.
• The `quick_quicklisp.sh' script failed and refuse to start again,
what can I do?
If tinmop is the first Common lisp program you have ever installed
installed, try to rename the directory `$/HOME/quicklisp' and, then,
restart the script.
If problem persists [contact me].
• Is tinmop compatible with mastodon servers?
Unfortunately no, the way some API endpoint provide the toots is not
suitable for this client, for more information please go [here].
I hope this will change in the future but this depends entirely from
the people are developing the server.
• OK the program is running but how can i use it?
Press the key `?' to get a list of the available keys available.
• Tinmop crashed! Where can i report that?
The issue tracker is here:
<https://notabug.org/tinmop/issues/>
Please also, if possible, send the backtrace of the process. To
print a backtrace just write `backtrace' when the debugger has been
invoked.
*Important note*
The backtrace can contains sensitive and personal information,
please always *carefully checks* the backtrace contents before
making this information public!
• Are the encrypted messages secure?
*No*. First only a symmetric encryption scheme is implemented (so
there is a problem of secure key exchanging). Moreover i am not a
crypto expert and probably i made something wrong. Note that i am
not claiming that the algorithm (AES256) or the implementation of
such encrypting algorithm is flawed but that, likely, is flawed the
code i wrote to use the crypto library in this software.
So, please do not consider the encrypted message secure at all.
[contact me] See section 6
[here] <https://github.com/tootsuite/mastodon/issues/13817>
12 NO WARRANTY
══════════════
tinmop: an humble mastodon client Copyright (C) 2020 cage
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see [http://www.gnu.org/licenses/].
[http://www.gnu.org/licenses/] <http://www.gnu.org/licenses/>
13 Acknowledgment
═════════════════
My deep thanks to the folks that provided us with wonderful SBCL and
Common lisp libraries.
In particular i want to thanks the authors of the libraries Croatoan
and Tooter for their help when I started to develop this program.
There are more people i borrowed code and data from, they are
mentioned in the file LINCENSES.org
This program is was born also with the help of CCCP: "Collettivo
Computer Club Palermo".
Also thanks to "barbar" for testing of the installation scripts.
<https://guix.gnu.org/manual/en/guix.html#Binary-Installation>][as
explained in the guix manual]].

20
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for tinmop 0.5.3.
# Generated by GNU Autoconf 2.69 for tinmop 0.5.9.
#
# Report bugs to <https://notabug.org/cage/tinmop/>.
#
@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='tinmop'
PACKAGE_TARNAME='tinmop'
PACKAGE_VERSION='0.5.3'
PACKAGE_STRING='tinmop 0.5.3'
PACKAGE_VERSION='0.5.9'
PACKAGE_STRING='tinmop 0.5.9'
PACKAGE_BUGREPORT='https://notabug.org/cage/tinmop/'
PACKAGE_URL=''
@ -1279,7 +1279,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures tinmop 0.5.3 to adapt to many kinds of systems.
\`configure' configures tinmop 0.5.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1350,7 +1350,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of tinmop 0.5.3:";;
short | recursive ) echo "Configuration of tinmop 0.5.9:";;
esac
cat <<\_ACEOF
@ -1454,7 +1454,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
tinmop configure 0.5.3
tinmop configure 0.5.9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1634,7 +1634,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by tinmop $as_me 0.5.3, which was
It was created by tinmop $as_me 0.5.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2494,7 +2494,7 @@ fi
# Define the identity of the package.
PACKAGE='tinmop'
VERSION='0.5.3'
VERSION='0.5.9'
cat >>confdefs.h <<_ACEOF
@ -7068,7 +7068,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by tinmop $as_me 0.5.3, which was
This file was extended by tinmop $as_me 0.5.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -7125,7 +7125,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
tinmop config.status 0.5.3
tinmop config.status 0.5.9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

163
po/it.po
View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: tinmop 0.0.1\n"
"Report-Msgid-Bugs-To: https://notabug.org/cage/tinmop/\n"
"POT-Creation-Date: 2021-01-17 20:31+0100\n"
"POT-Creation-Date: 2021-03-03 17:00+0100\n"
"PO-Revision-Date: 2021-01-17 20:33+0100\n"
"Last-Translator: cage <cage@invalid.org>\n"
"Language-Team: Italian\n"
@ -72,7 +72,7 @@ msgstr ""
"Errore: non sono stato in grado di creare il socket per la cattura del "
"codice di autorizzazione."
#: src/api-client.lisp:774
#: src/api-client.lisp:775
#, lisp-format
msgid "Initializing empty credentials file in ~a"
msgstr "Inizializzo credenziali vuote (segnaposto) nel file ~a"
@ -169,7 +169,7 @@ msgstr "Opzioni diponibili"
msgid "Error: command ~a not found"
msgstr "Errore: comando ~a non trovato"
#: src/conditions.lisp:70 src/conditions.lisp:74 src/db.lisp:2718
#: src/conditions.lisp:72 src/conditions.lisp:76 src/db.lisp:2738
#: src/message-rendering-utils.lisp:156 src/message-rendering-utils.lisp:190
#: src/message-rendering-utils.lisp:195
msgid "unknown"
@ -204,30 +204,25 @@ msgstr ""
"cancelli un elemento la corrispondente richiesta sarà scartata altrimenti "
"verrà accettata."
#: src/gemini-viewer.lisp:360
#: src/gemini-viewer.lisp:386
msgid "Gemini document downloading aborted"
msgstr "Scaricamento del documento in formato gemini interrotto"
#: src/gemini-viewer.lisp:366
#: src/gemini-viewer.lisp:392
msgid "Gemini document downloading completed"
msgstr "Scaricamento del documento in formato gemini completato"
#: src/gemini-viewer.lisp:439
#, lisp-format
msgid "Could not understand the address ~s"
msgstr "Non riesco ad interpretare l'indirizzo: ~s"
#: src/gemini-viewer.lisp:506
#: src/gemini-viewer.lisp:538
#, lisp-format
msgid "Server ~s asks: ~s "
msgstr "Il server ~s chiede: ~s "
#: src/gemini-viewer.lisp:534
#: src/gemini-viewer.lisp:557
#, lisp-format
msgid "Redirects to ~s, follows redirect? [y/N] "
msgstr "Seguire la redirezione a ~s? [s/N] "
#: src/gemini-viewer.lisp:622
#: src/gemini-viewer.lisp:636
#, lisp-format
msgid ""
"Host ~s signature changed! This is a potential security risk! Ignore this "
@ -236,27 +231,27 @@ msgstr ""
"La firma dell'host ~s è cambiata! Questo è un potenziale problema di "
"sicurezza! Proseguire? [s/N]"
#: src/gemini-viewer.lisp:626 src/tui-utils.lisp:398
#: src/gemini-viewer.lisp:640 src/tui-utils.lisp:413 src/tui-utils.lisp:423
#, lisp-format
msgid "Error: ~a"
msgstr "Errore: ~a"
#: src/gemini-viewer.lisp:634
#: src/gemini-viewer.lisp:648
#, lisp-format
msgid "Error getting ~s: ~a"
msgstr "Errore connettendomi a ~s: ~a"
#: src/gemini-viewer.lisp:645
#: src/gemini-viewer.lisp:659
#, lisp-format
msgid "Going back to: ~a"
msgstr "Ritorno a: ~a"
#: src/gemini-viewer.lisp:657
#: src/gemini-viewer.lisp:671
#, lisp-format
msgid "Viewing source of: ~a"
msgstr "Visualizzo il sorgente di: ~a"
#: src/gemini-viewer.lisp:712
#: src/gemini-viewer.lisp:726
msgid "Current gemini streams"
msgstr "Flussi di dati gemini attuali"
@ -315,12 +310,12 @@ msgstr "Aiuto rapido"
msgid "invalid regular expression ~s ~a"
msgstr "Espressione regolare non valida ~s ~a"
#: src/line-oriented-window.lisp:261 src/open-message-link-window.lisp:108
#: src/open-message-link-window.lisp:195 src/program-events.lisp:441
#: src/line-oriented-window.lisp:261 src/open-message-link-window.lisp:111
#: src/open-message-link-window.lisp:198 src/program-events.lisp:441
msgid "Invalid regular expression"
msgstr "Espressione regolare non valida"
#: src/line-oriented-window.lisp:331 src/ui-goodies.lisp:103
#: src/line-oriented-window.lisp:330 src/ui-goodies.lisp:103
#: src/ui-goodies.lisp:120
msgid "Information"
msgstr "Informazione"
@ -406,31 +401,31 @@ msgstr "Allegati"
msgid "type: ~a~%metadata~%~a~%address: ~a~2%"
msgstr "tipo: ~a~%metadati~%~a~%indirizzo: ~a~2%"
#: src/message-rendering-utils.lisp:235
#: src/message-rendering-utils.lisp:242
msgid "From: "
msgstr "Scritto da: "
#: src/message-rendering-utils.lisp:236
#: src/message-rendering-utils.lisp:243
msgid "Boosted: "
msgstr "Rilanciato per: "
#: src/message-rendering-utils.lisp:237 src/sending-message.lisp:123
#: src/message-rendering-utils.lisp:244 src/sending-message.lisp:123
msgid "Visibility: "
msgstr "Visibilità: "
#: src/message-rendering-utils.lisp:241
#: src/message-rendering-utils.lisp:248
msgid "Date: "
msgstr "Scritto il: "
#: src/message-rendering-utils.lisp:306
#: src/message-rendering-utils.lisp:313
msgid "Multiple choices allowed"
msgstr "Sono ammesse scelte multiple"
#: src/message-rendering-utils.lisp:307
#: src/message-rendering-utils.lisp:314
msgid "A single choice allowed"
msgstr "È ammessa una sola scelta"
#: src/message-rendering-utils.lisp:309
#: src/message-rendering-utils.lisp:316
msgid "The poll has expired"
msgstr "Il sondaggio è scaduto"
@ -457,11 +452,11 @@ msgid_plural "~a pending"
msgstr[0] "~a in attesa"
msgstr[1] "Altre ~a in attesa"
#: src/open-message-link-window.lisp:60 src/open-message-link-window.lisp:203
#: src/open-message-link-window.lisp:60 src/open-message-link-window.lisp:206
msgid "Links"
msgstr "Links"
#: src/open-message-link-window.lisp:266
#: src/open-message-link-window.lisp:269
msgid "Chat attachments"
msgstr "Allegati alla chat"
@ -554,18 +549,18 @@ msgstr "Menzioni: "
msgid "Subject: "
msgstr "Oggetto del messaggio: "
#: src/software-configuration.lisp:449
#: src/software-configuration.lisp:529
#, lisp-format
msgid "fatal error: The file ~a is empty"
msgstr "errore fatale: il file ~a è vuoto."
#: src/software-configuration.lisp:469
#: src/software-configuration.lisp:549
#, lisp-format
msgid "The configuration (*.conf) file is missing the value for ~a"
msgstr ""
"Il file di configurazione (*.conf) manca del valore corrispondente a: ~a"
#: src/software-configuration.lisp:550
#: src/software-configuration.lisp:642
msgid "This message was crypted."
msgstr "Questo messaggion era cifrato."
@ -574,17 +569,17 @@ msgstr "Questo messaggion era cifrato."
msgid "Page ~a of ~a"
msgstr "Pagina ~a di ~a"
#: src/tags-window.lisp:140
#: src/tags-window.lisp:139
msgid "Subscribed tags"
msgstr "Sottoscrizioni"
#: src/text-utils.lisp:476
#: src/text-utils.lisp:481
#, lisp-format
msgid "Can not fit column of width of ~a in a box of width ~a"
msgstr ""
"Non posso adattare una colonna di larghezza ~a in una scatola di larghezza ~a"
#: src/text-utils.lisp:590
#: src/text-utils.lisp:595
#, lisp-format
msgid "Unrecoverable error: ~a can not be fitted in a box of width ~a"
msgstr ""
@ -919,210 +914,210 @@ msgstr "Spedisco il messaggio"
msgid "Delete this certificate? [Y/n] "
msgstr "Cancella questo certificato? [s/N] "
#: src/ui-goodies.lisp:1258
#: src/ui-goodies.lisp:1257
#, lisp-format
msgid "Canceling subscription for ~s"
msgstr "Annullamento dell'abbonamento per ~s"
#: src/ui-goodies.lisp:1272
#: src/ui-goodies.lisp:1271
msgid "updating gemlog's subscriptions"
msgstr "Aggiornamento degli abbonamenti ai gemlog."
#: src/ui-goodies.lisp:1291
#: src/ui-goodies.lisp:1290
msgid "Follow: "
msgstr "Segui: "
#: src/ui-goodies.lisp:1294
#: src/ui-goodies.lisp:1293
#, lisp-format
msgid "Following ~a"
msgstr "Segui ~a"
#: src/ui-goodies.lisp:1295
#: src/ui-goodies.lisp:1294
#, lisp-format
msgid "Followed ~a"
msgstr "Adesso segui ~a "
#: src/ui-goodies.lisp:1299
#: src/ui-goodies.lisp:1298
msgid "Unfollow: "
msgstr "Abbandona: "
#: src/ui-goodies.lisp:1302
#: src/ui-goodies.lisp:1301
#, lisp-format
msgid "Unfollowing ~a"
msgstr "Abbandona ~a"
#: src/ui-goodies.lisp:1303
#: src/ui-goodies.lisp:1302
#, lisp-format
msgid "Unfollowed ~a"
msgstr "Hai abbandonato ~a"
#: src/ui-goodies.lisp:1332
#: src/ui-goodies.lisp:1331
msgid "Confirm operation?"
msgstr "Confermi l'operazione?"
#: src/ui-goodies.lisp:1370
#: src/ui-goodies.lisp:1369
msgid "Updating conversations."
msgstr "Aggiorno le conversazioni"
#: src/ui-goodies.lisp:1371
#: src/ui-goodies.lisp:1370
msgid "Conversations updated."
msgstr "Conversazioni aggiornate"
#: src/ui-goodies.lisp:1381
#: src/ui-goodies.lisp:1380
msgid "Open conversation: "
msgstr "Apri una conversazione: "
#: src/ui-goodies.lisp:1416
#: src/ui-goodies.lisp:1415
msgid "Old name: "
msgstr "Nome precedente: "
#: src/ui-goodies.lisp:1430
#: src/ui-goodies.lisp:1429
#, lisp-format
msgid "A conversation with name ~a already exists."
msgstr "Una conversazione con nome ~a esiste già."
#: src/ui-goodies.lisp:1436
#: src/ui-goodies.lisp:1435
msgid "New name: "
msgstr "Nuovo nome: "
#: src/ui-goodies.lisp:1452
#: src/ui-goodies.lisp:1451
#, lisp-format
msgid "Ignore conversation ~s? [y/N] "
msgstr "Ignorare la conversazione ~s? [s/N] "
#: src/ui-goodies.lisp:1468
#: src/ui-goodies.lisp:1467
#, lisp-format
msgid "Delete conversation ~s? [y/N] "
msgstr "Eliminare la conversazione ~s? [s/N] "
#: src/ui-goodies.lisp:1487
#: src/ui-goodies.lisp:1486
#, lisp-format
msgid "Comment too long by ~a character"
msgid_plural "Comment too long by ~a characters"
msgstr[0] "Il commento è troppo lungo di ~a caratteri"
msgstr[1] "Il commento è troppo lungo di ~a caratteri"
#: src/ui-goodies.lisp:1494
#: src/ui-goodies.lisp:1493
#, lisp-format
msgid "Reporting user: ~s"
msgstr "Segnalo l'utente ~s"
#: src/ui-goodies.lisp:1495
#: src/ui-goodies.lisp:1494
msgid "Report trasmitted."
msgstr "Segnalazione trasmessa."
#: src/ui-goodies.lisp:1498
#: src/ui-goodies.lisp:1497
msgid "Comment on reports: "
msgstr "Commento sulla segnalazione: "
#: src/ui-goodies.lisp:1514 src/ui-goodies.lisp:1547 src/ui-goodies.lisp:1565
#: src/ui-goodies.lisp:1513 src/ui-goodies.lisp:1546 src/ui-goodies.lisp:1564
#, lisp-format
msgid "User ~s does not exists in database"
msgstr "L'utente ~s non esiste nel database"
#: src/ui-goodies.lisp:1517 src/ui-goodies.lisp:1550 src/ui-goodies.lisp:1568
#: src/ui-goodies.lisp:1516 src/ui-goodies.lisp:1549 src/ui-goodies.lisp:1567
msgid "Username: "
msgstr "Nome utente: "
#: src/ui-goodies.lisp:1527
#: src/ui-goodies.lisp:1526
#, lisp-format
msgid "Added crypto key for user ~s"
msgstr "Aggiunta chiave crittografica per l'utente ~s"
#: src/ui-goodies.lisp:1530
#: src/ui-goodies.lisp:1529
msgid "Key: "
msgstr "Chiave: "
#: src/ui-goodies.lisp:1544
#: src/ui-goodies.lisp:1543
#, lisp-format
msgid "Generated key for user ~s"
msgstr "Generata chiave crittografica per l'utente ~s"
#: src/ui-goodies.lisp:1545
#: src/ui-goodies.lisp:1544
#, lisp-format
msgid "user ~s key ~s"
msgstr "utente ~s chiave ~s"
#: src/ui-goodies.lisp:1561
#: src/ui-goodies.lisp:1560
#, lisp-format
msgid "Added key for user ~s: ~a"
msgstr "Aggiunta chiave crittografica per l'utente ~s: ~a"
#: src/ui-goodies.lisp:1578
#: src/ui-goodies.lisp:1577
msgid "About this software"
msgstr "Sul programma"
#: src/ui-goodies.lisp:1590
#: src/ui-goodies.lisp:1589
msgid "Clearing pagination data"
msgstr "Elimina i dati della paginazione"
#: src/ui-goodies.lisp:1609
#: src/ui-goodies.lisp:1608
msgid "Invalid choices, usa a space separated list of positive integers."
msgstr ""
"Il formato ammesso è costituito da una lista di interi positivi separati da "
"spazi."
#: src/ui-goodies.lisp:1626
#: src/ui-goodies.lisp:1625
#, lisp-format
msgid "Invalid choices, index choice out of range (max ~a)."
msgstr "Intervallo dei valori delle scelte non valido (massimo ~a)."
#: src/ui-goodies.lisp:1628
#: src/ui-goodies.lisp:1627
msgid "Voting... "
msgstr "Votazione in corso..."
#: src/ui-goodies.lisp:1629
#: src/ui-goodies.lisp:1628
msgid "Choice sent."
msgstr "Voto inserito."
#: src/ui-goodies.lisp:1638
#: src/ui-goodies.lisp:1637
msgid "Type the index (or space separated indices) of selected choices: "
msgstr "Inserisci gli indici associati alle opzioni separati da spazi: "
#: src/ui-goodies.lisp:1639
#: src/ui-goodies.lisp:1638
msgid "This in not a poll"
msgstr "Questo messaggio non è un sondaggio."
#: src/ui-goodies.lisp:1707
#: src/ui-goodies.lisp:1706
msgid "Add message (enter to quit): "
msgstr "Aggiungi un messaggio (invio per abbandonare): "
#: src/ui-goodies.lisp:1732 src/ui-goodies.lisp:1745
#: src/ui-goodies.lisp:1731 src/ui-goodies.lisp:1744
msgid "Type the new label of the chat: "
msgstr "Digita la nuova etichetta della chat: "
#: src/ui-goodies.lisp:1753
#: src/ui-goodies.lisp:1752
#, lisp-format
msgid "Chat ~a with ~a created"
msgstr "Chat ~a con ~a creata"
#: src/ui-goodies.lisp:1757
#: src/ui-goodies.lisp:1756
msgid "Type the user to chat with: "
msgstr "Digita l'utente con cui vuoi iniziare una chat: "
#: src/ui-goodies.lisp:1777
#: src/ui-goodies.lisp:1776
msgid "Open Gemini url: "
msgstr "Apri un indirizzo gemini: "
#: src/ui-goodies.lisp:1789
#: src/ui-goodies.lisp:1788
msgid "This is not a valid gemini address"
msgstr "Questo non è un indirizzo gemini valido"
#: src/ui-goodies.lisp:1876
#: src/ui-goodies.lisp:1875
#, lisp-format
msgid "Subscribing to ~s"
msgstr "Abbonati a ~s: "
#: src/ui-goodies.lisp:1889 src/ui-goodies.lisp:1902
#: src/ui-goodies.lisp:1888 src/ui-goodies.lisp:1901
#, lisp-format
msgid "Command ~s completed"
msgstr "Comando ~s completato"
#: src/ui-goodies.lisp:1891
#: src/ui-goodies.lisp:1890
msgid "Send to command: "
msgstr "Manda al comando: "
#: src/ui-goodies.lisp:1904
#: src/ui-goodies.lisp:1903
msgid "Send message to command: "
msgstr "Manda il messaggio al comando: "
@ -1130,6 +1125,10 @@ msgstr "Manda il messaggio al comando: "
msgid "OK"
msgstr "OK"
#, lisp-format
#~ msgid "Could not understand the address ~s"
#~ msgstr "Non riesco ad interpretare l'indirizzo: ~s"
#~ msgid ""
#~ "The server requested a certificate but client validation is not "
#~ "implemented by this program"

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: tinmop 0.5.0\n"
"Project-Id-Version: tinmop 0.5.9\n"
"Report-Msgid-Bugs-To: https://notabug.org/cage/tinmop/\n"
"POT-Creation-Date: 2021-01-17 20:31+0100\n"
"POT-Creation-Date: 2021-03-03 17:00+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -68,7 +68,7 @@ msgid ""
"Error: was not able to create server socket to listen for authorization code"
msgstr ""
#: src/api-client.lisp:774
#: src/api-client.lisp:775
#, lisp-format
msgid "Initializing empty credentials file in ~a"
msgstr ""
@ -165,7 +165,7 @@ msgstr ""
msgid "Error: command ~a not found"
msgstr ""
#: src/conditions.lisp:70 src/conditions.lisp:74 src/db.lisp:2718
#: src/conditions.lisp:72 src/conditions.lisp:76 src/db.lisp:2738
#: src/message-rendering-utils.lisp:156 src/message-rendering-utils.lisp:190
#: src/message-rendering-utils.lisp:195
msgid "unknown"
@ -197,57 +197,52 @@ msgid ""
"accepted, deleted ones will be rejected:"
msgstr ""
#: src/gemini-viewer.lisp:360
#: src/gemini-viewer.lisp:386
msgid "Gemini document downloading aborted"
msgstr ""
#: src/gemini-viewer.lisp:366
#: src/gemini-viewer.lisp:392
msgid "Gemini document downloading completed"
msgstr ""
#: src/gemini-viewer.lisp:439
#, lisp-format
msgid "Could not understand the address ~s"
msgstr ""
#: src/gemini-viewer.lisp:506
#: src/gemini-viewer.lisp:538
#, lisp-format
msgid "Server ~s asks: ~s "
msgstr ""
#: src/gemini-viewer.lisp:534
#: src/gemini-viewer.lisp:557
#, lisp-format
msgid "Redirects to ~s, follows redirect? [y/N] "
msgstr ""
#: src/gemini-viewer.lisp:622
#: src/gemini-viewer.lisp:636
#, lisp-format
msgid ""
"Host ~s signature changed! This is a potential security risk! Ignore this "
"warning? [y/N] "
msgstr ""
#: src/gemini-viewer.lisp:626 src/tui-utils.lisp:398
#: src/gemini-viewer.lisp:640 src/tui-utils.lisp:413 src/tui-utils.lisp:423
#, lisp-format
msgid "Error: ~a"
msgstr ""
#: src/gemini-viewer.lisp:634
#: src/gemini-viewer.lisp:648
#, lisp-format
msgid "Error getting ~s: ~a"
msgstr ""
#: src/gemini-viewer.lisp:645
#: src/gemini-viewer.lisp:659
#, lisp-format
msgid "Going back to: ~a"
msgstr ""
#: src/gemini-viewer.lisp:657
#: src/gemini-viewer.lisp:671
#, lisp-format
msgid "Viewing source of: ~a"
msgstr ""
#: src/gemini-viewer.lisp:712
#: src/gemini-viewer.lisp:726
msgid "Current gemini streams"
msgstr ""
@ -306,12 +301,12 @@ msgstr ""
msgid "invalid regular expression ~s ~a"
msgstr ""
#: src/line-oriented-window.lisp:261 src/open-message-link-window.lisp:108
#: src/open-message-link-window.lisp:195 src/program-events.lisp:441
#: src/line-oriented-window.lisp:261 src/open-message-link-window.lisp:111
#: src/open-message-link-window.lisp:198 src/program-events.lisp:441
msgid "Invalid regular expression"
msgstr ""
#: src/line-oriented-window.lisp:331 src/ui-goodies.lisp:103
#: src/line-oriented-window.lisp:330 src/ui-goodies.lisp:103
#: src/ui-goodies.lisp:120
msgid "Information"
msgstr ""
@ -393,31 +388,31 @@ msgstr ""
msgid "type: ~a~%metadata~%~a~%address: ~a~2%"
msgstr ""
#: src/message-rendering-utils.lisp:235
#: src/message-rendering-utils.lisp:242
msgid "From: "
msgstr ""
#: src/message-rendering-utils.lisp:236
#: src/message-rendering-utils.lisp:243
msgid "Boosted: "
msgstr ""
#: src/message-rendering-utils.lisp:237 src/sending-message.lisp:123
#: src/message-rendering-utils.lisp:244 src/sending-message.lisp:123
msgid "Visibility: "
msgstr ""
#: src/message-rendering-utils.lisp:241
#: src/message-rendering-utils.lisp:248
msgid "Date: "
msgstr ""
#: src/message-rendering-utils.lisp:306
#: src/message-rendering-utils.lisp:313
msgid "Multiple choices allowed"
msgstr ""
#: src/message-rendering-utils.lisp:307
#: src/message-rendering-utils.lisp:314
msgid "A single choice allowed"
msgstr ""
#: src/message-rendering-utils.lisp:309
#: src/message-rendering-utils.lisp:316
msgid "The poll has expired"
msgstr ""
@ -442,11 +437,11 @@ msgid_plural "~a pending"
msgstr[0] ""
msgstr[1] ""
#: src/open-message-link-window.lisp:60 src/open-message-link-window.lisp:203
#: src/open-message-link-window.lisp:60 src/open-message-link-window.lisp:206
msgid "Links"
msgstr ""
#: src/open-message-link-window.lisp:266
#: src/open-message-link-window.lisp:269
msgid "Chat attachments"
msgstr ""
@ -537,17 +532,17 @@ msgstr ""
msgid "Subject: "
msgstr ""
#: src/software-configuration.lisp:449
#: src/software-configuration.lisp:529
#, lisp-format
msgid "fatal error: The file ~a is empty"
msgstr ""
#: src/software-configuration.lisp:469
#: src/software-configuration.lisp:549
#, lisp-format
msgid "The configuration (*.conf) file is missing the value for ~a"
msgstr ""
#: src/software-configuration.lisp:550
#: src/software-configuration.lisp:642
msgid "This message was crypted."
msgstr ""
@ -556,16 +551,16 @@ msgstr ""
msgid "Page ~a of ~a"
msgstr ""
#: src/tags-window.lisp:140
#: src/tags-window.lisp:139
msgid "Subscribed tags"
msgstr ""
#: src/text-utils.lisp:476
#: src/text-utils.lisp:481
#, lisp-format
msgid "Can not fit column of width of ~a in a box of width ~a"
msgstr ""
#: src/text-utils.lisp:590
#: src/text-utils.lisp:595
#, lisp-format
msgid "Unrecoverable error: ~a can not be fitted in a box of width ~a"
msgstr ""
@ -899,208 +894,208 @@ msgstr ""
msgid "Delete this certificate? [Y/n] "
msgstr ""
#: src/ui-goodies.lisp:1258
#: src/ui-goodies.lisp:1257
#, lisp-format
msgid "Canceling subscription for ~s"
msgstr ""
#: src/ui-goodies.lisp:1272
#: src/ui-goodies.lisp:1271
msgid "updating gemlog's subscriptions"
msgstr ""
#: src/ui-goodies.lisp:1291
#: src/ui-goodies.lisp:1290
msgid "Follow: "
msgstr ""
#: src/ui-goodies.lisp:1294
#: src/ui-goodies.lisp:1293
#, lisp-format
msgid "Following ~a"
msgstr ""
#: src/ui-goodies.lisp:1295
#: src/ui-goodies.lisp:1294
#, lisp-format
msgid "Followed ~a"
msgstr ""
#: src/ui-goodies.lisp:1299
#: src/ui-goodies.lisp:1298
msgid "Unfollow: "
msgstr ""
#: src/ui-goodies.lisp:1302
#: src/ui-goodies.lisp:1301
#, lisp-format
msgid "Unfollowing ~a"
msgstr ""
#: src/ui-goodies.lisp:1303
#: src/ui-goodies.lisp:1302
#, lisp-format
msgid "Unfollowed ~a"
msgstr ""
#: src/ui-goodies.lisp:1332
#: src/ui-goodies.lisp:1331
msgid "Confirm operation?"
msgstr ""
#: src/ui-goodies.lisp:1370
#: src/ui-goodies.lisp:1369
msgid "Updating conversations."
msgstr ""
#: src/ui-goodies.lisp:1371
#: src/ui-goodies.lisp:1370
msgid "Conversations updated."
msgstr ""
#: src/ui-goodies.lisp:1381
#: src/ui-goodies.lisp:1380
msgid "Open conversation: "
msgstr ""
#: src/ui-goodies.lisp:1416
#: src/ui-goodies.lisp:1415
msgid "Old name: "
msgstr ""
#: src/ui-goodies.lisp:1430
#: src/ui-goodies.lisp:1429
#, lisp-format
msgid "A conversation with name ~a already exists."
msgstr ""
#: src/ui-goodies.lisp:1436
#: src/ui-goodies.lisp:1435
msgid "New name: "
msgstr ""
#: src/ui-goodies.lisp:1452
#: src/ui-goodies.lisp:1451
#, lisp-format
msgid "Ignore conversation ~s? [y/N] "
msgstr ""
#: src/ui-goodies.lisp:1468
#: src/ui-goodies.lisp:1467
#, lisp-format
msgid "Delete conversation ~s? [y/N] "
msgstr ""
#: src/ui-goodies.lisp:1487
#: src/ui-goodies.lisp:1486
#, lisp-format
msgid "Comment too long by ~a character"
msgid_plural "Comment too long by ~a characters"
msgstr[0] ""
msgstr[1] ""
#: src/ui-goodies.lisp:1494
#: src/ui-goodies.lisp:1493
#, lisp-format
msgid "Reporting user: ~s"
msgstr ""
#: src/ui-goodies.lisp:1495
#: src/ui-goodies.lisp:1494
msgid "Report trasmitted."
msgstr ""
#: src/ui-goodies.lisp:1498
#: src/ui-goodies.lisp:1497
msgid "Comment on reports: "
msgstr ""
#: src/ui-goodies.lisp:1514 src/ui-goodies.lisp:1547 src/ui-goodies.lisp:1565
#: src/ui-goodies.lisp:1513 src/ui-goodies.lisp:1546 src/ui-goodies.lisp:1564
#, lisp-format
msgid "User ~s does not exists in database"
msgstr ""
#: src/ui-goodies.lisp:1517 src/ui-goodies.lisp:1550 src/ui-goodies.lisp:1568
#: src/ui-goodies.lisp:1516 src/ui-goodies.lisp:1549 src/ui-goodies.lisp:1567
msgid "Username: "
msgstr ""
#: src/ui-goodies.lisp:1527
#: src/ui-goodies.lisp:1526
#, lisp-format
msgid "Added crypto key for user ~s"
msgstr ""
#: src/ui-goodies.lisp:1530
#: src/ui-goodies.lisp:1529
msgid "Key: "
msgstr ""
#: src/ui-goodies.lisp:1544
#: src/ui-goodies.lisp:1543
#, lisp-format
msgid "Generated key for user ~s"
msgstr ""
#: src/ui-goodies.lisp:1545
#: src/ui-goodies.lisp:1544
#, lisp-format
msgid "user ~s key ~s"
msgstr ""
#: src/ui-goodies.lisp:1561
#: src/ui-goodies.lisp:1560
#, lisp-format
msgid "Added key for user ~s: ~a"
msgstr ""
#: src/ui-goodies.lisp:1578
#: src/ui-goodies.lisp:1577
msgid "About this software"
msgstr ""
#: src/ui-goodies.lisp:1590
#: src/ui-goodies.lisp:1589
msgid "Clearing pagination data"
msgstr ""
#: src/ui-goodies.lisp:1609
#: src/ui-goodies.lisp:1608
msgid "Invalid choices, usa a space separated list of positive integers."
msgstr ""
#: src/ui-goodies.lisp:1626
#: src/ui-goodies.lisp:1625
#, lisp-format
msgid "Invalid choices, index choice out of range (max ~a)."
msgstr ""
#: src/ui-goodies.lisp:1628
#: src/ui-goodies.lisp:1627
msgid "Voting... "
msgstr ""
#: src/ui-goodies.lisp:1629
#: src/ui-goodies.lisp:1628
msgid "Choice sent."
msgstr ""
#: src/ui-goodies.lisp:1638
#: src/ui-goodies.lisp:1637
msgid "Type the index (or space separated indices) of selected choices: "
msgstr ""
#: src/ui-goodies.lisp:1639
#: src/ui-goodies.lisp:1638
msgid "This in not a poll"
msgstr ""
#: src/ui-goodies.lisp:1707
#: src/ui-goodies.lisp:1706
msgid "Add message (enter to quit): "
msgstr ""
#: src/ui-goodies.lisp:1732 src/ui-goodies.lisp:1745
#: src/ui-goodies.lisp:1731 src/ui-goodies.lisp:1744
msgid "Type the new label of the chat: "
msgstr ""
#: src/ui-goodies.lisp:1753
#: src/ui-goodies.lisp:1752
#, lisp-format
msgid "Chat ~a with ~a created"
msgstr ""
#: src/ui-goodies.lisp:1757
#: src/ui-goodies.lisp:1756
msgid "Type the user to chat with: "
msgstr ""
#: src/ui-goodies.lisp:1777
#: src/ui-goodies.lisp:1776
msgid "Open Gemini url: "
msgstr ""
#: src/ui-goodies.lisp:1789
#: src/ui-goodies.lisp:1788
msgid "This is not a valid gemini address"
msgstr ""
#: src/ui-goodies.lisp:1876
#: src/ui-goodies.lisp:1875
#, lisp-format
msgid "Subscribing to ~s"
msgstr ""
#: src/ui-goodies.lisp:1889 src/ui-goodies.lisp:1902
#: src/ui-goodies.lisp:1888 src/ui-goodies.lisp:1901
#, lisp-format
msgid "Command ~s completed"
msgstr ""
#: src/ui-goodies.lisp:1891
#: src/ui-goodies.lisp:1890
msgid "Send to command: "
msgstr ""
#: src/ui-goodies.lisp:1904
#: src/ui-goodies.lisp:1903
msgid "Send message to command: "
msgstr ""