mirror of
https://github.com/friendica/friendica
synced 2025-12-07 18:47:10 +01:00
Merge branch '2024.09-rc' into merge-2024.09-rc-into-develop
This commit is contained in:
commit
1b4d0d0bb0
34 changed files with 628 additions and 627 deletions
|
|
@ -94,9 +94,9 @@ steps:
|
||||||
- friendica/friendica
|
- friendica/friendica
|
||||||
commands:
|
commands:
|
||||||
- codecov -R '.' -Z -f 'clover.xml'
|
- codecov -R '.' -Z -f 'clover.xml'
|
||||||
secrets:
|
environment:
|
||||||
- source: codecov-token
|
CODECOV_TOKEN:
|
||||||
target: codecov_token
|
from_secret: codecov-token
|
||||||
|
|
||||||
services:
|
services:
|
||||||
mariadb:
|
mariadb:
|
||||||
|
|
|
||||||
|
|
@ -604,7 +604,7 @@ Hook data:
|
||||||
|
|
||||||
### follow
|
### follow
|
||||||
|
|
||||||
Called before adding a new contact for a user to handle non-native network remote contact (like Twitter).
|
Called before adding a new contact for a user to handle non-native network remote contact (like Bluesky).
|
||||||
|
|
||||||
Hook data:
|
Hook data:
|
||||||
|
|
||||||
|
|
@ -613,7 +613,7 @@ Hook data:
|
||||||
|
|
||||||
### unfollow
|
### unfollow
|
||||||
|
|
||||||
Called when unfollowing a remote contact on a non-native network (like Twitter)
|
Called when unfollowing a remote contact on a non-native network (like Bluesky)
|
||||||
|
|
||||||
Hook data:
|
Hook data:
|
||||||
- **contact** (input): the target public contact (uid = 0) array.
|
- **contact** (input): the target public contact (uid = 0) array.
|
||||||
|
|
@ -622,7 +622,7 @@ Hook data:
|
||||||
|
|
||||||
### revoke_follow
|
### revoke_follow
|
||||||
|
|
||||||
Called when making a remote contact on a non-native network (like Twitter) unfollow you.
|
Called when making a remote contact on a non-native network (like Bluesky) unfollow you.
|
||||||
|
|
||||||
Hook data:
|
Hook data:
|
||||||
- **contact** (input): the target public contact (uid = 0) array.
|
- **contact** (input): the target public contact (uid = 0) array.
|
||||||
|
|
@ -631,7 +631,7 @@ Hook data:
|
||||||
|
|
||||||
### block
|
### block
|
||||||
|
|
||||||
Called when blocking a remote contact on a non-native network (like Twitter).
|
Called when blocking a remote contact on a non-native network (like Bluesky).
|
||||||
|
|
||||||
Hook data:
|
Hook data:
|
||||||
- **contact** (input): the remote contact (uid = 0) array.
|
- **contact** (input): the remote contact (uid = 0) array.
|
||||||
|
|
@ -640,7 +640,7 @@ Hook data:
|
||||||
|
|
||||||
### unblock
|
### unblock
|
||||||
|
|
||||||
Called when unblocking a remote contact on a non-native network (like Twitter).
|
Called when unblocking a remote contact on a non-native network (like Bluesky).
|
||||||
|
|
||||||
Hook data:
|
Hook data:
|
||||||
- **contact** (input): the remote contact (uid = 0) array.
|
- **contact** (input): the remote contact (uid = 0) array.
|
||||||
|
|
|
||||||
|
|
@ -95,14 +95,6 @@ However we take privacy seriously and don't behave like some networks that __pre
|
||||||
Your profile and "wall" may also be visited by your friends from other networks, and you can block access to these by web visitors that Friendica doesn't know.
|
Your profile and "wall" may also be visited by your friends from other networks, and you can block access to these by web visitors that Friendica doesn't know.
|
||||||
Be aware that this could include some of your friends on other networks.
|
Be aware that this could include some of your friends on other networks.
|
||||||
|
|
||||||
This may produce undesired results when posting a long status message to (for instance) Twitter.
|
|
||||||
When Friendica sends a post to these networks which exceeds the service length limit, we truncate it and provide a link to the original.
|
|
||||||
The original is a link back to your Friendica profile.
|
|
||||||
As Friendica cannot prove who they are, it may not be possible for these people to view your post in full.
|
|
||||||
|
|
||||||
For people in this situation we would recommend providing a "Twitter-length" summary, with more detail for friends that can see the post in full.
|
|
||||||
You can do so by including the BBCode tag *abstract* in your posting.
|
|
||||||
|
|
||||||
Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with GNU Social members.
|
Blocking your profile or entire Friendica site from unknown web visitors also has serious implications for communicating with GNU Social members.
|
||||||
These networks communicate with others via public protocols that are not authenticated.
|
These networks communicate with others via public protocols that are not authenticated.
|
||||||
In order to view your posts, these networks have to access them as an "unknown web visitor".
|
In order to view your posts, these networks have to access them as an "unknown web visitor".
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,10 @@ Connectors
|
||||||
* [Home](help)
|
* [Home](help)
|
||||||
|
|
||||||
Connectors allow you to connect with external social networks and services.
|
Connectors allow you to connect with external social networks and services.
|
||||||
They are only required for posting to existing accounts on Twitter or GNU Social.
|
They are only required for posting to existing accounts on for example Bluesky, Tumblr or Twitter.
|
||||||
|
For Bluesky and Tumblr you can also enable a bidirectional synchronisation, so that you can use Friendica to read your timeline from Tumblr or Bluesky.
|
||||||
There is also a connector for accessing your email INBOX.
|
There is also a connector for accessing your email INBOX.
|
||||||
|
|
||||||
If the following network connectors are installed on your system, select the following links to visit the appropriate settings page and configure them for your account:
|
|
||||||
|
|
||||||
* [Twitter](/settings/addons)
|
|
||||||
* [GNU Social](/settings/addons)
|
|
||||||
* [Email](/settings)
|
|
||||||
|
|
||||||
Instructions For Connecting To People On Specific Services
|
Instructions For Connecting To People On Specific Services
|
||||||
==========================================================
|
==========================================================
|
||||||
|
|
||||||
|
|
@ -37,14 +32,6 @@ PLease note that you will not be able to reply to these contacts.
|
||||||
This feed reader feature will allow you to _connect_ with millions of pages on the internet.
|
This feed reader feature will allow you to _connect_ with millions of pages on the internet.
|
||||||
All that the pages need to have is a discoverable feed using either the RSS or Atom syndication format, and which provides an author name and a site image in a form which we can extract.
|
All that the pages need to have is a discoverable feed using either the RSS or Atom syndication format, and which provides an author name and a site image in a form which we can extract.
|
||||||
|
|
||||||
Twitter
|
|
||||||
---
|
|
||||||
|
|
||||||
To follow a Twitter member, the Twitter-Connector (Addon) needs to be configured on your node.
|
|
||||||
If this is the case put the URL of the Twitter member's main page into the Connect box on your [Contacts](contacts) page.
|
|
||||||
To reply, you must have the Twitter connector installed, and reply using your own status editor.
|
|
||||||
Begin the message with @twitterperson replacing with the Twitter username.
|
|
||||||
|
|
||||||
Email
|
Email
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,7 @@ To export the list of accounts that you follow, go to the [Settings Export perso
|
||||||
|
|
||||||
## Import of followed Contacts
|
## Import of followed Contacts
|
||||||
|
|
||||||
To import contacts from a CSV file, go to the [Settings page](settings).
|
To import contacts from a CSV file, go to the [import contacts](settings/importcontacts).
|
||||||
At the bottom of the *account settings* page you'll find the *import contacts* section.
|
|
||||||
Upload the CSV file there.
|
Upload the CSV file there.
|
||||||
|
|
||||||
### Supported File Format
|
### Supported File Format
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ Help
|
||||||
* [Install](help/Install)
|
* [Install](help/Install)
|
||||||
* [Update](help/Update)
|
* [Update](help/Update)
|
||||||
* [Settings & Admin Panel](help/Settings)
|
* [Settings & Admin Panel](help/Settings)
|
||||||
* [Installing Connectors (Twitter/GNU Social)](help/Installing-Connectors)
|
* [Installing Connectors](help/Installing-Connectors)
|
||||||
* [Install an ejabberd server (XMPP chat) with synchronized credentials](help/install-ejabberd)
|
* [Install an ejabberd server (XMPP chat) with synchronized credentials](help/install-ejabberd)
|
||||||
* [Using SSL with Friendica](help/SSL)
|
* [Using SSL with Friendica](help/SSL)
|
||||||
* [Config values that can only be set in config/local.config.php](help/Config)
|
* [Config values that can only be set in config/local.config.php](help/Config)
|
||||||
|
|
|
||||||
|
|
@ -1,89 +1,34 @@
|
||||||
Installing Connectors (Twitter/GNU Social)
|
Installing Connectors
|
||||||
==================================================
|
==================================================
|
||||||
|
|
||||||
* [Home](help)
|
* [Home](help)
|
||||||
|
|
||||||
|
Friendica uses add-ons to connect to some networks, such as Tumblr or Bluesky.
|
||||||
|
|
||||||
Friendica uses addons to provide connectivity to some networks, such as Twitter.
|
All of these add-ons require an account on the target network.
|
||||||
|
In addition, you (or usually the server administrator) will need to obtain an API key to allow authenticated access to your Friendica server.
|
||||||
|
|
||||||
There is also a addon to post through to an existing account on a GNU Social service.
|
Site configuration
|
||||||
You only need this to post to an already existing GNU Social account, but not to communicate with GNU Social members in general.
|
|
||||||
|
|
||||||
All three addons require an account on the target network.
|
|
||||||
In addition you (or typically the server administrator) will need to obtain an API key to provide authenticated access to your Friendica server.
|
|
||||||
|
|
||||||
Site Configuration
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Addons must be installed by the site administrator before they can be used.
|
Addons need to be installed by the site administrator before they can be used.
|
||||||
This is accomplished through the site administration panel.
|
This is done through the site administration panel.
|
||||||
|
|
||||||
Each of the connectors also requires an "API key" from the service you wish to connect with.
|
Some of the connectors also require an "API key" from the service you wish to connect to.
|
||||||
Some addons allow you to enter this information in the site administration pages, while others may require you to edit your configuration file (config/local.config.php).
|
For Tumblr, this information can be found in the site administration pages, while for Twitter (X) each user has to create their own API key.
|
||||||
The ways to obtain these keys vary between the services, but they all require an existing account on the target service.
|
Other connectors, such as Bluesky, don't require an API key at all.
|
||||||
Once installed, these API keys can usually be shared by all site members.
|
|
||||||
|
|
||||||
The details of configuring each service follow (much of this information comes directly from the addon source files):
|
You can find more information about specific requirements on each addon's settings page, either on the admin page or the user page.
|
||||||
|
|
||||||
Twitter Addon for Friendica
|
Bluesky Jetstream
|
||||||
---
|
---
|
||||||
|
|
||||||
* Author: Tobias Diekershoff
|
To further improve connectivity to Bluesky, Admins can choose to enable 'Jetstream' connectivity.
|
||||||
* tobias.diekershoff@gmx.net
|
Jetstream is a service that connects to the Bluesky firehose.
|
||||||
* License: 3-clause BSD license
|
With Jetstream, messages arrive in real time rather than having to be polled.
|
||||||
|
It also enables real-time processing of blocks or tracking activities performed by the user via the Bluesky website or application.
|
||||||
|
|
||||||
### Configuration
|
To enable Jetstream processing, run `bin/jetstream.php' from the command line.
|
||||||
To use this addon you need a OAuth Consumer key pair (key & secret).
|
You will need to define the process id file in local.config.php in the 'jetstream' section using the key 'pidfile'.
|
||||||
You can get it from [Twitter](https://twitter.com/apps).
|
|
||||||
|
|
||||||
Register your Friendica site as "Client" application with "Read & Write" access.
|
To keep track of the messages processed and the drift (the time difference between the date of the message and the date the system processed that message), some fields are added to the statistics endpoint.
|
||||||
We do not need "Twitter as login".
|
|
||||||
When you've registered the app you get a key pair with an OAuth Consumer key and a secret key for your application/site.
|
|
||||||
Add this key pair to your config/local.config.php:
|
|
||||||
|
|
||||||
[twitter]
|
|
||||||
consumerkey = your consumer_key here
|
|
||||||
consumersecret = your consumer_secret here
|
|
||||||
|
|
||||||
After this, your users can configure their Twitter account settings from "Settings -> Connector Settings".
|
|
||||||
|
|
||||||
### More documentation
|
|
||||||
|
|
||||||
Find the author's documentation here: [http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Twitter_Plugin](http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Twitter_Plugin)
|
|
||||||
|
|
||||||
|
|
||||||
GNU Social Addon for Friendica
|
|
||||||
---
|
|
||||||
|
|
||||||
* Author: Tobias Diekershoff
|
|
||||||
* tobias.diekershoff@gmx.net
|
|
||||||
* License: 3-clause BSD license
|
|
||||||
|
|
||||||
### Configuration
|
|
||||||
|
|
||||||
When the addon is activated the user has to acquire the following in order to connect to the GNU Social account of choice.
|
|
||||||
|
|
||||||
* The base URL for the GNU Social API, for quitter.se this is https://quitter.se/api/
|
|
||||||
* OAuth Consumer key & secret
|
|
||||||
|
|
||||||
To get the OAuth Consumer key pair the user has to
|
|
||||||
|
|
||||||
1 ask her Friendica admin if a pair already exists or
|
|
||||||
2 has to register the Friendica server as a client application on the GNU Social server.
|
|
||||||
|
|
||||||
This can be done from the account settings under "Settings -> Connections -> Register an OAuth client application -> Register a new application" on the GNU Social server.
|
|
||||||
|
|
||||||
During the registration of the OAuth client remember the following:
|
|
||||||
|
|
||||||
* Application names must be unique on the GNU Social site, so we recommend a Name of 'friendica-nnnn', replace 'nnnn' with a random number or your website name.
|
|
||||||
* there is no callback url
|
|
||||||
* register a desktop client
|
|
||||||
* with read & write access
|
|
||||||
* the Source URL should be the URL of your Friendica server
|
|
||||||
|
|
||||||
After the required credentials for the application are stored in the configuration you have to actually connect your Friendica account with GNU Social.
|
|
||||||
This is done from the Settings -> Connector Settings page.
|
|
||||||
Follow the Sign in with GNU Social button, allow access and then copy the security code into the box provided.
|
|
||||||
Friendica will then try to acquire the final OAuth credentials from the API.
|
|
||||||
|
|
||||||
If successful, the addon settings will allow you to select to post your public messages to your GNU Social account (have a look behind the little lock symbol beneath the status "editor" on your Home or Network pages).
|
|
||||||
|
|
@ -97,13 +97,6 @@ Wir nehmen hingegen Privatsphäre ernst und agieren nicht wie andere Netzwerke,
|
||||||
Dein Profil und deine "Wall" sollen vielleicht auch von Freunden anderer Netzwerke besucht werden können.
|
Dein Profil und deine "Wall" sollen vielleicht auch von Freunden anderer Netzwerke besucht werden können.
|
||||||
Wenn du diese Seiten allerdings für Webbesucher sperrst, die Friendica nicht kennt, kann das auch Freunde anderer Netzwerke blockieren.
|
Wenn du diese Seiten allerdings für Webbesucher sperrst, die Friendica nicht kennt, kann das auch Freunde anderer Netzwerke blockieren.
|
||||||
|
|
||||||
Das kann möglicherweise ungewollte Ergebnisse produzieren, wenn du lange Statusbeiträge z.B. für Twitter oder Facebook schreibst.
|
|
||||||
Wenn Friendica einen Beitrag an diese Netzwerke schickt und nur eine bestimmte Nachrichtenlänge erlaubt ist, dann verkürzen wir diesen und erstellen einen Link, der zum Originalbeitrag führt.
|
|
||||||
Der Originallink führt zurück zu deinem Friendica-Profil.
|
|
||||||
Da Friendica nicht bestätigen kann, um wen es sich handelt, kann es passieren, dass diese Leute den Beitrag nicht komplett lesen können.
|
|
||||||
|
|
||||||
Für Leute, die davon betroffen sind, schlagen wir vor, eine Zusammenfassung in Twitter-Länge zu erstellen mit mehr Details für Freunde, die den ganzen Beitrag sehen können.
|
|
||||||
|
|
||||||
Dein Profil oder deine gesamte Friendica-Seite zu blockieren, hat außerdem ernsthafte Einflüsse auf deine Kommunikation mit GNU Social-Nutzern.
|
Dein Profil oder deine gesamte Friendica-Seite zu blockieren, hat außerdem ernsthafte Einflüsse auf deine Kommunikation mit GNU Social-Nutzern.
|
||||||
Diese Netzwerke kommunizieren mit anderen über öffentliche Protokolle, die nicht authentifiziert werden.
|
Diese Netzwerke kommunizieren mit anderen über öffentliche Protokolle, die nicht authentifiziert werden.
|
||||||
Um deine Beiträge zu sehen, müssen diese Netzwerke deine Beiträge als "unbekannte Webbesucher" ansehen.
|
Um deine Beiträge zu sehen, müssen diese Netzwerke deine Beiträge als "unbekannte Webbesucher" ansehen.
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,10 @@ Konnektoren (Connectors)
|
||||||
* [Zur Startseite der Hilfe](help)
|
* [Zur Startseite der Hilfe](help)
|
||||||
|
|
||||||
Konnektoren erlauben es Dir, Dich mit anderen sozialen Netzwerken zu verbinden.
|
Konnektoren erlauben es Dir, Dich mit anderen sozialen Netzwerken zu verbinden.
|
||||||
Konnektoren werden nur bei bestehenden Twitter und GNU Social-Accounts benötigt.
|
Mit diesen Konnektoren kannst Du z.B. zu Bluesky, Tumblr oder Twitter posten.
|
||||||
|
Für Bluesky und Tumblr gibt es eine bidirektionale Verbindung, d.h. du kannst Friendica nutzen, um deine Timeline von diesen Diensten zu lesen.
|
||||||
Außerdem gibt es einen Konnektor, um Deinen Email-Posteingang zu nutzen.
|
Außerdem gibt es einen Konnektor, um Deinen Email-Posteingang zu nutzen.
|
||||||
Wenn Du keinen eigenen Knoten betreibst und wissen willst, ob der server Deiner Wahl diese Konnektoren installiert hat, kannst Du Dich darüber auf der Seite '<domain_des_friendica-servers>/friendica' informieren.
|
Wenn Du keinen eigenen Knoten betreibst und wissen willst, ob der Server Deiner Wahl diese Konnektoren installiert hat, kannst Du Dich darüber auf der Seite '<domain_des_friendica-servers>/friendica' informieren.
|
||||||
|
|
||||||
Sind die Netzwerk-Konnektoren auf Deinem System installiert sind, kannst Du mit den folgenden Links die Einstellungsseiten besuchen und für Deinen Account konfigurieren:
|
|
||||||
|
|
||||||
* [Twitter](/settings/connectors)
|
|
||||||
* [GNU Social](/settings/connectors)
|
|
||||||
* [Email](/settings/connectors)
|
|
||||||
|
|
||||||
Anleitung, um sich mit Personen in bestimmten Netzwerken zu verbinden
|
Anleitung, um sich mit Personen in bestimmten Netzwerken zu verbinden
|
||||||
==========================================================
|
==========================================================
|
||||||
|
|
@ -35,14 +30,6 @@ Du hast keine Möglichkeit, diesen Kontakten zu antworten.
|
||||||
Das erlaubt Dir, Dich mit Millionen von Seiten im Internet zu _verbinden_.
|
Das erlaubt Dir, Dich mit Millionen von Seiten im Internet zu _verbinden_.
|
||||||
Alles, was dafür nötig ist, ist dass die Seite einen Feed im RSS- oder Atom Syndication-Format nutzt und welches einen Autoren und ein Bild zur Seite liefert.
|
Alles, was dafür nötig ist, ist dass die Seite einen Feed im RSS- oder Atom Syndication-Format nutzt und welches einen Autoren und ein Bild zur Seite liefert.
|
||||||
|
|
||||||
|
|
||||||
**Twitter**
|
|
||||||
|
|
||||||
Um einem Twitter-Nutzer zu folgen, trage die URL der Hauptseite des Twitter-Accounts auf Deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein.
|
|
||||||
Um zu antworten, musst Du den Twitter-Konnektor installieren und über Deinen eigenen Status-Editor antworten.
|
|
||||||
Beginne Deine Nachricht mit @twitternutzer, ersetze das aber durch den richtigen Twitter-Namen.
|
|
||||||
|
|
||||||
|
|
||||||
**Email**
|
**Email**
|
||||||
|
|
||||||
Konfiguriere den Email-Konnektor auf Deiner [Einstellungsseite](settings).
|
Konfiguriere den Email-Konnektor auf Deiner [Einstellungsseite](settings).
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,7 @@ Um die Liste der Kontakte *denen du folgst* zu exportieren, geht die [Einstellun
|
||||||
|
|
||||||
## Import der gefolgten Kontakte
|
## Import der gefolgten Kontakte
|
||||||
|
|
||||||
Um die Kontakt CSV Datei zu importieren, gehe in die [Einstellungen](settings).
|
Um die Kontakt CSV Datei zu importieren, gehe zu [Kontakte Importieren](settings/importcontacts).
|
||||||
Am Ende der Einstellungen zum Nutzerkonto findest du den Abschnitt "Kontakte Importieren".
|
|
||||||
Hier kannst du die CSV Datei auswählen und hoch laden.
|
Hier kannst du die CSV Datei auswählen und hoch laden.
|
||||||
|
|
||||||
### Unterstütztes Datei Format
|
### Unterstütztes Datei Format
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@ Hilfe
|
||||||
* [Update](help/Update) (EN)
|
* [Update](help/Update) (EN)
|
||||||
* [Konfigurationen & Admin-Panel](help/Settings)
|
* [Konfigurationen & Admin-Panel](help/Settings)
|
||||||
* [Addons](help/Addons)
|
* [Addons](help/Addons)
|
||||||
* [Konnektoren (Connectors) installieren (Twitter/GNU Social)](help/Installing-Connectors)
|
* [Konnektoren (Connectors) installieren](help/Installing-Connectors)
|
||||||
* [Installation eines ejabberd Servers (XMPP-Chat) mit synchronisierten Anmeldedaten](help/install-ejabberd) (EN)
|
* [Installation eines ejabberd Servers (XMPP-Chat) mit synchronisierten Anmeldedaten](help/install-ejabberd) (EN)
|
||||||
* [Betreibe deine Seite mit einem SSL-Zertifikat](help/SSL)
|
* [Betreibe deine Seite mit einem SSL-Zertifikat](help/SSL)
|
||||||
* [Konfigurationswerte, die nur in der config/local.config.php gesetzt werden können](help/Config) (EN)
|
* [Konfigurationswerte, die nur in der config/local.config.php gesetzt werden können](help/Config) (EN)
|
||||||
|
|
|
||||||
|
|
@ -1,85 +1,33 @@
|
||||||
Konnektoren installieren (Twitter/GNU Social)
|
Konnektoren installieren
|
||||||
==================================================
|
==================================================
|
||||||
|
|
||||||
* [Zur Startseite der Hilfe](help)
|
* [Zur Startseite der Hilfe](help)
|
||||||
|
|
||||||
Friendica nutzt Erweiterung, um die Verbindung zu anderen Netzwerken wie Twitter oder App.net zu gewährleisten.
|
Friendica verwendet Konnektoren, um sich mit einigen Netzwerken zu verbinden, wie Tumblr oder Bluesky.
|
||||||
|
|
||||||
Es gibt außerdem ein Erweiterung, um über einen bestehenden GNU Social-Account diesen Service zu nutzen.
|
|
||||||
Du brauchst dieses Erweiterung aber nicht, um mit GNU Social-Mitgliedern von Friendica aus zu kommunizieren - es sei denn, du wünschst es, über einen existierenden Account einen Beitrag zu schreiben.
|
|
||||||
|
|
||||||
Alle drei Erweiterung benötigen einen Account im gewünschten Netzwerk.
|
|
||||||
Zusätzlich musst du (bzw. der Administrator der Seite) einen API-Schlüssel holen, um einen authentifizierten Zugriff zu deinem Friendica-Server herstellen zu lassen.
|
|
||||||
|
|
||||||
|
Alle diese Konnektoren erfordern einen Account im Zielnetzwerk.
|
||||||
|
Außerdem musst du (oder die Server-Administration) in der Regel einen API-Schlüssel erhalten, um die Verbindung zu ermöglichen.
|
||||||
|
|
||||||
**Seitenkonfiguration**
|
**Seitenkonfiguration**
|
||||||
|
|
||||||
Erweiterung müssen vom Administrator installiert werden, bevor sie genutzt werden können.
|
Konnektoren müssen von der Server-Administration installiert werden, bevor sie verwendet werden können.
|
||||||
Dieses kann über das Administrationsmenü erstellt werden.
|
Dies geschieht über die Server-Verwaltung.
|
||||||
|
|
||||||
Jeder der Konnektoren benötigt zudem einen API-Schlüssel vom Service, der verbunden werden soll.
|
Einige der Konnektoren erfordern auch einen „API-Schlüssel“ des Dienstes, mit dem du dich verbinden möchtest.
|
||||||
Einige Erweiterung erlaube es, diese Informationen auf den Administrationsseiten einzustellen, wohingegen andere eine direkte Bearbeitung der Konfigurationsdatei "config/local.config.php" erfordern.
|
Für Tumblr findet man diese Informationen auf den Seiten der Server-Verwaltung, während für Twitter (X) jede Person einen eigenen API-Schlüssel erstellen muss.
|
||||||
Der Weg, um diese Schlüssel zu erhalten, variiert stark, jedoch brauchen fast alle einen bestehenden Account im gewünschten Service.
|
Andere Konnektoren, wie Bluesky, benötigen überhaupt keinen API-Schlüssel.
|
||||||
Einmal installiert, können diese Schlüssel von allen Seitennutzern genutzt werden.
|
|
||||||
|
|
||||||
Im Folgenden findest du die Einstellungen für die verschiedenen Services (viele dieser Informationen kommen direkt aus den Quelldateien der Erweiterung):
|
Weitere Informationen zu den spezifischen Anforderungen findest du auf der Einstellungsseite des jeweiligen Addons, entweder auf der Verwaltungsseite oder auf der Benutzerseite.
|
||||||
|
|
||||||
|
Bluesky Jetstream
|
||||||
|
---
|
||||||
|
|
||||||
**Twitter Erweiterung für Friendica**
|
Um die Konnektivität mit Bluesky weiter zu verbessern, kann die „Jetstream“-Konnektivität aktiviert werden.
|
||||||
|
Jetstream ist ein Dienst, der sich mit dem Bluesky-Firehose verbindet.
|
||||||
|
Mit Jetstream kommen die Nachrichten in Echtzeit an und müssen nicht erst abgefragt werden.
|
||||||
|
Es ermöglicht auch die Echtzeitverarbeitung von Blöcken oder Tracking-Aktivitäten, die über die Bluesky-Website oder -Anwendung durchgeführt werden.
|
||||||
|
|
||||||
* Author: Tobias Diekershoff
|
Um die Jetstream-Verarbeitung zu aktivieren, führe `bin/jetstream.php' über die Befehlszeile aus.
|
||||||
* tobias.diekershoff@gmx.net
|
Du musst vorher die Prozess-ID-Datei in local.config.php im Abschnitt „jetstream“ mit dem Schlüssel „pidfile“ definieren.
|
||||||
|
|
||||||
* License:3-clause BSD license
|
Um die verarbeiteten Nachrichten und die Drift (die Zeitdifferenz zwischen dem Datum der Nachricht und dem Datum, an dem das System diese Nachricht verarbeitet hat) zu verfolgen, wurden dem Statistik-Endpunkt einige Felder hinzugefügt.
|
||||||
|
|
||||||
Konfiguration:
|
|
||||||
Um dieses Erweiterung zu nutzen, benötigst du einen OAuth Consumer-Schlüsselpaar (Schlüssel und Geheimnis), das du auf der Seite [https://twitter.com/apps](https://twitter.com/apps) erhalten kannst
|
|
||||||
|
|
||||||
Registriere deine Friendica-Seite als "Client"-Anwendung mit "Read&Write"-Zugriff. Wir benötigen "Twitter als Login" nicht. Sobald du deine Anwendung installiert hast, erhältst du das Schlüsselpaar für deine Seite.
|
|
||||||
|
|
||||||
Trage dieses Schlüsselpaar in deine globale "config/local.config.php"-Datei ein.
|
|
||||||
|
|
||||||
```
|
|
||||||
[twitter]
|
|
||||||
consumerkey = your consumer_key here
|
|
||||||
consumersecret = your consumer_secret here
|
|
||||||
```
|
|
||||||
|
|
||||||
Anschließend kann der Nutzer deiner Seite die Twitter-Einstellungen selbst eintragen: "Einstellungen -> Connector Einstellungen".
|
|
||||||
|
|
||||||
|
|
||||||
**GNU Social Erweiterung für Friendica**
|
|
||||||
|
|
||||||
* Author: Tobias Diekershoff
|
|
||||||
* tobias.diekershoff@gmx.net
|
|
||||||
|
|
||||||
* License:3-clause BSD license
|
|
||||||
|
|
||||||
Konfiguration
|
|
||||||
|
|
||||||
Wenn das Addon aktiv ist, muss der Nutzer die folgenden Einstellungen vornehmen, um sich mit dem GNU Social-Account seiner Wahl zu verbinden.
|
|
||||||
|
|
||||||
* Die Basis-URL des GNU Social-API; für quitter.se ist es https://quitter.se/api/
|
|
||||||
* OAuth Consumer key & Geheimnis
|
|
||||||
|
|
||||||
Um das OAuth-Schlüsselpaar zu erhalten, muss der Nutzer
|
|
||||||
|
|
||||||
(a) seinen Friendica-Admin fragen, ob bereits ein Schlüsselpaar existiert oder
|
|
||||||
(b) einen Friendica-Server als Anwendung auf dem GNU Social-Server anmelden.
|
|
||||||
|
|
||||||
Dies kann über Einstellungen --> Connections --> "Register an OAuth client application" -> "Register a new application" auf dem GNU Social-Server durchgeführt werden.
|
|
||||||
|
|
||||||
Während der Registrierung des OAuth-Clients ist Folgendes zu beachten:
|
|
||||||
|
|
||||||
* Der Anwendungsname muss auf der GNU Social-Seite einzigartig sein, daher empfehlen wir einen Namen wie "friendica-nnnn", ersetze dabei "nnnn" mit einer frei gewählten Nummer oder deinem Webseitennamen.
|
|
||||||
* es gibt keine Callback-URL
|
|
||||||
* Registriere einen Desktop-Client
|
|
||||||
* stelle Lese- und Schreibrechte ein
|
|
||||||
* die Quell-URL sollte die URL deines Friendica-Servers sein
|
|
||||||
|
|
||||||
Sobald die benötigten Daten gespeichert sind, musst du deinen Friendica-Account mit GNU Social verbinden.
|
|
||||||
Das kannst du über Einstellungen --> Connector-Einstellungen durchführen.
|
|
||||||
Folge dem "Einloggen mit GNU Social"-Button, erlaube den Zugriff und kopiere den Sicherheitscode in die entsprechende Box.
|
|
||||||
Friendica wird dann versuchen, die abschließende OAuth-Einstellungen über die API zu beziehen.
|
|
||||||
|
|
||||||
Wenn es geklappt hat, kannst du in den Einstellungen festlegen, ob deine öffentlichen Nachrichten automatisch in deinem GNU Social-Account erscheinen soll (achte hierbei auf das kleine Schloss-Symbol im Status-Editor)
|
|
||||||
|
|
|
||||||
|
|
@ -558,15 +558,17 @@ class Worker
|
||||||
if ($method_call) {
|
if ($method_call) {
|
||||||
try {
|
try {
|
||||||
call_user_func_array(sprintf('Friendica\Worker\%s::execute', $funcname), $argv);
|
call_user_func_array(sprintf('Friendica\Worker\%s::execute', $funcname), $argv);
|
||||||
} catch (\TypeError $e) {
|
|
||||||
// No need to defer a worker queue entry if the arguments are invalid
|
|
||||||
Logger::notice('Wrong worker arguments', ['class' => $funcname, 'argv' => $argv, 'queue' => $queue, 'message' => $e->getMessage()]);
|
|
||||||
} catch (\Throwable $e) {
|
} catch (\Throwable $e) {
|
||||||
Logger::error('Uncaught exception in worker execution', ['class' => get_class($e), 'message' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile() . ':' . $e->getLine(), 'trace' => $e->getTraceAsString(), 'previous' => $e->getPrevious()]);
|
Logger::error('Uncaught exception in worker method execution', ['class' => get_class($e), 'message' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile() . ':' . $e->getLine(), 'trace' => $e->getTraceAsString(), 'previous' => $e->getPrevious()]);
|
||||||
Worker::defer();
|
Worker::defer();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$funcname($argv, count($argv));
|
try {
|
||||||
|
$funcname($argv, count($argv));
|
||||||
|
} catch (\Throwable $e) {
|
||||||
|
Logger::error('Uncaught exception in worker execution', ['message' => $e->getMessage(), 'code' => $e->getCode(), 'file' => $e->getFile() . ':' . $e->getLine(), 'trace' => $e->getTraceAsString(), 'previous' => $e->getPrevious()]);
|
||||||
|
Worker::defer();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger::disableWorker();
|
Logger::disableWorker();
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,13 @@ use Friendica\Network\HTTPClient\Client\HttpClientAccept;
|
||||||
use Friendica\Network\HTTPClient\Client\HttpClientOptions;
|
use Friendica\Network\HTTPClient\Client\HttpClientOptions;
|
||||||
use Friendica\Network\HTTPClient\Client\HttpClientRequest;
|
use Friendica\Network\HTTPClient\Client\HttpClientRequest;
|
||||||
use Friendica\Protocol\ActivityPub;
|
use Friendica\Protocol\ActivityPub;
|
||||||
|
use Friendica\Protocol\ATProtocol;
|
||||||
use Friendica\Util\Images;
|
use Friendica\Util\Images;
|
||||||
use Friendica\Util\Network;
|
use Friendica\Util\Network;
|
||||||
use Friendica\Util\ParseUrl;
|
use Friendica\Util\ParseUrl;
|
||||||
use Friendica\Util\Proxy;
|
use Friendica\Util\Proxy;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
use GuzzleHttp\Psr7\Uri;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Media
|
* Class Media
|
||||||
|
|
@ -237,7 +239,7 @@ class Media
|
||||||
$media = self::addAccount($media);
|
$media = self::addAccount($media);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (in_array($media['type'], [self::ACTIVITY, self::LD, self::JSON])) {
|
if (in_array($media['type'], [self::ACTIVITY, self::LD, self::JSON]) || self::isFederatedServer($media['url'])) {
|
||||||
$media = self::addActivity($media);
|
$media = self::addActivity($media);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -248,6 +250,20 @@ class Media
|
||||||
return $media;
|
return $media;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function isFederatedServer(string $url): bool
|
||||||
|
{
|
||||||
|
$baseurl = Network::getBaseUrl(new Uri($url));
|
||||||
|
if (empty($baseurl)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Strings::compareLink($baseurl, ATProtocol::WEB)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return DBA::exists('gserver', ['nurl' => Strings::normaliseLink($baseurl), 'network' => Protocol::FEDERATED]);
|
||||||
|
}
|
||||||
|
|
||||||
private static function addPreviewData(array $media): array
|
private static function addPreviewData(array $media): array
|
||||||
{
|
{
|
||||||
if (!empty($media['preview-width']) && !empty($media['preview-height'])) {
|
if (!empty($media['preview-width']) && !empty($media['preview-height'])) {
|
||||||
|
|
|
||||||
|
|
@ -151,6 +151,13 @@ class BaseSettings extends BaseModule
|
||||||
'accesskey' => 's',
|
'accesskey' => 's',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$tabs[] = [
|
||||||
|
'label' => $this->t('Import Contacts'),
|
||||||
|
'url' => 'settings/importcontacts',
|
||||||
|
'selected' => static::class == Settings\UserExport::class ? 'active' : '',
|
||||||
|
'accesskey' => '',
|
||||||
|
];
|
||||||
|
|
||||||
$tabs[] = [
|
$tabs[] = [
|
||||||
'label' => $this->t('Export personal data'),
|
'label' => $this->t('Export personal data'),
|
||||||
'url' => 'settings/userexport',
|
'url' => 'settings/userexport',
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ namespace Friendica\Module\Settings;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use Friendica\Core\ACL;
|
use Friendica\Core\ACL;
|
||||||
use Friendica\Core\Logger;
|
|
||||||
use Friendica\Core\Renderer;
|
use Friendica\Core\Renderer;
|
||||||
use Friendica\Core\Search;
|
use Friendica\Core\Search;
|
||||||
use Friendica\Core\Worker;
|
use Friendica\Core\Worker;
|
||||||
|
|
@ -25,7 +24,6 @@ use Friendica\Module\BaseSettings;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
use Friendica\Protocol\Activity;
|
use Friendica\Protocol\Activity;
|
||||||
use Friendica\Protocol\Delivery;
|
use Friendica\Protocol\Delivery;
|
||||||
use Friendica\Util\Network;
|
|
||||||
use Friendica\Util\Temporal;
|
use Friendica\Util\Temporal;
|
||||||
|
|
||||||
class Account extends BaseSettings
|
class Account extends BaseSettings
|
||||||
|
|
@ -322,42 +320,6 @@ class Account extends BaseSettings
|
||||||
DI::baseUrl()->redirect($redirectUrl);
|
DI::baseUrl()->redirect($redirectUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Import Contacts from CSV file
|
|
||||||
if (!empty($request['importcontact-submit'])) {
|
|
||||||
if (isset($_FILES['importcontact-filename'])) {
|
|
||||||
// was there an error
|
|
||||||
if ($_FILES['importcontact-filename']['error'] > 0) {
|
|
||||||
Logger::notice('Contact CSV file upload error', ['error' => $_FILES['importcontact-filename']['error']]);
|
|
||||||
DI::sysmsg()->addNotice(DI::l10n()->t('Contact CSV file upload error'));
|
|
||||||
} else {
|
|
||||||
$csvArray = array_map('str_getcsv', file($_FILES['importcontact-filename']['tmp_name']));
|
|
||||||
Logger::notice('Import started', ['lines' => count($csvArray)]);
|
|
||||||
// import contacts
|
|
||||||
foreach ($csvArray as $csvRow) {
|
|
||||||
// The 1st row may, or may not contain the headers of the table
|
|
||||||
// We expect the 1st field of the row to contain either the URL
|
|
||||||
// or the handle of the account, therefore we check for either
|
|
||||||
// "http" or "@" to be present in the string.
|
|
||||||
// All other fields from the row will be ignored
|
|
||||||
if ((strpos($csvRow[0], '@') !== false) || Network::isValidHttpUrl($csvRow[0])) {
|
|
||||||
Worker::add(Worker::PRIORITY_MEDIUM, 'AddContact', DI::userSession()->getLocalUserId(), trim($csvRow[0], '@'));
|
|
||||||
} else {
|
|
||||||
Logger::notice('Invalid account', ['url' => $csvRow[0]]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Logger::notice('Import done');
|
|
||||||
|
|
||||||
DI::sysmsg()->addInfo(DI::l10n()->t('Importing Contacts done'));
|
|
||||||
// delete temp file
|
|
||||||
unlink($_FILES['importcontact-filename']['tmp_name']);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Logger::notice('Import triggered, but no import file was found.');
|
|
||||||
}
|
|
||||||
|
|
||||||
DI::baseUrl()->redirect($redirectUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!empty($request['relocate-submit'])) {
|
if (!empty($request['relocate-submit'])) {
|
||||||
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, DI::userSession()->getLocalUserId());
|
Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::RELOCATION, DI::userSession()->getLocalUserId());
|
||||||
DI::sysmsg()->addInfo(DI::l10n()->t("Relocate message has been send to your contacts"));
|
DI::sysmsg()->addInfo(DI::l10n()->t("Relocate message has been send to your contacts"));
|
||||||
|
|
@ -633,11 +595,6 @@ class Account extends BaseSettings
|
||||||
'$h_descadvn' => DI::l10n()->t('Change the behaviour of this account for special situations'),
|
'$h_descadvn' => DI::l10n()->t('Change the behaviour of this account for special situations'),
|
||||||
'$pagetype' => $pagetype,
|
'$pagetype' => $pagetype,
|
||||||
|
|
||||||
'$importcontact' => DI::l10n()->t('Import Contacts'),
|
|
||||||
'$importcontact_text' => DI::l10n()->t('Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account.'),
|
|
||||||
'$importcontact_button' => DI::l10n()->t('Upload File'),
|
|
||||||
'$importcontact_maxsize' => DI::config()->get('system', 'max_csv_file_size', 30720),
|
|
||||||
|
|
||||||
'$relocate' => DI::l10n()->t('Relocate'),
|
'$relocate' => DI::l10n()->t('Relocate'),
|
||||||
'$relocate_text' => DI::l10n()->t("If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."),
|
'$relocate_text' => DI::l10n()->t("If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."),
|
||||||
'$relocate_button' => DI::l10n()->t("Resend relocate message to contacts"),
|
'$relocate_button' => DI::l10n()->t("Resend relocate message to contacts"),
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,6 @@ class Connectors extends BaseSettings
|
||||||
$this->pconfig->set($this->session->getLocalUserId(), 'system', 'api_spoiler_title', intval($request['api_spoiler_title']));
|
$this->pconfig->set($this->session->getLocalUserId(), 'system', 'api_spoiler_title', intval($request['api_spoiler_title']));
|
||||||
$this->pconfig->set($this->session->getLocalUserId(), 'system', 'api_auto_attach', intval($request['api_auto_attach']));
|
$this->pconfig->set($this->session->getLocalUserId(), 'system', 'api_auto_attach', intval($request['api_auto_attach']));
|
||||||
$this->pconfig->set($this->session->getLocalUserId(), 'system', 'article_mode', intval($request['article_mode']));
|
$this->pconfig->set($this->session->getLocalUserId(), 'system', 'article_mode', intval($request['article_mode']));
|
||||||
$this->pconfig->set($this->session->getLocalUserId(), 'ostatus', 'legacy_contact', $request['legacy_contact']);
|
|
||||||
} elseif (!empty($request['mail-submit']) && function_exists('imap_open') && !$this->config->get('system', 'imap_disabled')) {
|
} elseif (!empty($request['mail-submit']) && function_exists('imap_open') && !$this->config->get('system', 'imap_disabled')) {
|
||||||
$mail_server = $request['mail_server'] ?? '';
|
$mail_server = $request['mail_server'] ?? '';
|
||||||
$mail_port = $request['mail_port'] ?? '';
|
$mail_port = $request['mail_port'] ?? '';
|
||||||
|
|
@ -127,11 +126,6 @@ class Connectors extends BaseSettings
|
||||||
$api_spoiler_title = intval($this->pconfig->get($this->session->getLocalUserId(), 'system', 'api_spoiler_title', true));
|
$api_spoiler_title = intval($this->pconfig->get($this->session->getLocalUserId(), 'system', 'api_spoiler_title', true));
|
||||||
$api_auto_attach = intval($this->pconfig->get($this->session->getLocalUserId(), 'system', 'api_auto_attach', false));
|
$api_auto_attach = intval($this->pconfig->get($this->session->getLocalUserId(), 'system', 'api_auto_attach', false));
|
||||||
$article_mode = intval($this->pconfig->get($this->session->getLocalUserId(), 'system', 'article_mode'));
|
$article_mode = intval($this->pconfig->get($this->session->getLocalUserId(), 'system', 'article_mode'));
|
||||||
$legacy_contact = $this->pconfig->get($this->session->getLocalUserId(), 'ostatus', 'legacy_contact');
|
|
||||||
|
|
||||||
if (!empty($legacy_contact)) {
|
|
||||||
$this->baseUrl->redirect('ostatus/subscribe?url=' . urlencode($legacy_contact));
|
|
||||||
}
|
|
||||||
|
|
||||||
$connector_settings_forms = [];
|
$connector_settings_forms = [];
|
||||||
foreach ($this->database->selectToArray('hook', ['file', 'function'], ['hook' => 'connector_settings']) as $hook) {
|
foreach ($this->database->selectToArray('hook', ['file', 'function'], ['hook' => 'connector_settings']) as $hook) {
|
||||||
|
|
@ -215,7 +209,6 @@ class Connectors extends BaseSettings
|
||||||
'$api_spoiler_title' => ['api_spoiler_title', $this->t('API: Use spoiler field as title'), $api_spoiler_title, $this->t('When activated, the "spoiler_text" field in the API will be used for the title on standalone posts. When deactivated it will be used for spoiler text. For comments it will always be used for spoiler text.')],
|
'$api_spoiler_title' => ['api_spoiler_title', $this->t('API: Use spoiler field as title'), $api_spoiler_title, $this->t('When activated, the "spoiler_text" field in the API will be used for the title on standalone posts. When deactivated it will be used for spoiler text. For comments it will always be used for spoiler text.')],
|
||||||
'$api_auto_attach' => ['api_auto_attach', $this->t('API: Automatically links at the end of the post as attached posts'), $api_auto_attach, $this->t('When activated, added links at the end of the post react the same way as added links in the web interface.')],
|
'$api_auto_attach' => ['api_auto_attach', $this->t('API: Automatically links at the end of the post as attached posts'), $api_auto_attach, $this->t('When activated, added links at the end of the post react the same way as added links in the web interface.')],
|
||||||
'$article_mode' => ['article_mode', $this->t('Article Mode'), $article_mode, $this->t("Controls how posts with titles are transmitted. Mastodon and its forks don't display the content of these posts if the post is created in the correct (default) way."), $article_modes],
|
'$article_mode' => ['article_mode', $this->t('Article Mode'), $article_mode, $this->t("Controls how posts with titles are transmitted. Mastodon and its forks don't display the content of these posts if the post is created in the correct (default) way."), $article_modes],
|
||||||
'$legacy_contact' => ['legacy_contact', $this->t('Your legacy ActivityPub/GNU Social account'), $legacy_contact, $this->t('If you enter your old account name from an ActivityPub based system or your GNU Social/Statusnet account name here (in the format user@domain.tld), your contacts will be added automatically. The field will be emptied when done.')],
|
|
||||||
|
|
||||||
'$connector_settings_forms' => $connector_settings_forms,
|
'$connector_settings_forms' => $connector_settings_forms,
|
||||||
|
|
||||||
|
|
|
||||||
118
src/Module/Settings/ContactImport.php
Normal file
118
src/Module/Settings/ContactImport.php
Normal file
|
|
@ -0,0 +1,118 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// Copyright (C) 2010-2024, the Friendica project
|
||||||
|
// SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
||||||
|
//
|
||||||
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
|
||||||
|
namespace Friendica\Module\Settings;
|
||||||
|
|
||||||
|
use Friendica\App;
|
||||||
|
use Friendica\Core\Config\Capability\IManageConfigValues;
|
||||||
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
|
||||||
|
use Friendica\Core\Renderer;
|
||||||
|
use Friendica\Core\Session\Capability\IHandleUserSessions;
|
||||||
|
use Friendica\Core\Worker;
|
||||||
|
use Friendica\Module\BaseSettings;
|
||||||
|
use Friendica\Module\Response;
|
||||||
|
use Friendica\Navigation\SystemMessages;
|
||||||
|
use Friendica\Network\HTTPException;
|
||||||
|
use Friendica\Util\Network;
|
||||||
|
use Friendica\Util\Profiler;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module to export user data
|
||||||
|
**/
|
||||||
|
class ContactImport extends BaseSettings
|
||||||
|
{
|
||||||
|
/** @var IManageConfigValues */
|
||||||
|
private $config;
|
||||||
|
/** @var IManagePersonalConfigValues */
|
||||||
|
private $pconfig;
|
||||||
|
/** @var SystemMessages */
|
||||||
|
protected $systemMessages;
|
||||||
|
|
||||||
|
public function __construct(SystemMessages $systemMessages, IManagePersonalConfigValues $pconfig, IManageConfigValues $config, IHandleUserSessions $session, App\Page $page, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
|
||||||
|
{
|
||||||
|
parent::__construct($session, $page, $l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
|
||||||
|
|
||||||
|
$this->config = $config;
|
||||||
|
$this->pconfig = $pconfig;
|
||||||
|
$this->systemMessages = $systemMessages;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function post(array $request = [])
|
||||||
|
{
|
||||||
|
if (!$this->session->getLocalUserId()) {
|
||||||
|
throw new HTTPException\ForbiddenException($this->l10n->t('Permission denied.'));
|
||||||
|
}
|
||||||
|
|
||||||
|
self::checkFormSecurityTokenRedirectOnError($this->args->getQueryString(), 'contactimport');
|
||||||
|
|
||||||
|
parent::post();
|
||||||
|
|
||||||
|
// Import Contacts from CSV file
|
||||||
|
if (!empty($request['importcontact-submit'])) {
|
||||||
|
$this->pconfig->set($this->session->getLocalUserId(), 'ostatus', 'legacy_contact', $request['legacy_contact']);
|
||||||
|
if (isset($_FILES['importcontact-filename']) && !empty($_FILES['importcontact-filename']['tmp_name'])) {
|
||||||
|
// was there an error
|
||||||
|
if ($_FILES['importcontact-filename']['error'] > 0) {
|
||||||
|
$this->logger->notice('Contact CSV file upload error', ['error' => $_FILES['importcontact-filename']['error']]);
|
||||||
|
$this->systemMessages->addNotice($this->l10n->t('Contact CSV file upload error'));
|
||||||
|
} else {
|
||||||
|
$csvArray = array_map('str_getcsv', file($_FILES['importcontact-filename']['tmp_name']));
|
||||||
|
$this->logger->notice('Import started', ['lines' => count($csvArray)]);
|
||||||
|
// import contacts
|
||||||
|
foreach ($csvArray as $csvRow) {
|
||||||
|
// The 1st row may, or may not contain the headers of the table
|
||||||
|
// We expect the 1st field of the row to contain either the URL
|
||||||
|
// or the handle of the account, therefore we check for either
|
||||||
|
// "http" or "@" to be present in the string.
|
||||||
|
// All other fields from the row will be ignored
|
||||||
|
if ((strpos($csvRow[0], '@') !== false) || Network::isValidHttpUrl($csvRow[0])) {
|
||||||
|
Worker::add(Worker::PRIORITY_MEDIUM, 'AddContact', $this->session->getLocalUserId(), trim($csvRow[0], '@'));
|
||||||
|
} else {
|
||||||
|
$this->logger->notice('Invalid account', ['url' => $csvRow[0]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->logger->notice('Import done');
|
||||||
|
|
||||||
|
$this->systemMessages->addInfo($this->l10n->t('Importing Contacts done'));
|
||||||
|
// delete temp file
|
||||||
|
unlink($_FILES['importcontact-filename']['tmp_name']);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$this->logger->notice('Import triggered, but no import file was found.');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->baseUrl->redirect($this->args->getQueryString());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function content(array $request = []): string
|
||||||
|
{
|
||||||
|
if (!$this->session->getLocalUserId()) {
|
||||||
|
throw new HTTPException\ForbiddenException($this->l10n->t('Permission denied.'));
|
||||||
|
}
|
||||||
|
|
||||||
|
parent::content();
|
||||||
|
|
||||||
|
$legacy_contact = $this->pconfig->get($this->session->getLocalUserId(), 'ostatus', 'legacy_contact');
|
||||||
|
|
||||||
|
if (!empty($legacy_contact)) {
|
||||||
|
$this->baseUrl->redirect('ostatus/subscribe?url=' . urlencode($legacy_contact));
|
||||||
|
}
|
||||||
|
|
||||||
|
$tpl = Renderer::getMarkupTemplate('settings/contactimport.tpl');
|
||||||
|
return Renderer::replaceMacros($tpl, [
|
||||||
|
'$title' => $this->l10n->t('Import Contacts'),
|
||||||
|
'$submit' => $this->l10n->t('Save Settings'),
|
||||||
|
'$form_security_token' => self::getFormSecurityToken('contactimport'),
|
||||||
|
'$importcontact_text' => $this->l10n->t('Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account.'),
|
||||||
|
'$importcontact_button' => $this->l10n->t('Upload File'),
|
||||||
|
'$importcontact_maxsize' => $this->config->get('system', 'max_csv_file_size', 30720),
|
||||||
|
'$legacy_contact' => ['legacy_contact', $this->t('Your legacy ActivityPub/GNU Social account'), $legacy_contact, $this->t('If you enter your old account name from an ActivityPub based system or your GNU Social/Statusnet account name here (in the format user@domain.tld), your contacts will be added automatically. The field will be emptied when done.')],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -129,7 +129,17 @@ final class ATProtocol
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = $this->get($pds . '/xrpc/' . $url, [HttpClientOptions::HEADERS => $headers]);
|
$data = $this->get($pds . '/xrpc/' . $url, [HttpClientOptions::HEADERS => $headers]);
|
||||||
$this->pConfig->set($uid, 'bluesky', 'status', is_null($data) ? self::STATUS_API_FAIL : self::STATUS_SUCCESS);
|
if (empty($data) || (!empty($data->code) && ($data->code < 200 || $data->code >= 400))) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_API_FAIL);
|
||||||
|
if (!empty($data->message)) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', $data->message);
|
||||||
|
} elseif (!empty($data->code)) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', 'Error Code: ' . $data->code);
|
||||||
|
}
|
||||||
|
} elseif (!empty($data)) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_SUCCESS);
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', '');
|
||||||
|
}
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -156,6 +166,9 @@ final class ATProtocol
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
$data->code = $curlResult->getReturnCode();
|
$data->code = $curlResult->getReturnCode();
|
||||||
|
} elseif (($curlResult->getReturnCode() < 200) || ($curlResult->getReturnCode() >= 400)) {
|
||||||
|
$this->logger->notice('Unexpected return code', ['url' => $url, 'code' => $curlResult->getReturnCode(), 'error' => $data ?: $curlResult->getBodyString()]);
|
||||||
|
$data->code = $curlResult->getReturnCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
Item::incrementInbound(Protocol::BLUESKY);
|
Item::incrementInbound(Protocol::BLUESKY);
|
||||||
|
|
@ -197,6 +210,7 @@ final class ATProtocol
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$this->logger->notice('Exception on post', ['exception' => $e]);
|
$this->logger->notice('Exception on post', ['exception' => $e]);
|
||||||
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_API_FAIL);
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_API_FAIL);
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', $e->getMessage());
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -205,6 +219,11 @@ final class ATProtocol
|
||||||
$this->logger->notice('API Error', ['url' => $url, 'code' => $curlResult->getReturnCode(), 'error' => $data ?: $curlResult->getBodyString()]);
|
$this->logger->notice('API Error', ['url' => $url, 'code' => $curlResult->getReturnCode(), 'error' => $data ?: $curlResult->getBodyString()]);
|
||||||
if (!$data) {
|
if (!$data) {
|
||||||
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_API_FAIL);
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_API_FAIL);
|
||||||
|
if (!empty($data->message)) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', $data->message);
|
||||||
|
} elseif (!empty($data->code)) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', 'Error Code: ' . $data->code);
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
$data->code = $curlResult->getReturnCode();
|
$data->code = $curlResult->getReturnCode();
|
||||||
|
|
@ -212,8 +231,14 @@ final class ATProtocol
|
||||||
|
|
||||||
if (!empty($data->code) && ($data->code >= 200) && ($data->code < 400)) {
|
if (!empty($data->code) && ($data->code >= 200) && ($data->code < 400)) {
|
||||||
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_SUCCESS);
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_SUCCESS);
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', '');
|
||||||
} else {
|
} else {
|
||||||
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_API_FAIL);
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_API_FAIL);
|
||||||
|
if (!empty($data->message)) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', $data->message);
|
||||||
|
} elseif (!empty($data->code)) {
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', 'Error Code: ' . $data->code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
@ -501,10 +526,6 @@ final class ATProtocol
|
||||||
$data = $this->post($uid, '/xrpc/com.atproto.server.refreshSession', '', ['Authorization' => ['Bearer ' . $token]]);
|
$data = $this->post($uid, '/xrpc/com.atproto.server.refreshSession', '', ['Authorization' => ['Bearer ' . $token]]);
|
||||||
if (empty($data) || empty($data->accessJwt)) {
|
if (empty($data) || empty($data->accessJwt)) {
|
||||||
$this->logger->debug('Refresh failed', ['return' => $data]);
|
$this->logger->debug('Refresh failed', ['return' => $data]);
|
||||||
$password = $this->pConfig->get($uid, 'bluesky', 'password');
|
|
||||||
if (!empty($password)) {
|
|
||||||
return $this->createUserToken($uid, $password);
|
|
||||||
}
|
|
||||||
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_TOKEN_FAIL);
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_TOKEN_FAIL);
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
@ -541,6 +562,7 @@ final class ATProtocol
|
||||||
$this->pConfig->set($uid, 'bluesky', 'refresh_token', $data->refreshJwt);
|
$this->pConfig->set($uid, 'bluesky', 'refresh_token', $data->refreshJwt);
|
||||||
$this->pConfig->set($uid, 'bluesky', 'token_created', time());
|
$this->pConfig->set($uid, 'bluesky', 'token_created', time());
|
||||||
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_TOKEN_OK);
|
$this->pConfig->set($uid, 'bluesky', 'status', self::STATUS_TOKEN_OK);
|
||||||
|
$this->pConfig->set($uid, 'bluesky', 'status-message', '');
|
||||||
return $data->accessJwt;
|
return $data->accessJwt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copyright (C) 2010-2024, the Friendica project
|
* Copyright (C) 2010-2024, the Friendica project
|
||||||
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copyright (C) 2010-2024, the Friendica project
|
* Copyright (C) 2010-2024, the Friendica project
|
||||||
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#!/usr/bin/env php
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Copyright (C) 2010-2024, the Friendica project
|
* Copyright (C) 2010-2024, the Friendica project
|
||||||
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
||||||
|
|
@ -178,7 +178,7 @@ class Processor
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$this->logger->info('Post inserted', ['id' => $id, 'guid' => $item['guid']]);
|
$this->logger->info('Post inserted', ['id' => $id, 'guid' => $item['guid']]);
|
||||||
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
||||||
$this->logger->warning('Post was found', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
$this->logger->notice('Post was found', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
||||||
} else {
|
} else {
|
||||||
$this->logger->warning('Post was not inserted', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
$this->logger->warning('Post was not inserted', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
||||||
}
|
}
|
||||||
|
|
@ -208,7 +208,7 @@ class Processor
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$this->logger->info('Repost inserted', ['id' => $id]);
|
$this->logger->info('Repost inserted', ['id' => $id]);
|
||||||
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
||||||
$this->logger->warning('Repost was found', ['uri' => $item['uri']]);
|
$this->logger->notice('Repost was found', ['uri' => $item['uri']]);
|
||||||
} else {
|
} else {
|
||||||
$this->logger->warning('Repost was not inserted', ['uri' => $item['uri']]);
|
$this->logger->warning('Repost was not inserted', ['uri' => $item['uri']]);
|
||||||
}
|
}
|
||||||
|
|
@ -237,7 +237,7 @@ class Processor
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$this->logger->info('Like inserted', ['id' => $id]);
|
$this->logger->info('Like inserted', ['id' => $id]);
|
||||||
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
||||||
$this->logger->warning('Like was found', ['uri' => $item['uri']]);
|
$this->logger->notice('Like was found', ['uri' => $item['uri']]);
|
||||||
} else {
|
} else {
|
||||||
$this->logger->warning('Like was not inserted', ['uri' => $item['uri']]);
|
$this->logger->warning('Like was not inserted', ['uri' => $item['uri']]);
|
||||||
}
|
}
|
||||||
|
|
@ -317,7 +317,7 @@ class Processor
|
||||||
if ($id) {
|
if ($id) {
|
||||||
$this->logger->info('Fetched post inserted', ['id' => $id, 'guid' => $item['guid']]);
|
$this->logger->info('Fetched post inserted', ['id' => $id, 'guid' => $item['guid']]);
|
||||||
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
} elseif (Post::exists(['uid' => $uid, 'uri-id' => $item['uri-id']])) {
|
||||||
$this->logger->warning('Fetched post was found', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
$this->logger->notice('Fetched post was found', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
||||||
} else {
|
} else {
|
||||||
$this->logger->warning('Fetched post was not inserted', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
$this->logger->warning('Fetched post was not inserted', ['guid' => $item['guid'], 'uri' => $item['uri']]);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -164,7 +164,7 @@ class Delivery
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger::notice('Delivery failed', ['retcode' => $response->getReturnCode(), 'serverfailure' => $serverfail, 'drop' => $drop, 'runtime' => round($runtime, 3), 'uri-id' => $uri_id, 'uid' => $uid, 'item_id' => $item_id, 'cmd' => $cmd, 'inbox' => $inbox]);
|
Logger::notice('Delivery failed', ['retcode' => $response->getReturnCode() ?? 0, 'serverfailure' => $serverfail, 'drop' => $drop, 'runtime' => round($runtime, 3), 'uri-id' => $uri_id, 'uid' => $uid, 'item_id' => $item_id, 'cmd' => $cmd, 'inbox' => $inbox]);
|
||||||
}
|
}
|
||||||
if ($uri_id) {
|
if ($uri_id) {
|
||||||
if ($success) {
|
if ($success) {
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,6 @@ class JsonLD
|
||||||
$messages[] = $currentException->getMessage();
|
$messages[] = $currentException->getMessage();
|
||||||
} while ($currentException = $currentException->getPrevious());
|
} while ($currentException = $currentException->getPrevious());
|
||||||
|
|
||||||
Logger::warning('JsonLD normalize error');
|
|
||||||
Logger::notice('JsonLD normalize error', ['messages' => $messages]);
|
Logger::notice('JsonLD normalize error', ['messages' => $messages]);
|
||||||
Logger::info('JsonLD normalize error', ['trace' => $e->getTraceAsString()]);
|
Logger::info('JsonLD normalize error', ['trace' => $e->getTraceAsString()]);
|
||||||
Logger::debug('JsonLD normalize error', ['jsonobj' => $jsonobj]);
|
Logger::debug('JsonLD normalize error', ['jsonobj' => $jsonobj]);
|
||||||
|
|
|
||||||
|
|
@ -682,4 +682,19 @@ class Network
|
||||||
|
|
||||||
return (string)Uri::fromParts($parts);
|
return (string)Uri::fromParts($parts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get base url without a path, fragment or query
|
||||||
|
*
|
||||||
|
* @param UriInterface $uri
|
||||||
|
* @return string baseurl
|
||||||
|
*/
|
||||||
|
public static function getBaseUrl(UriInterface $uri): string
|
||||||
|
{
|
||||||
|
return $uri
|
||||||
|
->withUserInfo('')
|
||||||
|
->withQuery('')
|
||||||
|
->withFragment('')
|
||||||
|
->withPath('');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -453,6 +453,10 @@ class Notifier
|
||||||
}
|
}
|
||||||
|
|
||||||
$cdata = Contact::getPublicAndUserContactID($contact['id'], $sender_uid);
|
$cdata = Contact::getPublicAndUserContactID($contact['id'], $sender_uid);
|
||||||
|
if (empty($cdata)) {
|
||||||
|
Logger::info('No contact entry found', ['id' => $contact['id'], 'uid' => $sender_uid]);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (in_array($cdata['public'] ?: $contact['id'], $ap_contacts)) {
|
if (in_array($cdata['public'] ?: $contact['id'], $ap_contacts)) {
|
||||||
Logger::info('The public contact is already delivered via AP, so skip delivery via legacy DFRN/Diaspora', ['batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]);
|
Logger::info('The public contact is already delivered via AP, so skip delivery via legacy DFRN/Diaspora', ['batch' => $in_batch, 'target' => $post_uriid, 'uid' => $sender_uid, 'contact' => $contact['url']]);
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -639,8 +643,8 @@ class Notifier
|
||||||
private static function activityPubDelivery($cmd, array $target_item, array $parent, array $thr_parent, int $priority, string $created, array $recipients): array
|
private static function activityPubDelivery($cmd, array $target_item, array $parent, array $thr_parent, int $priority, string $created, array $recipients): array
|
||||||
{
|
{
|
||||||
// Don't deliver via AP when the starting post isn't from a federated network
|
// Don't deliver via AP when the starting post isn't from a federated network
|
||||||
if (!in_array($parent['network'], Protocol::FEDERATED)) {
|
if (!in_array($parent['network'] ?? '', Protocol::FEDERATED)) {
|
||||||
Logger::info('Parent network is no federated network, so no AP delivery', ['network' => $parent['network']]);
|
Logger::info('Parent network is no federated network, so no AP delivery', ['network' => $parent['network'] ?? '']);
|
||||||
return ['count' => 0, 'contacts' => []];
|
return ['count' => 0, 'contacts' => []];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -622,6 +622,7 @@ return [
|
||||||
'/delegation[/{action}/{user_id}]' => [Module\Settings\Delegation::class, [R::GET, R::POST]],
|
'/delegation[/{action}/{user_id}]' => [Module\Settings\Delegation::class, [R::GET, R::POST]],
|
||||||
'/display' => [Module\Settings\Display::class, [R::GET, R::POST]],
|
'/display' => [Module\Settings\Display::class, [R::GET, R::POST]],
|
||||||
'/features' => [Module\Settings\Features::class, [R::GET, R::POST]],
|
'/features' => [Module\Settings\Features::class, [R::GET, R::POST]],
|
||||||
|
'/importcontacts' => [Module\Settings\ContactImport::class, [R::GET, R::POST]],
|
||||||
'/oauth' => [Module\Settings\OAuth::class, [R::GET, R::POST]],
|
'/oauth' => [Module\Settings\OAuth::class, [R::GET, R::POST]],
|
||||||
'/profile' => [
|
'/profile' => [
|
||||||
'[/]' => [Module\Settings\Profile\Index::class, [R::GET, R::POST]],
|
'[/]' => [Module\Settings\Profile\Index::class, [R::GET, R::POST]],
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2024.12-dev\n"
|
"Project-Id-Version: 2024.12-dev\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-12-07 15:24+0000\n"
|
"POT-Creation-Date: 2024-12-23 10:09+0000\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
|
@ -65,8 +65,10 @@ msgstr ""
|
||||||
#: src/Module/Profile/Schedule.php:42 src/Module/Register.php:71
|
#: src/Module/Profile/Schedule.php:42 src/Module/Register.php:71
|
||||||
#: src/Module/Register.php:84 src/Module/Register.php:200
|
#: src/Module/Register.php:84 src/Module/Register.php:200
|
||||||
#: src/Module/Register.php:239 src/Module/Search/Directory.php:23
|
#: src/Module/Register.php:239 src/Module/Search/Directory.php:23
|
||||||
#: src/Module/Settings/Account.php:36 src/Module/Settings/Account.php:375
|
#: src/Module/Settings/Account.php:34 src/Module/Settings/Account.php:337
|
||||||
#: src/Module/Settings/Channels.php:52 src/Module/Settings/Channels.php:127
|
#: src/Module/Settings/Channels.php:52 src/Module/Settings/Channels.php:127
|
||||||
|
#: src/Module/Settings/ContactImport.php:49
|
||||||
|
#: src/Module/Settings/ContactImport.php:96
|
||||||
#: src/Module/Settings/Delegation.php:76 src/Module/Settings/Display.php:80
|
#: src/Module/Settings/Delegation.php:76 src/Module/Settings/Display.php:80
|
||||||
#: src/Module/Settings/Display.php:194
|
#: src/Module/Settings/Display.php:194
|
||||||
#: src/Module/Settings/Profile/Photo/Crop.php:148
|
#: src/Module/Settings/Profile/Photo/Crop.php:148
|
||||||
|
|
@ -283,7 +285,7 @@ msgstr ""
|
||||||
#: mod/message.php:188 mod/message.php:344 mod/photos.php:1253
|
#: mod/message.php:188 mod/message.php:344 mod/photos.php:1253
|
||||||
#: src/Content/Conversation.php:389 src/Content/Conversation.php:1565
|
#: src/Content/Conversation.php:389 src/Content/Conversation.php:1565
|
||||||
#: src/Module/Item/Compose.php:202 src/Module/Post/Edit.php:136
|
#: src/Module/Item/Compose.php:202 src/Module/Post/Edit.php:136
|
||||||
#: src/Object/Post.php:604
|
#: src/Object/Post.php:605
|
||||||
msgid "Please wait"
|
msgid "Please wait"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -305,7 +307,7 @@ msgstr ""
|
||||||
#: src/Module/Moderation/Report/Create.php:249
|
#: src/Module/Moderation/Report/Create.php:249
|
||||||
#: src/Module/Profile/Profile.php:265 src/Module/Settings/Profile/Index.php:248
|
#: src/Module/Profile/Profile.php:265 src/Module/Settings/Profile/Index.php:248
|
||||||
#: src/Module/Settings/Server/Action.php:65 src/Module/User/Delegation.php:177
|
#: src/Module/Settings/Server/Action.php:65 src/Module/User/Delegation.php:177
|
||||||
#: src/Object/Post.php:1145 view/theme/duepuntozero/config.php:73
|
#: src/Object/Post.php:1146 view/theme/duepuntozero/config.php:73
|
||||||
#: view/theme/frio/config.php:155 view/theme/quattro/config.php:75
|
#: view/theme/frio/config.php:155 view/theme/quattro/config.php:75
|
||||||
#: view/theme/vier/config.php:123
|
#: view/theme/vier/config.php:123
|
||||||
msgid "Submit"
|
msgid "Submit"
|
||||||
|
|
@ -588,30 +590,30 @@ msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1091 mod/photos.php:1147 mod/photos.php:1227
|
#: mod/photos.php:1091 mod/photos.php:1147 mod/photos.php:1227
|
||||||
#: src/Module/Contact.php:600 src/Module/Item/Compose.php:184
|
#: src/Module/Contact.php:600 src/Module/Item/Compose.php:184
|
||||||
#: src/Object/Post.php:1142
|
#: src/Object/Post.php:1143
|
||||||
msgid "This is you"
|
msgid "This is you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1093 mod/photos.php:1149 mod/photos.php:1229
|
#: mod/photos.php:1093 mod/photos.php:1149 mod/photos.php:1229
|
||||||
#: src/Module/Moderation/Reports.php:105 src/Object/Post.php:598
|
#: src/Module/Moderation/Reports.php:105 src/Object/Post.php:599
|
||||||
#: src/Object/Post.php:1144
|
#: src/Object/Post.php:1145
|
||||||
msgid "Comment"
|
msgid "Comment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1095 mod/photos.php:1151 mod/photos.php:1231
|
#: mod/photos.php:1095 mod/photos.php:1151 mod/photos.php:1231
|
||||||
#: src/Content/Conversation.php:403 src/Module/Calendar/Event/Form.php:234
|
#: src/Content/Conversation.php:403 src/Module/Calendar/Event/Form.php:234
|
||||||
#: src/Module/Item/Compose.php:197 src/Module/Post/Edit.php:156
|
#: src/Module/Item/Compose.php:197 src/Module/Post/Edit.php:156
|
||||||
#: src/Object/Post.php:1158
|
#: src/Object/Post.php:1159
|
||||||
msgid "Preview"
|
msgid "Preview"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1096 src/Content/Conversation.php:357
|
#: mod/photos.php:1096 src/Content/Conversation.php:357
|
||||||
#: src/Module/Post/Edit.php:121 src/Object/Post.php:1146
|
#: src/Module/Post/Edit.php:121 src/Object/Post.php:1147
|
||||||
msgid "Loading..."
|
msgid "Loading..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1188 src/Content/Conversation.php:1487
|
#: mod/photos.php:1188 src/Content/Conversation.php:1487
|
||||||
#: src/Object/Post.php:260
|
#: src/Object/Post.php:261
|
||||||
msgid "Select"
|
msgid "Select"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -619,24 +621,24 @@ msgstr ""
|
||||||
#: src/Module/Moderation/Users/Active.php:125
|
#: src/Module/Moderation/Users/Active.php:125
|
||||||
#: src/Module/Moderation/Users/Blocked.php:125
|
#: src/Module/Moderation/Users/Blocked.php:125
|
||||||
#: src/Module/Moderation/Users/Index.php:140
|
#: src/Module/Moderation/Users/Index.php:140
|
||||||
#: src/Module/Settings/Connectors.php:233
|
#: src/Module/Settings/Connectors.php:226
|
||||||
#: src/Module/Settings/Server/Index.php:95
|
#: src/Module/Settings/Server/Index.php:95
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1250 src/Object/Post.php:426
|
#: mod/photos.php:1250 src/Object/Post.php:427
|
||||||
msgid "Like"
|
msgid "Like"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1251 src/Object/Post.php:426
|
#: mod/photos.php:1251 src/Object/Post.php:427
|
||||||
msgid "I like this (toggle)"
|
msgid "I like this (toggle)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1252 src/Object/Post.php:427
|
#: mod/photos.php:1252 src/Object/Post.php:428
|
||||||
msgid "Dislike"
|
msgid "Dislike"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: mod/photos.php:1254 src/Object/Post.php:427
|
#: mod/photos.php:1254 src/Object/Post.php:428
|
||||||
msgid "I don't like this (toggle)"
|
msgid "I don't like this (toggle)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -644,7 +646,7 @@ msgstr ""
|
||||||
msgid "Map"
|
msgid "Map"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/App.php:461
|
#: src/App.php:255
|
||||||
msgid "Apologies but the website is unavailable at the moment."
|
msgid "Apologies but the website is unavailable at the moment."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -959,12 +961,12 @@ msgid "Enter new password: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Console/User.php:196 src/Module/Security/PasswordTooLong.php:55
|
#: src/Console/User.php:196 src/Module/Security/PasswordTooLong.php:55
|
||||||
#: src/Module/Settings/Account.php:59
|
#: src/Module/Settings/Account.php:57
|
||||||
msgid "Password update failed. Please try again."
|
msgid "Password update failed. Please try again."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Console/User.php:199 src/Module/Security/PasswordTooLong.php:58
|
#: src/Console/User.php:199 src/Module/Security/PasswordTooLong.php:58
|
||||||
#: src/Module/Settings/Account.php:62
|
#: src/Module/Settings/Account.php:60
|
||||||
msgid "Password changed."
|
msgid "Password changed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -1231,7 +1233,7 @@ msgid "Visible to <strong>everybody</strong>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:327 src/Module/Item/Compose.php:196
|
#: src/Content/Conversation.php:327 src/Module/Item/Compose.php:196
|
||||||
#: src/Object/Post.php:1157
|
#: src/Object/Post.php:1158
|
||||||
msgid "Please enter a image/video/audio/webpage URL:"
|
msgid "Please enter a image/video/audio/webpage URL:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -1276,52 +1278,52 @@ msgid "attach file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:362 src/Module/Item/Compose.php:186
|
#: src/Content/Conversation.php:362 src/Module/Item/Compose.php:186
|
||||||
#: src/Module/Post/Edit.php:162 src/Object/Post.php:1147
|
#: src/Module/Post/Edit.php:162 src/Object/Post.php:1148
|
||||||
msgid "Bold"
|
msgid "Bold"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:363 src/Module/Item/Compose.php:187
|
#: src/Content/Conversation.php:363 src/Module/Item/Compose.php:187
|
||||||
#: src/Module/Post/Edit.php:163 src/Object/Post.php:1148
|
#: src/Module/Post/Edit.php:163 src/Object/Post.php:1149
|
||||||
msgid "Italic"
|
msgid "Italic"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:188
|
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:188
|
||||||
#: src/Module/Post/Edit.php:164 src/Object/Post.php:1149
|
#: src/Module/Post/Edit.php:164 src/Object/Post.php:1150
|
||||||
msgid "Underline"
|
msgid "Underline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:365 src/Module/Item/Compose.php:189
|
#: src/Content/Conversation.php:365 src/Module/Item/Compose.php:189
|
||||||
#: src/Module/Post/Edit.php:165 src/Object/Post.php:1151
|
#: src/Module/Post/Edit.php:165 src/Object/Post.php:1152
|
||||||
msgid "Quote"
|
msgid "Quote"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:366 src/Module/Item/Compose.php:190
|
#: src/Content/Conversation.php:366 src/Module/Item/Compose.php:190
|
||||||
#: src/Module/Post/Edit.php:166 src/Object/Post.php:1152
|
#: src/Module/Post/Edit.php:166 src/Object/Post.php:1153
|
||||||
msgid "Add emojis"
|
msgid "Add emojis"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:367 src/Module/Item/Compose.php:191
|
#: src/Content/Conversation.php:367 src/Module/Item/Compose.php:191
|
||||||
#: src/Object/Post.php:1150
|
#: src/Object/Post.php:1151
|
||||||
msgid "Content Warning"
|
msgid "Content Warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:368 src/Module/Item/Compose.php:192
|
#: src/Content/Conversation.php:368 src/Module/Item/Compose.php:192
|
||||||
#: src/Module/Post/Edit.php:167 src/Object/Post.php:1153
|
#: src/Module/Post/Edit.php:167 src/Object/Post.php:1154
|
||||||
msgid "Code"
|
msgid "Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:369 src/Module/Item/Compose.php:193
|
#: src/Content/Conversation.php:369 src/Module/Item/Compose.php:193
|
||||||
#: src/Object/Post.php:1154
|
#: src/Object/Post.php:1155
|
||||||
msgid "Image"
|
msgid "Image"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:370 src/Module/Item/Compose.php:194
|
#: src/Content/Conversation.php:370 src/Module/Item/Compose.php:194
|
||||||
#: src/Module/Post/Edit.php:168 src/Object/Post.php:1155
|
#: src/Module/Post/Edit.php:168 src/Object/Post.php:1156
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:371 src/Module/Item/Compose.php:195
|
#: src/Content/Conversation.php:371 src/Module/Item/Compose.php:195
|
||||||
#: src/Module/Post/Edit.php:169 src/Object/Post.php:1156
|
#: src/Module/Post/Edit.php:169 src/Object/Post.php:1157
|
||||||
msgid "Link or Media"
|
msgid "Link or Media"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -1477,25 +1479,25 @@ msgstr ""
|
||||||
msgid "Pushed to us"
|
msgid "Pushed to us"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:1507 src/Object/Post.php:247
|
#: src/Content/Conversation.php:1507 src/Object/Post.php:248
|
||||||
msgid "Pinned item"
|
msgid "Pinned item"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:1524 src/Object/Post.php:541
|
#: src/Content/Conversation.php:1524 src/Object/Post.php:542
|
||||||
#: src/Object/Post.php:542
|
#: src/Object/Post.php:543
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "View %s's profile @ %s"
|
msgid "View %s's profile @ %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:1538 src/Object/Post.php:529
|
#: src/Content/Conversation.php:1538 src/Object/Post.php:530
|
||||||
msgid "Categories:"
|
msgid "Categories:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:1539 src/Object/Post.php:530
|
#: src/Content/Conversation.php:1539 src/Object/Post.php:531
|
||||||
msgid "Filed under:"
|
msgid "Filed under:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation.php:1547 src/Object/Post.php:556
|
#: src/Content/Conversation.php:1547 src/Object/Post.php:557
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s from %s"
|
msgid "%s from %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -1633,7 +1635,7 @@ msgstr ""
|
||||||
msgid "Posts that mention or involve you"
|
msgid "Posts that mention or involve you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Network.php:28 src/Object/Post.php:397
|
#: src/Content/Conversation/Factory/Network.php:28 src/Object/Post.php:398
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -1734,7 +1736,7 @@ msgid "Display posts with the selected protocols."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Feature.php:119 src/Content/Widget.php:561
|
#: src/Content/Feature.php:119 src/Content/Widget.php:561
|
||||||
#: src/Module/Settings/Account.php:429
|
#: src/Module/Settings/Account.php:391
|
||||||
msgid "Account Types"
|
msgid "Account Types"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -1904,17 +1906,17 @@ msgstr ""
|
||||||
msgid "Collapse"
|
msgid "Collapse"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:429 src/Object/Post.php:288
|
#: src/Content/Item.php:429 src/Object/Post.php:289
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Ignore %s server"
|
msgid "Ignore %s server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:433 src/Module/Settings/Channels.php:188
|
#: src/Content/Item.php:433 src/Module/Settings/Channels.php:188
|
||||||
#: src/Module/Settings/Channels.php:209 src/Object/Post.php:502
|
#: src/Module/Settings/Channels.php:209 src/Object/Post.php:503
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Item.php:436 src/Object/Post.php:582
|
#: src/Content/Item.php:436 src/Object/Post.php:583
|
||||||
msgid "Search Text"
|
msgid "Search Text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -2146,7 +2148,7 @@ msgstr ""
|
||||||
msgid "See all notifications"
|
msgid "See all notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Nav.php:301 src/Module/Settings/Connectors.php:233
|
#: src/Content/Nav.php:301 src/Module/Settings/Connectors.php:226
|
||||||
msgid "Mark as seen"
|
msgid "Mark as seen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -2175,7 +2177,7 @@ msgid "Manage other pages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Nav.php:313 src/Module/Admin/Addons/Details.php:98
|
#: src/Content/Nav.php:313 src/Module/Admin/Addons/Details.php:98
|
||||||
#: src/Module/Admin/Themes/Details.php:85 src/Module/BaseSettings.php:170
|
#: src/Module/Admin/Themes/Details.php:85 src/Module/BaseSettings.php:177
|
||||||
#: src/Module/Welcome.php:38 view/theme/frio/theme.php:233
|
#: src/Module/Welcome.php:38 view/theme/frio/theme.php:233
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -3467,7 +3469,7 @@ msgstr ""
|
||||||
msgid "[no subject]"
|
msgid "[no subject]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Photo.php:1191 src/Module/Media/Photo/Upload.php:154
|
#: src/Model/Photo.php:1192 src/Module/Media/Photo/Upload.php:154
|
||||||
msgid "Wall Photos"
|
msgid "Wall Photos"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -3923,9 +3925,10 @@ msgstr ""
|
||||||
#: src/Module/Admin/Addons/Index.php:61 src/Module/Admin/Features.php:69
|
#: src/Module/Admin/Addons/Index.php:61 src/Module/Admin/Features.php:69
|
||||||
#: src/Module/Admin/Logs/Settings.php:76 src/Module/Admin/Site.php:450
|
#: src/Module/Admin/Logs/Settings.php:76 src/Module/Admin/Site.php:450
|
||||||
#: src/Module/Admin/Themes/Index.php:105 src/Module/Admin/Tos.php:72
|
#: src/Module/Admin/Themes/Index.php:105 src/Module/Admin/Tos.php:72
|
||||||
#: src/Module/Settings/Account.php:545 src/Module/Settings/Addons.php:64
|
#: src/Module/Settings/Account.php:507 src/Module/Settings/Addons.php:64
|
||||||
#: src/Module/Settings/Connectors.php:149
|
#: src/Module/Settings/Connectors.php:143
|
||||||
#: src/Module/Settings/Connectors.php:235
|
#: src/Module/Settings/Connectors.php:228
|
||||||
|
#: src/Module/Settings/ContactImport.php:110
|
||||||
#: src/Module/Settings/Delegation.php:179 src/Module/Settings/Display.php:317
|
#: src/Module/Settings/Delegation.php:179 src/Module/Settings/Display.php:317
|
||||||
#: src/Module/Settings/Features.php:61
|
#: src/Module/Settings/Features.php:61
|
||||||
msgid "Save Settings"
|
msgid "Save Settings"
|
||||||
|
|
@ -5766,7 +5769,7 @@ msgstr ""
|
||||||
msgid "Display"
|
msgid "Display"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/BaseSettings.php:120 src/Module/Settings/Connectors.php:195
|
#: src/Module/BaseSettings.php:120 src/Module/Settings/Connectors.php:189
|
||||||
msgid "Social Networks"
|
msgid "Social Networks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -5782,11 +5785,15 @@ msgstr ""
|
||||||
msgid "Remote servers"
|
msgid "Remote servers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/BaseSettings.php:155 src/Module/Settings/UserExport.php:84
|
#: src/Module/BaseSettings.php:155 src/Module/Settings/ContactImport.php:109
|
||||||
|
msgid "Import Contacts"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/BaseSettings.php:162 src/Module/Settings/UserExport.php:84
|
||||||
msgid "Export personal data"
|
msgid "Export personal data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/BaseSettings.php:162
|
#: src/Module/BaseSettings.php:169
|
||||||
msgid "Remove account"
|
msgid "Remove account"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -6042,7 +6049,7 @@ msgid "Only show blocked contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Contact.php:349 src/Module/Contact.php:421
|
#: src/Module/Contact.php:349 src/Module/Contact.php:421
|
||||||
#: src/Module/Settings/Server/Index.php:93 src/Object/Post.php:385
|
#: src/Module/Settings/Server/Index.php:93 src/Object/Post.php:386
|
||||||
msgid "Ignored"
|
msgid "Ignored"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -7432,23 +7439,23 @@ msgstr ""
|
||||||
msgid "List of pending user deletions"
|
msgid "List of pending user deletions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:110 src/Module/Settings/Account.php:469
|
#: src/Module/Moderation/BaseUsers.php:110 src/Module/Settings/Account.php:431
|
||||||
msgid "Normal Account Page"
|
msgid "Normal Account Page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:111 src/Module/Settings/Account.php:476
|
#: src/Module/Moderation/BaseUsers.php:111 src/Module/Settings/Account.php:438
|
||||||
msgid "Soapbox Page"
|
msgid "Soapbox Page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:112 src/Module/Settings/Account.php:483
|
#: src/Module/Moderation/BaseUsers.php:112 src/Module/Settings/Account.php:445
|
||||||
msgid "Public Group"
|
msgid "Public Group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:113 src/Module/Settings/Account.php:490
|
#: src/Module/Moderation/BaseUsers.php:113 src/Module/Settings/Account.php:452
|
||||||
msgid "Public Group - Restricted"
|
msgid "Public Group - Restricted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:114 src/Module/Settings/Account.php:497
|
#: src/Module/Moderation/BaseUsers.php:114 src/Module/Settings/Account.php:459
|
||||||
msgid "Automatic Friend Page"
|
msgid "Automatic Friend Page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -7457,22 +7464,22 @@ msgid "Private Group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:118 src/Module/Moderation/Summary.php:42
|
#: src/Module/Moderation/BaseUsers.php:118 src/Module/Moderation/Summary.php:42
|
||||||
#: src/Module/Settings/Account.php:440
|
#: src/Module/Settings/Account.php:402
|
||||||
msgid "Personal Page"
|
msgid "Personal Page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:119 src/Module/Moderation/Summary.php:43
|
#: src/Module/Moderation/BaseUsers.php:119 src/Module/Moderation/Summary.php:43
|
||||||
#: src/Module/Settings/Account.php:447
|
#: src/Module/Settings/Account.php:409
|
||||||
msgid "Organisation Page"
|
msgid "Organisation Page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:120 src/Module/Moderation/Summary.php:44
|
#: src/Module/Moderation/BaseUsers.php:120 src/Module/Moderation/Summary.php:44
|
||||||
#: src/Module/Settings/Account.php:454
|
#: src/Module/Settings/Account.php:416
|
||||||
msgid "News Page"
|
msgid "News Page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/BaseUsers.php:121 src/Module/Moderation/Summary.php:45
|
#: src/Module/Moderation/BaseUsers.php:121 src/Module/Moderation/Summary.php:45
|
||||||
#: src/Module/Settings/Account.php:461
|
#: src/Module/Settings/Account.php:423
|
||||||
msgid "Community Group"
|
msgid "Community Group"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -8050,7 +8057,7 @@ msgstr[1] ""
|
||||||
msgid "URL of the reported contact."
|
msgid "URL of the reported contact."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/Summary.php:46 src/Module/Settings/Account.php:418
|
#: src/Module/Moderation/Summary.php:46 src/Module/Settings/Account.php:380
|
||||||
msgid "Channel Relay"
|
msgid "Channel Relay"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -8424,7 +8431,7 @@ msgstr ""
|
||||||
msgid "Keep this window open until done."
|
msgid "Keep this window open until done."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/OpenSearch.php:54
|
#: src/Module/OpenSearch.php:55
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Search in Friendica %s"
|
msgid "Search in Friendica %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -8755,7 +8762,7 @@ msgid "Please repeat your e-mail address:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Register.php:156 src/Module/Security/PasswordTooLong.php:86
|
#: src/Module/Register.php:156 src/Module/Security/PasswordTooLong.php:86
|
||||||
#: src/Module/Settings/Account.php:551
|
#: src/Module/Settings/Account.php:513
|
||||||
msgid "New Password:"
|
msgid "New Password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -8764,7 +8771,7 @@ msgid "Leave empty for an auto generated password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Register.php:157 src/Module/Security/PasswordTooLong.php:87
|
#: src/Module/Register.php:157 src/Module/Security/PasswordTooLong.php:87
|
||||||
#: src/Module/Settings/Account.php:552
|
#: src/Module/Settings/Account.php:514
|
||||||
msgid "Confirm:"
|
msgid "Confirm:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -8949,7 +8956,7 @@ msgid "Account not found. Please register a new account or login to your existin
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Security/PasswordTooLong.php:43
|
#: src/Module/Security/PasswordTooLong.php:43
|
||||||
#: src/Module/Settings/Account.php:51
|
#: src/Module/Settings/Account.php:49
|
||||||
msgid "Passwords do not match."
|
msgid "Passwords do not match."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -8958,7 +8965,7 @@ msgid "Password does not need changing."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Security/PasswordTooLong.php:63
|
#: src/Module/Security/PasswordTooLong.php:63
|
||||||
#: src/Module/Settings/Account.php:65
|
#: src/Module/Settings/Account.php:63
|
||||||
msgid "Password unchanged."
|
msgid "Password unchanged."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -8975,22 +8982,22 @@ msgid "Update Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Security/PasswordTooLong.php:85
|
#: src/Module/Security/PasswordTooLong.php:85
|
||||||
#: src/Module/Settings/Account.php:553
|
#: src/Module/Settings/Account.php:515
|
||||||
msgid "Current Password:"
|
msgid "Current Password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Security/PasswordTooLong.php:85
|
#: src/Module/Security/PasswordTooLong.php:85
|
||||||
#: src/Module/Settings/Account.php:553
|
#: src/Module/Settings/Account.php:515
|
||||||
msgid "Your current password to confirm the changes"
|
msgid "Your current password to confirm the changes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Security/PasswordTooLong.php:86
|
#: src/Module/Security/PasswordTooLong.php:86
|
||||||
#: src/Module/Settings/Account.php:537
|
#: src/Module/Settings/Account.php:499
|
||||||
msgid "Allowed characters are a-z, A-Z, 0-9 and special characters except white spaces and accentuated letters."
|
msgid "Allowed characters are a-z, A-Z, 0-9 and special characters except white spaces and accentuated letters."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Security/PasswordTooLong.php:86
|
#: src/Module/Security/PasswordTooLong.php:86
|
||||||
#: src/Module/Settings/Account.php:538
|
#: src/Module/Settings/Account.php:500
|
||||||
msgid "Password length is limited to 72 characters."
|
msgid "Password length is limited to 72 characters."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -9084,445 +9091,425 @@ msgstr ""
|
||||||
msgid "Verify code and complete login"
|
msgid "Verify code and complete login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:80
|
#: src/Module/Settings/Account.php:78
|
||||||
msgid "Please use a shorter name."
|
msgid "Please use a shorter name."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:83
|
#: src/Module/Settings/Account.php:81
|
||||||
msgid "Name too short."
|
msgid "Name too short."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:92
|
#: src/Module/Settings/Account.php:90
|
||||||
msgid "Wrong Password."
|
msgid "Wrong Password."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:97
|
#: src/Module/Settings/Account.php:95
|
||||||
msgid "Invalid email."
|
msgid "Invalid email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:101
|
#: src/Module/Settings/Account.php:99
|
||||||
msgid "Cannot change to that email."
|
msgid "Cannot change to that email."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:130 src/Module/Settings/Account.php:179
|
#: src/Module/Settings/Account.php:128 src/Module/Settings/Account.php:177
|
||||||
#: src/Module/Settings/Account.php:200 src/Module/Settings/Account.php:284
|
#: src/Module/Settings/Account.php:198 src/Module/Settings/Account.php:282
|
||||||
#: src/Module/Settings/Account.php:313
|
#: src/Module/Settings/Account.php:311
|
||||||
msgid "Settings were not updated."
|
msgid "Settings were not updated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:331
|
#: src/Module/Settings/Account.php:325
|
||||||
msgid "Contact CSV file upload error"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:350
|
|
||||||
msgid "Importing Contacts done"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:363
|
|
||||||
msgid "Relocate message has been send to your contacts"
|
msgid "Relocate message has been send to your contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:380
|
#: src/Module/Settings/Account.php:342
|
||||||
msgid "Unable to find your profile. Please contact your admin."
|
msgid "Unable to find your profile. Please contact your admin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:420
|
#: src/Module/Settings/Account.php:382
|
||||||
msgid "Account for a service that automatically shares content based on user defined channels."
|
msgid "Account for a service that automatically shares content based on user defined channels."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:430
|
#: src/Module/Settings/Account.php:392
|
||||||
msgid "Personal Page Subtypes"
|
msgid "Personal Page Subtypes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:431
|
#: src/Module/Settings/Account.php:393
|
||||||
msgid "Community Group Subtypes"
|
msgid "Community Group Subtypes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:442
|
#: src/Module/Settings/Account.php:404
|
||||||
msgid "Account for a personal profile."
|
msgid "Account for a personal profile."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:449
|
#: src/Module/Settings/Account.php:411
|
||||||
msgid "Account for an organisation that automatically approves contact requests as \"Followers\"."
|
msgid "Account for an organisation that automatically approves contact requests as \"Followers\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:456
|
#: src/Module/Settings/Account.php:418
|
||||||
msgid "Account for a news reflector that automatically approves contact requests as \"Followers\"."
|
msgid "Account for a news reflector that automatically approves contact requests as \"Followers\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:463
|
#: src/Module/Settings/Account.php:425
|
||||||
msgid "Account for community discussions."
|
msgid "Account for community discussions."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:471
|
#: src/Module/Settings/Account.php:433
|
||||||
msgid "Account for a regular personal profile that requires manual approval of \"Friends\" and \"Followers\"."
|
msgid "Account for a regular personal profile that requires manual approval of \"Friends\" and \"Followers\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:478
|
#: src/Module/Settings/Account.php:440
|
||||||
msgid "Account for a public profile that automatically approves contact requests as \"Followers\"."
|
msgid "Account for a public profile that automatically approves contact requests as \"Followers\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:485
|
#: src/Module/Settings/Account.php:447
|
||||||
msgid "Automatically approves all contact requests."
|
msgid "Automatically approves all contact requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:492
|
#: src/Module/Settings/Account.php:454
|
||||||
msgid "Contact requests have to be manually approved."
|
msgid "Contact requests have to be manually approved."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:499
|
#: src/Module/Settings/Account.php:461
|
||||||
msgid "Account for a popular profile that automatically approves contact requests as \"Friends\"."
|
msgid "Account for a popular profile that automatically approves contact requests as \"Friends\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:504
|
#: src/Module/Settings/Account.php:466
|
||||||
msgid "Private Group [Experimental]"
|
msgid "Private Group [Experimental]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:506
|
#: src/Module/Settings/Account.php:468
|
||||||
msgid "Requires manual approval of contact requests."
|
msgid "Requires manual approval of contact requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:515
|
#: src/Module/Settings/Account.php:477
|
||||||
msgid "OpenID:"
|
msgid "OpenID:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:515
|
#: src/Module/Settings/Account.php:477
|
||||||
msgid "(Optional) Allow this OpenID to login to this account."
|
msgid "(Optional) Allow this OpenID to login to this account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:523
|
#: src/Module/Settings/Account.php:485
|
||||||
msgid "Publish your profile in your local site directory?"
|
msgid "Publish your profile in your local site directory?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:523
|
#: src/Module/Settings/Account.php:485
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Your profile will be published in this node's <a href=\"%s\">local directory</a>. Your profile details may be publicly visible depending on the system settings."
|
msgid "Your profile will be published in this node's <a href=\"%s\">local directory</a>. Your profile details may be publicly visible depending on the system settings."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:529
|
#: src/Module/Settings/Account.php:491
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Your profile will also be published in the global friendica directories (e.g. <a href=\"%s\">%s</a>)."
|
msgid "Your profile will also be published in the global friendica directories (e.g. <a href=\"%s\">%s</a>)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:542
|
#: src/Module/Settings/Account.php:504
|
||||||
msgid "Account Settings"
|
msgid "Account Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:543
|
#: src/Module/Settings/Account.php:505
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Your Identity Address is <strong>'%s'</strong> or '%s'."
|
msgid "Your Identity Address is <strong>'%s'</strong> or '%s'."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:550
|
#: src/Module/Settings/Account.php:512
|
||||||
msgid "Password Settings"
|
msgid "Password Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:552
|
#: src/Module/Settings/Account.php:514
|
||||||
msgid "Leave password fields blank unless changing"
|
msgid "Leave password fields blank unless changing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:554
|
#: src/Module/Settings/Account.php:516
|
||||||
msgid "Password:"
|
msgid "Password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:554
|
#: src/Module/Settings/Account.php:516
|
||||||
msgid "Your current password to confirm the changes of the email address"
|
msgid "Your current password to confirm the changes of the email address"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:557
|
#: src/Module/Settings/Account.php:519
|
||||||
msgid "Delete OpenID URL"
|
msgid "Delete OpenID URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:559
|
#: src/Module/Settings/Account.php:521
|
||||||
msgid "Basic Settings"
|
msgid "Basic Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:560
|
#: src/Module/Settings/Account.php:522
|
||||||
#: src/Module/Settings/Profile/Index.php:274
|
#: src/Module/Settings/Profile/Index.php:274
|
||||||
msgid "Display name:"
|
msgid "Display name:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:561
|
#: src/Module/Settings/Account.php:523
|
||||||
msgid "Email Address:"
|
msgid "Email Address:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:562
|
#: src/Module/Settings/Account.php:524
|
||||||
msgid "Your Timezone:"
|
msgid "Your Timezone:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:563
|
#: src/Module/Settings/Account.php:525
|
||||||
msgid "Your Language:"
|
msgid "Your Language:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:563
|
#: src/Module/Settings/Account.php:525
|
||||||
msgid "Set the language we use to show you friendica interface and to send you emails"
|
msgid "Set the language we use to show you friendica interface and to send you emails"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:564
|
#: src/Module/Settings/Account.php:526
|
||||||
msgid "Default Post Location:"
|
msgid "Default Post Location:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:565
|
#: src/Module/Settings/Account.php:527
|
||||||
msgid "Use Browser Location:"
|
msgid "Use Browser Location:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:567
|
#: src/Module/Settings/Account.php:529
|
||||||
msgid "Security and Privacy Settings"
|
msgid "Security and Privacy Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:569
|
#: src/Module/Settings/Account.php:531
|
||||||
msgid "Maximum Friend Requests/Day:"
|
msgid "Maximum Friend Requests/Day:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:569
|
#: src/Module/Settings/Account.php:531
|
||||||
msgid "(to prevent spam abuse)"
|
msgid "(to prevent spam abuse)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:571
|
#: src/Module/Settings/Account.php:533
|
||||||
msgid "Allow your profile to be searchable globally?"
|
msgid "Allow your profile to be searchable globally?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:571
|
#: src/Module/Settings/Account.php:533
|
||||||
msgid "Activate this setting if you want others to easily find and follow you. Your profile will be searchable on remote systems. This setting also determines whether Friendica will inform search engines that your profile should be indexed or not."
|
msgid "Activate this setting if you want others to easily find and follow you. Your profile will be searchable on remote systems. This setting also determines whether Friendica will inform search engines that your profile should be indexed or not."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:572
|
#: src/Module/Settings/Account.php:534
|
||||||
msgid "Hide your contact/friend list from viewers of your profile?"
|
msgid "Hide your contact/friend list from viewers of your profile?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:572
|
#: src/Module/Settings/Account.php:534
|
||||||
msgid "A list of your contacts is displayed on your profile page. Activate this option to disable the display of your contact list."
|
msgid "A list of your contacts is displayed on your profile page. Activate this option to disable the display of your contact list."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:573
|
#: src/Module/Settings/Account.php:535
|
||||||
msgid "Hide your public content from anonymous viewers"
|
msgid "Hide your public content from anonymous viewers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:573
|
#: src/Module/Settings/Account.php:535
|
||||||
msgid "Anonymous visitors will only see your basic profile details. Your public posts and replies will still be freely accessible on the remote servers of your followers and through relays."
|
msgid "Anonymous visitors will only see your basic profile details. Your public posts and replies will still be freely accessible on the remote servers of your followers and through relays."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:574
|
#: src/Module/Settings/Account.php:536
|
||||||
msgid "Make public posts unlisted"
|
msgid "Make public posts unlisted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:574
|
#: src/Module/Settings/Account.php:536
|
||||||
msgid "Your public posts will not appear on the community pages or in search results, nor be sent to relay servers. However they can still appear on public feeds on remote servers."
|
msgid "Your public posts will not appear on the community pages or in search results, nor be sent to relay servers. However they can still appear on public feeds on remote servers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:575
|
#: src/Module/Settings/Account.php:537
|
||||||
msgid "Make all posted pictures accessible"
|
msgid "Make all posted pictures accessible"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:575
|
#: src/Module/Settings/Account.php:537
|
||||||
msgid "This option makes every posted picture accessible via the direct link. This is a workaround for the problem that most other networks can't handle permissions on pictures. Non public pictures still won't be visible for the public on your photo albums though."
|
msgid "This option makes every posted picture accessible via the direct link. This is a workaround for the problem that most other networks can't handle permissions on pictures. Non public pictures still won't be visible for the public on your photo albums though."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:576
|
#: src/Module/Settings/Account.php:538
|
||||||
msgid "Allow friends to post to your profile page?"
|
msgid "Allow friends to post to your profile page?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:576
|
#: src/Module/Settings/Account.php:538
|
||||||
msgid "Your contacts may write posts on your profile wall. These posts will be distributed to your contacts"
|
msgid "Your contacts may write posts on your profile wall. These posts will be distributed to your contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:577
|
#: src/Module/Settings/Account.php:539
|
||||||
msgid "Allow friends to tag your posts?"
|
msgid "Allow friends to tag your posts?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:577
|
#: src/Module/Settings/Account.php:539
|
||||||
msgid "Your contacts can add additional tags to your posts."
|
msgid "Your contacts can add additional tags to your posts."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:578
|
#: src/Module/Settings/Account.php:540
|
||||||
msgid "Default privacy circle for new contacts"
|
msgid "Default privacy circle for new contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:579
|
#: src/Module/Settings/Account.php:541
|
||||||
msgid "Default privacy circle for new group contacts"
|
msgid "Default privacy circle for new group contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:580
|
#: src/Module/Settings/Account.php:542
|
||||||
msgid "Default Post Permissions"
|
msgid "Default Post Permissions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:584
|
#: src/Module/Settings/Account.php:546
|
||||||
msgid "Expiration settings"
|
msgid "Expiration settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:585
|
#: src/Module/Settings/Account.php:547
|
||||||
msgid "Automatically expire posts after this many days:"
|
msgid "Automatically expire posts after this many days:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:585
|
#: src/Module/Settings/Account.php:547
|
||||||
msgid "If empty, posts will not expire. Expired posts will be deleted"
|
msgid "If empty, posts will not expire. Expired posts will be deleted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:586
|
#: src/Module/Settings/Account.php:548
|
||||||
msgid "Expire posts"
|
msgid "Expire posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:586
|
#: src/Module/Settings/Account.php:548
|
||||||
msgid "When activated, posts and comments will be expired."
|
msgid "When activated, posts and comments will be expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:587
|
#: src/Module/Settings/Account.php:549
|
||||||
msgid "Expire personal notes"
|
msgid "Expire personal notes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:587
|
#: src/Module/Settings/Account.php:549
|
||||||
msgid "When activated, the personal notes on your profile page will be expired."
|
msgid "When activated, the personal notes on your profile page will be expired."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:588
|
#: src/Module/Settings/Account.php:550
|
||||||
msgid "Expire starred posts"
|
msgid "Expire starred posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:588
|
#: src/Module/Settings/Account.php:550
|
||||||
msgid "Starring posts keeps them from being expired. That behaviour is overwritten by this setting."
|
msgid "Starring posts keeps them from being expired. That behaviour is overwritten by this setting."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:589
|
#: src/Module/Settings/Account.php:551
|
||||||
msgid "Only expire posts by others"
|
msgid "Only expire posts by others"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:589
|
#: src/Module/Settings/Account.php:551
|
||||||
msgid "When activated, your own posts never expire. Then the settings above are only valid for posts you received."
|
msgid "When activated, your own posts never expire. Then the settings above are only valid for posts you received."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:592
|
#: src/Module/Settings/Account.php:554
|
||||||
msgid "Notification Settings"
|
msgid "Notification Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:593
|
#: src/Module/Settings/Account.php:555
|
||||||
msgid "Send a notification email when:"
|
msgid "Send a notification email when:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:594
|
#: src/Module/Settings/Account.php:556
|
||||||
msgid "You receive an introduction"
|
msgid "You receive an introduction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:595
|
#: src/Module/Settings/Account.php:557
|
||||||
msgid "Your introductions are confirmed"
|
msgid "Your introductions are confirmed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:596
|
#: src/Module/Settings/Account.php:558
|
||||||
msgid "Someone writes on your profile wall"
|
msgid "Someone writes on your profile wall"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:597
|
#: src/Module/Settings/Account.php:559
|
||||||
msgid "Someone writes a followup comment"
|
msgid "Someone writes a followup comment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:598
|
#: src/Module/Settings/Account.php:560
|
||||||
msgid "You receive a private message"
|
msgid "You receive a private message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:599
|
#: src/Module/Settings/Account.php:561
|
||||||
msgid "You receive a friend suggestion"
|
msgid "You receive a friend suggestion"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:600
|
#: src/Module/Settings/Account.php:562
|
||||||
msgid "You are tagged in a post"
|
msgid "You are tagged in a post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:602
|
#: src/Module/Settings/Account.php:564
|
||||||
msgid "Create a desktop notification when:"
|
msgid "Create a desktop notification when:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:603
|
#: src/Module/Settings/Account.php:565
|
||||||
msgid "Someone tagged you"
|
msgid "Someone tagged you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:604
|
#: src/Module/Settings/Account.php:566
|
||||||
msgid "Someone directly commented on your post"
|
msgid "Someone directly commented on your post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:605
|
#: src/Module/Settings/Account.php:567
|
||||||
msgid "Someone liked your content"
|
msgid "Someone liked your content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:605 src/Module/Settings/Account.php:606
|
#: src/Module/Settings/Account.php:567 src/Module/Settings/Account.php:568
|
||||||
msgid "Can only be enabled, when the direct comment notification is enabled."
|
msgid "Can only be enabled, when the direct comment notification is enabled."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:606
|
#: src/Module/Settings/Account.php:568
|
||||||
msgid "Someone shared your content"
|
msgid "Someone shared your content"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:607
|
#: src/Module/Settings/Account.php:569
|
||||||
msgid "Someone commented in your thread"
|
msgid "Someone commented in your thread"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:608
|
#: src/Module/Settings/Account.php:570
|
||||||
msgid "Someone commented in a thread where you commented"
|
msgid "Someone commented in a thread where you commented"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:609
|
#: src/Module/Settings/Account.php:571
|
||||||
msgid "Someone commented in a thread where you interacted"
|
msgid "Someone commented in a thread where you interacted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:611
|
#: src/Module/Settings/Account.php:573
|
||||||
msgid "Activate desktop notifications"
|
msgid "Activate desktop notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:611
|
#: src/Module/Settings/Account.php:573
|
||||||
msgid "Show desktop popup on new notifications"
|
msgid "Show desktop popup on new notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:615
|
#: src/Module/Settings/Account.php:577
|
||||||
msgid "Text-only notification emails"
|
msgid "Text-only notification emails"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:617
|
#: src/Module/Settings/Account.php:579
|
||||||
msgid "Send text only notification emails, without the html part"
|
msgid "Send text only notification emails, without the html part"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:621
|
#: src/Module/Settings/Account.php:583
|
||||||
msgid "Show detailled notifications"
|
msgid "Show detailled notifications"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:623
|
#: src/Module/Settings/Account.php:585
|
||||||
msgid "Per default, notifications are condensed to a single notification per item. When enabled every notification is displayed."
|
msgid "Per default, notifications are condensed to a single notification per item. When enabled every notification is displayed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:627
|
#: src/Module/Settings/Account.php:589
|
||||||
msgid "Show notifications of ignored contacts"
|
msgid "Show notifications of ignored contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:629
|
#: src/Module/Settings/Account.php:591
|
||||||
msgid "You don't see posts from ignored contacts. But you still see their comments. This setting controls if you want to still receive regular notifications that are caused by ignored contacts or not."
|
msgid "You don't see posts from ignored contacts. But you still see their comments. This setting controls if you want to still receive regular notifications that are caused by ignored contacts or not."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:632
|
#: src/Module/Settings/Account.php:594
|
||||||
msgid "Advanced Account/Page Type Settings"
|
msgid "Advanced Account/Page Type Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:633
|
#: src/Module/Settings/Account.php:595
|
||||||
msgid "Change the behaviour of this account for special situations"
|
msgid "Change the behaviour of this account for special situations"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:636
|
#: src/Module/Settings/Account.php:598
|
||||||
msgid "Import Contacts"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:637
|
|
||||||
msgid "Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:638
|
|
||||||
msgid "Upload File"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:641
|
|
||||||
msgid "Relocate"
|
msgid "Relocate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:642
|
#: src/Module/Settings/Account.php:599
|
||||||
msgid "If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."
|
msgid "If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Account.php:643
|
#: src/Module/Settings/Account.php:600
|
||||||
msgid "Resend relocate message to contacts"
|
msgid "Resend relocate message to contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -9670,186 +9657,202 @@ msgstr ""
|
||||||
msgid "Delete entry from the channel list?"
|
msgid "Delete entry from the channel list?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:108
|
#: src/Module/Settings/Connectors.php:107
|
||||||
msgid "Failed to connect with email account using the settings provided."
|
msgid "Failed to connect with email account using the settings provided."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:155
|
#: src/Module/Settings/Connectors.php:149
|
||||||
#: src/Module/Settings/Connectors.php:156
|
#: src/Module/Settings/Connectors.php:150
|
||||||
msgid "Diaspora (Socialhome, Hubzilla)"
|
msgid "Diaspora (Socialhome, Hubzilla)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:155
|
#: src/Module/Settings/Connectors.php:149
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Built-in support for %s connectivity is enabled"
|
msgid "Built-in support for %s connectivity is enabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:156
|
#: src/Module/Settings/Connectors.php:150
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Built-in support for %s connectivity is disabled"
|
msgid "Built-in support for %s connectivity is disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:167
|
#: src/Module/Settings/Connectors.php:161
|
||||||
msgid "Email access is disabled on this site."
|
msgid "Email access is disabled on this site."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:182
|
#: src/Module/Settings/Connectors.php:176
|
||||||
#: src/Module/Settings/Connectors.php:233
|
#: src/Module/Settings/Connectors.php:226
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:186
|
#: src/Module/Settings/Connectors.php:180
|
||||||
msgid "Default (Mastodon will display the title and a link to the post)"
|
msgid "Default (Mastodon will display the title and a link to the post)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:187
|
#: src/Module/Settings/Connectors.php:181
|
||||||
msgid "Use the summary (Mastodon and some others will treat it as content warning)"
|
msgid "Use the summary (Mastodon and some others will treat it as content warning)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:188
|
#: src/Module/Settings/Connectors.php:182
|
||||||
msgid "Embed the title in the body"
|
msgid "Embed the title in the body"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:199
|
#: src/Module/Settings/Connectors.php:193
|
||||||
msgid "General Social Media Settings"
|
msgid "General Social Media Settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:202
|
#: src/Module/Settings/Connectors.php:196
|
||||||
msgid "Followed content scope"
|
msgid "Followed content scope"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:204
|
#: src/Module/Settings/Connectors.php:198
|
||||||
msgid "By default, conversations in which your follows participated but didn't start will be shown in your timeline. You can turn this behavior off, or expand it to the conversations in which your follows liked a post."
|
msgid "By default, conversations in which your follows participated but didn't start will be shown in your timeline. You can turn this behavior off, or expand it to the conversations in which your follows liked a post."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:206
|
#: src/Module/Settings/Connectors.php:200
|
||||||
msgid "Only conversations my follows started"
|
msgid "Only conversations my follows started"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:207
|
#: src/Module/Settings/Connectors.php:201
|
||||||
msgid "Conversations my follows started or commented on (default)"
|
msgid "Conversations my follows started or commented on (default)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:208
|
#: src/Module/Settings/Connectors.php:202
|
||||||
msgid "Any conversation my follows interacted with, including likes"
|
msgid "Any conversation my follows interacted with, including likes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:211
|
#: src/Module/Settings/Connectors.php:205
|
||||||
msgid "Collapse sensitive posts"
|
msgid "Collapse sensitive posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:211
|
#: src/Module/Settings/Connectors.php:205
|
||||||
msgid "If a post is marked as \"sensitive\", it will be displayed in a collapsed state, if this option is enabled."
|
msgid "If a post is marked as \"sensitive\", it will be displayed in a collapsed state, if this option is enabled."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:212
|
#: src/Module/Settings/Connectors.php:206
|
||||||
msgid "Enable intelligent shortening"
|
msgid "Enable intelligent shortening"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:212
|
#: src/Module/Settings/Connectors.php:206
|
||||||
msgid "Normally the system tries to find the best link to add to shortened posts. If disabled, every shortened post will always point to the original friendica post."
|
msgid "Normally the system tries to find the best link to add to shortened posts. If disabled, every shortened post will always point to the original friendica post."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:213
|
#: src/Module/Settings/Connectors.php:207
|
||||||
msgid "Enable simple text shortening"
|
msgid "Enable simple text shortening"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:213
|
#: src/Module/Settings/Connectors.php:207
|
||||||
msgid "Normally the system shortens posts at the next line feed. If this option is enabled then the system will shorten the text at the maximum character limit."
|
msgid "Normally the system shortens posts at the next line feed. If this option is enabled then the system will shorten the text at the maximum character limit."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:214
|
#: src/Module/Settings/Connectors.php:208
|
||||||
msgid "Attach the link title"
|
msgid "Attach the link title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:214
|
#: src/Module/Settings/Connectors.php:208
|
||||||
msgid "When activated, the title of the attached link will be added as a title on posts to Diaspora. This is mostly helpful with \"remote-self\" contacts that share feed content."
|
msgid "When activated, the title of the attached link will be added as a title on posts to Diaspora. This is mostly helpful with \"remote-self\" contacts that share feed content."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:215
|
#: src/Module/Settings/Connectors.php:209
|
||||||
msgid "API: Use spoiler field as title"
|
msgid "API: Use spoiler field as title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:215
|
#: src/Module/Settings/Connectors.php:209
|
||||||
msgid "When activated, the \"spoiler_text\" field in the API will be used for the title on standalone posts. When deactivated it will be used for spoiler text. For comments it will always be used for spoiler text."
|
msgid "When activated, the \"spoiler_text\" field in the API will be used for the title on standalone posts. When deactivated it will be used for spoiler text. For comments it will always be used for spoiler text."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:216
|
#: src/Module/Settings/Connectors.php:210
|
||||||
msgid "API: Automatically links at the end of the post as attached posts"
|
msgid "API: Automatically links at the end of the post as attached posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:216
|
#: src/Module/Settings/Connectors.php:210
|
||||||
msgid "When activated, added links at the end of the post react the same way as added links in the web interface."
|
msgid "When activated, added links at the end of the post react the same way as added links in the web interface."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:217
|
#: src/Module/Settings/Connectors.php:211
|
||||||
msgid "Article Mode"
|
msgid "Article Mode"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:217
|
#: src/Module/Settings/Connectors.php:211
|
||||||
msgid "Controls how posts with titles are transmitted. Mastodon and its forks don't display the content of these posts if the post is created in the correct (default) way."
|
msgid "Controls how posts with titles are transmitted. Mastodon and its forks don't display the content of these posts if the post is created in the correct (default) way."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:218
|
#: src/Module/Settings/Connectors.php:215
|
||||||
msgid "Your legacy ActivityPub/GNU Social account"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:218
|
|
||||||
msgid "If you enter your old account name from an ActivityPub based system or your GNU Social/Statusnet account name here (in the format user@domain.tld), your contacts will be added automatically. The field will be emptied when done."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:222
|
|
||||||
msgid "Email/Mailbox Setup"
|
msgid "Email/Mailbox Setup"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:223
|
#: src/Module/Settings/Connectors.php:216
|
||||||
msgid "If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."
|
msgid "If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:224
|
#: src/Module/Settings/Connectors.php:217
|
||||||
msgid "Last successful email check:"
|
msgid "Last successful email check:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:226
|
#: src/Module/Settings/Connectors.php:219
|
||||||
msgid "IMAP server name:"
|
msgid "IMAP server name:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:227
|
#: src/Module/Settings/Connectors.php:220
|
||||||
msgid "IMAP port:"
|
msgid "IMAP port:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:228
|
#: src/Module/Settings/Connectors.php:221
|
||||||
msgid "Security:"
|
msgid "Security:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:229
|
#: src/Module/Settings/Connectors.php:222
|
||||||
msgid "Email login name:"
|
msgid "Email login name:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:230
|
#: src/Module/Settings/Connectors.php:223
|
||||||
msgid "Email password:"
|
msgid "Email password:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:231
|
#: src/Module/Settings/Connectors.php:224
|
||||||
msgid "Reply-to address:"
|
msgid "Reply-to address:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:232
|
#: src/Module/Settings/Connectors.php:225
|
||||||
msgid "Send public posts to all email contacts:"
|
msgid "Send public posts to all email contacts:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:233
|
#: src/Module/Settings/Connectors.php:226
|
||||||
msgid "Action after import:"
|
msgid "Action after import:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:233
|
#: src/Module/Settings/Connectors.php:226
|
||||||
msgid "Move to folder"
|
msgid "Move to folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Connectors.php:234
|
#: src/Module/Settings/Connectors.php:227
|
||||||
msgid "Move to folder:"
|
msgid "Move to folder:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/ContactImport.php:63
|
||||||
|
msgid "Contact CSV file upload error"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/ContactImport.php:82
|
||||||
|
msgid "Importing Contacts done"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/ContactImport.php:112
|
||||||
|
msgid "Upload a CSV file that contains the handle of your followed accounts in the first column you exported from the old account."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/ContactImport.php:113
|
||||||
|
msgid "Upload File"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/ContactImport.php:115
|
||||||
|
msgid "Your legacy ActivityPub/GNU Social account"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/ContactImport.php:115
|
||||||
|
msgid "If you enter your old account name from an ActivityPub based system or your GNU Social/Statusnet account name here (in the format user@domain.tld), your contacts will be added automatically. The field will be emptied when done."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Delegation.php:59
|
#: src/Module/Settings/Delegation.php:59
|
||||||
msgid "Delegation successfully granted."
|
msgid "Delegation successfully granted."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
@ -11442,286 +11445,286 @@ msgstr ""
|
||||||
msgid "%s posted an update."
|
msgid "%s posted an update."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:124
|
#: src/Object/Post.php:125
|
||||||
msgid "Private Message"
|
msgid "Private Message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:128
|
#: src/Object/Post.php:129
|
||||||
msgid "Public Message"
|
msgid "Public Message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:132
|
#: src/Object/Post.php:133
|
||||||
msgid "Unlisted Message"
|
msgid "Unlisted Message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:168
|
#: src/Object/Post.php:169
|
||||||
msgid "This entry was edited"
|
msgid "This entry was edited"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:196
|
#: src/Object/Post.php:197
|
||||||
msgid "Connector Message"
|
msgid "Connector Message"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:225 src/Object/Post.php:227
|
#: src/Object/Post.php:226 src/Object/Post.php:228
|
||||||
msgid "Edit"
|
msgid "Edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:261
|
#: src/Object/Post.php:262
|
||||||
msgid "Delete globally"
|
msgid "Delete globally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:261
|
#: src/Object/Post.php:262
|
||||||
msgid "Remove locally"
|
msgid "Remove locally"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:268
|
#: src/Object/Post.php:269
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Block %s"
|
msgid "Block %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:273
|
#: src/Object/Post.php:274
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Ignore %s"
|
msgid "Ignore %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:278
|
#: src/Object/Post.php:279
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Collapse %s"
|
msgid "Collapse %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:282
|
#: src/Object/Post.php:283
|
||||||
msgid "Report post"
|
msgid "Report post"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:293
|
#: src/Object/Post.php:294
|
||||||
msgid "Save to folder"
|
msgid "Save to folder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:333
|
#: src/Object/Post.php:334
|
||||||
msgid "I will attend"
|
msgid "I will attend"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:333
|
#: src/Object/Post.php:334
|
||||||
msgid "I will not attend"
|
msgid "I will not attend"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:333
|
#: src/Object/Post.php:334
|
||||||
msgid "I might attend"
|
msgid "I might attend"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:380
|
#: src/Object/Post.php:381
|
||||||
msgid "Ignore thread"
|
msgid "Ignore thread"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:381
|
#: src/Object/Post.php:382
|
||||||
msgid "Unignore thread"
|
msgid "Unignore thread"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:382
|
#: src/Object/Post.php:383
|
||||||
msgid "Toggle ignore status"
|
msgid "Toggle ignore status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:392
|
#: src/Object/Post.php:393
|
||||||
msgid "Add star"
|
msgid "Add star"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:393
|
#: src/Object/Post.php:394
|
||||||
msgid "Remove star"
|
msgid "Remove star"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:394
|
#: src/Object/Post.php:395
|
||||||
msgid "Toggle star status"
|
msgid "Toggle star status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:405
|
#: src/Object/Post.php:406
|
||||||
msgid "Pin"
|
msgid "Pin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:406
|
#: src/Object/Post.php:407
|
||||||
msgid "Unpin"
|
msgid "Unpin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:407
|
#: src/Object/Post.php:408
|
||||||
msgid "Toggle pin status"
|
msgid "Toggle pin status"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:410
|
#: src/Object/Post.php:411
|
||||||
msgid "Pinned"
|
msgid "Pinned"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:415
|
#: src/Object/Post.php:416
|
||||||
msgid "Add tag"
|
msgid "Add tag"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:430
|
#: src/Object/Post.php:431
|
||||||
msgid "Quote share this"
|
msgid "Quote share this"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:430
|
#: src/Object/Post.php:431
|
||||||
msgid "Quote Share"
|
msgid "Quote Share"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:433
|
#: src/Object/Post.php:434
|
||||||
msgid "Reshare this"
|
msgid "Reshare this"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:433
|
#: src/Object/Post.php:434
|
||||||
msgid "Reshare"
|
msgid "Reshare"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:434
|
#: src/Object/Post.php:435
|
||||||
msgid "Cancel your Reshare"
|
msgid "Cancel your Reshare"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:434
|
#: src/Object/Post.php:435
|
||||||
msgid "Unshare"
|
msgid "Unshare"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:478
|
#: src/Object/Post.php:479
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%s (Received %s)"
|
msgid "%s (Received %s)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:484
|
#: src/Object/Post.php:485
|
||||||
msgid "Comment this item on your system"
|
msgid "Comment this item on your system"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:484
|
#: src/Object/Post.php:485
|
||||||
msgid "Remote comment"
|
msgid "Remote comment"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:506
|
#: src/Object/Post.php:507
|
||||||
msgid "Share via ..."
|
msgid "Share via ..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:506
|
#: src/Object/Post.php:507
|
||||||
msgid "Share via external services"
|
msgid "Share via external services"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:513
|
#: src/Object/Post.php:514
|
||||||
msgid "Unknown parent"
|
msgid "Unknown parent"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:517
|
#: src/Object/Post.php:518
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "in reply to %s"
|
msgid "in reply to %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:519
|
#: src/Object/Post.php:520
|
||||||
msgid "Parent is probably private or not federated."
|
msgid "Parent is probably private or not federated."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:543
|
#: src/Object/Post.php:544
|
||||||
msgid "to"
|
msgid "to"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:544
|
#: src/Object/Post.php:545
|
||||||
msgid "via"
|
msgid "via"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:545
|
#: src/Object/Post.php:546
|
||||||
msgid "Wall-to-Wall"
|
msgid "Wall-to-Wall"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:546
|
#: src/Object/Post.php:547
|
||||||
msgid "via Wall-To-Wall:"
|
msgid "via Wall-To-Wall:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:599
|
#: src/Object/Post.php:600
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Reply to %s"
|
msgid "Reply to %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:602
|
#: src/Object/Post.php:603
|
||||||
msgid "More"
|
msgid "More"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:621
|
#: src/Object/Post.php:622
|
||||||
msgid "Notifier task is pending"
|
msgid "Notifier task is pending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:622
|
#: src/Object/Post.php:623
|
||||||
msgid "Delivery to remote servers is pending"
|
msgid "Delivery to remote servers is pending"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:623
|
#: src/Object/Post.php:624
|
||||||
msgid "Delivery to remote servers is underway"
|
msgid "Delivery to remote servers is underway"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:624
|
#: src/Object/Post.php:625
|
||||||
msgid "Delivery to remote servers is mostly done"
|
msgid "Delivery to remote servers is mostly done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:625
|
#: src/Object/Post.php:626
|
||||||
msgid "Delivery to remote servers is done"
|
msgid "Delivery to remote servers is done"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:647
|
#: src/Object/Post.php:648
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "%d comment"
|
msgid "%d comment"
|
||||||
msgid_plural "%d comments"
|
msgid_plural "%d comments"
|
||||||
msgstr[0] ""
|
msgstr[0] ""
|
||||||
msgstr[1] ""
|
msgstr[1] ""
|
||||||
|
|
||||||
#: src/Object/Post.php:648
|
#: src/Object/Post.php:649
|
||||||
msgid "Show more"
|
msgid "Show more"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:649
|
#: src/Object/Post.php:650
|
||||||
msgid "Show fewer"
|
msgid "Show fewer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:686
|
#: src/Object/Post.php:687
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Reshared by: %s"
|
msgid "Reshared by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:691
|
#: src/Object/Post.php:692
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Viewed by: %s"
|
msgid "Viewed by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:696
|
#: src/Object/Post.php:697
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Read by: %s"
|
msgid "Read by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:701
|
#: src/Object/Post.php:702
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Liked by: %s"
|
msgid "Liked by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:706
|
#: src/Object/Post.php:707
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Disliked by: %s"
|
msgid "Disliked by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:711
|
#: src/Object/Post.php:712
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Attended by: %s"
|
msgid "Attended by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:716
|
#: src/Object/Post.php:717
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Maybe attended by: %s"
|
msgid "Maybe attended by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:721
|
#: src/Object/Post.php:722
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Not attended by: %s"
|
msgid "Not attended by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:726
|
#: src/Object/Post.php:727
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Commented by: %s"
|
msgid "Commented by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:731
|
#: src/Object/Post.php:732
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Reacted with %s by: %s"
|
msgid "Reacted with %s by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Object/Post.php:754
|
#: src/Object/Post.php:755
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Quote shared by: %s"
|
msgid "Quote shared by: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
||||||
|
|
@ -178,18 +178,6 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<h2 class="settings-heading"><a href="javascript:;">{{$importcontact}}</a></h2>
|
|
||||||
<form class="settings-content-block" action="settings" method="post" autocomplete="off" enctype="multipart/form-data">
|
|
||||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
|
||||||
<input type="hidden" name="MAX_FILE_SIZE" value="{{$importcontact_maxsize}}"/>
|
|
||||||
<p id="settings-pagetype-desc">{{$importcontact_text}}</p>
|
|
||||||
<p><input type="file" name="importcontact-filename"/></p>
|
|
||||||
|
|
||||||
<div class="settings-submit-wrapper">
|
|
||||||
<input type="submit" name="importcontact-submit" class="importcontact-submit" value="{{$importcontact_button}}"/>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<h2 class="settings-heading"><a href="javascript:;">{{$relocate}}</a></h2>
|
<h2 class="settings-heading"><a href="javascript:;">{{$relocate}}</a></h2>
|
||||||
<form class="settings-content-block" action="settings" method="post" autocomplete="off" enctype="multipart/form-data">
|
<form class="settings-content-block" action="settings" method="post" autocomplete="off" enctype="multipart/form-data">
|
||||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@
|
||||||
{{include file="field_checkbox.tpl" field=$api_spoiler_title}}
|
{{include file="field_checkbox.tpl" field=$api_spoiler_title}}
|
||||||
{{include file="field_checkbox.tpl" field=$api_auto_attach}}
|
{{include file="field_checkbox.tpl" field=$api_auto_attach}}
|
||||||
{{include file="field_select.tpl" field=$article_mode}}
|
{{include file="field_select.tpl" field=$article_mode}}
|
||||||
{{include file="field_input.tpl" field=$legacy_contact}}
|
|
||||||
|
|
||||||
<div class="settings-submit-wrapper">
|
<div class="settings-submit-wrapper">
|
||||||
<input type="submit" id="general-submit" name="general-submit" class="settings-submit" value="{{$submit}}"/>
|
<input type="submit" id="general-submit" name="general-submit" class="settings-submit" value="{{$submit}}"/>
|
||||||
|
|
|
||||||
23
view/templates/settings/contactimport.tpl
Normal file
23
view/templates/settings/contactimport.tpl
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
{{*
|
||||||
|
* Copyright (C) 2010-2024, the Friendica project
|
||||||
|
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
*}}
|
||||||
|
<h1>{{$title}}</h1>
|
||||||
|
|
||||||
|
<div id="settings-form">
|
||||||
|
<form action="settings/importcontacts" method="post" autocomplete="off" enctype="multipart/form-data">
|
||||||
|
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||||
|
<input type="hidden" name="MAX_FILE_SIZE" value="{{$importcontact_maxsize}}" />
|
||||||
|
{{include file="field_input.tpl" field=$legacy_contact}}
|
||||||
|
<hr>
|
||||||
|
<p id="settings-pagetype-desc">{{$importcontact_text}}</p>
|
||||||
|
<p><input type="file" name="importcontact-filename" /></p>
|
||||||
|
|
||||||
|
<div class="settings-submit-wrapper">
|
||||||
|
<input type="submit" name="importcontact-submit" class="importcontact-submit"
|
||||||
|
value="{{$importcontact_button}}" />
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
@ -246,28 +246,6 @@
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
{{* Import contacts CSV *}}
|
|
||||||
<form action="settings/account/importcontact" method="post" autocomplete="off" class="panel" enctype="multipart/form-data">
|
|
||||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
|
||||||
<div class="section-subtitle-wrapper panel-heading" role="tab" id="importcontact-settings">
|
|
||||||
<h2>
|
|
||||||
<button class="btn-link accordion-toggle{{if $open !== 'importcontact'}} collapsed{{/if}}" data-toggle="collapse" data-parent="#settings" href="#importcontact-settings-collapse" aria-expanded="false" aria-controls="importcontact-settings-collapse">
|
|
||||||
{{$importcontact}}
|
|
||||||
</button>
|
|
||||||
</h2>
|
|
||||||
</div>
|
|
||||||
<div id="importcontact-settings-collapse" class="panel-collapse collapse{{if $open == 'importcontact'}} in{{/if}}" role="tabpanel" aria-labelledby="importcontact-settings">
|
|
||||||
<div class="panel-body">
|
|
||||||
<div id="importcontact-relocate-desc">{{$importcontact_text}}</div>
|
|
||||||
<input type="hidden" name="MAX_FILE_SIZE" value="{{$importcontact_maxsize}}" />
|
|
||||||
<input type="file" name="importcontact-filename" />
|
|
||||||
</div>
|
|
||||||
<div class="panel-footer">
|
|
||||||
<button type="submit" name="importcontact-submit" class="btn btn-primary" value="{{$submit}}">{{$submit}}</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
{{* The relocate setting section *}}
|
{{* The relocate setting section *}}
|
||||||
<form action="settings/account/relocate" method="post" autocomplete="off" class="panel">
|
<form action="settings/account/relocate" method="post" autocomplete="off" class="panel">
|
||||||
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||||
|
|
|
||||||
|
|
@ -39,8 +39,6 @@
|
||||||
{{include file="field_checkbox.tpl" field=$api_auto_attach}}
|
{{include file="field_checkbox.tpl" field=$api_auto_attach}}
|
||||||
|
|
||||||
{{include file="field_select.tpl" field=$article_mode}}
|
{{include file="field_select.tpl" field=$article_mode}}
|
||||||
|
|
||||||
{{include file="field_input.tpl" field=$legacy_contact}}
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer">
|
<div class="panel-footer">
|
||||||
<button type="submit" id="general-submit" name="general-submit" class="btn btn-primary" value="{{$submit}}">{{$submit}}</button>
|
<button type="submit" id="general-submit" name="general-submit" class="btn btn-primary" value="{{$submit}}">{{$submit}}</button>
|
||||||
|
|
|
||||||
28
view/theme/frio/templates/settings/contactimport.tpl
Normal file
28
view/theme/frio/templates/settings/contactimport.tpl
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{{*
|
||||||
|
* Copyright (C) 2010-2024, the Friendica project
|
||||||
|
* SPDX-FileCopyrightText: 2010-2024 the Friendica project
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
*}}
|
||||||
|
<div class="generic-page-wrapper">
|
||||||
|
<h1>{{$title}}</h1>
|
||||||
|
<div id="settings-form">
|
||||||
|
{{* Import contacts CSV *}}
|
||||||
|
<form action="settings/importcontacts" method="post" autocomplete="off" class="panel"
|
||||||
|
enctype="multipart/form-data">
|
||||||
|
<input type="hidden" name="form_security_token" value="{{$form_security_token}}">
|
||||||
|
<div class="panel-body">
|
||||||
|
{{include file="field_input.tpl" field=$legacy_contact}}
|
||||||
|
<hr>
|
||||||
|
<div id="importcontact-relocate-desc">{{$importcontact_text}}</div>
|
||||||
|
<input type="hidden" name="MAX_FILE_SIZE" value="{{$importcontact_maxsize}}" />
|
||||||
|
<input type="file" name="importcontact-filename" />
|
||||||
|
</div>
|
||||||
|
<div class="panel-footer">
|
||||||
|
<button type="submit" name="importcontact-submit" class="btn btn-primary"
|
||||||
|
value="{{$submit}}">{{$submit}}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
Loading…
Add table
Add a link
Reference in a new issue