From 0eb72ae1d6673f37db6b756a22c01a1fb36d47f7 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 27 Nov 2018 02:44:19 -0500 Subject: [PATCH 01/19] Fix addon-sample config file values --- config/addon-sample.config.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/addon-sample.config.php b/config/addon-sample.config.php index 2c88073c7..5ebbf11f5 100644 --- a/config/addon-sample.config.php +++ b/config/addon-sample.config.php @@ -6,7 +6,7 @@ return [ 'twitter' => [ - 'consumerkey' => 'localhost', - 'consumersecret' => 'mysqlusername', + 'consumerkey' => '1234567890', + 'consumersecret' => 'ABCDEFGHIJKLMONPQRSTUVWXYZ', ], ]; From 16f845d7fc6213b025611489113bb70c04169103 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 27 Nov 2018 02:44:32 -0500 Subject: [PATCH 02/19] Fix Vagrant config values --- util/local.config.vagrant.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/util/local.config.vagrant.php b/util/local.config.vagrant.php index 8eebb679a..099500200 100644 --- a/util/local.config.vagrant.php +++ b/util/local.config.vagrant.php @@ -16,9 +16,9 @@ return [ 'database' => [ 'hostname' => 'localhost', - 'username' => 'mysqlusername', - 'password' => 'mysqlpassword', - 'database' => 'mysqldatabasename', + 'username' => 'friendica', + 'password' => 'friendica', + 'database' => 'friendica', 'charset' => 'utf8mb4', ], From 1141e15ccfaca29e3be6c58c793c7211a03a6adc Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 27 Nov 2018 02:46:01 -0500 Subject: [PATCH 03/19] Fix indentation style in settings docs --- doc/Settings.md | 30 +++++++++++++++--------------- doc/de/Settings.md | 40 ++++++++++++++++++++-------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/doc/Settings.md b/doc/Settings.md index 9f54513fb..32b7012bc 100644 --- a/doc/Settings.md +++ b/doc/Settings.md @@ -361,13 +361,13 @@ These are the data base settings, the admin account settings, the path of PHP an With the following settings, you specify the data base server, the username and password for Friendica and the database to use. - 'database' => [ - 'hostname' => 'localhost', - 'username' => 'mysqlusername', - 'password' => 'mysqlpassword', - 'database' => 'mysqldatabasename', - 'charset' => 'utf8mb4', - ], + 'database' => [ + 'hostname' => 'localhost', + 'username' => 'mysqlusername', + 'password' => 'mysqlpassword', + 'database' => 'mysqldatabasename', + 'charset' => 'utf8mb4', + ], ## Admin users @@ -377,17 +377,17 @@ But you can expand the list of email addresses by any used email address you wan Registration of new accounts with a listed email address is not possible. 'config' => [ - 'admin_email' => 'you@example.com, buddy@example.com', - ], + 'admin_email' => 'you@example.com, buddy@example.com', + ], ## PHP Path Some of Friendica's processes are running in the background. For this you need to specify the path to the PHP binary to be used. - 'config' => [ - 'php_path' => '/usr/bin/php', - ], + 'config' => [ + 'php_path' => '/usr/bin/php', + ], ## Subdirectory configuration @@ -395,9 +395,9 @@ It is possible to install Friendica into a subdirectory of your web server. We strongly discourage you from doing so, as this will break federation to other networks (e.g. Diaspora, GNU Social, Hubzilla) Say you have a subdirectory for tests and put Friendica into a further subdirectory, the config would be: - 'system' => [ - 'urlpath' => 'tests/friendica', - ], + 'system' => [ + 'urlpath' => 'tests/friendica', + ], ## Other exceptions diff --git a/doc/de/Settings.md b/doc/de/Settings.md index 12cc03507..d03fc4b9d 100644 --- a/doc/de/Settings.md +++ b/doc/de/Settings.md @@ -347,21 +347,21 @@ Dies sind die Datenbank Einstellungen, die Administrator Accounts, der PHP Pfad Mit den folgenden Einstellungen kannst du die Zugriffsdaten für den Datenbank Server festlegen. - 'database' => [ - 'hostname' => 'localhost', - 'username' => 'mysqlusername', - 'password' => 'mysqlpassword', - 'database' => 'mysqldatabasename', - 'charset' => 'utf8mb4', - ], + 'database' => [ + 'hostname' => 'localhost', + 'username' => 'mysqlusername', + 'password' => 'mysqlpassword', + 'database' => 'mysqldatabasename', + 'charset' => 'utf8mb4', + ], Sollten alle der folgenden Environment-Variablen gesetzt sein, wird Friendica diese anstatt der vorher konfigurierten Werte nutzen. - MYSQL_HOST - MYSQL_PORT - MYSQL_USERNAME - MYSQL_PASSWORD - MYSQL_DATABASE + MYSQL_HOST + MYSQL_PORT + MYSQL_USERNAME + MYSQL_PASSWORD + MYSQL_DATABASE ## Administratoren @@ -371,17 +371,17 @@ Die Liste der E-Mail Adressen kann aber einfach erweitert werden. Mit keiner der angegebenen E-Mail Adressen können weitere Accounts registriert werden. 'config' => [ - 'admin_email' => 'you@example.com, buddy@example.com', - ], + 'admin_email' => 'you@example.com, buddy@example.com', + ], ## PHP Pfad Einige Prozesse von Friendica laufen im Hintergrund. Für diese Prozesse muss der Pfad zu der PHP Version gesetzt sein, die verwendet werden soll. - 'config' => [ - 'php_path' => '/usr/bin/php', - ], + 'config' => [ + 'php_path' => '/usr/bin/php', + ], ## Unterverzeichnis Konfiguration @@ -389,9 +389,9 @@ Man kann Friendica in ein Unterverzeichnis des Webservers installieren. Wir raten allerdings dringen davon ab, da es die Interoperabilität mit anderen Netzwerken (z.B. Diaspora, GNU Social, Hubzilla) verhindert. Mal angenommen, du hast ein Unterverzeichnis tests und willst Friendica in ein weiteres Unterverzeichnis installieren, dann lautet die Konfiguration hierfür: - 'system' => [ - 'urlpath' => 'tests/friendica', - ], + 'system' => [ + 'urlpath' => 'tests/friendica', + ], ## Weitere Ausnahmen From 60aedb1df9185bf1f2445662503ae1574b1ef368 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Tue, 27 Nov 2018 02:46:37 -0500 Subject: [PATCH 04/19] Add constant case to config migration tables - Remove triple points in config example --- doc/Config.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/Config.md b/doc/Config.md index f85ceb498..a187331dd 100644 --- a/doc/Config.md +++ b/doc/Config.md @@ -136,6 +136,16 @@ $a->config["key"] = "value"; ], + +
+$a->config['register_policy'] = REGISTER_CLOSED;
+
+
+'config' => [
+    'register_policty' => REGISTER_CLOSED,
+],
+
+
 $a->path = "value";
@@ -225,6 +235,17 @@ key = value
 ],
 
+ +
+[config]
+register_policty = REGISTER_CLOSED
+
+
+'config' => [
+    'register_policty' => REGISTER_CLOSED,
+],
+
+
 [section]
@@ -250,7 +271,6 @@ If you need to specify a port to access the database, you can do so by appending
 
     'database' => [
         'hostname' => 'your.mysqlhost.com:123456',
-        ...
     ]
 
 If all of the following environment variables are set, Friendica will use them instead of the previously configured variables for the db:

From e15074a9801cf141338aa025091f4d6f1760f876 Mon Sep 17 00:00:00 2001
From: Hypolite Petovan 
Date: Tue, 27 Nov 2018 02:46:53 -0500
Subject: [PATCH 05/19] Improve Settings and Translations docs

---
 doc/Settings.md     | 23 ++++++++++++++---------
 doc/translations.md | 28 +++++++++++++++++-----------
 2 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/doc/Settings.md b/doc/Settings.md
index 32b7012bc..4795a0402 100644
--- a/doc/Settings.md
+++ b/doc/Settings.md
@@ -2,18 +2,23 @@
 
 * [Home](help)
 
-If you are the admin of a Friendica node, you have access to the so called **Admin Panel** where you can configure your Friendica node.
+If you are the admin of a Friendica node, you have access to the **Admin Panel** where you can configure your Friendica node.
 
-On the front page of the admin panel you will see a summary of information about your node.
-These information include the amount of messages currently being processed in the queues.
-The first number is the number of messages which could not been delivered for various reasons.
-They will be resend later.
-You can have a quick glance into that second queues in the "Inspect Queue" section of the admin panel.
-The second number represents the current number of jobs for the background workers.
-These worker tasks are prioritised and are done accordingly.
+## Overview
+
+In the main page of the admin panel you will see an information summary about your node.
+
+### Queues
+
+The three numbers shown are respectively:
+- The retry queue: These outgoing messages couldn't be received by the remote host, and will be resent at longer intervals before being dropped entirely after 30 days.
+- The deferred queue: These internal tasks failed and will be retried at most 14 times.
+- The task queue: These internal tasks are queued for execution during the next background worker run.
+
+### Additional information
 
 Then you get an overview of the accounts on your node, which can be moderated in the "Users" section of the panel.
-As well as an overview of the currently active addons
+As well as an overview of the currently active addons.
 The list is linked, so you can have quick access to the Addon settings.
 And finally you are informed about the version of Friendica you have installed.
 If you contact the developers with a bug or problem, please also mention the version of your node.
diff --git a/doc/translations.md b/doc/translations.md
index e59ff0d6c..ad5d42fdd 100644
--- a/doc/translations.md
+++ b/doc/translations.md
@@ -7,16 +7,16 @@ Translation Process
 -------------------
 
 The strings used in the UI of Friendica are translated at [Transifex] [1] and then included in the git repository at github.
-If you want to help with translation for any language, be it correcting terms or translating friendica to a currently not supported language, please register an account at transifex.com and contact the friendica translation team there.
+If you want to help with translation for any language, be it correcting terms or translating friendica to a currently not supported language, please register an account at Transifex.com and contact the friendica translation team there.
 
 Translating friendica is simple.
-Just use the online tool at transifex.
+Just use the online tool at Transifex.
 If you don't want to deal with git & co. that is fine, we check the status of the translations regularly and import them into the source tree at github so that others can use them.
 
-We do not include every translation from transifex in the source tree to avoid a scattered and disturbed overall experience.
-As an uneducated guess we have a lower limit of 50% translated strings before we include the language (for the core messages.po file, addont translation will be included once all strings of an addon are translated.
+We do not include every translation from Transifex in the source tree to avoid a scattered and disturbed overall experience.
+As an uneducated guess we have a lower limit of 50% translated strings before we include the language (for the core messages.po file, addon translation will be included once all strings of an addon are translated.
 This limit is judging only by the amount of translated strings under the assumption that the most prominent strings for the UI will be translated first by a translation team.
-If you feel your translation useable before this limit, please contact us and we will probably include your teams work in the source tree.
+If you feel your translation usable before this limit, please contact us and we will probably include your teams work in the source tree.
 
 If you want to help translating, please concentrate on the core messages.po file first.
 We will only include translations with a sufficient translated messages.po file.
@@ -28,7 +28,7 @@ The process is simple and friendica ships with all the tools necessary.
 The location of the translated files in the source tree is
     /view/lang/LNG-CODE/
 where LNG-CODE is the language code used, e.g. de for German or fr for French.
-The translated strings come as a "message.po" file from transifex which needs to be translated into the PHP file friendica uses.
+The translated strings come as a "message.po" file from Transifex which needs to be translated into the PHP file friendica uses.
 To do so, place the file in the directory mentioned above and use the "po2php" command from the Friendica Console.
 
 Assuming you want to convert the German localization which is placed in view/lang/de/message.po you would do the following.
@@ -70,6 +70,12 @@ If you only want to translate friendica into another language you wont need any
 
 For further information see the utils/README file.
 
+Help, Tobias asked me to regenerate the master messages.po file!
+----------------------------------------------------------------
+
+Don't panic.
+Just run `bin/run_xgettext.sh` from your base Friendica directory and commit `util/messages.po` to your branch. 
+
 Transifex-Client
 ----------------
 
@@ -82,14 +88,14 @@ To use it, first create a configuration file with your credentials.
 On Linux this file should be placed into your home directory `~/.transifexrc`.
 The content of the file should be something like the following:
 
-    [https://www.transifex.com]
+    [https://www.Transifex.com]
     username = user
     token =
     password = p@ssw0rd
-    hostname = https://www.transifex.com
+    hostname = https://www.Transifex.com
 
 Since Friendica version 3.5.1 we ship configuration files for the Transifex client in the core repository and the addon repository.
-To update the translation files after you have translated strings of e.g. Esperanto in the web-UI of transifex you can use `tx` to download the file.
+To update the translation files after you have translated strings of e.g. Esperanto in the web-UI of Transifex you can use `tx` to download the file.
 
     $> tx pull -l eo
 
@@ -99,6 +105,6 @@ And then use the `po2php` command described above to convert the `messages.po` f
 
 Afterwards, just commit the two changed files to a feature branch of your Friendica repository, push the changes to github and open a pull request for your changes.
 
-[1]:   https://www.transifex.com/projects/p/friendica/
-[2]:   https://docs.transifex.com/client/introduction
+[1]:   https://www.Transifex.com/projects/p/friendica/
+[2]:   https://docs.Transifex.com/client/introduction
 

From a69d010410bccf7cb8e63dd5c6c17b13c8e9f896 Mon Sep 17 00:00:00 2001
From: Hypolite Petovan 
Date: Tue, 27 Nov 2018 02:47:15 -0500
Subject: [PATCH 06/19] Regenerate master messages.po file

---
 util/messages.po | 4179 +++++++++++++++++++++++-----------------------
 1 file changed, 2092 insertions(+), 2087 deletions(-)

diff --git a/util/messages.po b/util/messages.po
index 8ec12aef9..a63531311 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2018-11-24 07:51+0100\n"
+"POT-Creation-Date: 2018-11-27 02:39-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME \n"
 "Language-Team: LANGUAGE \n"
@@ -41,8 +41,8 @@ msgstr ""
 #: mod/photos.php:1170 mod/photos.php:1187 mod/photos.php:1680
 #: mod/profile_photo.php:88 mod/profile_photo.php:97 mod/profile_photo.php:106
 #: mod/profile_photo.php:215 mod/profile_photo.php:304
-#: mod/profile_photo.php:314 src/Model/User.php:651 src/Model/User.php:659
-#: src/Model/User.php:667
+#: mod/profile_photo.php:314 src/Model/User.php:652 src/Model/User.php:660
+#: src/Model/User.php:668
 msgid "Profile Photos"
 msgstr ""
 
@@ -138,7 +138,7 @@ msgstr ""
 msgid "Select"
 msgstr ""
 
-#: include/conversation.php:633 mod/admin.php:1956 mod/photos.php:1569
+#: include/conversation.php:633 mod/admin.php:1971 mod/photos.php:1569
 #: mod/settings.php:741 src/Module/Contact.php:832 src/Module/Contact.php:1107
 msgid "Delete"
 msgstr ""
@@ -218,8 +218,8 @@ msgstr ""
 
 #: include/conversation.php:887 mod/allfriends.php:77 mod/dirfind.php:229
 #: mod/follow.php:147 mod/match.php:92 mod/suggest.php:87
-#: view/theme/vier/theme.php:201 src/Content/Widget.php:65
-#: src/Model/Contact.php:946 src/Module/Contact.php:580
+#: src/Content/Widget.php:65 src/Model/Contact.php:946
+#: src/Module/Contact.php:580 view/theme/vier/theme.php:201
 msgid "Connect/Follow"
 msgstr ""
 
@@ -781,9 +781,9 @@ msgstr ""
 msgid "Please visit %s to approve or reject the request."
 msgstr ""
 
-#: include/items.php:359 mod/notice.php:21 mod/viewsrc.php:22 mod/admin.php:295
-#: mod/admin.php:2014 mod/admin.php:2260 mod/display.php:75 mod/display.php:253
-#: mod/display.php:349
+#: include/items.php:359 mod/admin.php:295 mod/admin.php:2029
+#: mod/admin.php:2275 mod/display.php:75 mod/display.php:253
+#: mod/display.php:349 mod/notice.php:21 mod/viewsrc.php:22
 msgid "Item not found."
 msgstr ""
 
@@ -802,25 +802,25 @@ msgstr ""
 msgid "Yes"
 msgstr ""
 
-#: include/items.php:449 mod/attach.php:39 mod/nogroup.php:23 mod/notes.php:33
-#: mod/regmod.php:91 mod/repair_ostatus.php:16 mod/allfriends.php:24
-#: mod/api.php:37 mod/api.php:42 mod/cal.php:304 mod/common.php:29
-#: mod/crepair.php:101 mod/delegate.php:31 mod/delegate.php:49
-#: mod/delegate.php:60 mod/dfrn_confirm.php:69 mod/dirfind.php:29
-#: mod/editpost.php:22 mod/events.php:199 mod/follow.php:58 mod/follow.php:122
-#: mod/fsuggest.php:81 mod/group.php:30 mod/invite.php:25 mod/invite.php:111
-#: mod/item.php:169 mod/manage.php:132 mod/message.php:58 mod/message.php:103
-#: mod/network.php:39 mod/notifications.php:70 mod/ostatus_subscribe.php:18
-#: mod/photos.php:189 mod/photos.php:1064 mod/poke.php:144
+#: include/items.php:449 mod/allfriends.php:24 mod/api.php:37 mod/api.php:42
+#: mod/attach.php:39 mod/cal.php:304 mod/common.php:29 mod/crepair.php:101
+#: mod/delegate.php:31 mod/delegate.php:49 mod/delegate.php:60
+#: mod/dfrn_confirm.php:69 mod/dirfind.php:29 mod/editpost.php:22
+#: mod/events.php:199 mod/follow.php:58 mod/follow.php:122 mod/fsuggest.php:81
+#: mod/group.php:30 mod/invite.php:25 mod/invite.php:111 mod/item.php:169
+#: mod/manage.php:132 mod/message.php:58 mod/message.php:103 mod/network.php:39
+#: mod/nogroup.php:23 mod/notes.php:33 mod/notifications.php:70
+#: mod/ostatus_subscribe.php:18 mod/photos.php:189 mod/photos.php:1064
+#: mod/poke.php:144 mod/profiles.php:183 mod/profiles.php:515
 #: mod/profile_photo.php:33 mod/profile_photo.php:180 mod/profile_photo.php:202
-#: mod/profiles.php:183 mod/profiles.php:515 mod/register.php:55
+#: mod/register.php:55 mod/regmod.php:91 mod/repair_ostatus.php:16
 #: mod/settings.php:48 mod/settings.php:154 mod/settings.php:670
 #: mod/suggest.php:62 mod/uimport.php:17 mod/unfollow.php:22
 #: mod/unfollow.php:77 mod/unfollow.php:109 mod/viewcontacts.php:63
-#: mod/wall_attach.php:81 mod/wall_attach.php:84 mod/wall_upload.php:106
-#: mod/wall_upload.php:109 mod/wallmessage.php:19 mod/wallmessage.php:43
-#: mod/wallmessage.php:82 mod/wallmessage.php:106 src/Module/Contact.php:365
-#: src/App.php:1748
+#: mod/wallmessage.php:19 mod/wallmessage.php:43 mod/wallmessage.php:82
+#: mod/wallmessage.php:106 mod/wall_attach.php:81 mod/wall_attach.php:84
+#: mod/wall_upload.php:106 mod/wall_upload.php:109 src/App.php:1786
+#: src/Module/Contact.php:365
 msgid "Permission denied."
 msgstr ""
 
@@ -828,323 +828,12 @@ msgstr ""
 msgid "Archives"
 msgstr ""
 
-#: include/items.php:526 view/theme/vier/theme.php:258
-#: src/Content/ForumManager.php:133 src/Content/Widget.php:308
-#: src/Object/Post.php:447 src/App.php:753
+#: include/items.php:526 src/App.php:791 src/Content/ForumManager.php:133
+#: src/Content/Widget.php:308 src/Object/Post.php:447
+#: view/theme/vier/theme.php:258
 msgid "show more"
 msgstr ""
 
-#: mod/localtime.php:19 src/Model/Event.php:38 src/Model/Event.php:839
-msgid "l F d, Y \\@ g:i A"
-msgstr ""
-
-#: mod/localtime.php:33
-msgid "Time Conversion"
-msgstr ""
-
-#: mod/localtime.php:35
-msgid ""
-"Friendica provides this service for sharing events with other networks and "
-"friends in unknown timezones."
-msgstr ""
-
-#: mod/localtime.php:39
-#, php-format
-msgid "UTC time: %s"
-msgstr ""
-
-#: mod/localtime.php:42
-#, php-format
-msgid "Current timezone: %s"
-msgstr ""
-
-#: mod/localtime.php:46
-#, php-format
-msgid "Converted localtime: %s"
-msgstr ""
-
-#: mod/localtime.php:52
-msgid "Please select your timezone:"
-msgstr ""
-
-#: mod/localtime.php:56 mod/crepair.php:151 mod/events.php:559
-#: mod/fsuggest.php:115 mod/invite.php:154 mod/manage.php:185
-#: mod/message.php:265 mod/message.php:426 mod/photos.php:1093
-#: mod/photos.php:1181 mod/photos.php:1456 mod/photos.php:1501
-#: mod/photos.php:1540 mod/photos.php:1600 mod/poke.php:194
-#: mod/profiles.php:578 view/theme/duepuntozero/config.php:72
-#: view/theme/frio/config.php:119 view/theme/quattro/config.php:74
-#: view/theme/vier/config.php:120 src/Module/Contact.php:600
-#: src/Module/Install.php:189 src/Module/Install.php:224
-#: src/Object/Post.php:813
-msgid "Submit"
-msgstr ""
-
-#: mod/update_community.php:23 mod/update_display.php:24
-#: mod/update_notes.php:36 mod/update_profile.php:35 mod/update_network.php:33
-#: mod/update_contact.php:23
-msgid "[Embedded content - reload page to view]"
-msgstr ""
-
-#: mod/attach.php:16
-msgid "Item not available."
-msgstr ""
-
-#: mod/attach.php:26
-msgid "Item was not found."
-msgstr ""
-
-#: mod/hcard.php:19
-msgid "No profile"
-msgstr ""
-
-#: mod/lockview.php:46 mod/lockview.php:57
-msgid "Remote privacy information not available."
-msgstr ""
-
-#: mod/lockview.php:66
-msgid "Visible to:"
-msgstr ""
-
-#: mod/newmember.php:11
-msgid "Welcome to Friendica"
-msgstr ""
-
-#: mod/newmember.php:12
-msgid "New Member Checklist"
-msgstr ""
-
-#: mod/newmember.php:14
-msgid ""
-"We would like to offer some tips and links to help make your experience "
-"enjoyable. Click any item to visit the relevant page. A link to this page "
-"will be visible from your home page for two weeks after your initial "
-"registration and then will quietly disappear."
-msgstr ""
-
-#: mod/newmember.php:15
-msgid "Getting Started"
-msgstr ""
-
-#: mod/newmember.php:17
-msgid "Friendica Walk-Through"
-msgstr ""
-
-#: mod/newmember.php:17
-msgid ""
-"On your Quick Start page - find a brief introduction to your "
-"profile and network tabs, make some new connections, and find some groups to "
-"join."
-msgstr ""
-
-#: mod/newmember.php:19 mod/admin.php:2064 mod/admin.php:2334
-#: mod/settings.php:136 view/theme/frio/theme.php:283 src/Content/Nav.php:260
-msgid "Settings"
-msgstr ""
-
-#: mod/newmember.php:21
-msgid "Go to Your Settings"
-msgstr ""
-
-#: mod/newmember.php:21
-msgid ""
-"On your Settings page -  change your initial password. Also make a "
-"note of your Identity Address. This looks just like an email address - and "
-"will be useful in making friends on the free social web."
-msgstr ""
-
-#: mod/newmember.php:22
-msgid ""
-"Review the other settings, particularly the privacy settings. An unpublished "
-"directory listing is like having an unlisted phone number. In general, you "
-"should probably publish your listing - unless all of your friends and "
-"potential friends know exactly how to find you."
-msgstr ""
-
-#: mod/newmember.php:24 mod/profperm.php:117 view/theme/frio/theme.php:274
-#: src/Content/Nav.php:154 src/Model/Profile.php:734 src/Model/Profile.php:867
-#: src/Model/Profile.php:900 src/Module/Contact.php:661
-#: src/Module/Contact.php:874
-msgid "Profile"
-msgstr ""
-
-#: mod/newmember.php:26 mod/profile_photo.php:250 mod/profiles.php:599
-msgid "Upload Profile Photo"
-msgstr ""
-
-#: mod/newmember.php:26
-msgid ""
-"Upload a profile photo if you have not done so already. Studies have shown "
-"that people with real photos of themselves are ten times more likely to make "
-"friends than people who do not."
-msgstr ""
-
-#: mod/newmember.php:27
-msgid "Edit Your Profile"
-msgstr ""
-
-#: mod/newmember.php:27
-msgid ""
-"Edit your default profile to your liking. Review the "
-"settings for hiding your list of friends and hiding the profile from unknown "
-"visitors."
-msgstr ""
-
-#: mod/newmember.php:28
-msgid "Profile Keywords"
-msgstr ""
-
-#: mod/newmember.php:28
-msgid ""
-"Set some public keywords for your default profile which describe your "
-"interests. We may be able to find other people with similar interests and "
-"suggest friendships."
-msgstr ""
-
-#: mod/newmember.php:30
-msgid "Connecting"
-msgstr ""
-
-#: mod/newmember.php:36
-msgid "Importing Emails"
-msgstr ""
-
-#: mod/newmember.php:36
-msgid ""
-"Enter your email access information on your Connector Settings page if you "
-"wish to import and interact with friends or mailing lists from your email "
-"INBOX"
-msgstr ""
-
-#: mod/newmember.php:39
-msgid "Go to Your Contacts Page"
-msgstr ""
-
-#: mod/newmember.php:39
-msgid ""
-"Your Contacts page is your gateway to managing friendships and connecting "
-"with friends on other networks. Typically you enter their address or site "
-"URL in the Add New Contact dialog."
-msgstr ""
-
-#: mod/newmember.php:40
-msgid "Go to Your Site's Directory"
-msgstr ""
-
-#: mod/newmember.php:40
-msgid ""
-"The Directory page lets you find other people in this network or other "
-"federated sites. Look for a Connect or Follow link on "
-"their profile page. Provide your own Identity Address if requested."
-msgstr ""
-
-#: mod/newmember.php:41
-msgid "Finding New People"
-msgstr ""
-
-#: mod/newmember.php:41
-msgid ""
-"On the side panel of the Contacts page are several tools to find new "
-"friends. We can match people by interest, look up people by name or "
-"interest, and provide suggestions based on network relationships. On a brand "
-"new site, friend suggestions will usually begin to be populated within 24 "
-"hours."
-msgstr ""
-
-#: mod/newmember.php:43 src/Model/Group.php:406 src/Module/Contact.php:759
-msgid "Groups"
-msgstr ""
-
-#: mod/newmember.php:45
-msgid "Group Your Contacts"
-msgstr ""
-
-#: mod/newmember.php:45
-msgid ""
-"Once you have made some friends, organize them into private conversation "
-"groups from the sidebar of your Contacts page and then you can interact with "
-"each group privately on your Network page."
-msgstr ""
-
-#: mod/newmember.php:48
-msgid "Why Aren't My Posts Public?"
-msgstr ""
-
-#: mod/newmember.php:48
-msgid ""
-"Friendica respects your privacy. By default, your posts will only show up to "
-"people you've added as friends. For more information, see the help section "
-"from the link above."
-msgstr ""
-
-#: mod/newmember.php:52
-msgid "Getting Help"
-msgstr ""
-
-#: mod/newmember.php:54
-msgid "Go to the Help Section"
-msgstr ""
-
-#: mod/newmember.php:54
-msgid ""
-"Our help pages may be consulted for detail on other program "
-"features and resources."
-msgstr ""
-
-#: mod/notes.php:42 src/Model/Profile.php:950
-msgid "Personal Notes"
-msgstr ""
-
-#: mod/notes.php:54 mod/editpost.php:94 mod/filer.php:38
-#: src/Content/Text/HTML.php:961
-msgid "Save"
-msgstr ""
-
-#: mod/probe.php:13 mod/webfinger.php:16 mod/community.php:31
-#: mod/dfrn_request.php:602 mod/directory.php:43 mod/display.php:203
-#: mod/photos.php:945 mod/search.php:106 mod/search.php:112 mod/videos.php:194
-#: mod/viewcontacts.php:51
-msgid "Public access denied."
-msgstr ""
-
-#: mod/probe.php:14 mod/webfinger.php:17
-msgid "Only logged in users are permitted to perform a probing."
-msgstr ""
-
-#: mod/regmod.php:55
-msgid "Account approved."
-msgstr ""
-
-#: mod/regmod.php:79
-#, php-format
-msgid "Registration revoked for %s"
-msgstr ""
-
-#: mod/regmod.php:86
-msgid "Please login."
-msgstr ""
-
-#: mod/repair_ostatus.php:21
-msgid "Resubscribing to OStatus contacts"
-msgstr ""
-
-#: mod/repair_ostatus.php:37
-msgid "Error"
-msgstr ""
-
-#: mod/repair_ostatus.php:52 mod/ostatus_subscribe.php:70
-msgid "Done"
-msgstr ""
-
-#: mod/repair_ostatus.php:58 mod/ostatus_subscribe.php:94
-msgid "Keep this window open until done."
-msgstr ""
-
-#: mod/viewsrc.php:13 mod/cal.php:35 mod/cal.php:39 mod/community.php:38
-#: mod/follow.php:21 mod/viewcontacts.php:23 mod/viewcontacts.php:27
-msgid "Access denied."
-msgstr ""
-
 #: mod/admin.php:116
 msgid "Theme settings updated."
 msgstr ""
@@ -1157,7 +846,7 @@ msgstr ""
 msgid "Overview"
 msgstr ""
 
-#: mod/admin.php:191 mod/admin.php:757
+#: mod/admin.php:191 mod/admin.php:761
 msgid "Federation Statistics"
 msgstr ""
 
@@ -1165,19 +854,19 @@ msgstr ""
 msgid "Configuration"
 msgstr ""
 
-#: mod/admin.php:193 mod/admin.php:1482
+#: mod/admin.php:193 mod/admin.php:1488
 msgid "Site"
 msgstr ""
 
-#: mod/admin.php:194 mod/admin.php:1411 mod/admin.php:1946 mod/admin.php:1963
+#: mod/admin.php:194 mod/admin.php:1417 mod/admin.php:1961 mod/admin.php:1978
 msgid "Users"
 msgstr ""
 
-#: mod/admin.php:195 mod/admin.php:2062 mod/admin.php:2122 mod/settings.php:99
+#: mod/admin.php:195 mod/admin.php:2077 mod/admin.php:2137 mod/settings.php:99
 msgid "Addons"
 msgstr ""
 
-#: mod/admin.php:196 mod/admin.php:2332 mod/admin.php:2376
+#: mod/admin.php:196 mod/admin.php:2347 mod/admin.php:2391
 msgid "Themes"
 msgstr ""
 
@@ -1198,7 +887,7 @@ msgstr ""
 msgid "DB updates"
 msgstr ""
 
-#: mod/admin.php:201 mod/admin.php:800
+#: mod/admin.php:201 mod/admin.php:804
 msgid "Inspect Queue"
 msgstr ""
 
@@ -1226,11 +915,11 @@ msgstr ""
 msgid "Delete Item"
 msgstr ""
 
-#: mod/admin.php:208 mod/admin.php:209 mod/admin.php:2451
+#: mod/admin.php:208 mod/admin.php:209 mod/admin.php:2466
 msgid "Logs"
 msgstr ""
 
-#: mod/admin.php:210 mod/admin.php:2518
+#: mod/admin.php:210 mod/admin.php:2533
 msgid "View Logs"
 msgstr ""
 
@@ -1263,9 +952,9 @@ msgid "User registrations waiting for confirmation"
 msgstr ""
 
 #: mod/admin.php:321 mod/admin.php:383 mod/admin.php:499 mod/admin.php:541
-#: mod/admin.php:756 mod/admin.php:799 mod/admin.php:850 mod/admin.php:968
-#: mod/admin.php:1481 mod/admin.php:1945 mod/admin.php:2061 mod/admin.php:2121
-#: mod/admin.php:2331 mod/admin.php:2375 mod/admin.php:2450 mod/admin.php:2517
+#: mod/admin.php:760 mod/admin.php:803 mod/admin.php:854 mod/admin.php:972
+#: mod/admin.php:1487 mod/admin.php:1960 mod/admin.php:2076 mod/admin.php:2136
+#: mod/admin.php:2346 mod/admin.php:2390 mod/admin.php:2465 mod/admin.php:2532
 msgid "Administration"
 msgstr ""
 
@@ -1304,8 +993,8 @@ msgid ""
 "of sections should be [h2] and below."
 msgstr ""
 
-#: mod/admin.php:329 mod/admin.php:1483 mod/admin.php:2123 mod/admin.php:2377
-#: mod/admin.php:2452 mod/admin.php:2599 mod/delegate.php:174
+#: mod/admin.php:329 mod/admin.php:1489 mod/admin.php:2138 mod/admin.php:2392
+#: mod/admin.php:2467 mod/admin.php:2614 mod/delegate.php:174
 #: mod/settings.php:680 mod/settings.php:787 mod/settings.php:875
 #: mod/settings.php:964 mod/settings.php:1189
 msgid "Save Settings"
@@ -1426,7 +1115,7 @@ msgstr ""
 msgid "Block Remote Contact"
 msgstr ""
 
-#: mod/admin.php:503 mod/admin.php:1948
+#: mod/admin.php:503 mod/admin.php:1963
 msgid "select all"
 msgstr ""
 
@@ -1434,12 +1123,12 @@ msgstr ""
 msgid "select none"
 msgstr ""
 
-#: mod/admin.php:505 mod/admin.php:1957 src/Module/Contact.php:627
+#: mod/admin.php:505 mod/admin.php:1972 src/Module/Contact.php:627
 #: src/Module/Contact.php:829 src/Module/Contact.php:1082
 msgid "Block"
 msgstr ""
 
-#: mod/admin.php:506 mod/admin.php:1959 src/Module/Contact.php:627
+#: mod/admin.php:506 mod/admin.php:1974 src/Module/Contact.php:627
 #: src/Module/Contact.php:829 src/Module/Contact.php:1082
 msgid "Unblock"
 msgstr ""
@@ -1460,8 +1149,8 @@ msgstr ""
 msgid "Photo"
 msgstr ""
 
-#: mod/admin.php:511 mod/admin.php:1940 mod/admin.php:1951 mod/admin.php:1965
-#: mod/admin.php:1981 mod/crepair.php:161 mod/settings.php:682
+#: mod/admin.php:511 mod/admin.php:1955 mod/admin.php:1966 mod/admin.php:1980
+#: mod/admin.php:1996 mod/crepair.php:161 mod/settings.php:682
 #: mod/settings.php:708
 msgid "Name"
 msgstr ""
@@ -1520,87 +1209,87 @@ msgstr ""
 msgid "unknown"
 msgstr ""
 
-#: mod/admin.php:750
+#: mod/admin.php:754
 msgid ""
 "This page offers you some numbers to the known part of the federated social "
 "network your Friendica node is part of. These numbers are not complete but "
 "only reflect the part of the network your node is aware of."
 msgstr ""
 
-#: mod/admin.php:751
+#: mod/admin.php:755
 msgid ""
 "The Auto Discovered Contact Directory feature is not enabled, it "
 "will improve the data displayed here."
 msgstr ""
 
-#: mod/admin.php:763
+#: mod/admin.php:767
 #, php-format
 msgid ""
 "Currently this node is aware of %d nodes with %d registered users from the "
 "following platforms:"
 msgstr ""
 
-#: mod/admin.php:802 mod/admin.php:853
+#: mod/admin.php:806 mod/admin.php:857
 msgid "ID"
 msgstr ""
 
-#: mod/admin.php:803
+#: mod/admin.php:807
 msgid "Recipient Name"
 msgstr ""
 
-#: mod/admin.php:804
+#: mod/admin.php:808
 msgid "Recipient Profile"
 msgstr ""
 
-#: mod/admin.php:805 view/theme/frio/theme.php:280
-#: src/Core/NotificationsManager.php:180 src/Content/Nav.php:236
+#: mod/admin.php:809 src/Content/Nav.php:236
+#: src/Core/NotificationsManager.php:180 view/theme/frio/theme.php:280
 msgid "Network"
 msgstr ""
 
-#: mod/admin.php:806 mod/admin.php:855
+#: mod/admin.php:810 mod/admin.php:859
 msgid "Created"
 msgstr ""
 
-#: mod/admin.php:807
+#: mod/admin.php:811
 msgid "Last Tried"
 msgstr ""
 
-#: mod/admin.php:808
+#: mod/admin.php:812
 msgid ""
 "This page lists the content of the queue for outgoing postings. These are "
 "postings the initial delivery failed for. They will be resend later and "
 "eventually deleted if the delivery fails permanently."
 msgstr ""
 
-#: mod/admin.php:829
+#: mod/admin.php:833
 msgid "Inspect Deferred Worker Queue"
 msgstr ""
 
-#: mod/admin.php:830
+#: mod/admin.php:834
 msgid ""
 "This page lists the deferred worker jobs. This are jobs that couldn't be "
 "executed at the first time."
 msgstr ""
 
-#: mod/admin.php:833
+#: mod/admin.php:837
 msgid "Inspect Worker Queue"
 msgstr ""
 
-#: mod/admin.php:834
+#: mod/admin.php:838
 msgid ""
 "This page lists the currently queued worker jobs. These jobs are handled by "
 "the worker cronjob you've set up during install."
 msgstr ""
 
-#: mod/admin.php:854
+#: mod/admin.php:858
 msgid "Job Parameters"
 msgstr ""
 
-#: mod/admin.php:856
+#: mod/admin.php:860
 msgid "Priority"
 msgstr ""
 
-#: mod/admin.php:881
+#: mod/admin.php:885
 #, php-format
 msgid ""
 "Your DB still runs with MyISAM tables. You should change the engine type to "
@@ -1611,41 +1300,41 @@ msgid ""
 "automatic conversion.
" msgstr "" -#: mod/admin.php:888 +#: mod/admin.php:892 #, php-format msgid "" "There is a new version of Friendica available for download. Your current " "version is %1$s, upstream version is %2$s" msgstr "" -#: mod/admin.php:898 +#: mod/admin.php:902 msgid "" "The database update failed. Please run \"php bin/console.php dbstructure " "update\" from the command line and have a look at the errors that might " "appear." msgstr "" -#: mod/admin.php:904 +#: mod/admin.php:908 msgid "The worker was never executed. Please check your database structure!" msgstr "" -#: mod/admin.php:907 +#: mod/admin.php:911 #, php-format msgid "" "The last worker execution was on %s UTC. This is older than one hour. Please " "check your crontab settings." msgstr "" -#: mod/admin.php:913 +#: mod/admin.php:917 #, php-format msgid "" -"Friendica's configuration now is stored in config/local.ini.php, please copy " -"config/local-sample.ini.php and move your config from .htconfig.php. See the Config help page for help with the " -"transition." +"Friendica's configuration now is stored in config/local.config.php, please " +"copy config/local-sample.config.php and move your config from ." +"htconfig.php. See the Config help page for help " +"with the transition." msgstr "" -#: mod/admin.php:920 +#: mod/admin.php:924 #, php-format msgid "" "%s is not reachable on your system. This is a severe " @@ -1653,502 +1342,505 @@ msgid "" "href=\"%s\">the installation page for help." msgstr "" -#: mod/admin.php:926 +#: mod/admin.php:930 msgid "Normal Account" msgstr "" -#: mod/admin.php:927 +#: mod/admin.php:931 msgid "Automatic Follower Account" msgstr "" -#: mod/admin.php:928 +#: mod/admin.php:932 msgid "Public Forum Account" msgstr "" -#: mod/admin.php:929 +#: mod/admin.php:933 msgid "Automatic Friend Account" msgstr "" -#: mod/admin.php:930 +#: mod/admin.php:934 msgid "Blog Account" msgstr "" -#: mod/admin.php:931 +#: mod/admin.php:935 msgid "Private Forum Account" msgstr "" -#: mod/admin.php:954 +#: mod/admin.php:958 msgid "Message queues" msgstr "" -#: mod/admin.php:960 +#: mod/admin.php:964 msgid "Server Settings" msgstr "" -#: mod/admin.php:969 +#: mod/admin.php:973 msgid "Summary" msgstr "" -#: mod/admin.php:971 +#: mod/admin.php:975 msgid "Registered users" msgstr "" -#: mod/admin.php:973 +#: mod/admin.php:977 msgid "Pending registrations" msgstr "" -#: mod/admin.php:974 +#: mod/admin.php:978 msgid "Version" msgstr "" -#: mod/admin.php:979 +#: mod/admin.php:983 msgid "Active addons" msgstr "" -#: mod/admin.php:1011 +#: mod/admin.php:1015 msgid "Can not parse base url. Must have at least ://" msgstr "" -#: mod/admin.php:1346 +#: mod/admin.php:1351 msgid "Site settings updated." msgstr "" -#: mod/admin.php:1373 mod/settings.php:908 +#: mod/admin.php:1379 mod/settings.php:908 msgid "No special theme for mobile devices" msgstr "" -#: mod/admin.php:1402 +#: mod/admin.php:1408 msgid "No community page for local users" msgstr "" -#: mod/admin.php:1403 +#: mod/admin.php:1409 msgid "No community page" msgstr "" -#: mod/admin.php:1404 +#: mod/admin.php:1410 msgid "Public postings from users of this site" msgstr "" -#: mod/admin.php:1405 +#: mod/admin.php:1411 msgid "Public postings from the federated network" msgstr "" -#: mod/admin.php:1406 +#: mod/admin.php:1412 msgid "Public postings from local users and the federated network" msgstr "" -#: mod/admin.php:1410 mod/admin.php:1578 mod/admin.php:1588 +#: mod/admin.php:1416 mod/admin.php:1585 mod/admin.php:1595 #: src/Module/Contact.php:552 msgid "Disabled" msgstr "" -#: mod/admin.php:1412 +#: mod/admin.php:1418 msgid "Users, Global Contacts" msgstr "" -#: mod/admin.php:1413 +#: mod/admin.php:1419 msgid "Users, Global Contacts/fallback" msgstr "" -#: mod/admin.php:1417 +#: mod/admin.php:1423 msgid "One month" msgstr "" -#: mod/admin.php:1418 +#: mod/admin.php:1424 msgid "Three months" msgstr "" -#: mod/admin.php:1419 +#: mod/admin.php:1425 msgid "Half a year" msgstr "" -#: mod/admin.php:1420 +#: mod/admin.php:1426 msgid "One year" msgstr "" -#: mod/admin.php:1425 +#: mod/admin.php:1431 msgid "Multi user instance" msgstr "" -#: mod/admin.php:1451 +#: mod/admin.php:1457 msgid "Closed" msgstr "" -#: mod/admin.php:1452 +#: mod/admin.php:1458 msgid "Requires approval" msgstr "" -#: mod/admin.php:1453 +#: mod/admin.php:1459 msgid "Open" msgstr "" -#: mod/admin.php:1457 +#: mod/admin.php:1463 msgid "No SSL policy, links will track page SSL state" msgstr "" -#: mod/admin.php:1458 +#: mod/admin.php:1464 msgid "Force all links to use SSL" msgstr "" -#: mod/admin.php:1459 +#: mod/admin.php:1465 msgid "Self-signed certificate, use SSL for local links only (discouraged)" msgstr "" -#: mod/admin.php:1463 +#: mod/admin.php:1469 msgid "Don't check" msgstr "" -#: mod/admin.php:1464 +#: mod/admin.php:1470 msgid "check the stable version" msgstr "" -#: mod/admin.php:1465 +#: mod/admin.php:1471 msgid "check the development version" msgstr "" -#: mod/admin.php:1484 +#: mod/admin.php:1490 msgid "Republish users to directory" msgstr "" -#: mod/admin.php:1485 mod/register.php:268 +#: mod/admin.php:1491 mod/register.php:268 msgid "Registration" msgstr "" -#: mod/admin.php:1486 +#: mod/admin.php:1492 msgid "File upload" msgstr "" -#: mod/admin.php:1487 +#: mod/admin.php:1493 msgid "Policies" msgstr "" -#: mod/admin.php:1488 mod/events.php:561 src/Model/Profile.php:869 +#: mod/admin.php:1494 mod/events.php:561 src/Model/Profile.php:878 #: src/Module/Contact.php:907 msgid "Advanced" msgstr "" -#: mod/admin.php:1489 +#: mod/admin.php:1495 msgid "Auto Discovered Contact Directory" msgstr "" -#: mod/admin.php:1490 +#: mod/admin.php:1496 msgid "Performance" msgstr "" -#: mod/admin.php:1491 +#: mod/admin.php:1497 msgid "Worker" msgstr "" -#: mod/admin.php:1492 +#: mod/admin.php:1498 msgid "Message Relay" msgstr "" -#: mod/admin.php:1493 -msgid "" -"Relocate - WARNING: advanced function. Could make this server unreachable." +#: mod/admin.php:1499 +msgid "Relocate Instance" msgstr "" -#: mod/admin.php:1496 +#: mod/admin.php:1500 +msgid "Warning! Advanced function. Could make this server unreachable." +msgstr "" + +#: mod/admin.php:1503 msgid "Site name" msgstr "" -#: mod/admin.php:1497 +#: mod/admin.php:1504 msgid "Host name" msgstr "" -#: mod/admin.php:1498 +#: mod/admin.php:1505 msgid "Sender Email" msgstr "" -#: mod/admin.php:1498 +#: mod/admin.php:1505 msgid "" "The email address your server shall use to send notification emails from." msgstr "" -#: mod/admin.php:1499 +#: mod/admin.php:1506 msgid "Banner/Logo" msgstr "" -#: mod/admin.php:1500 +#: mod/admin.php:1507 msgid "Shortcut icon" msgstr "" -#: mod/admin.php:1500 +#: mod/admin.php:1507 msgid "Link to an icon that will be used for browsers." msgstr "" -#: mod/admin.php:1501 +#: mod/admin.php:1508 msgid "Touch icon" msgstr "" -#: mod/admin.php:1501 +#: mod/admin.php:1508 msgid "Link to an icon that will be used for tablets and mobiles." msgstr "" -#: mod/admin.php:1502 +#: mod/admin.php:1509 msgid "Additional Info" msgstr "" -#: mod/admin.php:1502 +#: mod/admin.php:1509 #, php-format msgid "" "For public servers: you can add additional information here that will be " "listed at %s/servers." msgstr "" -#: mod/admin.php:1503 +#: mod/admin.php:1510 msgid "System language" msgstr "" -#: mod/admin.php:1504 +#: mod/admin.php:1511 msgid "System theme" msgstr "" -#: mod/admin.php:1504 +#: mod/admin.php:1511 msgid "" "Default system theme - may be over-ridden by user profiles - change theme settings" msgstr "" -#: mod/admin.php:1505 +#: mod/admin.php:1512 msgid "Mobile system theme" msgstr "" -#: mod/admin.php:1505 +#: mod/admin.php:1512 msgid "Theme for mobile devices" msgstr "" -#: mod/admin.php:1506 +#: mod/admin.php:1513 msgid "SSL link policy" msgstr "" -#: mod/admin.php:1506 +#: mod/admin.php:1513 msgid "Determines whether generated links should be forced to use SSL" msgstr "" -#: mod/admin.php:1507 +#: mod/admin.php:1514 msgid "Force SSL" msgstr "" -#: mod/admin.php:1507 +#: mod/admin.php:1514 msgid "" "Force all Non-SSL requests to SSL - Attention: on some systems it could lead " "to endless loops." msgstr "" -#: mod/admin.php:1508 +#: mod/admin.php:1515 msgid "Hide help entry from navigation menu" msgstr "" -#: mod/admin.php:1508 +#: mod/admin.php:1515 msgid "" "Hides the menu entry for the Help pages from the navigation menu. You can " "still access it calling /help directly." msgstr "" -#: mod/admin.php:1509 +#: mod/admin.php:1516 msgid "Single user instance" msgstr "" -#: mod/admin.php:1509 +#: mod/admin.php:1516 msgid "Make this instance multi-user or single-user for the named user" msgstr "" -#: mod/admin.php:1510 +#: mod/admin.php:1517 msgid "Maximum image size" msgstr "" -#: mod/admin.php:1510 +#: mod/admin.php:1517 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "" -#: mod/admin.php:1511 +#: mod/admin.php:1518 msgid "Maximum image length" msgstr "" -#: mod/admin.php:1511 +#: mod/admin.php:1518 msgid "" "Maximum length in pixels of the longest side of uploaded images. Default is " "-1, which means no limits." msgstr "" -#: mod/admin.php:1512 +#: mod/admin.php:1519 msgid "JPEG image quality" msgstr "" -#: mod/admin.php:1512 +#: mod/admin.php:1519 msgid "" "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is " "100, which is full quality." msgstr "" -#: mod/admin.php:1514 +#: mod/admin.php:1521 msgid "Register policy" msgstr "" -#: mod/admin.php:1515 +#: mod/admin.php:1522 msgid "Maximum Daily Registrations" msgstr "" -#: mod/admin.php:1515 +#: mod/admin.php:1522 msgid "" "If registration is permitted above, this sets the maximum number of new user " "registrations to accept per day. If register is set to closed, this setting " "has no effect." msgstr "" -#: mod/admin.php:1516 +#: mod/admin.php:1523 msgid "Register text" msgstr "" -#: mod/admin.php:1516 +#: mod/admin.php:1523 msgid "" "Will be displayed prominently on the registration page. You can use BBCode " "here." msgstr "" -#: mod/admin.php:1517 +#: mod/admin.php:1524 msgid "Forbidden Nicknames" msgstr "" -#: mod/admin.php:1517 +#: mod/admin.php:1524 msgid "" "Comma separated list of nicknames that are forbidden from registration. " "Preset is a list of role names according RFC 2142." msgstr "" -#: mod/admin.php:1518 +#: mod/admin.php:1525 msgid "Accounts abandoned after x days" msgstr "" -#: mod/admin.php:1518 +#: mod/admin.php:1525 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "" -#: mod/admin.php:1519 +#: mod/admin.php:1526 msgid "Allowed friend domains" msgstr "" -#: mod/admin.php:1519 +#: mod/admin.php:1526 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "" -#: mod/admin.php:1520 +#: mod/admin.php:1527 msgid "Allowed email domains" msgstr "" -#: mod/admin.php:1520 +#: mod/admin.php:1527 msgid "" "Comma separated list of domains which are allowed in email addresses for " "registrations to this site. Wildcards are accepted. Empty to allow any " "domains" msgstr "" -#: mod/admin.php:1521 +#: mod/admin.php:1528 msgid "No OEmbed rich content" msgstr "" -#: mod/admin.php:1521 +#: mod/admin.php:1528 msgid "" "Don't show the rich content (e.g. embedded PDF), except from the domains " "listed below." msgstr "" -#: mod/admin.php:1522 +#: mod/admin.php:1529 msgid "Allowed OEmbed domains" msgstr "" -#: mod/admin.php:1522 +#: mod/admin.php:1529 msgid "" "Comma separated list of domains which oembed content is allowed to be " "displayed. Wildcards are accepted." msgstr "" -#: mod/admin.php:1523 +#: mod/admin.php:1530 msgid "Block public" msgstr "" -#: mod/admin.php:1523 +#: mod/admin.php:1530 msgid "" "Check to block public access to all otherwise public personal pages on this " "site unless you are currently logged in." msgstr "" -#: mod/admin.php:1524 +#: mod/admin.php:1531 msgid "Force publish" msgstr "" -#: mod/admin.php:1524 +#: mod/admin.php:1531 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "" -#: mod/admin.php:1524 +#: mod/admin.php:1531 msgid "Enabling this may violate privacy laws like the GDPR" msgstr "" -#: mod/admin.php:1525 +#: mod/admin.php:1532 msgid "Global directory URL" msgstr "" -#: mod/admin.php:1525 +#: mod/admin.php:1532 msgid "" "URL to the global directory. If this is not set, the global directory is " "completely unavailable to the application." msgstr "" -#: mod/admin.php:1526 +#: mod/admin.php:1533 msgid "Private posts by default for new users" msgstr "" -#: mod/admin.php:1526 +#: mod/admin.php:1533 msgid "" "Set default post permissions for all new members to the default privacy " "group rather than public." msgstr "" -#: mod/admin.php:1527 +#: mod/admin.php:1534 msgid "Don't include post content in email notifications" msgstr "" -#: mod/admin.php:1527 +#: mod/admin.php:1534 msgid "" "Don't include the content of a post/comment/private message/etc. in the " "email notifications that are sent out from this site, as a privacy measure." msgstr "" -#: mod/admin.php:1528 +#: mod/admin.php:1535 msgid "Disallow public access to addons listed in the apps menu." msgstr "" -#: mod/admin.php:1528 +#: mod/admin.php:1535 msgid "" "Checking this box will restrict addons listed in the apps menu to members " "only." msgstr "" -#: mod/admin.php:1529 +#: mod/admin.php:1536 msgid "Don't embed private images in posts" msgstr "" -#: mod/admin.php:1529 +#: mod/admin.php:1536 msgid "" "Don't replace locally-hosted private photos in posts with an embedded copy " "of the image. This means that contacts who receive posts containing private " "photos will have to authenticate and load each image, which may take a while." msgstr "" -#: mod/admin.php:1530 +#: mod/admin.php:1537 msgid "Explicit Content" msgstr "" -#: mod/admin.php:1530 +#: mod/admin.php:1537 msgid "" "Set this to announce that your node is used mostly for explicit content that " "might not be suited for minors. This information will be published in the " @@ -2157,210 +1849,210 @@ msgid "" "will be shown at the user registration page." msgstr "" -#: mod/admin.php:1531 +#: mod/admin.php:1538 msgid "Allow Users to set remote_self" msgstr "" -#: mod/admin.php:1531 +#: mod/admin.php:1538 msgid "" "With checking this, every user is allowed to mark every contact as a " "remote_self in the repair contact dialog. Setting this flag on a contact " "causes mirroring every posting of that contact in the users stream." msgstr "" -#: mod/admin.php:1532 +#: mod/admin.php:1539 msgid "Block multiple registrations" msgstr "" -#: mod/admin.php:1532 +#: mod/admin.php:1539 msgid "Disallow users to register additional accounts for use as pages." msgstr "" -#: mod/admin.php:1533 +#: mod/admin.php:1540 msgid "OpenID support" msgstr "" -#: mod/admin.php:1533 +#: mod/admin.php:1540 msgid "OpenID support for registration and logins." msgstr "" -#: mod/admin.php:1534 +#: mod/admin.php:1541 msgid "Fullname check" msgstr "" -#: mod/admin.php:1534 +#: mod/admin.php:1541 msgid "" "Force users to register with a space between firstname and lastname in Full " "name, as an antispam measure" msgstr "" -#: mod/admin.php:1535 +#: mod/admin.php:1542 msgid "Community pages for visitors" msgstr "" -#: mod/admin.php:1535 +#: mod/admin.php:1542 msgid "" "Which community pages should be available for visitors. Local users always " "see both pages." msgstr "" -#: mod/admin.php:1536 +#: mod/admin.php:1543 msgid "Posts per user on community page" msgstr "" -#: mod/admin.php:1536 +#: mod/admin.php:1543 msgid "" "The maximum number of posts per user on the community page. (Not valid for " "'Global Community')" msgstr "" -#: mod/admin.php:1537 +#: mod/admin.php:1544 msgid "Enable OStatus support" msgstr "" -#: mod/admin.php:1537 +#: mod/admin.php:1544 msgid "" "Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All " "communications in OStatus are public, so privacy warnings will be " "occasionally displayed." msgstr "" -#: mod/admin.php:1538 +#: mod/admin.php:1545 msgid "Only import OStatus/ActivityPub threads from our contacts" msgstr "" -#: mod/admin.php:1538 +#: mod/admin.php:1545 msgid "" "Normally we import every content from our OStatus and ActivityPub contacts. " "With this option we only store threads that are started by a contact that is " "known on our system." msgstr "" -#: mod/admin.php:1539 +#: mod/admin.php:1546 msgid "OStatus support can only be enabled if threading is enabled." msgstr "" -#: mod/admin.php:1541 +#: mod/admin.php:1548 msgid "" "Diaspora support can't be enabled because Friendica was installed into a sub " "directory." msgstr "" -#: mod/admin.php:1542 +#: mod/admin.php:1549 msgid "Enable Diaspora support" msgstr "" -#: mod/admin.php:1542 +#: mod/admin.php:1549 msgid "Provide built-in Diaspora network compatibility." msgstr "" -#: mod/admin.php:1543 +#: mod/admin.php:1550 msgid "Only allow Friendica contacts" msgstr "" -#: mod/admin.php:1543 +#: mod/admin.php:1550 msgid "" "All contacts must use Friendica protocols. All other built-in communication " "protocols disabled." msgstr "" -#: mod/admin.php:1544 +#: mod/admin.php:1551 msgid "Verify SSL" msgstr "" -#: mod/admin.php:1544 +#: mod/admin.php:1551 msgid "" "If you wish, you can turn on strict certificate checking. This will mean you " "cannot connect (at all) to self-signed SSL sites." msgstr "" -#: mod/admin.php:1545 +#: mod/admin.php:1552 msgid "Proxy user" msgstr "" -#: mod/admin.php:1546 +#: mod/admin.php:1553 msgid "Proxy URL" msgstr "" -#: mod/admin.php:1547 +#: mod/admin.php:1554 msgid "Network timeout" msgstr "" -#: mod/admin.php:1547 +#: mod/admin.php:1554 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "" -#: mod/admin.php:1548 +#: mod/admin.php:1555 msgid "Maximum Load Average" msgstr "" -#: mod/admin.php:1548 +#: mod/admin.php:1555 msgid "" "Maximum system load before delivery and poll processes are deferred - " "default 50." msgstr "" -#: mod/admin.php:1549 +#: mod/admin.php:1556 msgid "Maximum Load Average (Frontend)" msgstr "" -#: mod/admin.php:1549 +#: mod/admin.php:1556 msgid "Maximum system load before the frontend quits service - default 50." msgstr "" -#: mod/admin.php:1550 +#: mod/admin.php:1557 msgid "Minimal Memory" msgstr "" -#: mod/admin.php:1550 +#: mod/admin.php:1557 msgid "" "Minimal free memory in MB for the worker. Needs access to /proc/meminfo - " "default 0 (deactivated)." msgstr "" -#: mod/admin.php:1551 +#: mod/admin.php:1558 msgid "Maximum table size for optimization" msgstr "" -#: mod/admin.php:1551 +#: mod/admin.php:1558 msgid "" "Maximum table size (in MB) for the automatic optimization. Enter -1 to " "disable it." msgstr "" -#: mod/admin.php:1552 +#: mod/admin.php:1559 msgid "Minimum level of fragmentation" msgstr "" -#: mod/admin.php:1552 +#: mod/admin.php:1559 msgid "" "Minimum fragmenation level to start the automatic optimization - default " "value is 30%." msgstr "" -#: mod/admin.php:1554 +#: mod/admin.php:1561 msgid "Periodical check of global contacts" msgstr "" -#: mod/admin.php:1554 +#: mod/admin.php:1561 msgid "" "If enabled, the global contacts are checked periodically for missing or " "outdated data and the vitality of the contacts and servers." msgstr "" -#: mod/admin.php:1555 +#: mod/admin.php:1562 msgid "Days between requery" msgstr "" -#: mod/admin.php:1555 +#: mod/admin.php:1562 msgid "Number of days after which a server is requeried for his contacts." msgstr "" -#: mod/admin.php:1556 +#: mod/admin.php:1563 msgid "Discover contacts from other servers" msgstr "" -#: mod/admin.php:1556 +#: mod/admin.php:1563 msgid "" "Periodically query other servers for contacts. You can choose between " "'users': the users on the remote system, 'Global Contacts': active contacts " @@ -2370,32 +2062,32 @@ msgid "" "Global Contacts'." msgstr "" -#: mod/admin.php:1557 +#: mod/admin.php:1564 msgid "Timeframe for fetching global contacts" msgstr "" -#: mod/admin.php:1557 +#: mod/admin.php:1564 msgid "" "When the discovery is activated, this value defines the timeframe for the " "activity of the global contacts that are fetched from other servers." msgstr "" -#: mod/admin.php:1558 +#: mod/admin.php:1565 msgid "Search the local directory" msgstr "" -#: mod/admin.php:1558 +#: mod/admin.php:1565 msgid "" "Search the local directory instead of the global directory. When searching " "locally, every search will be executed on the global directory in the " "background. This improves the search results when the search is repeated." msgstr "" -#: mod/admin.php:1560 +#: mod/admin.php:1567 msgid "Publish server information" msgstr "" -#: mod/admin.php:1560 +#: mod/admin.php:1567 msgid "" "If enabled, general server and usage data will be published. The data " "contains the name and version of the server, number of users with public " @@ -2403,50 +2095,50 @@ msgid "" "href='http://the-federation.info/'>the-federation.info for details." msgstr "" -#: mod/admin.php:1562 +#: mod/admin.php:1569 msgid "Check upstream version" msgstr "" -#: mod/admin.php:1562 +#: mod/admin.php:1569 msgid "" "Enables checking for new Friendica versions at github. If there is a new " "version, you will be informed in the admin panel overview." msgstr "" -#: mod/admin.php:1563 +#: mod/admin.php:1570 msgid "Suppress Tags" msgstr "" -#: mod/admin.php:1563 +#: mod/admin.php:1570 msgid "Suppress showing a list of hashtags at the end of the posting." msgstr "" -#: mod/admin.php:1564 +#: mod/admin.php:1571 msgid "Clean database" msgstr "" -#: mod/admin.php:1564 +#: mod/admin.php:1571 msgid "" "Remove old remote items, orphaned database records and old content from some " "other helper tables." msgstr "" -#: mod/admin.php:1565 +#: mod/admin.php:1572 msgid "Lifespan of remote items" msgstr "" -#: mod/admin.php:1565 +#: mod/admin.php:1572 msgid "" "When the database cleanup is enabled, this defines the days after which " "remote items will be deleted. Own items, and marked or filed items are " "always kept. 0 disables this behaviour." msgstr "" -#: mod/admin.php:1566 +#: mod/admin.php:1573 msgid "Lifespan of unclaimed items" msgstr "" -#: mod/admin.php:1566 +#: mod/admin.php:1573 msgid "" "When the database cleanup is enabled, this defines the days after which " "unclaimed remote items (mostly content from the relay) will be deleted. " @@ -2454,141 +2146,141 @@ msgid "" "items if set to 0." msgstr "" -#: mod/admin.php:1567 +#: mod/admin.php:1574 msgid "Lifespan of raw conversation data" msgstr "" -#: mod/admin.php:1567 +#: mod/admin.php:1574 msgid "" "The conversation data is used for ActivityPub and OStatus, as well as for " "debug purposes. It should be safe to remove it after 14 days, default is 90 " "days." msgstr "" -#: mod/admin.php:1568 +#: mod/admin.php:1575 msgid "Path to item cache" msgstr "" -#: mod/admin.php:1568 +#: mod/admin.php:1575 msgid "The item caches buffers generated bbcode and external images." msgstr "" -#: mod/admin.php:1569 +#: mod/admin.php:1576 msgid "Cache duration in seconds" msgstr "" -#: mod/admin.php:1569 +#: mod/admin.php:1576 msgid "" "How long should the cache files be hold? Default value is 86400 seconds (One " "day). To disable the item cache, set the value to -1." msgstr "" -#: mod/admin.php:1570 +#: mod/admin.php:1577 msgid "Maximum numbers of comments per post" msgstr "" -#: mod/admin.php:1570 +#: mod/admin.php:1577 msgid "How much comments should be shown for each post? Default value is 100." msgstr "" -#: mod/admin.php:1571 +#: mod/admin.php:1578 msgid "Temp path" msgstr "" -#: mod/admin.php:1571 +#: mod/admin.php:1578 msgid "" "If you have a restricted system where the webserver can't access the system " "temp path, enter another path here." msgstr "" -#: mod/admin.php:1572 +#: mod/admin.php:1579 msgid "Base path to installation" msgstr "" -#: mod/admin.php:1572 +#: mod/admin.php:1579 msgid "" "If the system cannot detect the correct path to your installation, enter the " "correct path here. This setting should only be set if you are using a " "restricted system and symbolic links to your webroot." msgstr "" -#: mod/admin.php:1573 +#: mod/admin.php:1580 msgid "Disable picture proxy" msgstr "" -#: mod/admin.php:1573 +#: mod/admin.php:1580 msgid "" "The picture proxy increases performance and privacy. It shouldn't be used on " "systems with very low bandwidth." msgstr "" -#: mod/admin.php:1574 +#: mod/admin.php:1581 msgid "Only search in tags" msgstr "" -#: mod/admin.php:1574 +#: mod/admin.php:1581 msgid "On large systems the text search can slow down the system extremely." msgstr "" -#: mod/admin.php:1576 +#: mod/admin.php:1583 msgid "New base url" msgstr "" -#: mod/admin.php:1576 +#: mod/admin.php:1583 msgid "" "Change base url for this server. Sends relocate message to all Friendica and " "Diaspora* contacts of all users." msgstr "" -#: mod/admin.php:1578 +#: mod/admin.php:1585 msgid "RINO Encryption" msgstr "" -#: mod/admin.php:1578 +#: mod/admin.php:1585 msgid "Encryption layer between nodes." msgstr "" -#: mod/admin.php:1578 +#: mod/admin.php:1585 msgid "Enabled" msgstr "" -#: mod/admin.php:1580 +#: mod/admin.php:1587 msgid "Maximum number of parallel workers" msgstr "" -#: mod/admin.php:1580 +#: mod/admin.php:1587 #, php-format msgid "" "On shared hosters set this to %d. On larger systems, values of %d are great. " "Default value is %d." msgstr "" -#: mod/admin.php:1581 +#: mod/admin.php:1588 msgid "Don't use 'proc_open' with the worker" msgstr "" -#: mod/admin.php:1581 +#: mod/admin.php:1588 msgid "" "Enable this if your system doesn't allow the use of 'proc_open'. This can " "happen on shared hosters. If this is enabled you should increase the " "frequency of worker calls in your crontab." msgstr "" -#: mod/admin.php:1582 +#: mod/admin.php:1589 msgid "Enable fastlane" msgstr "" -#: mod/admin.php:1582 +#: mod/admin.php:1589 msgid "" "When enabed, the fastlane mechanism starts an additional worker if processes " "with higher priority are blocked by processes of lower priority." msgstr "" -#: mod/admin.php:1583 +#: mod/admin.php:1590 msgid "Enable frontend worker" msgstr "" -#: mod/admin.php:1583 +#: mod/admin.php:1590 #, php-format msgid "" "When enabled the Worker process is triggered when backend access is " @@ -2598,135 +2290,135 @@ msgid "" "on your server." msgstr "" -#: mod/admin.php:1585 +#: mod/admin.php:1592 msgid "Subscribe to relay" msgstr "" -#: mod/admin.php:1585 +#: mod/admin.php:1592 msgid "" "Enables the receiving of public posts from the relay. They will be included " "in the search, subscribed tags and on the global community page." msgstr "" -#: mod/admin.php:1586 +#: mod/admin.php:1593 msgid "Relay server" msgstr "" -#: mod/admin.php:1586 +#: mod/admin.php:1593 msgid "" "Address of the relay server where public posts should be send to. For " "example https://relay.diasp.org" msgstr "" -#: mod/admin.php:1587 +#: mod/admin.php:1594 msgid "Direct relay transfer" msgstr "" -#: mod/admin.php:1587 +#: mod/admin.php:1594 msgid "" "Enables the direct transfer to other servers without using the relay servers" msgstr "" -#: mod/admin.php:1588 +#: mod/admin.php:1595 msgid "Relay scope" msgstr "" -#: mod/admin.php:1588 +#: mod/admin.php:1595 msgid "" "Can be 'all' or 'tags'. 'all' means that every public post should be " "received. 'tags' means that only posts with selected tags should be received." msgstr "" -#: mod/admin.php:1588 +#: mod/admin.php:1595 msgid "all" msgstr "" -#: mod/admin.php:1588 +#: mod/admin.php:1595 msgid "tags" msgstr "" -#: mod/admin.php:1589 +#: mod/admin.php:1596 msgid "Server tags" msgstr "" -#: mod/admin.php:1589 +#: mod/admin.php:1596 msgid "Comma separated list of tags for the 'tags' subscription." msgstr "" -#: mod/admin.php:1590 +#: mod/admin.php:1597 msgid "Allow user tags" msgstr "" -#: mod/admin.php:1590 +#: mod/admin.php:1597 msgid "" "If enabled, the tags from the saved searches will used for the 'tags' " "subscription in addition to the 'relay_server_tags'." msgstr "" -#: mod/admin.php:1593 +#: mod/admin.php:1600 msgid "Start Relocation" msgstr "" -#: mod/admin.php:1619 +#: mod/admin.php:1626 msgid "Update has been marked successful" msgstr "" -#: mod/admin.php:1626 +#: mod/admin.php:1633 #, php-format msgid "Database structure update %s was successfully applied." msgstr "" -#: mod/admin.php:1630 +#: mod/admin.php:1637 #, php-format msgid "Executing of database structure update %s failed with error: %s" msgstr "" -#: mod/admin.php:1646 +#: mod/admin.php:1653 #, php-format msgid "Executing %s failed with error: %s" msgstr "" -#: mod/admin.php:1648 +#: mod/admin.php:1655 #, php-format msgid "Update %s was successfully applied." msgstr "" -#: mod/admin.php:1651 +#: mod/admin.php:1658 #, php-format msgid "Update %s did not return a status. Unknown if it succeeded." msgstr "" -#: mod/admin.php:1654 +#: mod/admin.php:1661 #, php-format msgid "There was no additional update function %s that needed to be called." msgstr "" -#: mod/admin.php:1677 +#: mod/admin.php:1684 msgid "No failed updates." msgstr "" -#: mod/admin.php:1678 +#: mod/admin.php:1685 msgid "Check database structure" msgstr "" -#: mod/admin.php:1683 +#: mod/admin.php:1690 msgid "Failed Updates" msgstr "" -#: mod/admin.php:1684 +#: mod/admin.php:1691 msgid "" "This does not include updates prior to 1139, which did not return a status." msgstr "" -#: mod/admin.php:1685 +#: mod/admin.php:1692 msgid "Mark success (if update was manually applied)" msgstr "" -#: mod/admin.php:1686 +#: mod/admin.php:1693 msgid "Attempt to execute this update step automatically" msgstr "" -#: mod/admin.php:1725 +#: mod/admin.php:1732 #, php-format msgid "" "\n" @@ -2734,7 +2426,7 @@ msgid "" "\t\t\t\tthe administrator of %2$s has set up an account for you." msgstr "" -#: mod/admin.php:1728 +#: mod/admin.php:1735 #, php-format msgid "" "\n" @@ -2773,212 +2465,221 @@ msgid "" "\t\t\tThank you and welcome to %4$s." msgstr "" -#: mod/admin.php:1765 src/Model/User.php:772 +#: mod/admin.php:1772 src/Model/User.php:773 #, php-format msgid "Registration details for %s" msgstr "" -#: mod/admin.php:1775 +#: mod/admin.php:1782 #, php-format msgid "%s user blocked/unblocked" msgid_plural "%s users blocked/unblocked" msgstr[0] "" msgstr[1] "" -#: mod/admin.php:1781 +#: mod/admin.php:1789 mod/admin.php:1842 +msgid "You can't remove yourself" +msgstr "" + +#: mod/admin.php:1792 #, php-format msgid "%s user deleted" msgid_plural "%s users deleted" msgstr[0] "" msgstr[1] "" -#: mod/admin.php:1828 +#: mod/admin.php:1840 #, php-format msgid "User '%s' deleted" msgstr "" -#: mod/admin.php:1836 +#: mod/admin.php:1851 #, php-format msgid "User '%s' unblocked" msgstr "" -#: mod/admin.php:1836 +#: mod/admin.php:1851 #, php-format msgid "User '%s' blocked" msgstr "" -#: mod/admin.php:1884 mod/settings.php:1064 +#: mod/admin.php:1899 mod/settings.php:1064 msgid "Normal Account Page" msgstr "" -#: mod/admin.php:1885 mod/settings.php:1068 +#: mod/admin.php:1900 mod/settings.php:1068 msgid "Soapbox Page" msgstr "" -#: mod/admin.php:1886 mod/settings.php:1072 +#: mod/admin.php:1901 mod/settings.php:1072 msgid "Public Forum" msgstr "" -#: mod/admin.php:1887 mod/settings.php:1076 +#: mod/admin.php:1902 mod/settings.php:1076 msgid "Automatic Friend Page" msgstr "" -#: mod/admin.php:1888 +#: mod/admin.php:1903 msgid "Private Forum" msgstr "" -#: mod/admin.php:1891 mod/settings.php:1048 +#: mod/admin.php:1906 mod/settings.php:1048 msgid "Personal Page" msgstr "" -#: mod/admin.php:1892 mod/settings.php:1052 +#: mod/admin.php:1907 mod/settings.php:1052 msgid "Organisation Page" msgstr "" -#: mod/admin.php:1893 mod/settings.php:1056 +#: mod/admin.php:1908 mod/settings.php:1056 msgid "News Page" msgstr "" -#: mod/admin.php:1894 mod/settings.php:1060 +#: mod/admin.php:1909 mod/settings.php:1060 msgid "Community Forum" msgstr "" -#: mod/admin.php:1940 mod/admin.php:1951 mod/admin.php:1965 mod/admin.php:1983 +#: mod/admin.php:1955 mod/admin.php:1966 mod/admin.php:1980 mod/admin.php:1998 #: src/Content/ContactSelector.php:84 msgid "Email" msgstr "" -#: mod/admin.php:1940 mod/admin.php:1965 +#: mod/admin.php:1955 mod/admin.php:1980 msgid "Register date" msgstr "" -#: mod/admin.php:1940 mod/admin.php:1965 +#: mod/admin.php:1955 mod/admin.php:1980 msgid "Last login" msgstr "" -#: mod/admin.php:1940 mod/admin.php:1965 +#: mod/admin.php:1955 mod/admin.php:1980 msgid "Last item" msgstr "" -#: mod/admin.php:1940 +#: mod/admin.php:1955 msgid "Type" msgstr "" -#: mod/admin.php:1947 +#: mod/admin.php:1962 msgid "Add User" msgstr "" -#: mod/admin.php:1949 +#: mod/admin.php:1964 msgid "User registrations waiting for confirm" msgstr "" -#: mod/admin.php:1950 +#: mod/admin.php:1965 msgid "User waiting for permanent deletion" msgstr "" -#: mod/admin.php:1951 +#: mod/admin.php:1966 msgid "Request date" msgstr "" -#: mod/admin.php:1952 +#: mod/admin.php:1967 msgid "No registrations." msgstr "" -#: mod/admin.php:1953 +#: mod/admin.php:1968 msgid "Note from the user" msgstr "" -#: mod/admin.php:1954 mod/notifications.php:181 mod/notifications.php:267 +#: mod/admin.php:1969 mod/notifications.php:181 mod/notifications.php:267 msgid "Approve" msgstr "" -#: mod/admin.php:1955 +#: mod/admin.php:1970 msgid "Deny" msgstr "" -#: mod/admin.php:1958 +#: mod/admin.php:1973 msgid "User blocked" msgstr "" -#: mod/admin.php:1960 +#: mod/admin.php:1975 msgid "Site admin" msgstr "" -#: mod/admin.php:1961 +#: mod/admin.php:1976 msgid "Account expired" msgstr "" -#: mod/admin.php:1964 +#: mod/admin.php:1979 msgid "New User" msgstr "" -#: mod/admin.php:1965 +#: mod/admin.php:1980 msgid "Delete in" msgstr "" -#: mod/admin.php:1970 +#: mod/admin.php:1985 msgid "" "Selected users will be deleted!\\n\\nEverything these users had posted on " "this site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: mod/admin.php:1971 +#: mod/admin.php:1986 msgid "" "The user {0} will be deleted!\\n\\nEverything this user has posted on this " "site will be permanently deleted!\\n\\nAre you sure?" msgstr "" -#: mod/admin.php:1981 +#: mod/admin.php:1996 msgid "Name of the new user." msgstr "" -#: mod/admin.php:1982 +#: mod/admin.php:1997 msgid "Nickname" msgstr "" -#: mod/admin.php:1982 +#: mod/admin.php:1997 msgid "Nickname of the new user." msgstr "" -#: mod/admin.php:1983 +#: mod/admin.php:1998 msgid "Email address of the new user." msgstr "" -#: mod/admin.php:2024 +#: mod/admin.php:2039 #, php-format msgid "Addon %s disabled." msgstr "" -#: mod/admin.php:2027 +#: mod/admin.php:2042 #, php-format msgid "Addon %s enabled." msgstr "" -#: mod/admin.php:2038 mod/admin.php:2287 +#: mod/admin.php:2053 mod/admin.php:2302 msgid "Disable" msgstr "" -#: mod/admin.php:2041 mod/admin.php:2290 +#: mod/admin.php:2056 mod/admin.php:2305 msgid "Enable" msgstr "" -#: mod/admin.php:2063 mod/admin.php:2333 +#: mod/admin.php:2078 mod/admin.php:2348 msgid "Toggle" msgstr "" -#: mod/admin.php:2071 mod/admin.php:2342 +#: mod/admin.php:2079 mod/admin.php:2349 mod/newmember.php:19 +#: mod/settings.php:136 src/Content/Nav.php:260 view/theme/frio/theme.php:283 +msgid "Settings" +msgstr "" + +#: mod/admin.php:2086 mod/admin.php:2357 msgid "Author: " msgstr "" -#: mod/admin.php:2072 mod/admin.php:2343 +#: mod/admin.php:2087 mod/admin.php:2358 msgid "Maintainer: " msgstr "" -#: mod/admin.php:2124 +#: mod/admin.php:2139 msgid "Reload active addons" msgstr "" -#: mod/admin.php:2129 +#: mod/admin.php:2144 #, php-format msgid "" "There are currently no addons available on your node. You can find the " @@ -2986,70 +2687,70 @@ msgid "" "the open addon registry at %2$s" msgstr "" -#: mod/admin.php:2249 +#: mod/admin.php:2264 msgid "No themes found." msgstr "" -#: mod/admin.php:2324 +#: mod/admin.php:2339 msgid "Screenshot" msgstr "" -#: mod/admin.php:2378 +#: mod/admin.php:2393 msgid "Reload active themes" msgstr "" -#: mod/admin.php:2383 +#: mod/admin.php:2398 #, php-format msgid "No themes found on the system. They should be placed in %1$s" msgstr "" -#: mod/admin.php:2384 +#: mod/admin.php:2399 msgid "[Experimental]" msgstr "" -#: mod/admin.php:2385 +#: mod/admin.php:2400 msgid "[Unsupported]" msgstr "" -#: mod/admin.php:2409 +#: mod/admin.php:2424 msgid "Log settings updated." msgstr "" -#: mod/admin.php:2442 +#: mod/admin.php:2457 msgid "PHP log currently enabled." msgstr "" -#: mod/admin.php:2444 +#: mod/admin.php:2459 msgid "PHP log currently disabled." msgstr "" -#: mod/admin.php:2453 +#: mod/admin.php:2468 msgid "Clear" msgstr "" -#: mod/admin.php:2457 +#: mod/admin.php:2472 msgid "Enable Debugging" msgstr "" -#: mod/admin.php:2458 +#: mod/admin.php:2473 msgid "Log file" msgstr "" -#: mod/admin.php:2458 +#: mod/admin.php:2473 msgid "" "Must be writable by web server. Relative to your Friendica top-level " "directory." msgstr "" -#: mod/admin.php:2459 +#: mod/admin.php:2474 msgid "Log level" msgstr "" -#: mod/admin.php:2461 +#: mod/admin.php:2476 msgid "PHP logging" msgstr "" -#: mod/admin.php:2462 +#: mod/admin.php:2477 msgid "" "To temporarily enable logging of PHP errors and warnings you can prepend the " "following to the index.php file of your installation. The filename set in " @@ -3058,34 +2759,34 @@ msgid "" "'display_errors' is to enable these options, set to '0' to disable them." msgstr "" -#: mod/admin.php:2493 +#: mod/admin.php:2508 #, php-format msgid "" "Error trying to open %1$s log file.\\r\\n
Check to see " "if file %1$s exist and is readable." msgstr "" -#: mod/admin.php:2497 +#: mod/admin.php:2512 #, php-format msgid "" "Couldn't open %1$s log file.\\r\\n
Check to see if file " "%1$s is readable." msgstr "" -#: mod/admin.php:2588 mod/admin.php:2589 mod/settings.php:778 +#: mod/admin.php:2603 mod/admin.php:2604 mod/settings.php:778 msgid "Off" msgstr "" -#: mod/admin.php:2588 mod/admin.php:2589 mod/settings.php:778 +#: mod/admin.php:2603 mod/admin.php:2604 mod/settings.php:778 msgid "On" msgstr "" -#: mod/admin.php:2589 +#: mod/admin.php:2604 #, php-format msgid "Lock feature %s" msgstr "" -#: mod/admin.php:2597 +#: mod/admin.php:2612 msgid "Manage Additional Features" msgstr "" @@ -3126,7 +2827,7 @@ msgstr "" msgid "No" msgstr "" -#: mod/apps.php:15 src/App.php:1618 +#: mod/apps.php:15 src/App.php:1656 msgid "You must be logged in to use addons. " msgstr "" @@ -3138,6 +2839,14 @@ msgstr "" msgid "No installed applications." msgstr "" +#: mod/attach.php:16 +msgid "Item not available." +msgstr "" + +#: mod/attach.php:26 +msgid "Item was not found." +msgstr "" + #: mod/babel.php:25 msgid "Source input" msgstr "" @@ -3246,8 +2955,13 @@ msgstr "" msgid "The post was created" msgstr "" +#: mod/cal.php:35 mod/cal.php:39 mod/community.php:38 mod/follow.php:21 +#: mod/viewcontacts.php:23 mod/viewcontacts.php:27 mod/viewsrc.php:13 +msgid "Access denied." +msgstr "" + #: mod/cal.php:47 mod/dfrn_poll.php:493 mod/help.php:67 mod/viewcontacts.php:38 -#: src/App.php:1669 +#: src/App.php:1707 msgid "Page not found." msgstr "" @@ -3255,9 +2969,9 @@ msgstr "" msgid "Access to this profile has been restricted." msgstr "" -#: mod/cal.php:274 mod/events.php:390 view/theme/frio/theme.php:277 -#: view/theme/frio/theme.php:281 src/Content/Nav.php:157 -#: src/Content/Nav.php:223 src/Model/Profile.php:928 src/Model/Profile.php:939 +#: mod/cal.php:274 mod/events.php:390 src/Content/Nav.php:157 +#: src/Content/Nav.php:223 src/Model/Profile.php:937 src/Model/Profile.php:948 +#: view/theme/frio/theme.php:277 view/theme/frio/theme.php:281 msgid "Events" msgstr "" @@ -3273,22 +2987,22 @@ msgstr "" msgid "Next" msgstr "" -#: mod/cal.php:280 mod/events.php:399 src/Model/Event.php:425 +#: mod/cal.php:280 mod/events.php:399 src/Model/Event.php:430 msgid "today" msgstr "" -#: mod/cal.php:281 mod/events.php:400 src/Util/Temporal.php:312 -#: src/Model/Event.php:426 +#: mod/cal.php:281 mod/events.php:400 src/Model/Event.php:431 +#: src/Util/Temporal.php:312 msgid "month" msgstr "" -#: mod/cal.php:282 mod/events.php:401 src/Util/Temporal.php:313 -#: src/Model/Event.php:427 +#: mod/cal.php:282 mod/events.php:401 src/Model/Event.php:432 +#: src/Util/Temporal.php:313 msgid "week" msgstr "" -#: mod/cal.php:283 mod/events.php:402 src/Util/Temporal.php:314 -#: src/Model/Event.php:428 +#: mod/cal.php:283 mod/events.php:402 src/Model/Event.php:433 +#: src/Util/Temporal.php:314 msgid "day" msgstr "" @@ -3296,7 +3010,7 @@ msgstr "" msgid "list" msgstr "" -#: mod/cal.php:297 src/Core/Console/NewPassword.php:68 src/Model/User.php:259 +#: mod/cal.php:297 src/Core/Console/NewPassword.php:68 src/Model/User.php:260 msgid "User not found" msgstr "" @@ -3320,6 +3034,13 @@ msgstr "" msgid "Common Friends" msgstr "" +#: mod/community.php:31 mod/dfrn_request.php:602 mod/directory.php:43 +#: mod/display.php:203 mod/photos.php:945 mod/probe.php:13 mod/search.php:106 +#: mod/search.php:112 mod/videos.php:194 mod/viewcontacts.php:51 +#: mod/webfinger.php:16 +msgid "Public access denied." +msgstr "" + #: mod/community.php:74 msgid "Community option not available." msgstr "" @@ -3410,6 +3131,18 @@ msgstr "" msgid "Refetch contact data" msgstr "" +#: mod/crepair.php:151 mod/events.php:559 mod/fsuggest.php:115 +#: mod/invite.php:154 mod/localtime.php:56 mod/manage.php:185 +#: mod/message.php:265 mod/message.php:426 mod/photos.php:1093 +#: mod/photos.php:1181 mod/photos.php:1456 mod/photos.php:1501 +#: mod/photos.php:1540 mod/photos.php:1600 mod/poke.php:194 +#: mod/profiles.php:578 src/Module/Contact.php:600 src/Module/Install.php:189 +#: src/Module/Install.php:224 src/Object/Post.php:813 +#: view/theme/duepuntozero/config.php:72 view/theme/frio/config.php:119 +#: view/theme/quattro/config.php:74 view/theme/vier/config.php:120 +msgid "Submit" +msgstr "" + #: mod/crepair.php:152 msgid "Remote Self" msgstr "" @@ -3777,31 +3510,31 @@ msgid "Submit Request" msgstr "" #: mod/directory.php:154 mod/events.php:547 mod/notifications.php:251 -#: src/Model/Event.php:70 src/Model/Event.php:97 src/Model/Event.php:434 -#: src/Model/Event.php:925 src/Model/Profile.php:434 src/Module/Contact.php:650 +#: src/Model/Event.php:70 src/Model/Event.php:97 src/Model/Event.php:439 +#: src/Model/Event.php:930 src/Model/Profile.php:434 src/Module/Contact.php:650 msgid "Location:" msgstr "" #: mod/directory.php:159 mod/notifications.php:257 src/Model/Profile.php:437 -#: src/Model/Profile.php:749 +#: src/Model/Profile.php:758 msgid "Gender:" msgstr "" -#: mod/directory.php:160 src/Model/Profile.php:438 src/Model/Profile.php:773 +#: mod/directory.php:160 src/Model/Profile.php:438 src/Model/Profile.php:782 msgid "Status:" msgstr "" -#: mod/directory.php:161 src/Model/Profile.php:439 src/Model/Profile.php:790 +#: mod/directory.php:161 src/Model/Profile.php:439 src/Model/Profile.php:799 msgid "Homepage:" msgstr "" #: mod/directory.php:162 mod/notifications.php:253 src/Model/Profile.php:440 -#: src/Model/Profile.php:810 src/Module/Contact.php:654 +#: src/Model/Profile.php:819 src/Module/Contact.php:654 msgid "About:" msgstr "" -#: mod/directory.php:210 view/theme/vier/theme.php:208 -#: src/Content/Widget.php:72 +#: mod/directory.php:210 src/Content/Widget.php:72 +#: view/theme/vier/theme.php:208 msgid "Global Directory" msgstr "" @@ -3817,8 +3550,8 @@ msgstr "" msgid "Site Directory" msgstr "" -#: mod/directory.php:217 view/theme/vier/theme.php:203 -#: src/Content/Widget.php:67 src/Module/Contact.php:822 +#: mod/directory.php:217 src/Content/Widget.php:67 src/Module/Contact.php:822 +#: view/theme/vier/theme.php:203 msgid "Find" msgstr "" @@ -3848,6 +3581,11 @@ msgstr "" msgid "Edit post" msgstr "" +#: mod/editpost.php:94 mod/filer.php:38 mod/notes.php:54 +#: src/Content/Text/HTML.php:961 +msgid "Save" +msgstr "" + #: mod/editpost.php:99 mod/message.php:263 mod/message.php:425 #: mod/wallmessage.php:140 msgid "Insert web link" @@ -3933,7 +3671,7 @@ msgstr "" msgid "Share this event" msgstr "" -#: mod/events.php:560 src/Model/Profile.php:868 +#: mod/events.php:560 src/Model/Profile.php:877 msgid "Basic" msgstr "" @@ -3950,8 +3688,8 @@ msgstr "" msgid "Event removed" msgstr "" -#: mod/fbrowser.php:36 view/theme/frio/theme.php:275 src/Content/Nav.php:155 -#: src/Model/Profile.php:908 +#: mod/fbrowser.php:36 src/Content/Nav.php:155 src/Model/Profile.php:917 +#: view/theme/frio/theme.php:275 msgid "Photos" msgstr "" @@ -3979,7 +3717,7 @@ msgid "Source URL" msgstr "" #: mod/fetch.php:21 mod/fetch.php:48 mod/fetch.php:55 mod/help.php:64 -#: src/App.php:1666 +#: src/App.php:1704 msgid "Not Found" msgstr "" @@ -4007,12 +3745,12 @@ msgstr "" msgid "The network type couldn't be detected. Contact can't be added." msgstr "" -#: mod/follow.php:181 mod/notifications.php:255 src/Model/Profile.php:798 +#: mod/follow.php:181 mod/notifications.php:255 src/Model/Profile.php:807 #: src/Module/Contact.php:656 msgid "Tags:" msgstr "" -#: mod/follow.php:193 mod/unfollow.php:149 src/Model/Profile.php:895 +#: mod/follow.php:193 mod/unfollow.php:149 src/Model/Profile.php:904 #: src/Module/Contact.php:869 msgid "Status Messages and Posts" msgstr "" @@ -4089,7 +3827,7 @@ msgstr "" msgid "Group name changed." msgstr "" -#: mod/group.php:87 mod/profperm.php:30 src/App.php:1747 +#: mod/group.php:87 mod/profperm.php:30 src/App.php:1785 msgid "Permission denied" msgstr "" @@ -4106,11 +3844,11 @@ msgid "Create a group of contacts/friends." msgstr "" #: mod/group.php:112 mod/group.php:136 mod/group.php:229 -#: src/Model/Group.php:414 +#: src/Model/Group.php:419 msgid "Group Name: " msgstr "" -#: mod/group.php:127 src/Model/Group.php:411 +#: mod/group.php:127 src/Model/Group.php:416 msgid "Contacts not in any group" msgstr "" @@ -4154,11 +3892,15 @@ msgstr "" msgid "Add contact to group" msgstr "" +#: mod/hcard.php:19 +msgid "No profile" +msgstr "" + #: mod/help.php:51 msgid "Help:" msgstr "" -#: mod/help.php:58 view/theme/vier/theme.php:297 src/Content/Nav.php:187 +#: mod/help.php:58 src/Content/Nav.php:187 view/theme/vier/theme.php:297 msgid "Help" msgstr "" @@ -4306,6 +4048,47 @@ msgstr "" msgid "%s posted an update." msgstr "" +#: mod/localtime.php:19 src/Model/Event.php:38 src/Model/Event.php:844 +msgid "l F d, Y \\@ g:i A" +msgstr "" + +#: mod/localtime.php:33 +msgid "Time Conversion" +msgstr "" + +#: mod/localtime.php:35 +msgid "" +"Friendica provides this service for sharing events with other networks and " +"friends in unknown timezones." +msgstr "" + +#: mod/localtime.php:39 +#, php-format +msgid "UTC time: %s" +msgstr "" + +#: mod/localtime.php:42 +#, php-format +msgid "Current timezone: %s" +msgstr "" + +#: mod/localtime.php:46 +#, php-format +msgid "Converted localtime: %s" +msgstr "" + +#: mod/localtime.php:52 +msgid "Please select your timezone:" +msgstr "" + +#: mod/lockview.php:46 mod/lockview.php:57 +msgid "Remote privacy information not available." +msgstr "" + +#: mod/lockview.php:66 +msgid "Visible to:" +msgstr "" + #: mod/lostpass.php:30 msgid "No valid account found." msgstr "" @@ -4499,7 +4282,7 @@ msgstr "" msgid "Discard" msgstr "" -#: mod/message.php:125 view/theme/frio/theme.php:282 src/Content/Nav.php:249 +#: mod/message.php:125 src/Content/Nav.php:249 view/theme/frio/theme.php:282 msgid "Messages" msgstr "" @@ -4595,7 +4378,7 @@ msgstr "" msgid "Saved Searches" msgstr "" -#: mod/network.php:200 src/Model/Group.php:405 +#: mod/network.php:200 src/Model/Group.php:410 msgid "add" msgstr "" @@ -4680,6 +4463,190 @@ msgstr "" msgid "Favourite Posts" msgstr "" +#: mod/newmember.php:11 +msgid "Welcome to Friendica" +msgstr "" + +#: mod/newmember.php:12 +msgid "New Member Checklist" +msgstr "" + +#: mod/newmember.php:14 +msgid "" +"We would like to offer some tips and links to help make your experience " +"enjoyable. Click any item to visit the relevant page. A link to this page " +"will be visible from your home page for two weeks after your initial " +"registration and then will quietly disappear." +msgstr "" + +#: mod/newmember.php:15 +msgid "Getting Started" +msgstr "" + +#: mod/newmember.php:17 +msgid "Friendica Walk-Through" +msgstr "" + +#: mod/newmember.php:17 +msgid "" +"On your Quick Start page - find a brief introduction to your " +"profile and network tabs, make some new connections, and find some groups to " +"join." +msgstr "" + +#: mod/newmember.php:21 +msgid "Go to Your Settings" +msgstr "" + +#: mod/newmember.php:21 +msgid "" +"On your Settings page - change your initial password. Also make a " +"note of your Identity Address. This looks just like an email address - and " +"will be useful in making friends on the free social web." +msgstr "" + +#: mod/newmember.php:22 +msgid "" +"Review the other settings, particularly the privacy settings. An unpublished " +"directory listing is like having an unlisted phone number. In general, you " +"should probably publish your listing - unless all of your friends and " +"potential friends know exactly how to find you." +msgstr "" + +#: mod/newmember.php:24 mod/profperm.php:117 src/Content/Nav.php:154 +#: src/Model/Profile.php:743 src/Model/Profile.php:876 +#: src/Model/Profile.php:909 src/Module/Contact.php:661 +#: src/Module/Contact.php:874 view/theme/frio/theme.php:274 +msgid "Profile" +msgstr "" + +#: mod/newmember.php:26 mod/profiles.php:599 mod/profile_photo.php:250 +msgid "Upload Profile Photo" +msgstr "" + +#: mod/newmember.php:26 +msgid "" +"Upload a profile photo if you have not done so already. Studies have shown " +"that people with real photos of themselves are ten times more likely to make " +"friends than people who do not." +msgstr "" + +#: mod/newmember.php:27 +msgid "Edit Your Profile" +msgstr "" + +#: mod/newmember.php:27 +msgid "" +"Edit your default profile to your liking. Review the " +"settings for hiding your list of friends and hiding the profile from unknown " +"visitors." +msgstr "" + +#: mod/newmember.php:28 +msgid "Profile Keywords" +msgstr "" + +#: mod/newmember.php:28 +msgid "" +"Set some public keywords for your default profile which describe your " +"interests. We may be able to find other people with similar interests and " +"suggest friendships." +msgstr "" + +#: mod/newmember.php:30 +msgid "Connecting" +msgstr "" + +#: mod/newmember.php:36 +msgid "Importing Emails" +msgstr "" + +#: mod/newmember.php:36 +msgid "" +"Enter your email access information on your Connector Settings page if you " +"wish to import and interact with friends or mailing lists from your email " +"INBOX" +msgstr "" + +#: mod/newmember.php:39 +msgid "Go to Your Contacts Page" +msgstr "" + +#: mod/newmember.php:39 +msgid "" +"Your Contacts page is your gateway to managing friendships and connecting " +"with friends on other networks. Typically you enter their address or site " +"URL in the Add New Contact dialog." +msgstr "" + +#: mod/newmember.php:40 +msgid "Go to Your Site's Directory" +msgstr "" + +#: mod/newmember.php:40 +msgid "" +"The Directory page lets you find other people in this network or other " +"federated sites. Look for a Connect or Follow link on " +"their profile page. Provide your own Identity Address if requested." +msgstr "" + +#: mod/newmember.php:41 +msgid "Finding New People" +msgstr "" + +#: mod/newmember.php:41 +msgid "" +"On the side panel of the Contacts page are several tools to find new " +"friends. We can match people by interest, look up people by name or " +"interest, and provide suggestions based on network relationships. On a brand " +"new site, friend suggestions will usually begin to be populated within 24 " +"hours." +msgstr "" + +#: mod/newmember.php:43 src/Model/Group.php:411 src/Module/Contact.php:759 +msgid "Groups" +msgstr "" + +#: mod/newmember.php:45 +msgid "Group Your Contacts" +msgstr "" + +#: mod/newmember.php:45 +msgid "" +"Once you have made some friends, organize them into private conversation " +"groups from the sidebar of your Contacts page and then you can interact with " +"each group privately on your Network page." +msgstr "" + +#: mod/newmember.php:48 +msgid "Why Aren't My Posts Public?" +msgstr "" + +#: mod/newmember.php:48 +msgid "" +"Friendica respects your privacy. By default, your posts will only show up to " +"people you've added as friends. For more information, see the help section " +"from the link above." +msgstr "" + +#: mod/newmember.php:52 +msgid "Getting Help" +msgstr "" + +#: mod/newmember.php:54 +msgid "Go to the Help Section" +msgstr "" + +#: mod/newmember.php:54 +msgid "" +"Our help pages may be consulted for detail on other program " +"features and resources." +msgstr "" + +#: mod/notes.php:42 src/Model/Profile.php:959 +msgid "Personal Notes" +msgstr "" + #: mod/notifications.php:38 msgid "Invalid request identifier." msgstr "" @@ -4839,6 +4806,10 @@ msgstr "" msgid "Couldn't fetch friends for contact." msgstr "" +#: mod/ostatus_subscribe.php:70 mod/repair_ostatus.php:52 +msgid "Done" +msgstr "" + #: mod/ostatus_subscribe.php:84 msgid "success" msgstr "" @@ -4851,7 +4822,11 @@ msgstr "" msgid "ignored" msgstr "" -#: mod/photos.php:118 src/Model/Profile.php:911 +#: mod/ostatus_subscribe.php:94 mod/repair_ostatus.php:58 +msgid "Keep this window open until done." +msgstr "" + +#: mod/photos.php:118 src/Model/Profile.php:920 msgid "Photo Albums" msgstr "" @@ -5102,6 +5077,10 @@ msgstr "" msgid "Make this post private" msgstr "" +#: mod/probe.php:14 mod/webfinger.php:17 +msgid "Only logged in users are permitted to perform a probing." +msgstr "" + #: mod/profile.php:44 src/Model/Profile.php:132 msgid "Requested profile is not available." msgstr "" @@ -5121,62 +5100,6 @@ msgstr "" msgid "%s's comments" msgstr "" -#: mod/profile_photo.php:59 -msgid "Image uploaded but image cropping failed." -msgstr "" - -#: mod/profile_photo.php:91 mod/profile_photo.php:100 mod/profile_photo.php:109 -#: mod/profile_photo.php:317 -#, php-format -msgid "Image size reduction [%s] failed." -msgstr "" - -#: mod/profile_photo.php:128 -msgid "" -"Shift-reload the page or clear browser cache if the new photo does not " -"display immediately." -msgstr "" - -#: mod/profile_photo.php:136 -msgid "Unable to process image" -msgstr "" - -#: mod/profile_photo.php:248 -msgid "Upload File:" -msgstr "" - -#: mod/profile_photo.php:249 -msgid "Select a profile:" -msgstr "" - -#: mod/profile_photo.php:254 -msgid "or" -msgstr "" - -#: mod/profile_photo.php:255 -msgid "skip this step" -msgstr "" - -#: mod/profile_photo.php:255 -msgid "select a photo from your photo albums" -msgstr "" - -#: mod/profile_photo.php:268 -msgid "Crop Image" -msgstr "" - -#: mod/profile_photo.php:269 -msgid "Please adjust the image cropping for optimum viewing." -msgstr "" - -#: mod/profile_photo.php:271 -msgid "Done Editing" -msgstr "" - -#: mod/profile_photo.php:307 -msgid "Image uploaded successfully." -msgstr "" - #: mod/profiles.php:61 msgid "Profile deleted." msgstr "" @@ -5329,7 +5252,7 @@ msgstr "" msgid " Marital Status:" msgstr "" -#: mod/profiles.php:602 src/Model/Profile.php:786 +#: mod/profiles.php:602 src/Model/Profile.php:795 msgid "Sexual Preference:" msgstr "" @@ -5409,11 +5332,11 @@ msgstr "" msgid "Homepage URL:" msgstr "" -#: mod/profiles.php:629 src/Model/Profile.php:794 +#: mod/profiles.php:629 src/Model/Profile.php:803 msgid "Hometown:" msgstr "" -#: mod/profiles.php:630 src/Model/Profile.php:802 +#: mod/profiles.php:630 src/Model/Profile.php:811 msgid "Political Views:" msgstr "" @@ -5437,11 +5360,11 @@ msgstr "" msgid "(Used for searching profiles, never shown to others)" msgstr "" -#: mod/profiles.php:634 src/Model/Profile.php:818 +#: mod/profiles.php:634 src/Model/Profile.php:827 msgid "Likes:" msgstr "" -#: mod/profiles.php:635 src/Model/Profile.php:822 +#: mod/profiles.php:635 src/Model/Profile.php:831 msgid "Dislikes:" msgstr "" @@ -5501,6 +5424,62 @@ msgstr "" msgid "Create New Profile" msgstr "" +#: mod/profile_photo.php:59 +msgid "Image uploaded but image cropping failed." +msgstr "" + +#: mod/profile_photo.php:91 mod/profile_photo.php:100 mod/profile_photo.php:109 +#: mod/profile_photo.php:317 +#, php-format +msgid "Image size reduction [%s] failed." +msgstr "" + +#: mod/profile_photo.php:128 +msgid "" +"Shift-reload the page or clear browser cache if the new photo does not " +"display immediately." +msgstr "" + +#: mod/profile_photo.php:136 +msgid "Unable to process image" +msgstr "" + +#: mod/profile_photo.php:248 +msgid "Upload File:" +msgstr "" + +#: mod/profile_photo.php:249 +msgid "Select a profile:" +msgstr "" + +#: mod/profile_photo.php:254 +msgid "or" +msgstr "" + +#: mod/profile_photo.php:255 +msgid "skip this step" +msgstr "" + +#: mod/profile_photo.php:255 +msgid "select a photo from your photo albums" +msgstr "" + +#: mod/profile_photo.php:268 +msgid "Crop Image" +msgstr "" + +#: mod/profile_photo.php:269 +msgid "Please adjust the image cropping for optimum viewing." +msgstr "" + +#: mod/profile_photo.php:271 +msgid "Done Editing" +msgstr "" + +#: mod/profile_photo.php:307 +msgid "Image uploaded successfully." +msgstr "" + #: mod/profperm.php:36 mod/profperm.php:69 msgid "Invalid profile identifier." msgstr "" @@ -5632,6 +5611,19 @@ msgstr "" msgid "Note: This node explicitly contains adult content" msgstr "" +#: mod/regmod.php:55 +msgid "Account approved." +msgstr "" + +#: mod/regmod.php:79 +#, php-format +msgid "Registration revoked for %s" +msgstr "" + +#: mod/regmod.php:86 +msgid "Please login." +msgstr "" + #: mod/removeme.php:49 msgid "User deleted their account" msgstr "" @@ -5647,20 +5639,28 @@ msgstr "" msgid "The user id is %d" msgstr "" -#: mod/removeme.php:83 mod/removeme.php:86 +#: mod/removeme.php:87 mod/removeme.php:90 msgid "Remove My Account" msgstr "" -#: mod/removeme.php:84 +#: mod/removeme.php:88 msgid "" "This will completely remove your account. Once this has been done it is not " "recoverable." msgstr "" -#: mod/removeme.php:85 +#: mod/removeme.php:89 msgid "Please enter your password for verification:" msgstr "" +#: mod/repair_ostatus.php:21 +msgid "Resubscribing to OStatus contacts" +msgstr "" + +#: mod/repair_ostatus.php:37 +msgid "Error" +msgstr "" + #: mod/search.php:113 msgid "Only logged in users are permitted to perform a search." msgstr "" @@ -5673,7 +5673,7 @@ msgstr "" msgid "Only one search per minute is permitted for not logged in users." msgstr "" -#: mod/search.php:163 src/Content/Text/HTML.php:967 src/Content/Nav.php:195 +#: mod/search.php:163 src/Content/Nav.php:195 src/Content/Text/HTML.php:967 msgid "Search" msgstr "" @@ -5743,7 +5743,7 @@ msgstr "" msgid "Relocate message has been send to your contacts" msgstr "" -#: mod/settings.php:396 src/Model/User.php:422 +#: mod/settings.php:396 src/Model/User.php:423 msgid "Passwords do not match. Password unchanged." msgstr "" @@ -6011,11 +6011,11 @@ msgstr "" msgid "%s - (Experimental)" msgstr "" -#: mod/settings.php:946 src/Core/L10n.php:359 src/Model/Event.php:391 +#: mod/settings.php:946 src/Core/L10n.php:359 src/Model/Event.php:396 msgid "Sunday" msgstr "" -#: mod/settings.php:946 src/Core/L10n.php:359 src/Model/Event.php:392 +#: mod/settings.php:946 src/Core/L10n.php:359 src/Model/Event.php:397 msgid "Monday" msgstr "" @@ -6357,7 +6357,7 @@ msgstr "" msgid "Basic Settings" msgstr "" -#: mod/settings.php:1204 src/Model/Profile.php:742 +#: mod/settings.php:1204 src/Model/Profile.php:751 msgid "Full Name:" msgstr "" @@ -6530,7 +6530,7 @@ msgstr "" msgid "Ignore/Hide" msgstr "" -#: mod/suggest.php:118 view/theme/vier/theme.php:204 src/Content/Widget.php:68 +#: mod/suggest.php:118 src/Content/Widget.php:68 view/theme/vier/theme.php:204 msgid "Friend Suggestions" msgstr "" @@ -6618,6 +6618,12 @@ msgstr "" msgid "Disconnect/Unfollow" msgstr "" +#: mod/update_community.php:23 mod/update_contact.php:23 +#: mod/update_display.php:24 mod/update_network.php:33 mod/update_notes.php:36 +#: mod/update_profile.php:35 +msgid "[Embedded content - reload page to view]" +msgstr "" + #: mod/videos.php:134 msgid "Do you really want to delete this video?" msgstr "" @@ -6652,13 +6658,33 @@ msgstr "" msgid "Visit %s's profile [%s]" msgstr "" -#: mod/viewcontacts.php:132 view/theme/frio/theme.php:284 -#: src/Content/Text/HTML.php:978 src/Content/Nav.php:200 -#: src/Content/Nav.php:266 src/Model/Profile.php:971 src/Model/Profile.php:974 -#: src/Module/Contact.php:816 src/Module/Contact.php:886 +#: mod/viewcontacts.php:132 src/Content/Nav.php:200 src/Content/Nav.php:266 +#: src/Content/Text/HTML.php:978 src/Model/Profile.php:980 +#: src/Model/Profile.php:983 src/Module/Contact.php:816 +#: src/Module/Contact.php:886 view/theme/frio/theme.php:284 msgid "Contacts" msgstr "" +#: mod/wallmessage.php:52 mod/wallmessage.php:115 +#, php-format +msgid "Number of daily wall messages for %s exceeded. Message failed." +msgstr "" + +#: mod/wallmessage.php:63 +msgid "Unable to check your home location." +msgstr "" + +#: mod/wallmessage.php:89 mod/wallmessage.php:98 +msgid "No recipient." +msgstr "" + +#: mod/wallmessage.php:129 +#, php-format +msgid "" +"If you wish for %s to respond, please check that the privacy settings on " +"your site allow private mail from unknown senders." +msgstr "" + #: mod/wall_attach.php:28 mod/wall_attach.php:35 mod/wall_attach.php:90 #: mod/wall_upload.php:41 mod/wall_upload.php:57 mod/wall_upload.php:115 #: mod/wall_upload.php:166 mod/wall_upload.php:169 @@ -6687,1120 +6713,26 @@ msgstr "" msgid "Wall Photos" msgstr "" -#: mod/wallmessage.php:52 mod/wallmessage.php:115 -#, php-format -msgid "Number of daily wall messages for %s exceeded. Message failed." +#: src/App.php:790 +msgid "Delete this item?" msgstr "" -#: mod/wallmessage.php:63 -msgid "Unable to check your home location." +#: src/App.php:792 +msgid "show fewer" msgstr "" -#: mod/wallmessage.php:89 mod/wallmessage.php:98 -msgid "No recipient." +#: src/App.php:834 +msgid "toggle mobile" msgstr "" -#: mod/wallmessage.php:129 -#, php-format +#: src/App.php:1383 +msgid "No system theme config value set." +msgstr "" + +#: src/BaseModule.php:133 msgid "" -"If you wish for %s to respond, please check that the privacy settings on " -"your site allow private mail from unknown senders." -msgstr "" - -#: view/theme/duepuntozero/config.php:55 src/Model/User.php:600 -msgid "default" -msgstr "" - -#: view/theme/duepuntozero/config.php:56 -msgid "greenzero" -msgstr "" - -#: view/theme/duepuntozero/config.php:57 -msgid "purplezero" -msgstr "" - -#: view/theme/duepuntozero/config.php:58 -msgid "easterbunny" -msgstr "" - -#: view/theme/duepuntozero/config.php:59 -msgid "darkzero" -msgstr "" - -#: view/theme/duepuntozero/config.php:60 -msgid "comix" -msgstr "" - -#: view/theme/duepuntozero/config.php:61 -msgid "slackr" -msgstr "" - -#: view/theme/duepuntozero/config.php:75 -msgid "Variations" -msgstr "" - -#: view/theme/frio/php/Image.php:24 -msgid "Top Banner" -msgstr "" - -#: view/theme/frio/php/Image.php:24 -msgid "" -"Resize image to the width of the screen and show background color below on " -"long pages." -msgstr "" - -#: view/theme/frio/php/Image.php:25 -msgid "Full screen" -msgstr "" - -#: view/theme/frio/php/Image.php:25 -msgid "" -"Resize image to fill entire screen, clipping either the right or the bottom." -msgstr "" - -#: view/theme/frio/php/Image.php:26 -msgid "Single row mosaic" -msgstr "" - -#: view/theme/frio/php/Image.php:26 -msgid "" -"Resize image to repeat it on a single row, either vertical or horizontal." -msgstr "" - -#: view/theme/frio/php/Image.php:27 -msgid "Mosaic" -msgstr "" - -#: view/theme/frio/php/Image.php:27 -msgid "Repeat image to fill the screen." -msgstr "" - -#: view/theme/frio/config.php:103 -msgid "Custom" -msgstr "" - -#: view/theme/frio/config.php:115 -msgid "Note" -msgstr "" - -#: view/theme/frio/config.php:115 -msgid "Check image permissions if all users are allowed to see the image" -msgstr "" - -#: view/theme/frio/config.php:122 -msgid "Select color scheme" -msgstr "" - -#: view/theme/frio/config.php:123 -msgid "Navigation bar background color" -msgstr "" - -#: view/theme/frio/config.php:124 -msgid "Navigation bar icon color " -msgstr "" - -#: view/theme/frio/config.php:125 -msgid "Link color" -msgstr "" - -#: view/theme/frio/config.php:126 -msgid "Set the background color" -msgstr "" - -#: view/theme/frio/config.php:127 -msgid "Content background opacity" -msgstr "" - -#: view/theme/frio/config.php:128 -msgid "Set the background image" -msgstr "" - -#: view/theme/frio/config.php:129 -msgid "Background image style" -msgstr "" - -#: view/theme/frio/config.php:134 -msgid "Login page background image" -msgstr "" - -#: view/theme/frio/config.php:138 -msgid "Login page background color" -msgstr "" - -#: view/theme/frio/config.php:138 -msgid "Leave background image and color empty for theme defaults" -msgstr "" - -#: view/theme/frio/theme.php:252 -msgid "Guest" -msgstr "" - -#: view/theme/frio/theme.php:257 -msgid "Visitor" -msgstr "" - -#: view/theme/frio/theme.php:270 src/Content/Nav.php:150 -#: src/Module/Login.php:321 -msgid "Logout" -msgstr "" - -#: view/theme/frio/theme.php:270 src/Content/Nav.php:150 -msgid "End this session" -msgstr "" - -#: view/theme/frio/theme.php:273 src/Content/Nav.php:153 -#: src/Model/Profile.php:892 src/Module/Contact.php:659 -#: src/Module/Contact.php:858 -msgid "Status" -msgstr "" - -#: view/theme/frio/theme.php:273 src/Content/Nav.php:153 -#: src/Content/Nav.php:239 -msgid "Your posts and conversations" -msgstr "" - -#: view/theme/frio/theme.php:274 src/Content/Nav.php:154 -msgid "Your profile page" -msgstr "" - -#: view/theme/frio/theme.php:275 src/Content/Nav.php:155 -msgid "Your photos" -msgstr "" - -#: view/theme/frio/theme.php:276 src/Content/Nav.php:156 -#: src/Model/Profile.php:916 src/Model/Profile.php:919 -msgid "Videos" -msgstr "" - -#: view/theme/frio/theme.php:276 src/Content/Nav.php:156 -msgid "Your videos" -msgstr "" - -#: view/theme/frio/theme.php:277 src/Content/Nav.php:157 -msgid "Your events" -msgstr "" - -#: view/theme/frio/theme.php:280 src/Content/Nav.php:236 -msgid "Conversations from your friends" -msgstr "" - -#: view/theme/frio/theme.php:281 src/Content/Nav.php:223 -#: src/Model/Profile.php:931 src/Model/Profile.php:942 -msgid "Events and Calendar" -msgstr "" - -#: view/theme/frio/theme.php:282 src/Content/Nav.php:249 -msgid "Private mail" -msgstr "" - -#: view/theme/frio/theme.php:283 src/Content/Nav.php:260 -msgid "Account settings" -msgstr "" - -#: view/theme/frio/theme.php:284 src/Content/Nav.php:266 -msgid "Manage/edit friends and contacts" -msgstr "" - -#: view/theme/quattro/config.php:77 -msgid "Alignment" -msgstr "" - -#: view/theme/quattro/config.php:77 -msgid "Left" -msgstr "" - -#: view/theme/quattro/config.php:77 -msgid "Center" -msgstr "" - -#: view/theme/quattro/config.php:78 -msgid "Color scheme" -msgstr "" - -#: view/theme/quattro/config.php:79 -msgid "Posts font size" -msgstr "" - -#: view/theme/quattro/config.php:80 -msgid "Textareas font size" -msgstr "" - -#: view/theme/vier/config.php:76 -msgid "Comma separated list of helper forums" -msgstr "" - -#: view/theme/vier/config.php:116 src/Core/ACL.php:299 -msgid "don't show" -msgstr "" - -#: view/theme/vier/config.php:116 src/Core/ACL.php:298 -msgid "show" -msgstr "" - -#: view/theme/vier/config.php:123 -msgid "Set style" -msgstr "" - -#: view/theme/vier/config.php:124 -msgid "Community Pages" -msgstr "" - -#: view/theme/vier/config.php:125 view/theme/vier/theme.php:151 -msgid "Community Profiles" -msgstr "" - -#: view/theme/vier/config.php:126 -msgid "Help or @NewHere ?" -msgstr "" - -#: view/theme/vier/config.php:127 view/theme/vier/theme.php:388 -msgid "Connect Services" -msgstr "" - -#: view/theme/vier/config.php:128 -msgid "Find Friends" -msgstr "" - -#: view/theme/vier/config.php:129 view/theme/vier/theme.php:181 -msgid "Last users" -msgstr "" - -#: view/theme/vier/theme.php:199 src/Content/Widget.php:63 -msgid "Find People" -msgstr "" - -#: view/theme/vier/theme.php:200 src/Content/Widget.php:64 -msgid "Enter name or interest" -msgstr "" - -#: view/theme/vier/theme.php:202 src/Content/Widget.php:66 -msgid "Examples: Robert Morgenstein, Fishing" -msgstr "" - -#: view/theme/vier/theme.php:205 src/Content/Widget.php:69 -msgid "Similar Interests" -msgstr "" - -#: view/theme/vier/theme.php:206 src/Content/Widget.php:70 -msgid "Random Profile" -msgstr "" - -#: view/theme/vier/theme.php:207 src/Content/Widget.php:71 -msgid "Invite Friends" -msgstr "" - -#: view/theme/vier/theme.php:210 src/Content/Widget.php:74 -msgid "Local Directory" -msgstr "" - -#: view/theme/vier/theme.php:253 src/Content/Text/HTML.php:981 -#: src/Content/ForumManager.php:128 src/Content/Nav.php:204 -msgid "Forums" -msgstr "" - -#: view/theme/vier/theme.php:255 src/Content/ForumManager.php:130 -msgid "External link to forum" -msgstr "" - -#: view/theme/vier/theme.php:291 -msgid "Quick Start" -msgstr "" - -#: src/Core/Console/NewPassword.php:73 -msgid "Enter new password: " -msgstr "" - -#: src/Core/Console/NewPassword.php:78 src/Model/User.php:314 -msgid "Password can't be empty" -msgstr "" - -#: src/Core/Console/ArchiveContact.php:66 -#, php-format -msgid "Could not find any unarchived contact entry for this URL (%s)" -msgstr "" - -#: src/Core/Console/ArchiveContact.php:71 -msgid "The contact entries have been archived" -msgstr "" - -#: src/Core/Console/PostUpdate.php:50 -#, php-format -msgid "Post update version number has been set to %s." -msgstr "" - -#: src/Core/Console/PostUpdate.php:58 -msgid "Check for pending update actions." -msgstr "" - -#: src/Core/Console/PostUpdate.php:60 -msgid "Done." -msgstr "" - -#: src/Core/Console/PostUpdate.php:62 -msgid "Execute pending post updates." -msgstr "" - -#: src/Core/Console/PostUpdate.php:68 -msgid "All pending post updates are done." -msgstr "" - -#: src/Core/NotificationsManager.php:173 -msgid "System" -msgstr "" - -#: src/Core/NotificationsManager.php:194 src/Content/Nav.php:177 -#: src/Content/Nav.php:239 -msgid "Home" -msgstr "" - -#: src/Core/NotificationsManager.php:201 src/Content/Nav.php:243 -msgid "Introductions" -msgstr "" - -#: src/Core/NotificationsManager.php:263 src/Core/NotificationsManager.php:275 -#, php-format -msgid "%s commented on %s's post" -msgstr "" - -#: src/Core/NotificationsManager.php:274 -#, php-format -msgid "%s created a new post" -msgstr "" - -#: src/Core/NotificationsManager.php:288 -#, php-format -msgid "%s liked %s's post" -msgstr "" - -#: src/Core/NotificationsManager.php:301 -#, php-format -msgid "%s disliked %s's post" -msgstr "" - -#: src/Core/NotificationsManager.php:314 -#, php-format -msgid "%s is attending %s's event" -msgstr "" - -#: src/Core/NotificationsManager.php:327 -#, php-format -msgid "%s is not attending %s's event" -msgstr "" - -#: src/Core/NotificationsManager.php:340 -#, php-format -msgid "%s may attend %s's event" -msgstr "" - -#: src/Core/NotificationsManager.php:373 -#, php-format -msgid "%s is now friends with %s" -msgstr "" - -#: src/Core/NotificationsManager.php:639 -msgid "Friend Suggestion" -msgstr "" - -#: src/Core/NotificationsManager.php:673 -msgid "Friend/Connect Request" -msgstr "" - -#: src/Core/NotificationsManager.php:673 -msgid "New Follower" -msgstr "" - -#: src/Core/ACL.php:285 -msgid "Post to Email" -msgstr "" - -#: src/Core/ACL.php:291 -msgid "Hide your profile details from unknown viewers?" -msgstr "" - -#: src/Core/ACL.php:290 -#, php-format -msgid "Connectors disabled, since \"%s\" is enabled." -msgstr "" - -#: src/Core/ACL.php:297 -msgid "Visible to everybody" -msgstr "" - -#: src/Core/ACL.php:309 -msgid "Close" -msgstr "" - -#: src/Core/Authentication.php:89 -msgid "Welcome " -msgstr "" - -#: src/Core/Authentication.php:90 -msgid "Please upload a profile photo." -msgstr "" - -#: src/Core/Authentication.php:92 -msgid "Welcome back " -msgstr "" - -#: src/Core/Installer.php:160 -msgid "" -"The database configuration file \"config/local.ini.php\" could not be " -"written. Please use the enclosed text to create a configuration file in your " -"web server root." -msgstr "" - -#: src/Core/Installer.php:176 -msgid "" -"You may need to import the file \"database.sql\" manually using phpmyadmin " -"or mysql." -msgstr "" - -#: src/Core/Installer.php:177 src/Module/Install.php:134 -#: src/Module/Install.php:264 -msgid "Please see the file \"INSTALL.txt\"." -msgstr "" - -#: src/Core/Installer.php:239 -msgid "Could not find a command line version of PHP in the web server PATH." -msgstr "" - -#: src/Core/Installer.php:240 -msgid "" -"If you don't have a command line version of PHP installed on your server, " -"you will not be able to run the background processing. See 'Setup the worker'" -msgstr "" - -#: src/Core/Installer.php:244 -msgid "PHP executable path" -msgstr "" - -#: src/Core/Installer.php:244 -msgid "" -"Enter full path to php executable. You can leave this blank to continue the " -"installation." -msgstr "" - -#: src/Core/Installer.php:249 -msgid "Command line PHP" -msgstr "" - -#: src/Core/Installer.php:258 -msgid "PHP executable is not the php cli binary (could be cgi-fgci version)" -msgstr "" - -#: src/Core/Installer.php:259 -msgid "Found PHP version: " -msgstr "" - -#: src/Core/Installer.php:261 -msgid "PHP cli binary" -msgstr "" - -#: src/Core/Installer.php:274 -msgid "" -"The command line version of PHP on your system does not have " -"\"register_argc_argv\" enabled." -msgstr "" - -#: src/Core/Installer.php:275 -msgid "This is required for message delivery to work." -msgstr "" - -#: src/Core/Installer.php:280 -msgid "PHP register_argc_argv" -msgstr "" - -#: src/Core/Installer.php:312 -msgid "" -"Error: the \"openssl_pkey_new\" function on this system is not able to " -"generate encryption keys" -msgstr "" - -#: src/Core/Installer.php:313 -msgid "" -"If running under Windows, please see \"http://www.php.net/manual/en/openssl." -"installation.php\"." -msgstr "" - -#: src/Core/Installer.php:316 -msgid "Generate encryption keys" -msgstr "" - -#: src/Core/Installer.php:367 -msgid "" -"Error: Apache webserver mod-rewrite module is required but not installed." -msgstr "" - -#: src/Core/Installer.php:372 -msgid "Apache mod_rewrite module" -msgstr "" - -#: src/Core/Installer.php:378 -msgid "Error: PDO or MySQLi PHP module required but not installed." -msgstr "" - -#: src/Core/Installer.php:383 -msgid "Error: The MySQL driver for PDO is not installed." -msgstr "" - -#: src/Core/Installer.php:387 -msgid "PDO or MySQLi PHP module" -msgstr "" - -#: src/Core/Installer.php:395 -msgid "Error, XML PHP module required but not installed." -msgstr "" - -#: src/Core/Installer.php:399 -msgid "XML PHP module" -msgstr "" - -#: src/Core/Installer.php:402 -msgid "libCurl PHP module" -msgstr "" - -#: src/Core/Installer.php:403 -msgid "Error: libCURL PHP module required but not installed." -msgstr "" - -#: src/Core/Installer.php:409 -msgid "GD graphics PHP module" -msgstr "" - -#: src/Core/Installer.php:410 -msgid "" -"Error: GD graphics PHP module with JPEG support required but not installed." -msgstr "" - -#: src/Core/Installer.php:416 -msgid "OpenSSL PHP module" -msgstr "" - -#: src/Core/Installer.php:417 -msgid "Error: openssl PHP module required but not installed." -msgstr "" - -#: src/Core/Installer.php:423 -msgid "mb_string PHP module" -msgstr "" - -#: src/Core/Installer.php:424 -msgid "Error: mb_string PHP module required but not installed." -msgstr "" - -#: src/Core/Installer.php:430 -msgid "iconv PHP module" -msgstr "" - -#: src/Core/Installer.php:431 -msgid "Error: iconv PHP module required but not installed." -msgstr "" - -#: src/Core/Installer.php:437 -msgid "POSIX PHP module" -msgstr "" - -#: src/Core/Installer.php:438 -msgid "Error: POSIX PHP module required but not installed." -msgstr "" - -#: src/Core/Installer.php:461 -msgid "" -"The web installer needs to be able to create a file called \"local.ini.php\" " -"in the \"config\" folder of your web server and it is unable to do so." -msgstr "" - -#: src/Core/Installer.php:462 -msgid "" -"This is most often a permission setting, as the web server may not be able " -"to write files in your folder - even if you can." -msgstr "" - -#: src/Core/Installer.php:463 -msgid "" -"At the end of this procedure, we will give you a text to save in a file " -"named local.ini.php in your Friendica \"config\" folder." -msgstr "" - -#: src/Core/Installer.php:464 -msgid "" -"You can alternatively skip this procedure and perform a manual installation. " -"Please see the file \"INSTALL.txt\" for instructions." -msgstr "" - -#: src/Core/Installer.php:467 -msgid "config/local.ini.php is writable" -msgstr "" - -#: src/Core/Installer.php:487 -msgid "" -"Friendica uses the Smarty3 template engine to render its web views. Smarty3 " -"compiles templates to PHP to speed up rendering." -msgstr "" - -#: src/Core/Installer.php:488 -msgid "" -"In order to store these compiled templates, the web server needs to have " -"write access to the directory view/smarty3/ under the Friendica top level " -"folder." -msgstr "" - -#: src/Core/Installer.php:489 -msgid "" -"Please ensure that the user that your web server runs as (e.g. www-data) has " -"write access to this folder." -msgstr "" - -#: src/Core/Installer.php:490 -msgid "" -"Note: as a security measure, you should give the web server write access to " -"view/smarty3/ only--not the template files (.tpl) that it contains." -msgstr "" - -#: src/Core/Installer.php:493 -msgid "view/smarty3 is writable" -msgstr "" - -#: src/Core/Installer.php:521 -msgid "" -"Url rewrite in .htaccess is not working. Make sure you copied .htaccess-dist " -"to .htaccess." -msgstr "" - -#: src/Core/Installer.php:523 -msgid "Error message from Curl when fetching" -msgstr "" - -#: src/Core/Installer.php:528 -msgid "Url rewrite is working" -msgstr "" - -#: src/Core/Installer.php:557 -msgid "ImageMagick PHP extension is not installed" -msgstr "" - -#: src/Core/Installer.php:559 -msgid "ImageMagick PHP extension is installed" -msgstr "" - -#: src/Core/Installer.php:561 tests/src/Core/InstallerTest.php:308 -#: tests/src/Core/InstallerTest.php:332 -msgid "ImageMagick supports GIF" -msgstr "" - -#: src/Core/Installer.php:583 -msgid "Could not connect to database." -msgstr "" - -#: src/Core/Installer.php:590 -msgid "Database already in use." -msgstr "" - -#: src/Core/L10n.php:359 src/Model/Event.php:393 -msgid "Tuesday" -msgstr "" - -#: src/Core/L10n.php:359 src/Model/Event.php:394 -msgid "Wednesday" -msgstr "" - -#: src/Core/L10n.php:359 src/Model/Event.php:395 -msgid "Thursday" -msgstr "" - -#: src/Core/L10n.php:359 src/Model/Event.php:396 -msgid "Friday" -msgstr "" - -#: src/Core/L10n.php:359 src/Model/Event.php:397 -msgid "Saturday" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:412 -msgid "January" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:413 -msgid "February" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:414 -msgid "March" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:415 -msgid "April" -msgstr "" - -#: src/Core/L10n.php:363 src/Core/L10n.php:382 src/Model/Event.php:403 -#: src/Model/Event.php:416 -msgid "May" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:417 -msgid "June" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:418 -msgid "July" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:419 -msgid "August" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:420 -msgid "September" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:421 -msgid "October" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:422 -msgid "November" -msgstr "" - -#: src/Core/L10n.php:363 src/Model/Event.php:423 -msgid "December" -msgstr "" - -#: src/Core/L10n.php:378 src/Model/Event.php:384 -msgid "Mon" -msgstr "" - -#: src/Core/L10n.php:378 src/Model/Event.php:385 -msgid "Tue" -msgstr "" - -#: src/Core/L10n.php:378 src/Model/Event.php:386 -msgid "Wed" -msgstr "" - -#: src/Core/L10n.php:378 src/Model/Event.php:387 -msgid "Thu" -msgstr "" - -#: src/Core/L10n.php:378 src/Model/Event.php:388 -msgid "Fri" -msgstr "" - -#: src/Core/L10n.php:378 src/Model/Event.php:389 -msgid "Sat" -msgstr "" - -#: src/Core/L10n.php:378 src/Model/Event.php:383 -msgid "Sun" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:399 -msgid "Jan" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:400 -msgid "Feb" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:401 -msgid "Mar" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:402 -msgid "Apr" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:405 -msgid "Jul" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:406 -msgid "Aug" -msgstr "" - -#: src/Core/L10n.php:382 -msgid "Sep" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:408 -msgid "Oct" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:409 -msgid "Nov" -msgstr "" - -#: src/Core/L10n.php:382 src/Model/Event.php:410 -msgid "Dec" -msgstr "" - -#: src/Core/L10n.php:400 -msgid "poke" -msgstr "" - -#: src/Core/L10n.php:400 -msgid "poked" -msgstr "" - -#: src/Core/L10n.php:401 -msgid "ping" -msgstr "" - -#: src/Core/L10n.php:401 -msgid "pinged" -msgstr "" - -#: src/Core/L10n.php:402 -msgid "prod" -msgstr "" - -#: src/Core/L10n.php:402 -msgid "prodded" -msgstr "" - -#: src/Core/L10n.php:403 -msgid "slap" -msgstr "" - -#: src/Core/L10n.php:403 -msgid "slapped" -msgstr "" - -#: src/Core/L10n.php:404 -msgid "finger" -msgstr "" - -#: src/Core/L10n.php:404 -msgid "fingered" -msgstr "" - -#: src/Core/L10n.php:405 -msgid "rebuff" -msgstr "" - -#: src/Core/L10n.php:405 -msgid "rebuffed" -msgstr "" - -#: src/Core/Update.php:157 -#, php-format -msgid "Update %s failed. See error logs." -msgstr "" - -#: src/Core/Update.php:213 -#, php-format -msgid "" -"\n" -"\t\t\t\tThe friendica developers released update %s recently,\n" -"\t\t\t\tbut when I tried to install it, something went terribly wrong.\n" -"\t\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact " -"a\n" -"\t\t\t\tfriendica developer if you can not help me on your own. My database " -"might be invalid." -msgstr "" - -#: src/Core/Update.php:219 -#, php-format -msgid "" -"The error message is\n" -"[pre]%s[/pre]" -msgstr "" - -#: src/Core/Update.php:248 -#, php-format -msgid "" -"\n" -"\t\t\t\t\tThe friendica database was successfully updated from %s to %s." -msgstr "" - -#: src/Core/UserImport.php:103 -msgid "Error decoding account file" -msgstr "" - -#: src/Core/UserImport.php:109 -msgid "Error! No version data in file! This is not a Friendica account file?" -msgstr "" - -#: src/Core/UserImport.php:117 -#, php-format -msgid "User '%s' already exists on this server!" -msgstr "" - -#: src/Core/UserImport.php:153 -msgid "User creation error" -msgstr "" - -#: src/Core/UserImport.php:171 -msgid "User profile creation error" -msgstr "" - -#: src/Core/UserImport.php:215 -#, php-format -msgid "%d contact not imported" -msgid_plural "%d contacts not imported" -msgstr[0] "" -msgstr[1] "" - -#: src/Core/UserImport.php:280 -msgid "Done. You can now login with your username and password" -msgstr "" - -#: src/Util/Temporal.php:149 src/Model/Profile.php:762 -msgid "Birthday:" -msgstr "" - -#: src/Util/Temporal.php:153 -msgid "YYYY-MM-DD or MM-DD" -msgstr "" - -#: src/Util/Temporal.php:296 -msgid "never" -msgstr "" - -#: src/Util/Temporal.php:303 -msgid "less than a second ago" -msgstr "" - -#: src/Util/Temporal.php:311 -msgid "year" -msgstr "" - -#: src/Util/Temporal.php:311 -msgid "years" -msgstr "" - -#: src/Util/Temporal.php:312 -msgid "months" -msgstr "" - -#: src/Util/Temporal.php:313 -msgid "weeks" -msgstr "" - -#: src/Util/Temporal.php:314 -msgid "days" -msgstr "" - -#: src/Util/Temporal.php:315 -msgid "hour" -msgstr "" - -#: src/Util/Temporal.php:315 -msgid "hours" -msgstr "" - -#: src/Util/Temporal.php:316 -msgid "minute" -msgstr "" - -#: src/Util/Temporal.php:316 -msgid "minutes" -msgstr "" - -#: src/Util/Temporal.php:317 -msgid "second" -msgstr "" - -#: src/Util/Temporal.php:317 -msgid "seconds" -msgstr "" - -#: src/Util/Temporal.php:327 -#, php-format -msgid "in %1$d %2$s" -msgstr "" - -#: src/Util/Temporal.php:330 -#, php-format -msgid "%1$d %2$s ago" -msgstr "" - -#: src/Content/Text/BBCode.php:425 -msgid "view full size" -msgstr "" - -#: src/Content/Text/BBCode.php:857 src/Content/Text/BBCode.php:1576 -#: src/Content/Text/BBCode.php:1577 -msgid "Image/photo" -msgstr "" - -#: src/Content/Text/BBCode.php:960 -#, php-format -msgid "%2$s %3$s" -msgstr "" - -#: src/Content/Text/BBCode.php:1503 src/Content/Text/BBCode.php:1525 -msgid "$1 wrote:" -msgstr "" - -#: src/Content/Text/BBCode.php:1587 src/Content/Text/BBCode.php:1588 -msgid "Encrypted content" -msgstr "" - -#: src/Content/Text/BBCode.php:1695 -msgid "Invalid source protocol" -msgstr "" - -#: src/Content/Text/BBCode.php:1706 -msgid "Invalid link protocol" -msgstr "" - -#: src/Content/Text/HTML.php:797 -msgid "Loading more entries..." -msgstr "" - -#: src/Content/Text/HTML.php:798 -msgid "The end" -msgstr "" - -#: src/Content/Text/HTML.php:838 -msgid "No contacts" -msgstr "" - -#: src/Content/Text/HTML.php:865 -#, php-format -msgid "%d Contact" -msgid_plural "%d Contacts" -msgstr[0] "" -msgstr[1] "" - -#: src/Content/Text/HTML.php:878 -msgid "View Contacts" -msgstr "" - -#: src/Content/Text/HTML.php:961 -msgid "Follow" -msgstr "" - -#: src/Content/Text/HTML.php:970 src/Content/Nav.php:77 -msgid "@name, !forum, #tags, content" -msgstr "" - -#: src/Content/Text/HTML.php:976 src/Content/Nav.php:198 -msgid "Full Text" -msgstr "" - -#: src/Content/Text/HTML.php:977 src/Content/Widget/TagCloud.php:55 -#: src/Content/Nav.php:199 -msgid "Tags" -msgstr "" - -#: src/Content/Text/HTML.php:1016 src/Model/Item.php:3480 -#: src/Model/Item.php:3491 -msgid "Click to open/close" -msgstr "" - -#: src/Content/Widget/CalendarExport.php:66 -msgid "Export" -msgstr "" - -#: src/Content/Widget/CalendarExport.php:67 -msgid "Export calendar as ical" -msgstr "" - -#: src/Content/Widget/CalendarExport.php:68 -msgid "Export calendar as csv" +"The form security token was not correct. This probably happened because the " +"form has been opened for too long (>3 hours) before submitting it." msgstr "" #: src/Content/ContactSelector.php:57 @@ -8023,7 +6955,7 @@ msgstr "" msgid "Sex Addict" msgstr "" -#: src/Content/ContactSelector.php:192 src/Model/User.php:617 +#: src/Content/ContactSelector.php:192 src/Model/User.php:618 msgid "Friends" msgstr "" @@ -8230,6 +7162,15 @@ msgstr "" msgid "Display membership date in profile" msgstr "" +#: src/Content/ForumManager.php:128 src/Content/Nav.php:204 +#: src/Content/Text/HTML.php:981 view/theme/vier/theme.php:253 +msgid "Forums" +msgstr "" + +#: src/Content/ForumManager.php:130 view/theme/vier/theme.php:255 +msgid "External link to forum" +msgstr "" + #: src/Content/Nav.php:72 msgid "Nothing new here" msgstr "" @@ -8238,6 +7179,50 @@ msgstr "" msgid "Clear notifications" msgstr "" +#: src/Content/Nav.php:77 src/Content/Text/HTML.php:970 +msgid "@name, !forum, #tags, content" +msgstr "" + +#: src/Content/Nav.php:150 src/Module/Login.php:321 +#: view/theme/frio/theme.php:270 +msgid "Logout" +msgstr "" + +#: src/Content/Nav.php:150 view/theme/frio/theme.php:270 +msgid "End this session" +msgstr "" + +#: src/Content/Nav.php:153 src/Model/Profile.php:901 src/Module/Contact.php:659 +#: src/Module/Contact.php:858 view/theme/frio/theme.php:273 +msgid "Status" +msgstr "" + +#: src/Content/Nav.php:153 src/Content/Nav.php:239 +#: view/theme/frio/theme.php:273 +msgid "Your posts and conversations" +msgstr "" + +#: src/Content/Nav.php:154 view/theme/frio/theme.php:274 +msgid "Your profile page" +msgstr "" + +#: src/Content/Nav.php:155 view/theme/frio/theme.php:275 +msgid "Your photos" +msgstr "" + +#: src/Content/Nav.php:156 src/Model/Profile.php:925 src/Model/Profile.php:928 +#: view/theme/frio/theme.php:276 +msgid "Videos" +msgstr "" + +#: src/Content/Nav.php:156 view/theme/frio/theme.php:276 +msgid "Your videos" +msgstr "" + +#: src/Content/Nav.php:157 view/theme/frio/theme.php:277 +msgid "Your events" +msgstr "" + #: src/Content/Nav.php:158 msgid "Personal notes" msgstr "" @@ -8250,6 +7235,11 @@ msgstr "" msgid "Sign in" msgstr "" +#: src/Content/Nav.php:177 src/Content/Nav.php:239 +#: src/Core/NotificationsManager.php:194 +msgid "Home" +msgstr "" + #: src/Content/Nav.php:177 msgid "Home Page" msgstr "" @@ -8274,6 +7264,15 @@ msgstr "" msgid "Search site content" msgstr "" +#: src/Content/Nav.php:198 src/Content/Text/HTML.php:976 +msgid "Full Text" +msgstr "" + +#: src/Content/Nav.php:199 src/Content/Text/HTML.php:977 +#: src/Content/Widget/TagCloud.php:55 +msgid "Tags" +msgstr "" + #: src/Content/Nav.php:219 msgid "Community" msgstr "" @@ -8282,6 +7281,11 @@ msgstr "" msgid "Conversations on this and other servers" msgstr "" +#: src/Content/Nav.php:223 src/Model/Profile.php:940 src/Model/Profile.php:951 +#: view/theme/frio/theme.php:281 +msgid "Events and Calendar" +msgstr "" + #: src/Content/Nav.php:226 msgid "Directory" msgstr "" @@ -8298,6 +7302,10 @@ msgstr "" msgid "Terms of Service of this Friendica instance" msgstr "" +#: src/Content/Nav.php:236 view/theme/frio/theme.php:280 +msgid "Conversations from your friends" +msgstr "" + #: src/Content/Nav.php:237 msgid "Network Reset" msgstr "" @@ -8306,6 +7314,10 @@ msgstr "" msgid "Load Network page with no filters" msgstr "" +#: src/Content/Nav.php:243 src/Core/NotificationsManager.php:201 +msgid "Introductions" +msgstr "" + #: src/Content/Nav.php:243 msgid "Friend Requests" msgstr "" @@ -8318,6 +7330,10 @@ msgstr "" msgid "Mark all system notifications seen" msgstr "" +#: src/Content/Nav.php:249 view/theme/frio/theme.php:282 +msgid "Private mail" +msgstr "" + #: src/Content/Nav.php:250 msgid "Inbox" msgstr "" @@ -8334,10 +7350,18 @@ msgstr "" msgid "Manage other pages" msgstr "" +#: src/Content/Nav.php:260 view/theme/frio/theme.php:283 +msgid "Account settings" +msgstr "" + #: src/Content/Nav.php:263 msgid "Manage/Edit Profiles" msgstr "" +#: src/Content/Nav.php:266 view/theme/frio/theme.php:284 +msgid "Manage/edit friends and contacts" +msgstr "" + #: src/Content/Nav.php:271 msgid "Site setup and configuration" msgstr "" @@ -8382,6 +7406,80 @@ msgstr "" msgid "last" msgstr "" +#: src/Content/Text/BBCode.php:426 +msgid "view full size" +msgstr "" + +#: src/Content/Text/BBCode.php:858 src/Content/Text/BBCode.php:1583 +#: src/Content/Text/BBCode.php:1584 +msgid "Image/photo" +msgstr "" + +#: src/Content/Text/BBCode.php:961 +#, php-format +msgid "%2$s %3$s" +msgstr "" + +#: src/Content/Text/BBCode.php:1510 src/Content/Text/BBCode.php:1532 +msgid "$1 wrote:" +msgstr "" + +#: src/Content/Text/BBCode.php:1594 src/Content/Text/BBCode.php:1595 +msgid "Encrypted content" +msgstr "" + +#: src/Content/Text/BBCode.php:1702 +msgid "Invalid source protocol" +msgstr "" + +#: src/Content/Text/BBCode.php:1713 +msgid "Invalid link protocol" +msgstr "" + +#: src/Content/Text/HTML.php:797 +msgid "Loading more entries..." +msgstr "" + +#: src/Content/Text/HTML.php:798 +msgid "The end" +msgstr "" + +#: src/Content/Text/HTML.php:838 +msgid "No contacts" +msgstr "" + +#: src/Content/Text/HTML.php:865 +#, php-format +msgid "%d Contact" +msgid_plural "%d Contacts" +msgstr[0] "" +msgstr[1] "" + +#: src/Content/Text/HTML.php:878 +msgid "View Contacts" +msgstr "" + +#: src/Content/Text/HTML.php:961 +msgid "Follow" +msgstr "" + +#: src/Content/Text/HTML.php:1016 src/Model/Item.php:3480 +#: src/Model/Item.php:3491 +msgid "Click to open/close" +msgstr "" + +#: src/Content/Widget/CalendarExport.php:66 +msgid "Export" +msgstr "" + +#: src/Content/Widget/CalendarExport.php:67 +msgid "Export calendar as ical" +msgstr "" + +#: src/Content/Widget/CalendarExport.php:68 +msgid "Export calendar as csv" +msgstr "" + #: src/Content/Widget.php:37 msgid "Add New Contact" msgstr "" @@ -8401,6 +7499,34 @@ msgid_plural "%d invitations available" msgstr[0] "" msgstr[1] "" +#: src/Content/Widget.php:63 view/theme/vier/theme.php:199 +msgid "Find People" +msgstr "" + +#: src/Content/Widget.php:64 view/theme/vier/theme.php:200 +msgid "Enter name or interest" +msgstr "" + +#: src/Content/Widget.php:66 view/theme/vier/theme.php:202 +msgid "Examples: Robert Morgenstein, Fishing" +msgstr "" + +#: src/Content/Widget.php:69 view/theme/vier/theme.php:205 +msgid "Similar Interests" +msgstr "" + +#: src/Content/Widget.php:70 view/theme/vier/theme.php:206 +msgid "Random Profile" +msgstr "" + +#: src/Content/Widget.php:71 view/theme/vier/theme.php:207 +msgid "Invite Friends" +msgstr "" + +#: src/Content/Widget.php:74 view/theme/vier/theme.php:210 +msgid "Local Directory" +msgstr "" + #: src/Content/Widget.php:158 msgid "Protocols" msgstr "" @@ -8428,6 +7554,645 @@ msgid_plural "%d contacts in common" msgstr[0] "" msgstr[1] "" +#: src/Core/ACL.php:285 +msgid "Post to Email" +msgstr "" + +#: src/Core/ACL.php:291 +msgid "Hide your profile details from unknown viewers?" +msgstr "" + +#: src/Core/ACL.php:290 +#, php-format +msgid "Connectors disabled, since \"%s\" is enabled." +msgstr "" + +#: src/Core/ACL.php:297 +msgid "Visible to everybody" +msgstr "" + +#: src/Core/ACL.php:298 view/theme/vier/config.php:116 +msgid "show" +msgstr "" + +#: src/Core/ACL.php:299 view/theme/vier/config.php:116 +msgid "don't show" +msgstr "" + +#: src/Core/ACL.php:309 +msgid "Close" +msgstr "" + +#: src/Core/Authentication.php:89 +msgid "Welcome " +msgstr "" + +#: src/Core/Authentication.php:90 +msgid "Please upload a profile photo." +msgstr "" + +#: src/Core/Authentication.php:92 +msgid "Welcome back " +msgstr "" + +#: src/Core/Console/ArchiveContact.php:66 +#, php-format +msgid "Could not find any unarchived contact entry for this URL (%s)" +msgstr "" + +#: src/Core/Console/ArchiveContact.php:71 +msgid "The contact entries have been archived" +msgstr "" + +#: src/Core/Console/NewPassword.php:73 +msgid "Enter new password: " +msgstr "" + +#: src/Core/Console/NewPassword.php:78 src/Model/User.php:315 +msgid "Password can't be empty" +msgstr "" + +#: src/Core/Console/PostUpdate.php:50 +#, php-format +msgid "Post update version number has been set to %s." +msgstr "" + +#: src/Core/Console/PostUpdate.php:58 +msgid "Check for pending update actions." +msgstr "" + +#: src/Core/Console/PostUpdate.php:60 +msgid "Done." +msgstr "" + +#: src/Core/Console/PostUpdate.php:62 +msgid "Execute pending post updates." +msgstr "" + +#: src/Core/Console/PostUpdate.php:68 +msgid "All pending post updates are done." +msgstr "" + +#: src/Core/Installer.php:160 +msgid "" +"The database configuration file \"config/local.config.php\" could not be " +"written. Please use the enclosed text to create a configuration file in your " +"web server root." +msgstr "" + +#: src/Core/Installer.php:176 +msgid "" +"You may need to import the file \"database.sql\" manually using phpmyadmin " +"or mysql." +msgstr "" + +#: src/Core/Installer.php:177 src/Module/Install.php:134 +#: src/Module/Install.php:264 +msgid "Please see the file \"INSTALL.txt\"." +msgstr "" + +#: src/Core/Installer.php:239 +msgid "Could not find a command line version of PHP in the web server PATH." +msgstr "" + +#: src/Core/Installer.php:240 +msgid "" +"If you don't have a command line version of PHP installed on your server, " +"you will not be able to run the background processing. See 'Setup the worker'" +msgstr "" + +#: src/Core/Installer.php:244 +msgid "PHP executable path" +msgstr "" + +#: src/Core/Installer.php:244 +msgid "" +"Enter full path to php executable. You can leave this blank to continue the " +"installation." +msgstr "" + +#: src/Core/Installer.php:249 +msgid "Command line PHP" +msgstr "" + +#: src/Core/Installer.php:258 +msgid "PHP executable is not the php cli binary (could be cgi-fgci version)" +msgstr "" + +#: src/Core/Installer.php:259 +msgid "Found PHP version: " +msgstr "" + +#: src/Core/Installer.php:261 +msgid "PHP cli binary" +msgstr "" + +#: src/Core/Installer.php:274 +msgid "" +"The command line version of PHP on your system does not have " +"\"register_argc_argv\" enabled." +msgstr "" + +#: src/Core/Installer.php:275 +msgid "This is required for message delivery to work." +msgstr "" + +#: src/Core/Installer.php:280 +msgid "PHP register_argc_argv" +msgstr "" + +#: src/Core/Installer.php:312 +msgid "" +"Error: the \"openssl_pkey_new\" function on this system is not able to " +"generate encryption keys" +msgstr "" + +#: src/Core/Installer.php:313 +msgid "" +"If running under Windows, please see \"http://www.php.net/manual/en/openssl." +"installation.php\"." +msgstr "" + +#: src/Core/Installer.php:316 +msgid "Generate encryption keys" +msgstr "" + +#: src/Core/Installer.php:367 +msgid "" +"Error: Apache webserver mod-rewrite module is required but not installed." +msgstr "" + +#: src/Core/Installer.php:372 +msgid "Apache mod_rewrite module" +msgstr "" + +#: src/Core/Installer.php:378 +msgid "Error: PDO or MySQLi PHP module required but not installed." +msgstr "" + +#: src/Core/Installer.php:383 +msgid "Error: The MySQL driver for PDO is not installed." +msgstr "" + +#: src/Core/Installer.php:387 +msgid "PDO or MySQLi PHP module" +msgstr "" + +#: src/Core/Installer.php:395 +msgid "Error, XML PHP module required but not installed." +msgstr "" + +#: src/Core/Installer.php:399 +msgid "XML PHP module" +msgstr "" + +#: src/Core/Installer.php:402 +msgid "libCurl PHP module" +msgstr "" + +#: src/Core/Installer.php:403 +msgid "Error: libCURL PHP module required but not installed." +msgstr "" + +#: src/Core/Installer.php:409 +msgid "GD graphics PHP module" +msgstr "" + +#: src/Core/Installer.php:410 +msgid "" +"Error: GD graphics PHP module with JPEG support required but not installed." +msgstr "" + +#: src/Core/Installer.php:416 +msgid "OpenSSL PHP module" +msgstr "" + +#: src/Core/Installer.php:417 +msgid "Error: openssl PHP module required but not installed." +msgstr "" + +#: src/Core/Installer.php:423 +msgid "mb_string PHP module" +msgstr "" + +#: src/Core/Installer.php:424 +msgid "Error: mb_string PHP module required but not installed." +msgstr "" + +#: src/Core/Installer.php:430 +msgid "iconv PHP module" +msgstr "" + +#: src/Core/Installer.php:431 +msgid "Error: iconv PHP module required but not installed." +msgstr "" + +#: src/Core/Installer.php:437 +msgid "POSIX PHP module" +msgstr "" + +#: src/Core/Installer.php:438 +msgid "Error: POSIX PHP module required but not installed." +msgstr "" + +#: src/Core/Installer.php:461 +msgid "" +"The web installer needs to be able to create a file called \"local.config.php" +"\" in the \"config\" folder of your web server and it is unable to do so." +msgstr "" + +#: src/Core/Installer.php:462 +msgid "" +"This is most often a permission setting, as the web server may not be able " +"to write files in your folder - even if you can." +msgstr "" + +#: src/Core/Installer.php:463 +msgid "" +"At the end of this procedure, we will give you a text to save in a file " +"named local.config.php in your Friendica \"config\" folder." +msgstr "" + +#: src/Core/Installer.php:464 +msgid "" +"You can alternatively skip this procedure and perform a manual installation. " +"Please see the file \"INSTALL.txt\" for instructions." +msgstr "" + +#: src/Core/Installer.php:467 +msgid "config/local.config.php is writable" +msgstr "" + +#: src/Core/Installer.php:487 +msgid "" +"Friendica uses the Smarty3 template engine to render its web views. Smarty3 " +"compiles templates to PHP to speed up rendering." +msgstr "" + +#: src/Core/Installer.php:488 +msgid "" +"In order to store these compiled templates, the web server needs to have " +"write access to the directory view/smarty3/ under the Friendica top level " +"folder." +msgstr "" + +#: src/Core/Installer.php:489 +msgid "" +"Please ensure that the user that your web server runs as (e.g. www-data) has " +"write access to this folder." +msgstr "" + +#: src/Core/Installer.php:490 +msgid "" +"Note: as a security measure, you should give the web server write access to " +"view/smarty3/ only--not the template files (.tpl) that it contains." +msgstr "" + +#: src/Core/Installer.php:493 +msgid "view/smarty3 is writable" +msgstr "" + +#: src/Core/Installer.php:521 +msgid "" +"Url rewrite in .htaccess is not working. Make sure you copied .htaccess-dist " +"to .htaccess." +msgstr "" + +#: src/Core/Installer.php:523 +msgid "Error message from Curl when fetching" +msgstr "" + +#: src/Core/Installer.php:528 +msgid "Url rewrite is working" +msgstr "" + +#: src/Core/Installer.php:557 +msgid "ImageMagick PHP extension is not installed" +msgstr "" + +#: src/Core/Installer.php:559 +msgid "ImageMagick PHP extension is installed" +msgstr "" + +#: src/Core/Installer.php:561 tests/src/Core/InstallerTest.php:308 +#: tests/src/Core/InstallerTest.php:332 +msgid "ImageMagick supports GIF" +msgstr "" + +#: src/Core/Installer.php:583 +msgid "Could not connect to database." +msgstr "" + +#: src/Core/Installer.php:590 +msgid "Database already in use." +msgstr "" + +#: src/Core/L10n.php:359 src/Model/Event.php:398 +msgid "Tuesday" +msgstr "" + +#: src/Core/L10n.php:359 src/Model/Event.php:399 +msgid "Wednesday" +msgstr "" + +#: src/Core/L10n.php:359 src/Model/Event.php:400 +msgid "Thursday" +msgstr "" + +#: src/Core/L10n.php:359 src/Model/Event.php:401 +msgid "Friday" +msgstr "" + +#: src/Core/L10n.php:359 src/Model/Event.php:402 +msgid "Saturday" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:417 +msgid "January" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:418 +msgid "February" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:419 +msgid "March" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:420 +msgid "April" +msgstr "" + +#: src/Core/L10n.php:363 src/Core/L10n.php:382 src/Model/Event.php:408 +#: src/Model/Event.php:421 +msgid "May" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:422 +msgid "June" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:423 +msgid "July" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:424 +msgid "August" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:425 +msgid "September" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:426 +msgid "October" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:427 +msgid "November" +msgstr "" + +#: src/Core/L10n.php:363 src/Model/Event.php:428 +msgid "December" +msgstr "" + +#: src/Core/L10n.php:378 src/Model/Event.php:389 +msgid "Mon" +msgstr "" + +#: src/Core/L10n.php:378 src/Model/Event.php:390 +msgid "Tue" +msgstr "" + +#: src/Core/L10n.php:378 src/Model/Event.php:391 +msgid "Wed" +msgstr "" + +#: src/Core/L10n.php:378 src/Model/Event.php:392 +msgid "Thu" +msgstr "" + +#: src/Core/L10n.php:378 src/Model/Event.php:393 +msgid "Fri" +msgstr "" + +#: src/Core/L10n.php:378 src/Model/Event.php:394 +msgid "Sat" +msgstr "" + +#: src/Core/L10n.php:378 src/Model/Event.php:388 +msgid "Sun" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:404 +msgid "Jan" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:405 +msgid "Feb" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:406 +msgid "Mar" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:407 +msgid "Apr" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:410 +msgid "Jul" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:411 +msgid "Aug" +msgstr "" + +#: src/Core/L10n.php:382 +msgid "Sep" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:413 +msgid "Oct" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:414 +msgid "Nov" +msgstr "" + +#: src/Core/L10n.php:382 src/Model/Event.php:415 +msgid "Dec" +msgstr "" + +#: src/Core/L10n.php:400 +msgid "poke" +msgstr "" + +#: src/Core/L10n.php:400 +msgid "poked" +msgstr "" + +#: src/Core/L10n.php:401 +msgid "ping" +msgstr "" + +#: src/Core/L10n.php:401 +msgid "pinged" +msgstr "" + +#: src/Core/L10n.php:402 +msgid "prod" +msgstr "" + +#: src/Core/L10n.php:402 +msgid "prodded" +msgstr "" + +#: src/Core/L10n.php:403 +msgid "slap" +msgstr "" + +#: src/Core/L10n.php:403 +msgid "slapped" +msgstr "" + +#: src/Core/L10n.php:404 +msgid "finger" +msgstr "" + +#: src/Core/L10n.php:404 +msgid "fingered" +msgstr "" + +#: src/Core/L10n.php:405 +msgid "rebuff" +msgstr "" + +#: src/Core/L10n.php:405 +msgid "rebuffed" +msgstr "" + +#: src/Core/NotificationsManager.php:173 +msgid "System" +msgstr "" + +#: src/Core/NotificationsManager.php:263 src/Core/NotificationsManager.php:275 +#, php-format +msgid "%s commented on %s's post" +msgstr "" + +#: src/Core/NotificationsManager.php:274 +#, php-format +msgid "%s created a new post" +msgstr "" + +#: src/Core/NotificationsManager.php:288 +#, php-format +msgid "%s liked %s's post" +msgstr "" + +#: src/Core/NotificationsManager.php:301 +#, php-format +msgid "%s disliked %s's post" +msgstr "" + +#: src/Core/NotificationsManager.php:314 +#, php-format +msgid "%s is attending %s's event" +msgstr "" + +#: src/Core/NotificationsManager.php:327 +#, php-format +msgid "%s is not attending %s's event" +msgstr "" + +#: src/Core/NotificationsManager.php:340 +#, php-format +msgid "%s may attend %s's event" +msgstr "" + +#: src/Core/NotificationsManager.php:373 +#, php-format +msgid "%s is now friends with %s" +msgstr "" + +#: src/Core/NotificationsManager.php:639 +msgid "Friend Suggestion" +msgstr "" + +#: src/Core/NotificationsManager.php:673 +msgid "Friend/Connect Request" +msgstr "" + +#: src/Core/NotificationsManager.php:673 +msgid "New Follower" +msgstr "" + +#: src/Core/Update.php:157 +#, php-format +msgid "Update %s failed. See error logs." +msgstr "" + +#: src/Core/Update.php:213 +#, php-format +msgid "" +"\n" +"\t\t\t\tThe friendica developers released update %s recently,\n" +"\t\t\t\tbut when I tried to install it, something went terribly wrong.\n" +"\t\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact " +"a\n" +"\t\t\t\tfriendica developer if you can not help me on your own. My database " +"might be invalid." +msgstr "" + +#: src/Core/Update.php:219 +#, php-format +msgid "" +"The error message is\n" +"[pre]%s[/pre]" +msgstr "" + +#: src/Core/Update.php:248 +#, php-format +msgid "" +"\n" +"\t\t\t\t\tThe friendica database was successfully updated from %s to %s." +msgstr "" + +#: src/Core/UserImport.php:103 +msgid "Error decoding account file" +msgstr "" + +#: src/Core/UserImport.php:109 +msgid "Error! No version data in file! This is not a Friendica account file?" +msgstr "" + +#: src/Core/UserImport.php:117 +#, php-format +msgid "User '%s' already exists on this server!" +msgstr "" + +#: src/Core/UserImport.php:153 +msgid "User creation error" +msgstr "" + +#: src/Core/UserImport.php:171 +msgid "User profile creation error" +msgstr "" + +#: src/Core/UserImport.php:215 +#, php-format +msgid "%d contact not imported" +msgid_plural "%d contacts not imported" +msgstr[0] "" +msgstr[1] "" + +#: src/Core/UserImport.php:280 +msgid "Done. You can now login with your username and password" +msgstr "" + #: src/Database/DBStructure.php:45 msgid "There are no tables on MyISAM." msgstr "" @@ -8454,8 +8219,9 @@ msgstr "" msgid "%s: updating %s table." msgstr "" -#: src/Model/Mail.php:40 src/Model/Mail.php:172 -msgid "[no subject]" +#: src/LegacyModule.php:29 +#, php-format +msgid "Legacy module file not found: %s" msgstr "" #: src/Model/Contact.php:955 @@ -8531,78 +8297,78 @@ msgstr "" msgid "Unable to retrieve contact information." msgstr "" -#: src/Model/Contact.php:1990 src/Protocol/DFRN.php:1532 +#: src/Model/Event.php:63 src/Model/Event.php:80 src/Model/Event.php:437 +#: src/Model/Event.php:912 +msgid "Starts:" +msgstr "" + +#: src/Model/Event.php:66 src/Model/Event.php:86 src/Model/Event.php:438 +#: src/Model/Event.php:916 +msgid "Finishes:" +msgstr "" + +#: src/Model/Event.php:386 +msgid "all-day" +msgstr "" + +#: src/Model/Event.php:409 +msgid "Jun" +msgstr "" + +#: src/Model/Event.php:412 +msgid "Sept" +msgstr "" + +#: src/Model/Event.php:435 +msgid "No events to display" +msgstr "" + +#: src/Model/Event.php:559 +msgid "l, F j" +msgstr "" + +#: src/Model/Event.php:590 +msgid "Edit event" +msgstr "" + +#: src/Model/Event.php:591 +msgid "Duplicate event" +msgstr "" + +#: src/Model/Event.php:592 +msgid "Delete event" +msgstr "" + +#: src/Model/Event.php:624 src/Model/Item.php:3529 src/Model/Item.php:3536 +msgid "link to source" +msgstr "" + +#: src/Model/Event.php:845 +msgid "D g:i A" +msgstr "" + +#: src/Model/Event.php:846 +msgid "g:i A" +msgstr "" + +#: src/Model/Event.php:931 src/Model/Event.php:933 +msgid "Show map" +msgstr "" + +#: src/Model/Event.php:932 +msgid "Hide map" +msgstr "" + +#: src/Model/Event.php:1022 #, php-format msgid "%s's birthday" msgstr "" -#: src/Model/Contact.php:1991 src/Protocol/DFRN.php:1533 +#: src/Model/Event.php:1023 #, php-format msgid "Happy Birthday %s" msgstr "" -#: src/Model/Event.php:63 src/Model/Event.php:80 src/Model/Event.php:432 -#: src/Model/Event.php:907 -msgid "Starts:" -msgstr "" - -#: src/Model/Event.php:66 src/Model/Event.php:86 src/Model/Event.php:433 -#: src/Model/Event.php:911 -msgid "Finishes:" -msgstr "" - -#: src/Model/Event.php:381 -msgid "all-day" -msgstr "" - -#: src/Model/Event.php:404 -msgid "Jun" -msgstr "" - -#: src/Model/Event.php:407 -msgid "Sept" -msgstr "" - -#: src/Model/Event.php:430 -msgid "No events to display" -msgstr "" - -#: src/Model/Event.php:554 -msgid "l, F j" -msgstr "" - -#: src/Model/Event.php:585 -msgid "Edit event" -msgstr "" - -#: src/Model/Event.php:586 -msgid "Duplicate event" -msgstr "" - -#: src/Model/Event.php:587 -msgid "Delete event" -msgstr "" - -#: src/Model/Event.php:619 src/Model/Item.php:3529 src/Model/Item.php:3536 -msgid "link to source" -msgstr "" - -#: src/Model/Event.php:840 -msgid "D g:i A" -msgstr "" - -#: src/Model/Event.php:841 -msgid "g:i A" -msgstr "" - -#: src/Model/Event.php:926 src/Model/Event.php:928 -msgid "Show map" -msgstr "" - -#: src/Model/Event.php:927 -msgid "Hide map" -msgstr "" - #: src/Model/FileTag.php:255 msgid "Item filed" msgstr "" @@ -8626,15 +8392,15 @@ msgstr "" msgid "edit" msgstr "" -#: src/Model/Group.php:410 +#: src/Model/Group.php:415 msgid "Edit group" msgstr "" -#: src/Model/Group.php:413 +#: src/Model/Group.php:418 msgid "Create a new group" msgstr "" -#: src/Model/Group.php:415 +#: src/Model/Group.php:420 msgid "Edit groups" msgstr "" @@ -8669,12 +8435,16 @@ msgstr "" msgid "view on separate page" msgstr "" +#: src/Model/Mail.php:40 src/Model/Mail.php:172 +msgid "[no subject]" +msgstr "" + #: src/Model/Profile.php:114 msgid "Requested account is not available." msgstr "" #: src/Model/Profile.php:180 src/Model/Profile.php:416 -#: src/Model/Profile.php:863 +#: src/Model/Profile.php:872 msgid "Edit profile" msgstr "" @@ -8690,7 +8460,7 @@ msgstr "" msgid "XMPP:" msgstr "" -#: src/Model/Profile.php:567 src/Model/Profile.php:656 +#: src/Model/Profile.php:567 src/Model/Profile.php:665 msgid "g A l F d" msgstr "" @@ -8698,217 +8468,225 @@ msgstr "" msgid "F d" msgstr "" -#: src/Model/Profile.php:621 src/Model/Profile.php:707 +#: src/Model/Profile.php:630 src/Model/Profile.php:716 msgid "[today]" msgstr "" -#: src/Model/Profile.php:632 +#: src/Model/Profile.php:641 msgid "Birthday Reminders" msgstr "" -#: src/Model/Profile.php:633 +#: src/Model/Profile.php:642 msgid "Birthdays this week:" msgstr "" -#: src/Model/Profile.php:694 +#: src/Model/Profile.php:703 msgid "[No description]" msgstr "" -#: src/Model/Profile.php:721 +#: src/Model/Profile.php:730 msgid "Event Reminders" msgstr "" -#: src/Model/Profile.php:722 +#: src/Model/Profile.php:731 msgid "Upcoming events the next 7 days:" msgstr "" -#: src/Model/Profile.php:745 +#: src/Model/Profile.php:754 msgid "Member since:" msgstr "" -#: src/Model/Profile.php:753 +#: src/Model/Profile.php:762 msgid "j F, Y" msgstr "" -#: src/Model/Profile.php:754 +#: src/Model/Profile.php:763 msgid "j F" msgstr "" -#: src/Model/Profile.php:769 +#: src/Model/Profile.php:771 src/Util/Temporal.php:149 +msgid "Birthday:" +msgstr "" + +#: src/Model/Profile.php:778 msgid "Age:" msgstr "" -#: src/Model/Profile.php:782 +#: src/Model/Profile.php:791 #, php-format msgid "for %1$d %2$s" msgstr "" -#: src/Model/Profile.php:806 +#: src/Model/Profile.php:815 msgid "Religion:" msgstr "" -#: src/Model/Profile.php:814 +#: src/Model/Profile.php:823 msgid "Hobbies/Interests:" msgstr "" -#: src/Model/Profile.php:826 +#: src/Model/Profile.php:835 msgid "Contact information and Social Networks:" msgstr "" -#: src/Model/Profile.php:830 +#: src/Model/Profile.php:839 msgid "Musical interests:" msgstr "" -#: src/Model/Profile.php:834 +#: src/Model/Profile.php:843 msgid "Books, literature:" msgstr "" -#: src/Model/Profile.php:838 +#: src/Model/Profile.php:847 msgid "Television:" msgstr "" -#: src/Model/Profile.php:842 +#: src/Model/Profile.php:851 msgid "Film/dance/culture/entertainment:" msgstr "" -#: src/Model/Profile.php:846 +#: src/Model/Profile.php:855 msgid "Love/Romance:" msgstr "" -#: src/Model/Profile.php:850 +#: src/Model/Profile.php:859 msgid "Work/employment:" msgstr "" -#: src/Model/Profile.php:854 +#: src/Model/Profile.php:863 msgid "School/education:" msgstr "" -#: src/Model/Profile.php:859 +#: src/Model/Profile.php:868 msgid "Forums:" msgstr "" -#: src/Model/Profile.php:903 src/Module/Contact.php:877 +#: src/Model/Profile.php:912 src/Module/Contact.php:877 msgid "Profile Details" msgstr "" -#: src/Model/Profile.php:953 +#: src/Model/Profile.php:962 msgid "Only You Can See This" msgstr "" -#: src/Model/Profile.php:961 src/Model/Profile.php:964 +#: src/Model/Profile.php:970 src/Model/Profile.php:973 msgid "Tips for New Members" msgstr "" -#: src/Model/Profile.php:1126 +#: src/Model/Profile.php:1135 #, php-format msgid "OpenWebAuth: %1$s welcomes %2$s" msgstr "" -#: src/Model/User.php:206 +#: src/Model/User.php:207 msgid "Login failed" msgstr "" -#: src/Model/User.php:237 +#: src/Model/User.php:238 msgid "Not enough information to authenticate" msgstr "" -#: src/Model/User.php:429 +#: src/Model/User.php:430 msgid "An invitation is required." msgstr "" -#: src/Model/User.php:433 +#: src/Model/User.php:434 msgid "Invitation could not be verified." msgstr "" -#: src/Model/User.php:440 +#: src/Model/User.php:441 msgid "Invalid OpenID url" msgstr "" -#: src/Model/User.php:453 src/Module/Login.php:108 +#: src/Model/User.php:454 src/Module/Login.php:108 msgid "" "We encountered a problem while logging in with the OpenID you provided. " "Please check the correct spelling of the ID." msgstr "" -#: src/Model/User.php:453 src/Module/Login.php:108 +#: src/Model/User.php:454 src/Module/Login.php:108 msgid "The error message was:" msgstr "" -#: src/Model/User.php:459 +#: src/Model/User.php:460 msgid "Please enter the required information." msgstr "" -#: src/Model/User.php:475 +#: src/Model/User.php:476 #, php-format msgid "" "system.username_min_length (%s) and system.username_max_length (%s) are " "excluding each other, swapping values." msgstr "" -#: src/Model/User.php:482 +#: src/Model/User.php:483 #, php-format msgid "Username should be at least %s character." msgid_plural "Username should be at least %s characters." msgstr[0] "" msgstr[1] "" -#: src/Model/User.php:486 +#: src/Model/User.php:487 #, php-format msgid "Username should be at most %s character." msgid_plural "Username should be at most %s characters." msgstr[0] "" msgstr[1] "" -#: src/Model/User.php:494 +#: src/Model/User.php:495 msgid "That doesn't appear to be your full (First Last) name." msgstr "" -#: src/Model/User.php:499 +#: src/Model/User.php:500 msgid "Your email domain is not among those allowed on this site." msgstr "" -#: src/Model/User.php:503 +#: src/Model/User.php:504 msgid "Not a valid email address." msgstr "" -#: src/Model/User.php:506 +#: src/Model/User.php:507 msgid "The nickname was blocked from registration by the nodes admin." msgstr "" -#: src/Model/User.php:510 src/Model/User.php:518 +#: src/Model/User.php:511 src/Model/User.php:519 msgid "Cannot use that email." msgstr "" -#: src/Model/User.php:525 +#: src/Model/User.php:526 msgid "Your nickname can only contain a-z, 0-9 and _." msgstr "" -#: src/Model/User.php:532 src/Model/User.php:589 +#: src/Model/User.php:533 src/Model/User.php:590 msgid "Nickname is already registered. Please choose another." msgstr "" -#: src/Model/User.php:542 +#: src/Model/User.php:543 msgid "SERIOUS ERROR: Generation of security keys failed." msgstr "" -#: src/Model/User.php:576 src/Model/User.php:580 +#: src/Model/User.php:577 src/Model/User.php:581 msgid "An error occurred during registration. Please try again." msgstr "" -#: src/Model/User.php:605 +#: src/Model/User.php:601 view/theme/duepuntozero/config.php:55 +msgid "default" +msgstr "" + +#: src/Model/User.php:606 msgid "An error occurred creating your default profile. Please try again." msgstr "" -#: src/Model/User.php:612 +#: src/Model/User.php:613 msgid "An error occurred creating your self contact. Please try again." msgstr "" -#: src/Model/User.php:621 +#: src/Model/User.php:622 msgid "" "An error occurred creating your default contact group. Please try again." msgstr "" -#: src/Model/User.php:696 +#: src/Model/User.php:697 #, php-format msgid "" "\n" @@ -8924,12 +8702,12 @@ msgid "" "\t\t" msgstr "" -#: src/Model/User.php:713 +#: src/Model/User.php:714 #, php-format msgid "Registration at %s" msgstr "" -#: src/Model/User.php:731 +#: src/Model/User.php:732 #, php-format msgid "" "\n" @@ -8938,7 +8716,7 @@ msgid "" "\t\t" msgstr "" -#: src/Model/User.php:737 +#: src/Model/User.php:738 #, php-format msgid "" "\n" @@ -8977,44 +8755,6 @@ msgid "" "\t\t\tThank you and welcome to %2$s." msgstr "" -#: src/Protocol/Diaspora.php:2434 -msgid "Sharing notification from Diaspora network" -msgstr "" - -#: src/Protocol/Diaspora.php:3528 -msgid "Attachments:" -msgstr "" - -#: src/Protocol/OStatus.php:1839 -#, php-format -msgid "%s is now following %s." -msgstr "" - -#: src/Protocol/OStatus.php:1840 -msgid "following" -msgstr "" - -#: src/Protocol/OStatus.php:1843 -#, php-format -msgid "%s stopped following %s." -msgstr "" - -#: src/Protocol/OStatus.php:1844 -msgid "stopped following" -msgstr "" - -#: src/Worker/Delivery.php:433 -msgid "(no subject)" -msgstr "" - -#: src/Module/Logout.php:29 -msgid "Logged out." -msgstr "" - -#: src/Module/Proxy.php:136 -msgid "Bad Request." -msgstr "" - #: src/Module/Contact.php:171 #, php-format msgid "%d contact edited." @@ -9515,6 +9255,14 @@ msgstr "" msgid "privacy policy" msgstr "" +#: src/Module/Logout.php:29 +msgid "Logged out." +msgstr "" + +#: src/Module/Proxy.php:136 +msgid "Bad Request." +msgstr "" + #: src/Module/Tos.php:35 src/Module/Tos.php:75 msgid "" "At the time of registration, and for providing communications between the " @@ -9652,31 +9400,100 @@ msgid_plural "%d comments" msgstr[0] "" msgstr[1] "" -#: src/BaseModule.php:133 -msgid "" -"The form security token was not correct. This probably happened because the " -"form has been opened for too long (>3 hours) before submitting it." +#: src/Protocol/Diaspora.php:2434 +msgid "Sharing notification from Diaspora network" msgstr "" -#: src/App.php:752 -msgid "Delete this item?" +#: src/Protocol/Diaspora.php:3528 +msgid "Attachments:" msgstr "" -#: src/App.php:754 -msgid "show fewer" -msgstr "" - -#: src/App.php:796 -msgid "toggle mobile" -msgstr "" - -#: src/App.php:1345 -msgid "No system theme config value set." -msgstr "" - -#: src/LegacyModule.php:29 +#: src/Protocol/OStatus.php:1839 #, php-format -msgid "Legacy module file not found: %s" +msgid "%s is now following %s." +msgstr "" + +#: src/Protocol/OStatus.php:1840 +msgid "following" +msgstr "" + +#: src/Protocol/OStatus.php:1843 +#, php-format +msgid "%s stopped following %s." +msgstr "" + +#: src/Protocol/OStatus.php:1844 +msgid "stopped following" +msgstr "" + +#: src/Util/Temporal.php:153 +msgid "YYYY-MM-DD or MM-DD" +msgstr "" + +#: src/Util/Temporal.php:296 +msgid "never" +msgstr "" + +#: src/Util/Temporal.php:303 +msgid "less than a second ago" +msgstr "" + +#: src/Util/Temporal.php:311 +msgid "year" +msgstr "" + +#: src/Util/Temporal.php:311 +msgid "years" +msgstr "" + +#: src/Util/Temporal.php:312 +msgid "months" +msgstr "" + +#: src/Util/Temporal.php:313 +msgid "weeks" +msgstr "" + +#: src/Util/Temporal.php:314 +msgid "days" +msgstr "" + +#: src/Util/Temporal.php:315 +msgid "hour" +msgstr "" + +#: src/Util/Temporal.php:315 +msgid "hours" +msgstr "" + +#: src/Util/Temporal.php:316 +msgid "minute" +msgstr "" + +#: src/Util/Temporal.php:316 +msgid "minutes" +msgstr "" + +#: src/Util/Temporal.php:317 +msgid "second" +msgstr "" + +#: src/Util/Temporal.php:317 +msgid "seconds" +msgstr "" + +#: src/Util/Temporal.php:327 +#, php-format +msgid "in %1$d %2$s" +msgstr "" + +#: src/Util/Temporal.php:330 +#, php-format +msgid "%1$d %2$s ago" +msgstr "" + +#: src/Worker/Delivery.php:433 +msgid "(no subject)" msgstr "" #: update.php:195 @@ -9688,3 +9505,191 @@ msgstr "" #, php-format msgid "%s: Updating post-type." msgstr "" + +#: view/theme/duepuntozero/config.php:56 +msgid "greenzero" +msgstr "" + +#: view/theme/duepuntozero/config.php:57 +msgid "purplezero" +msgstr "" + +#: view/theme/duepuntozero/config.php:58 +msgid "easterbunny" +msgstr "" + +#: view/theme/duepuntozero/config.php:59 +msgid "darkzero" +msgstr "" + +#: view/theme/duepuntozero/config.php:60 +msgid "comix" +msgstr "" + +#: view/theme/duepuntozero/config.php:61 +msgid "slackr" +msgstr "" + +#: view/theme/duepuntozero/config.php:75 +msgid "Variations" +msgstr "" + +#: view/theme/frio/config.php:103 +msgid "Custom" +msgstr "" + +#: view/theme/frio/config.php:115 +msgid "Note" +msgstr "" + +#: view/theme/frio/config.php:115 +msgid "Check image permissions if all users are allowed to see the image" +msgstr "" + +#: view/theme/frio/config.php:122 +msgid "Select color scheme" +msgstr "" + +#: view/theme/frio/config.php:123 +msgid "Navigation bar background color" +msgstr "" + +#: view/theme/frio/config.php:124 +msgid "Navigation bar icon color " +msgstr "" + +#: view/theme/frio/config.php:125 +msgid "Link color" +msgstr "" + +#: view/theme/frio/config.php:126 +msgid "Set the background color" +msgstr "" + +#: view/theme/frio/config.php:127 +msgid "Content background opacity" +msgstr "" + +#: view/theme/frio/config.php:128 +msgid "Set the background image" +msgstr "" + +#: view/theme/frio/config.php:129 +msgid "Background image style" +msgstr "" + +#: view/theme/frio/config.php:134 +msgid "Login page background image" +msgstr "" + +#: view/theme/frio/config.php:138 +msgid "Login page background color" +msgstr "" + +#: view/theme/frio/config.php:138 +msgid "Leave background image and color empty for theme defaults" +msgstr "" + +#: view/theme/frio/php/Image.php:24 +msgid "Top Banner" +msgstr "" + +#: view/theme/frio/php/Image.php:24 +msgid "" +"Resize image to the width of the screen and show background color below on " +"long pages." +msgstr "" + +#: view/theme/frio/php/Image.php:25 +msgid "Full screen" +msgstr "" + +#: view/theme/frio/php/Image.php:25 +msgid "" +"Resize image to fill entire screen, clipping either the right or the bottom." +msgstr "" + +#: view/theme/frio/php/Image.php:26 +msgid "Single row mosaic" +msgstr "" + +#: view/theme/frio/php/Image.php:26 +msgid "" +"Resize image to repeat it on a single row, either vertical or horizontal." +msgstr "" + +#: view/theme/frio/php/Image.php:27 +msgid "Mosaic" +msgstr "" + +#: view/theme/frio/php/Image.php:27 +msgid "Repeat image to fill the screen." +msgstr "" + +#: view/theme/frio/theme.php:252 +msgid "Guest" +msgstr "" + +#: view/theme/frio/theme.php:257 +msgid "Visitor" +msgstr "" + +#: view/theme/quattro/config.php:77 +msgid "Alignment" +msgstr "" + +#: view/theme/quattro/config.php:77 +msgid "Left" +msgstr "" + +#: view/theme/quattro/config.php:77 +msgid "Center" +msgstr "" + +#: view/theme/quattro/config.php:78 +msgid "Color scheme" +msgstr "" + +#: view/theme/quattro/config.php:79 +msgid "Posts font size" +msgstr "" + +#: view/theme/quattro/config.php:80 +msgid "Textareas font size" +msgstr "" + +#: view/theme/vier/config.php:76 +msgid "Comma separated list of helper forums" +msgstr "" + +#: view/theme/vier/config.php:123 +msgid "Set style" +msgstr "" + +#: view/theme/vier/config.php:124 +msgid "Community Pages" +msgstr "" + +#: view/theme/vier/config.php:125 view/theme/vier/theme.php:151 +msgid "Community Profiles" +msgstr "" + +#: view/theme/vier/config.php:126 +msgid "Help or @NewHere ?" +msgstr "" + +#: view/theme/vier/config.php:127 view/theme/vier/theme.php:388 +msgid "Connect Services" +msgstr "" + +#: view/theme/vier/config.php:128 +msgid "Find Friends" +msgstr "" + +#: view/theme/vier/config.php:129 view/theme/vier/theme.php:181 +msgid "Last users" +msgstr "" + +#: view/theme/vier/theme.php:291 +msgid "Quick Start" +msgstr "" From 9102a37b371c0e2cb5e0393484465652076f0d8d Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 22:57:55 -0500 Subject: [PATCH 07/19] Move master translation file away from util - Rewrite translation documentation - Delete unused util/strings.php - Updated references to util/messages.po and util/strings.php --- .tx/config | 2 +- README.translate.md | 101 -- bin/run_xgettext.sh | 2 +- doc/translations.md | 114 +- src/Core/Console/PhpToPo.php | 4 +- src/Core/Console/PoToPhp.php | 2 +- src/Core/Console/Typo.php | 2 - util/strings.php | 1776 ----------------------------- {util => view/lang/C}/messages.po | 0 9 files changed, 50 insertions(+), 1953 deletions(-) delete mode 100644 README.translate.md delete mode 100644 util/strings.php rename {util => view/lang/C}/messages.po (100%) diff --git a/.tx/config b/.tx/config index b42998b86..d639642de 100644 --- a/.tx/config +++ b/.tx/config @@ -3,7 +3,7 @@ host = https://www.transifex.com [friendica.messagespo] file_filter = view/lang//messages.po -source_file = util/messages.po +source_file = view/lang/C/messages.po source_lang = en type = PO diff --git a/README.translate.md b/README.translate.md deleted file mode 100644 index a4f61a1b9..000000000 --- a/README.translate.md +++ /dev/null @@ -1,101 +0,0 @@ -Friendica translations -====================== - -Translation Process -------------------- - -The strings used in the UI of Friendica is translated at [Transifex] [1] and then included in the git repository at github. -If you want to help with translation for any language, be it correcting terms or translating friendica to a currently not supported language, please register an account at transifex.com and contact the friendica translation team there. - -Translating friendica is simple. -Just use the online tool at transifex. -If you don't want to deal with git & co. that is fine, we check the status of the translations regularly and import them into the source tree at github so that others can use them. - -We do not include every translation from transifex in the source tree to avoid a scattered and disturbed overall experience. -As an uneducated guess we have a lower limit of 50% translated strings before we include the language (for the core messages.po file, addont translation will be included once all strings of an addon are translated. -This limit is judging only by the amount of translated strings under the assumption that the most prominent strings for the UI will be translated first by a translation team. -If you feel your translation useable before this limit, please contact us and we will probably include your teams work in the source tree. - -If you want to help translating, please concentrate on the core messages.po file first. -We will only include translations with a sufficient translated messages.po file. -Translations of addons will only be included, when the core file is included as well. - -If you want to get your work into the source tree yourself, feel free to do so and contact us with and question that arises. -The process is simple and friendica ships with all the tools necessary. - -The location of the translated files in the source tree is - /view/lang/LNG-CODE/ -where LNG-CODE is the language code used, e.g. de for German or fr for French. -The translated strings come as a "message.po" file from transifex which needs to be translated into the PHP file friendica uses. -To do so, place the file in the directory mentioned above and use the "po2php" command from the console. -*Please note that the console tool has to be called from the base directory of your Friendica installation.* - -Assuming you want to convert the German localization which is placed in view/lang/de/message.po you would do the following. - - 1. Navigate at the command prompt to the base directory of your - friendica installation - - 2. Execute the po2php command, which will place the translation - in the strings.php file that is used by friendica. - - $> php bin/console.php po2php view/lang/de/messages.po - - The output of the script will be placed at view/lang/de/strings.php where - friendica is expecting it, so you can test your translation immediately. - - 3. Visit your friendica page to check if it still works in the language you - just translated. If not try to find the error, most likely PHP will give - you a hint in the log/warnings.about the error. - - For debugging you can also try to "run" the file with PHP. This should - not give any output if the file is ok but might give a hint for - searching the bug in the file. - - $> php view/lang/de/strings.php - - 4. commit the two files with a meaningful commit message to your git - repository, push it to your fork of the friendica repository at github and - issue a pull request for that commit. - -You should translate the PO files at Transifex. -Otherwise your work might get lost, when the translation from Transifex is included to the Friendica repository after it was updated there. - -Utilities ---------- - -Additional to the po2php command there are some more utilities for translation in the console. -If you only want to translate friendica into another language you wont need any of these tools most likely but it gives you an idea how the translation process of friendica works. - -For further information see the utils/README file. - -Transifex-Client ----------------- - -Transifex has a client program which let you interact with the translation files in a similar way to git. -Help for the client can be found at the [Transifex Help Center] [2]. -Here we will only cover basic usage. - -After installation of the client, you should have a `tx` command available on your system. -To use it, first create a configuration file with your credentials. -On Linux this file should be placed into your home directory `~/.transifexrc`. -The content of the file should be something like the following: - - [https://www.transifex.com] - username = user - token = - password = p@ssw0rd - hostname = https://www.transifex.com - -Since Friendica version 3.5.1 we ship configuration files for the Transifex client in the core repository and the addon repository. -To update the translation files after you have translated strings of e.g. Esperanto in the web-UI of transifex you can use `tx` to download the file. - - $> tx pull -l eo - -And then use the `po2php` command described above to convert the `messages.po` file to the `strings.php` file Friendica is loading. - - $> php bin/console.php po2php view/lang/eo/messages.po - -Afterwards, just commit the two changed files to a feature branch of your Friendica repository, push the changes to github and open a pull request for your changes. - -[1]: https://www.transifex.com/projects/p/friendica/ -[2]: https://docs.transifex.com/client/introduction diff --git a/bin/run_xgettext.sh b/bin/run_xgettext.sh index a4faf5f91..5c40df8b5 100755 --- a/bin/run_xgettext.sh +++ b/bin/run_xgettext.sh @@ -45,7 +45,7 @@ case "$MODE" in ;; 'default') cd "$FULLPATH/.." - OUTFILE="$FULLPATH/../util/messages.po" + OUTFILE="$FULLPATH/../view/lang/C/messages.po" FINDSTARTDIR="." # skip addon folder FINDOPTS="( -wholename */addon -or -wholename */addons -or -wholename */addons-extra -or -wholename */smarty3 ) -prune -o" diff --git a/doc/translations.md b/doc/translations.md index ad5d42fdd..e545aa1c1 100644 --- a/doc/translations.md +++ b/doc/translations.md @@ -3,84 +3,52 @@ Friendica translations * [Home](help) -Translation Process -------------------- +## Overview -The strings used in the UI of Friendica are translated at [Transifex] [1] and then included in the git repository at github. -If you want to help with translation for any language, be it correcting terms or translating friendica to a currently not supported language, please register an account at Transifex.com and contact the friendica translation team there. +The Friendica translation process is based on `gettext` PO files. -Translating friendica is simple. -Just use the online tool at Transifex. -If you don't want to deal with git & co. that is fine, we check the status of the translations regularly and import them into the source tree at github so that others can use them. +Basic worflow: +1. `xgettext` is used to collect translation strings across the project in the master PO file located in `view/lang/C/messages.po`. +2. This file makes translations strings available at [the Transifex Friendica page](https://www.transifex.com/Friendica/friendica/dashboard/). +3. The translation itself is done at Transifex by volunteers. +4. The resulting PO files by languages are manually updated in `view/lang//messages.po`. +5. PO files are converted to PHP arrays in `view/lang//strings.php` that are ultimately used by Friendica to display the translations. -We do not include every translation from Transifex in the source tree to avoid a scattered and disturbed overall experience. -As an uneducated guess we have a lower limit of 50% translated strings before we include the language (for the core messages.po file, addon translation will be included once all strings of an addon are translated. -This limit is judging only by the amount of translated strings under the assumption that the most prominent strings for the UI will be translated first by a translation team. -If you feel your translation usable before this limit, please contact us and we will probably include your teams work in the source tree. +## Translate Friendica in your favorite language -If you want to help translating, please concentrate on the core messages.po file first. -We will only include translations with a sufficient translated messages.po file. -Translations of addons will only be included, when the core file is included as well. +Thank you for your interest in improving Friendica's translation! +Please register a free Transifex account and ask over at [the Transifex Friendica page](https://www.transifex.com/Friendica/friendica/dashboard/) to join the translation team for your favorite language. -If you want to get your work into the source tree yourself, feel free to do so and contact us with and questions that arise. -The process is simple and friendica ships with all the tools necessary. +As a rule of thumb, we add support for a language in Friendica when at least 50% of the strings have been translated to avoid a scattered experience. +For addons, we add support for a language when all the strings for this addon have been translated and only if we already support the language in Friendica. -The location of the translated files in the source tree is - /view/lang/LNG-CODE/ -where LNG-CODE is the language code used, e.g. de for German or fr for French. -The translated strings come as a "message.po" file from Transifex which needs to be translated into the PHP file friendica uses. -To do so, place the file in the directory mentioned above and use the "po2php" command from the Friendica Console. +## Add new translation strings -Assuming you want to convert the German localization which is placed in view/lang/de/message.po you would do the following. +### Core - 1. Navigate at the command prompt to the base directory of your - friendica installation +Once you have added new translation strings in your code changes, please run `bin/run_xgettext.sh` from the base Friendica directory and commit the updated `view/lang/C/messages.po` to your branch. - 2. Execute the po2php command, which will place the translation - in the strings.php file that is used by friendica. +### Addon - $> php bin/console.php po2php view/lang/de/messages.po +If you have the `friendica-addons` repository in the `addon` directory of your Friendica cloned repository, just run `bin/run_xgettext.sh -a ` from the base Friendica directory. - The output of the script will be placed at view/lang/de/strings.php where - friendica is expecting it, so you can test your translation immediately. - *Please note that the console tool has to be called from the base directory of your Friendica installation.* +Otherwise: - 3. Visit your friendica page to check if it still works in the language you - just translated. If not try to find the error, most likely PHP will give - you a hint in the log/warnings.about the error. + cd /path/to/friendica-addons/ + /path/to/friendica/bin/run_xgettext.sh -s - For debugging you can also try to "run" the file with PHP. This should - not give any output if the file is ok but might give a hint for - searching the bug in the file. +In either case, you need to commit the updated `/lang/C/messages.po`. - $> php view/lang/de/strings.php +## Update translations from Transifex - 4. commit the two files with a meaningful commit message to your git - repository, push it to your fork of the friendica repository at github and - issue a pull request for that commit. +Please download the Transifex file "for use" in `view/lang//messages.po`. -You should translate the PO files at Transifex. -Otherwise your work might get lost, when the translation from Transifex is included to the Friendica repository after it was updated there. +Then run `bin/console po2php view/lang//messages.po` to update the related `strings.php` file. -Utilities ---------- +### Using the Transifex client -Additional to the po2php command there are some more utilities for translation in the console. -If you only want to translate friendica into another language you wont need any of these tools most likely but it gives you an idea how the translation process of friendica works. - -For further information see the utils/README file. - -Help, Tobias asked me to regenerate the master messages.po file! ----------------------------------------------------------------- - -Don't panic. -Just run `bin/run_xgettext.sh` from your base Friendica directory and commit `util/messages.po` to your branch. - -Transifex-Client ----------------- - -Transifex has a client program which let you interact with the translation files in a similar way to git. -Help for the client can be found at the [Transifex Help Center] [2]. +Transifex has a client program which allows you to sync files between your cloned Friendica repository and Transifex. +Help for the client can be found at the [Transifex Help Center](https://docs.transifex.com/client/introduction). Here we will only cover basic usage. After installation of the client, you should have a `tx` command available on your system. @@ -88,23 +56,31 @@ To use it, first create a configuration file with your credentials. On Linux this file should be placed into your home directory `~/.transifexrc`. The content of the file should be something like the following: - [https://www.Transifex.com] + [https://www.transifex.com] username = user token = password = p@ssw0rd - hostname = https://www.Transifex.com + hostname = https://www.transifex.com -Since Friendica version 3.5.1 we ship configuration files for the Transifex client in the core repository and the addon repository. -To update the translation files after you have translated strings of e.g. Esperanto in the web-UI of Transifex you can use `tx` to download the file. +Since Friendica version 3.5.1 we ship configuration files for the Transifex client in the core repository and the addon repository in `.tx/config`. +To update the PO files after you have translated strings of e.g. Esperanto on the Transifex website you can use `tx` to download the updated PO file in the right location. $> tx pull -l eo -And then use the `po2php` command described above to convert the `messages.po` file to the `strings.php` file Friendica is loading. +Then run `bin/console po2php view/lang//messages.po` to update the related `strings.php` file. - $> php bin/console.php po2php view/lang/eo/messages.po +## Translation functions usage -Afterwards, just commit the two changed files to a feature branch of your Friendica repository, push the changes to github and open a pull request for your changes. +### Basic usage -[1]: https://www.Transifex.com/projects/p/friendica/ -[2]: https://docs.Transifex.com/client/introduction +- `Friendica\Core\L10n::t('Label')` => `Label` +- `Friendica\Core\L10n::t('Label %s', 'test')` => `Label test` +### Plural + +- `Friendica\Core\L10n::tt('Label', 'Labels', 1)` => `Label` +- `Friendica\Core\L10n::tt('Label', 'Labels', 3)` => `Labels` +- `Friendica\Core\L10n::tt('%d Label', '%d Labels', 1)` => `1 Label` +- `Friendica\Core\L10n::tt('%d Label', '%d Labels', 3)` => `3 Labels` +- `Friendica\Core\L10n::tt('%d Label', 'Labels %2%s %3%s', 1, 'test', 'test2')` => `Label test test2` +- `Friendica\Core\L10n::tt('%d Label', 'Labels %2%s %3%s', 3, 'test', 'test2')` => `Labels test test2` diff --git a/src/Core/Console/PhpToPo.php b/src/Core/Console/PhpToPo.php index fb7ecac43..4a3caf4bc 100644 --- a/src/Core/Console/PhpToPo.php +++ b/src/Core/Console/PhpToPo.php @@ -27,7 +27,7 @@ Description Options -p Number of plural forms. Default: 2 - --base Path to base messages.po file. Default: util/messages.po + --base Path to base messages.po file. Default: view/lang/C/messages.po -h|--help|-? Show help information -v Show more debug information. HELP; @@ -107,7 +107,7 @@ HELP; $out .= sprintf('"Plural-Forms: nplurals=%s; plural=%s;\n"', $lang_pnum, $lang_logic) . "\n"; $out .= "\n"; - $base_path = $this->getOption('base', 'util' . DIRECTORY_SEPARATOR . 'messages.po'); + $base_path = $this->getOption('base', 'view/lang/C/messages.po'); // load base messages.po and extract msgids $base_msgids = []; diff --git a/src/Core/Console/PoToPhp.php b/src/Core/Console/PoToPhp.php index b7c9bfaae..de5c80878 100644 --- a/src/Core/Console/PoToPhp.php +++ b/src/Core/Console/PoToPhp.php @@ -61,7 +61,7 @@ HELP; $outfile = dirname($pofile) . DIRECTORY_SEPARATOR . 'strings.php'; - if (strstr($outfile, 'util')) { + if (basename(dirname($pofile)) == 'C') { $lang = 'en'; } else { $lang = str_replace('-', '_', basename(dirname($pofile))); diff --git a/src/Core/Console/Typo.php b/src/Core/Console/Typo.php index cdb3f9c81..832fdc2bd 100644 --- a/src/Core/Console/Typo.php +++ b/src/Core/Console/Typo.php @@ -86,8 +86,6 @@ HELP; $this->out('String files'); } - $this->checkFile($php_path, 'util/strings.php'); - $files = glob('view/lang/*/strings.php'); $this->checkFiles($php_path, $files); diff --git a/util/strings.php b/util/strings.php deleted file mode 100644 index f5a79d3c6..000000000 --- a/util/strings.php +++ /dev/null @@ -1,1776 +0,0 @@ -strings["%d contact edited."] = [ - 0 => "", - 1 => "", -]; -$a->strings["Could not access contact record."] = ""; -$a->strings["Could not locate selected profile."] = ""; -$a->strings["Contact updated."] = ""; -$a->strings["Failed to update contact record."] = ""; -$a->strings["Permission denied."] = ""; -$a->strings["Contact has been blocked"] = ""; -$a->strings["Contact has been unblocked"] = ""; -$a->strings["Contact has been ignored"] = ""; -$a->strings["Contact has been unignored"] = ""; -$a->strings["Contact has been archived"] = ""; -$a->strings["Contact has been unarchived"] = ""; -$a->strings["Do you really want to delete this contact?"] = ""; -$a->strings["Yes"] = ""; -$a->strings["Cancel"] = ""; -$a->strings["Contact has been removed."] = ""; -$a->strings["You are mutual friends with %s"] = ""; -$a->strings["You are sharing with %s"] = ""; -$a->strings["%s is sharing with you"] = ""; -$a->strings["Private communications are not available for this contact."] = ""; -$a->strings["Never"] = ""; -$a->strings["(Update was successful)"] = ""; -$a->strings["(Update was not successful)"] = ""; -$a->strings["Suggest friends"] = ""; -$a->strings["Network type: %s"] = ""; -$a->strings["%d contact in common"] = [ - 0 => "", - 1 => "", -]; -$a->strings["View all contacts"] = ""; -$a->strings["Unblock"] = ""; -$a->strings["Block"] = ""; -$a->strings["Toggle Blocked status"] = ""; -$a->strings["Unignore"] = ""; -$a->strings["Ignore"] = ""; -$a->strings["Toggle Ignored status"] = ""; -$a->strings["Unarchive"] = ""; -$a->strings["Archive"] = ""; -$a->strings["Toggle Archive status"] = ""; -$a->strings["Repair"] = ""; -$a->strings["Advanced Contact Settings"] = ""; -$a->strings["Communications lost with this contact!"] = ""; -$a->strings["Contact Editor"] = ""; -$a->strings["Submit"] = ""; -$a->strings["Profile Visibility"] = ""; -$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = ""; -$a->strings["Contact Information / Notes"] = ""; -$a->strings["Edit contact notes"] = ""; -$a->strings["Visit %s's profile [%s]"] = ""; -$a->strings["Block/Unblock contact"] = ""; -$a->strings["Ignore contact"] = ""; -$a->strings["Repair URL settings"] = ""; -$a->strings["View conversations"] = ""; -$a->strings["Delete contact"] = ""; -$a->strings["Last update:"] = ""; -$a->strings["Update public posts"] = ""; -$a->strings["Update now"] = ""; -$a->strings["Currently blocked"] = ""; -$a->strings["Currently ignored"] = ""; -$a->strings["Currently archived"] = ""; -$a->strings["Hide this contact from others"] = ""; -$a->strings["Replies/likes to your public posts may still be visible"] = ""; -$a->strings["Notification for new posts"] = ""; -$a->strings["Send a notification of every new post of this contact"] = ""; -$a->strings["Fetch further information for feeds"] = ""; -$a->strings["Disabled"] = ""; -$a->strings["Fetch information"] = ""; -$a->strings["Fetch information and keywords"] = ""; -$a->strings["Blacklisted keywords"] = ""; -$a->strings["Comma separated list of keywords that should not be converted to hashtags, when \"Fetch information and keywords\" is selected"] = ""; -$a->strings["Suggestions"] = ""; -$a->strings["Suggest potential friends"] = ""; -$a->strings["All Contacts"] = ""; -$a->strings["Show all contacts"] = ""; -$a->strings["Unblocked"] = ""; -$a->strings["Only show unblocked contacts"] = ""; -$a->strings["Blocked"] = ""; -$a->strings["Only show blocked contacts"] = ""; -$a->strings["Ignored"] = ""; -$a->strings["Only show ignored contacts"] = ""; -$a->strings["Archived"] = ""; -$a->strings["Only show archived contacts"] = ""; -$a->strings["Hidden"] = ""; -$a->strings["Only show hidden contacts"] = ""; -$a->strings["Mutual Friendship"] = ""; -$a->strings["is a fan of yours"] = ""; -$a->strings["you are a fan of"] = ""; -$a->strings["Edit contact"] = ""; -$a->strings["Contacts"] = ""; -$a->strings["Search your contacts"] = ""; -$a->strings["Finding: "] = ""; -$a->strings["Find"] = ""; -$a->strings["Update"] = ""; -$a->strings["Delete"] = ""; -$a->strings["No profile"] = ""; -$a->strings["Manage Identities and/or Pages"] = ""; -$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = ""; -$a->strings["Select an identity to manage: "] = ""; -$a->strings["Post successful."] = ""; -$a->strings["Permission denied"] = ""; -$a->strings["Invalid profile identifier."] = ""; -$a->strings["Profile Visibility Editor"] = ""; -$a->strings["Profile"] = ""; -$a->strings["Click on a contact to add or remove."] = ""; -$a->strings["Visible To"] = ""; -$a->strings["All Contacts (with secure profile access)"] = ""; -$a->strings["Item not found."] = ""; -$a->strings["Public access denied."] = ""; -$a->strings["Access to this profile has been restricted."] = ""; -$a->strings["Item has been removed."] = ""; -$a->strings["Welcome to Friendica"] = ""; -$a->strings["New Member Checklist"] = ""; -$a->strings["We would like to offer some tips and links to help make your experience enjoyable. Click any item to visit the relevant page. A link to this page will be visible from your home page for two weeks after your initial registration and then will quietly disappear."] = ""; -$a->strings["Getting Started"] = ""; -$a->strings["Friendica Walk-Through"] = ""; -$a->strings["On your Quick Start page - find a brief introduction to your profile and network tabs, make some new connections, and find some groups to join."] = ""; -$a->strings["Settings"] = ""; -$a->strings["Go to Your Settings"] = ""; -$a->strings["On your Settings page - change your initial password. Also make a note of your Identity Address. This looks just like an email address - and will be useful in making friends on the free social web."] = ""; -$a->strings["Review the other settings, particularly the privacy settings. An unpublished directory listing is like having an unlisted phone number. In general, you should probably publish your listing - unless all of your friends and potential friends know exactly how to find you."] = ""; -$a->strings["Upload Profile Photo"] = ""; -$a->strings["Upload a profile photo if you have not done so already. Studies have shown that people with real photos of themselves are ten times more likely to make friends than people who do not."] = ""; -$a->strings["Edit Your Profile"] = ""; -$a->strings["Edit your default profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors."] = ""; -$a->strings["Profile Keywords"] = ""; -$a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = ""; -$a->strings["Connecting"] = ""; -$a->strings["Facebook"] = ""; -$a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = ""; -$a->strings["If this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = ""; -$a->strings["Importing Emails"] = ""; -$a->strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = ""; -$a->strings["Go to Your Contacts Page"] = ""; -$a->strings["Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the Add New Contact dialog."] = ""; -$a->strings["Go to Your Site's Directory"] = ""; -$a->strings["The Directory page lets you find other people in this network or other federated sites. Look for a Connect or Follow link on their profile page. Provide your own Identity Address if requested."] = ""; -$a->strings["Finding New People"] = ""; -$a->strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = ""; -$a->strings["Groups"] = ""; -$a->strings["Group Your Contacts"] = ""; -$a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = ""; -$a->strings["Why Aren't My Posts Public?"] = ""; -$a->strings["Friendica respects your privacy. By default, your posts will only show up to people you've added as friends. For more information, see the help section from the link above."] = ""; -$a->strings["Getting Help"] = ""; -$a->strings["Go to the Help Section"] = ""; -$a->strings["Our help pages may be consulted for detail on other program features and resources."] = ""; -$a->strings["OpenID protocol error. No ID returned."] = ""; -$a->strings["Account not found and OpenID registration is not permitted on this site."] = ""; -$a->strings["Login failed."] = ""; -$a->strings["Image uploaded but image cropping failed."] = ""; -$a->strings["Profile Photos"] = ""; -$a->strings["Image size reduction [%s] failed."] = ""; -$a->strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = ""; -$a->strings["Unable to process image"] = ""; -$a->strings["Image exceeds size limit of %d"] = ""; -$a->strings["Unable to process image."] = ""; -$a->strings["Upload File:"] = ""; -$a->strings["Select a profile:"] = ""; -$a->strings["Upload"] = ""; -$a->strings["or"] = ""; -$a->strings["skip this step"] = ""; -$a->strings["select a photo from your photo albums"] = ""; -$a->strings["Crop Image"] = ""; -$a->strings["Please adjust the image cropping for optimum viewing."] = ""; -$a->strings["Done Editing"] = ""; -$a->strings["Image uploaded successfully."] = ""; -$a->strings["Image upload failed."] = ""; -$a->strings["photo"] = ""; -$a->strings["status"] = ""; -$a->strings["%1\$s is following %2\$s's %3\$s"] = ""; -$a->strings["Tag removed"] = ""; -$a->strings["Remove Item Tag"] = ""; -$a->strings["Select a tag to remove: "] = ""; -$a->strings["Remove"] = ""; -$a->strings["Save to Folder:"] = ""; -$a->strings["- select -"] = ""; -$a->strings["Save"] = ""; -$a->strings["Contact added"] = ""; -$a->strings["Unable to locate original post."] = ""; -$a->strings["Empty post discarded."] = ""; -$a->strings["Wall Photos"] = ""; -$a->strings["System error. Post not saved."] = ""; -$a->strings["This message was sent to you by %s, a member of the Friendica social network."] = ""; -$a->strings["You may visit them online at %s"] = ""; -$a->strings["Please contact the sender by replying to this post if you do not wish to receive these messages."] = ""; -$a->strings["%s posted an update."] = ""; -$a->strings["Group created."] = ""; -$a->strings["Could not create group."] = ""; -$a->strings["Group not found."] = ""; -$a->strings["Group name changed."] = ""; -$a->strings["Save Group"] = ""; -$a->strings["Create a group of contacts/friends."] = ""; -$a->strings["Group Name: "] = ""; -$a->strings["Group removed."] = ""; -$a->strings["Unable to remove group."] = ""; -$a->strings["Group Editor"] = ""; -$a->strings["Members"] = ""; -$a->strings["You must be logged in to use addons. "] = ""; -$a->strings["Applications"] = ""; -$a->strings["No installed applications."] = ""; -$a->strings["Profile not found."] = ""; -$a->strings["Contact not found."] = ""; -$a->strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = ""; -$a->strings["Response from remote site was not understood."] = ""; -$a->strings["Unexpected response from remote site: "] = ""; -$a->strings["Confirmation completed successfully."] = ""; -$a->strings["Remote site reported: "] = ""; -$a->strings["Temporary failure. Please wait and try again."] = ""; -$a->strings["Introduction failed or was revoked."] = ""; -$a->strings["Unable to set contact photo."] = ""; -$a->strings["%1\$s is now friends with %2\$s"] = ""; -$a->strings["No user record found for '%s' "] = ""; -$a->strings["Our site encryption key is apparently messed up."] = ""; -$a->strings["Empty site URL was provided or URL could not be decrypted by us."] = ""; -$a->strings["Contact record was not found for you on our site."] = ""; -$a->strings["Site public key not available in contact record for URL %s."] = ""; -$a->strings["The ID provided by your system is a duplicate on our system. It should work if you try again."] = ""; -$a->strings["Unable to set your contact credentials on our system."] = ""; -$a->strings["Unable to update your contact profile details on our system"] = ""; -$a->strings["[Name Withheld]"] = ""; -$a->strings["%1\$s has joined %2\$s"] = ""; -$a->strings["Requested profile is not available."] = ""; -$a->strings["Tips for New Members"] = ""; -$a->strings["No videos selected"] = ""; -$a->strings["Access to this item is restricted."] = ""; -$a->strings["View Video"] = ""; -$a->strings["View Album"] = ""; -$a->strings["Recent Videos"] = ""; -$a->strings["Upload New Videos"] = ""; -$a->strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = ""; -$a->strings["Friend suggestion sent."] = ""; -$a->strings["Suggest Friends"] = ""; -$a->strings["Suggest a friend for %s"] = ""; -$a->strings["No valid account found."] = ""; -$a->strings["Password reset request issued. Check your email."] = ""; -$a->strings["\n\t\tDear %1\$s,\n\t\t\tA request was recently received at \"%2\$s\" to reset your account\n\t\tpassword. In order to confirm this request, please select the verification link\n\t\tbelow or paste it into your web browser address bar.\n\n\t\tIf you did NOT request this change, please DO NOT follow the link\n\t\tprovided and ignore and/or delete this email.\n\n\t\tYour password will not be changed unless we can verify that you\n\t\tissued this request."] = ""; -$a->strings["\n\t\tFollow this link to verify your identity:\n\n\t\t%1\$s\n\n\t\tYou will then receive a follow-up message containing the new password.\n\t\tYou may change that password from your account settings page after logging in.\n\n\t\tThe login details are as follows:\n\n\t\tSite Location:\t%2\$s\n\t\tLogin Name:\t%3\$s"] = ""; -$a->strings["Password reset requested at %s"] = ""; -$a->strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = ""; -$a->strings["Password Reset"] = ""; -$a->strings["Your password has been reset as requested."] = ""; -$a->strings["Your new password is"] = ""; -$a->strings["Save or copy your new password - and then"] = ""; -$a->strings["click here to login"] = ""; -$a->strings["Your password may be changed from the Settings page after successful login."] = ""; -$a->strings["\n\t\t\t\tDear %1\$s,\n\t\t\t\t\tYour password has been changed as requested. Please retain this\n\t\t\t\tinformation for your records (or change your password immediately to\n\t\t\t\tsomething that you will remember).\n\t\t\t"] = ""; -$a->strings["\n\t\t\t\tYour login details are as follows:\n\n\t\t\t\tSite Location:\t%1\$s\n\t\t\t\tLogin Name:\t%2\$s\n\t\t\t\tPassword:\t%3\$s\n\n\t\t\t\tYou may change that password from your account settings page after logging in.\n\t\t\t"] = ""; -$a->strings["Your password has been changed at %s"] = ""; -$a->strings["Forgot your Password?"] = ""; -$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = ""; -$a->strings["Nickname or Email: "] = ""; -$a->strings["Reset"] = ""; -$a->strings["%1\$s likes %2\$s's %3\$s"] = ""; -$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = ""; -$a->strings["{0} wants to be your friend"] = ""; -$a->strings["{0} sent you a message"] = ""; -$a->strings["{0} requested registration"] = ""; -$a->strings["{0} commented %s's post"] = ""; -$a->strings["{0} liked %s's post"] = ""; -$a->strings["{0} disliked %s's post"] = ""; -$a->strings["{0} is now friends with %s"] = ""; -$a->strings["{0} posted"] = ""; -$a->strings["{0} tagged %s's post with #%s"] = ""; -$a->strings["{0} mentioned you in a post"] = ""; -$a->strings["No contacts."] = ""; -$a->strings["View Contacts"] = ""; -$a->strings["Invalid request identifier."] = ""; -$a->strings["Discard"] = ""; -$a->strings["System"] = ""; -$a->strings["Network"] = ""; -$a->strings["Personal"] = ""; -$a->strings["Home"] = ""; -$a->strings["Introductions"] = ""; -$a->strings["Show Ignored Requests"] = ""; -$a->strings["Hide Ignored Requests"] = ""; -$a->strings["Notification type: "] = ""; -$a->strings["Friend Suggestion"] = ""; -$a->strings["suggested by %s"] = ""; -$a->strings["Post a new friend activity"] = ""; -$a->strings["if applicable"] = ""; -$a->strings["Approve"] = ""; -$a->strings["Claims to be known to you: "] = ""; -$a->strings["yes"] = ""; -$a->strings["no"] = ""; -$a->strings["Approve as: "] = ""; -$a->strings["Friend"] = ""; -$a->strings["Sharer"] = ""; -$a->strings["Fan/Admirer"] = ""; -$a->strings["Friend/Connect Request"] = ""; -$a->strings["New Follower"] = ""; -$a->strings["No introductions."] = ""; -$a->strings["Notifications"] = ""; -$a->strings["%s liked %s's post"] = ""; -$a->strings["%s disliked %s's post"] = ""; -$a->strings["%s is now friends with %s"] = ""; -$a->strings["%s created a new post"] = ""; -$a->strings["%s commented on %s's post"] = ""; -$a->strings["No more network notifications."] = ""; -$a->strings["Network Notifications"] = ""; -$a->strings["No more system notifications."] = ""; -$a->strings["System Notifications"] = ""; -$a->strings["No more personal notifications."] = ""; -$a->strings["Personal Notifications"] = ""; -$a->strings["No more home notifications."] = ""; -$a->strings["Home Notifications"] = ""; -$a->strings["Source (bbcode) text:"] = ""; -$a->strings["Source (Diaspora) text to convert to BBcode:"] = ""; -$a->strings["Source input: "] = ""; -$a->strings["bb2html (raw HTML): "] = ""; -$a->strings["bb2html: "] = ""; -$a->strings["bb2html2bb: "] = ""; -$a->strings["bb2md: "] = ""; -$a->strings["bb2md2html: "] = ""; -$a->strings["bb2dia2bb: "] = ""; -$a->strings["bb2md2html2bb: "] = ""; -$a->strings["Source input (Diaspora format): "] = ""; -$a->strings["diaspora2bb: "] = ""; -$a->strings["Nothing new here"] = ""; -$a->strings["Clear notifications"] = ""; -$a->strings["New Message"] = ""; -$a->strings["No recipient selected."] = ""; -$a->strings["Unable to locate contact information."] = ""; -$a->strings["Message could not be sent."] = ""; -$a->strings["Message collection failure."] = ""; -$a->strings["Message sent."] = ""; -$a->strings["Messages"] = ""; -$a->strings["Do you really want to delete this message?"] = ""; -$a->strings["Message deleted."] = ""; -$a->strings["Conversation removed."] = ""; -$a->strings["Please enter a link URL:"] = ""; -$a->strings["Send Private Message"] = ""; -$a->strings["To:"] = ""; -$a->strings["Subject:"] = ""; -$a->strings["Your message:"] = ""; -$a->strings["Upload photo"] = ""; -$a->strings["Insert web link"] = ""; -$a->strings["Please wait"] = ""; -$a->strings["No messages."] = ""; -$a->strings["Unknown sender - %s"] = ""; -$a->strings["You and %s"] = ""; -$a->strings["%s and You"] = ""; -$a->strings["Delete conversation"] = ""; -$a->strings["D, d M Y - g:i A"] = ""; -$a->strings["%d message"] = [ - 0 => "", - 1 => "", -]; -$a->strings["Message not available."] = ""; -$a->strings["Delete message"] = ""; -$a->strings["No secure communications available. You may be able to respond from the sender's profile page."] = ""; -$a->strings["Send Reply"] = ""; -$a->strings["[Embedded content - reload page to view]"] = ""; -$a->strings["Contact settings applied."] = ""; -$a->strings["Contact update failed."] = ""; -$a->strings["Repair Contact Settings"] = ""; -$a->strings["WARNING: This is highly advanced and if you enter incorrect information your communications with this contact may stop working."] = ""; -$a->strings["Please use your browser 'Back' button now if you are uncertain what to do on this page."] = ""; -$a->strings["Return to contact editor"] = ""; -$a->strings["No mirroring"] = ""; -$a->strings["Mirror as forwarded posting"] = ""; -$a->strings["Mirror as my own posting"] = ""; -$a->strings["Name"] = ""; -$a->strings["Account Nickname"] = ""; -$a->strings["@Tagname - overrides Name/Nickname"] = ""; -$a->strings["Account URL"] = ""; -$a->strings["Friend Request URL"] = ""; -$a->strings["Friend Confirm URL"] = ""; -$a->strings["Notification Endpoint URL"] = ""; -$a->strings["Poll/Feed URL"] = ""; -$a->strings["New photo from this URL"] = ""; -$a->strings["Remote Self"] = ""; -$a->strings["Mirror postings from this contact"] = ""; -$a->strings["Mark this contact as remote_self, this will cause friendica to repost new entries from this contact."] = ""; -$a->strings["Access denied."] = ""; -$a->strings["People Search"] = ""; -$a->strings["No matches"] = ""; -$a->strings["Photos"] = ""; -$a->strings["Files"] = ""; -$a->strings["Contacts who are not members of a group"] = ""; -$a->strings["Theme settings updated."] = ""; -$a->strings["Site"] = ""; -$a->strings["Users"] = ""; -$a->strings["Addons"] = ""; -$a->strings["Themes"] = ""; -$a->strings["DB updates"] = ""; -$a->strings["Logs"] = ""; -$a->strings["Admin"] = ""; -$a->strings["Addon Features"] = ""; -$a->strings["User registrations waiting for confirmation"] = ""; -$a->strings["Normal Account"] = ""; -$a->strings["Soapbox Account"] = ""; -$a->strings["Community/Celebrity Account"] = ""; -$a->strings["Automatic Friend Account"] = ""; -$a->strings["Blog Account"] = ""; -$a->strings["Private Forum"] = ""; -$a->strings["Message queues"] = ""; -$a->strings["Administration"] = ""; -$a->strings["Summary"] = ""; -$a->strings["Registered users"] = ""; -$a->strings["Pending registrations"] = ""; -$a->strings["Version"] = ""; -$a->strings["Active addons"] = ""; -$a->strings["Can not parse base url. Must have at least ://"] = ""; -$a->strings["Site settings updated."] = ""; -$a->strings["No special theme for mobile devices"] = ""; -$a->strings["At post arrival"] = ""; -$a->strings["Frequently"] = ""; -$a->strings["Hourly"] = ""; -$a->strings["Twice daily"] = ""; -$a->strings["Daily"] = ""; -$a->strings["Multi user instance"] = ""; -$a->strings["Closed"] = ""; -$a->strings["Requires approval"] = ""; -$a->strings["Open"] = ""; -$a->strings["No SSL policy, links will track page SSL state"] = ""; -$a->strings["Force all links to use SSL"] = ""; -$a->strings["Self-signed certificate, use SSL for local links only (discouraged)"] = ""; -$a->strings["Save Settings"] = ""; -$a->strings["Registration"] = ""; -$a->strings["File upload"] = ""; -$a->strings["Policies"] = ""; -$a->strings["Advanced"] = ""; -$a->strings["Performance"] = ""; -$a->strings["Relocate - WARNING: advanced function. Could make this server unreachable."] = ""; -$a->strings["Site name"] = ""; -$a->strings["Host name"] = ""; -$a->strings["Banner/Logo"] = ""; -$a->strings["Additional Info"] = ""; -$a->strings["For public servers: you can add additional information here that will be listed at dir.friendica.com/siteinfo."] = ""; -$a->strings["System language"] = ""; -$a->strings["System theme"] = ""; -$a->strings["Default system theme - may be over-ridden by user profiles - change theme settings"] = ""; -$a->strings["Mobile system theme"] = ""; -$a->strings["Theme for mobile devices"] = ""; -$a->strings["SSL link policy"] = ""; -$a->strings["Determines whether generated links should be forced to use SSL"] = ""; -$a->strings["Force SSL"] = ""; -$a->strings["Force all Non-SSL requests to SSL - Attention: on some systems it could lead to endless loops."] = ""; -$a->strings["Old style 'Share'"] = ""; -$a->strings["Deactivates the bbcode element 'share' for repeating items."] = ""; -$a->strings["Hide help entry from navigation menu"] = ""; -$a->strings["Hides the menu entry for the Help pages from the navigation menu. You can still access it calling /help directly."] = ""; -$a->strings["Single user instance"] = ""; -$a->strings["Make this instance multi-user or single-user for the named user"] = ""; -$a->strings["Maximum image size"] = ""; -$a->strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = ""; -$a->strings["Maximum image length"] = ""; -$a->strings["Maximum length in pixels of the longest side of uploaded images. Default is -1, which means no limits."] = ""; -$a->strings["JPEG image quality"] = ""; -$a->strings["Uploaded JPEGS will be saved at this quality setting [0-100]. Default is 100, which is full quality."] = ""; -$a->strings["Register policy"] = ""; -$a->strings["Maximum Daily Registrations"] = ""; -$a->strings["If registration is permitted above, this sets the maximum number of new user registrations to accept per day. If register is set to closed, this setting has no effect."] = ""; -$a->strings["Register text"] = ""; -$a->strings["Will be displayed prominently on the registration page."] = ""; -$a->strings["Accounts abandoned after x days"] = ""; -$a->strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = ""; -$a->strings["Allowed friend domains"] = ""; -$a->strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = ""; -$a->strings["Allowed email domains"] = ""; -$a->strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = ""; -$a->strings["Block public"] = ""; -$a->strings["Check to block public access to all otherwise public personal pages on this site unless you are currently logged in."] = ""; -$a->strings["Force publish"] = ""; -$a->strings["Check to force all profiles on this site to be listed in the site directory."] = ""; -$a->strings["Global directory update URL"] = ""; -$a->strings["URL to update the global directory. If this is not set, the global directory is completely unavailable to the application."] = ""; -$a->strings["Allow threaded items"] = ""; -$a->strings["Allow infinite level threading for items on this site."] = ""; -$a->strings["Private posts by default for new users"] = ""; -$a->strings["Set default post permissions for all new members to the default privacy group rather than public."] = ""; -$a->strings["Don't include post content in email notifications"] = ""; -$a->strings["Don't include the content of a post/comment/private message/etc. in the email notifications that are sent out from this site, as a privacy measure."] = ""; -$a->strings["Disallow public access to addons listed in the apps menu."] = ""; -$a->strings["Checking this box will restrict addons listed in the apps menu to members only."] = ""; -$a->strings["Don't embed private images in posts"] = ""; -$a->strings["Don't replace locally-hosted private photos in posts with an embedded copy of the image. This means that contacts who receive posts containing private photos will have to authenticate and load each image, which may take a while."] = ""; -$a->strings["Allow Users to set remote_self"] = ""; -$a->strings["With checking this, every user is allowed to mark every contact as a remote_self in the repair contact dialog. Setting this flag on a contact causes mirroring every posting of that contact in the users stream."] = ""; -$a->strings["Block multiple registrations"] = ""; -$a->strings["Disallow users to register additional accounts for use as pages."] = ""; -$a->strings["OpenID support"] = ""; -$a->strings["OpenID support for registration and logins."] = ""; -$a->strings["Fullname check"] = ""; -$a->strings["Force users to register with a space between firstname and lastname in Full name, as an antispam measure"] = ""; -$a->strings["UTF-8 Regular expressions"] = ""; -$a->strings["Use PHP UTF8 regular expressions"] = ""; -$a->strings["Show Community Page"] = ""; -$a->strings["Display a Community page showing all recent public postings on this site."] = ""; -$a->strings["Enable OStatus support"] = ""; -$a->strings["Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."] = ""; -$a->strings["OStatus conversation completion interval"] = ""; -$a->strings["How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."] = ""; -$a->strings["Enable Diaspora support"] = ""; -$a->strings["Provide built-in Diaspora network compatibility."] = ""; -$a->strings["Only allow Friendica contacts"] = ""; -$a->strings["All contacts must use Friendica protocols. All other built-in communication protocols disabled."] = ""; -$a->strings["Verify SSL"] = ""; -$a->strings["If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites."] = ""; -$a->strings["Proxy user"] = ""; -$a->strings["Proxy URL"] = ""; -$a->strings["Network timeout"] = ""; -$a->strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = ""; -$a->strings["Delivery interval"] = ""; -$a->strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = ""; -$a->strings["Poll interval"] = ""; -$a->strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = ""; -$a->strings["Maximum Load Average"] = ""; -$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = ""; -$a->strings["Use MySQL full text engine"] = ""; -$a->strings["Activates the full text engine. Speeds up search - but can only search for four and more characters."] = ""; -$a->strings["Suppress Language"] = ""; -$a->strings["Suppress language information in meta information about a posting."] = ""; -$a->strings["Path to item cache"] = ""; -$a->strings["Cache duration in seconds"] = ""; -$a->strings["How long should the cache files be hold? Default value is 86400 seconds (One day). To disable the item cache, set the value to -1."] = ""; -$a->strings["Maximum numbers of comments per post"] = ""; -$a->strings["How much comments should be shown for each post? Default value is 100."] = ""; -$a->strings["Path for lock file"] = ""; -$a->strings["Temp path"] = ""; -$a->strings["Base path to installation"] = ""; -$a->strings["Disable picture proxy"] = ""; -$a->strings["The picture proxy increases performance and privacy. It shouldn't be used on systems with very low bandwith."] = ""; -$a->strings["New base url"] = ""; -$a->strings["Disable noscrape"] = ""; -$a->strings["The noscrape feature speeds up directory submissions by using JSON data instead of HTML scraping. Disabling it will cause higher load on your server and the directory server."] = ""; -$a->strings["Update has been marked successful"] = ""; -$a->strings["Database structure update %s was successfully applied."] = ""; -$a->strings["Executing of database structure update %s failed with error: %s"] = ""; -$a->strings["Executing %s failed with error: %s"] = ""; -$a->strings["Update %s was successfully applied."] = ""; -$a->strings["Update %s did not return a status. Unknown if it succeeded."] = ""; -$a->strings["There was no additional update function %s that needed to be called."] = ""; -$a->strings["No failed updates."] = ""; -$a->strings["Check database structure"] = ""; -$a->strings["Failed Updates"] = ""; -$a->strings["This does not include updates prior to 1139, which did not return a status."] = ""; -$a->strings["Mark success (if update was manually applied)"] = ""; -$a->strings["Attempt to execute this update step automatically"] = ""; -$a->strings["\n\t\t\tDear %1\$s,\n\t\t\t\tthe administrator of %2\$s has set up an account for you."] = ""; -$a->strings["\n\t\t\tThe login details are as follows:\n\n\t\t\tSite Location:\t%1\$s\n\t\t\tLogin Name:\t\t%2\$s\n\t\t\tPassword:\t\t%3\$s\n\n\t\t\tYou may change your password from your account \"Settings\" page after logging\n\t\t\tin.\n\n\t\t\tPlease take a few moments to review the other account settings on that page.\n\n\t\t\tYou may also wish to add some basic information to your default profile\n\t\t\t(on the \"Profiles\" page) so that other people can easily find you.\n\n\t\t\tWe recommend setting your full name, adding a profile photo,\n\t\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n\t\t\tperhaps what country you live in; if you do not wish to be more specific\n\t\t\tthan that.\n\n\t\t\tWe fully respect your right to privacy, and none of these items are necessary.\n\t\t\tIf you are new and do not know anybody here, they may help\n\t\t\tyou to make some new and interesting friends.\n\n\t\t\tThank you and welcome to %4\$s."] = ""; -$a->strings["Registration details for %s"] = ""; -$a->strings["%s user blocked/unblocked"] = [ - 0 => "", - 1 => "", -]; -$a->strings["%s user deleted"] = [ - 0 => "", - 1 => "", -]; -$a->strings["User '%s' deleted"] = ""; -$a->strings["User '%s' unblocked"] = ""; -$a->strings["User '%s' blocked"] = ""; -$a->strings["Add User"] = ""; -$a->strings["select all"] = ""; -$a->strings["User registrations waiting for confirm"] = ""; -$a->strings["User waiting for permanent deletion"] = ""; -$a->strings["Request date"] = ""; -$a->strings["Email"] = ""; -$a->strings["No registrations."] = ""; -$a->strings["Deny"] = ""; -$a->strings["Site admin"] = ""; -$a->strings["Account expired"] = ""; -$a->strings["New User"] = ""; -$a->strings["Register date"] = ""; -$a->strings["Last login"] = ""; -$a->strings["Last item"] = ""; -$a->strings["Deleted since"] = ""; -$a->strings["Account"] = ""; -$a->strings["Selected users will be deleted!\\n\\nEverything these users had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = ""; -$a->strings["The user {0} will be deleted!\\n\\nEverything this user has posted on this site will be permanently deleted!\\n\\nAre you sure?"] = ""; -$a->strings["Name of the new user."] = ""; -$a->strings["Nickname"] = ""; -$a->strings["Nickname of the new user."] = ""; -$a->strings["Email address of the new user."] = ""; -$a->strings["Addon %s disabled."] = ""; -$a->strings["Addon %s enabled."] = ""; -$a->strings["Disable"] = ""; -$a->strings["Enable"] = ""; -$a->strings["Toggle"] = ""; -$a->strings["Author: "] = ""; -$a->strings["Maintainer: "] = ""; -$a->strings["No themes found."] = ""; -$a->strings["Screenshot"] = ""; -$a->strings["[Experimental]"] = ""; -$a->strings["[Unsupported]"] = ""; -$a->strings["Log settings updated."] = ""; -$a->strings["Clear"] = ""; -$a->strings["Enable Debugging"] = ""; -$a->strings["Log file"] = ""; -$a->strings["Must be writable by web server. Relative to your Friendica top-level directory."] = ""; -$a->strings["Log level"] = ""; -$a->strings["Close"] = ""; -$a->strings["FTP Host"] = ""; -$a->strings["FTP Path"] = ""; -$a->strings["FTP User"] = ""; -$a->strings["FTP Password"] = ""; -$a->strings["Search Results For:"] = ""; -$a->strings["Remove term"] = ""; -$a->strings["Saved Searches"] = ""; -$a->strings["add"] = ""; -$a->strings["Commented Order"] = ""; -$a->strings["Sort by Comment Date"] = ""; -$a->strings["Posted Order"] = ""; -$a->strings["Sort by Post Date"] = ""; -$a->strings["Posts that mention or involve you"] = ""; -$a->strings["New"] = ""; -$a->strings["Activity Stream - by date"] = ""; -$a->strings["Shared Links"] = ""; -$a->strings["Interesting Links"] = ""; -$a->strings["Starred"] = ""; -$a->strings["Favourite Posts"] = ""; -$a->strings["Warning: This group contains %s member from an insecure network."] = [ - 0 => "", - 1 => "", -]; -$a->strings["Private messages to this group are at risk of public disclosure."] = ""; -$a->strings["No such group"] = ""; -$a->strings["Group is empty"] = ""; -$a->strings["Group: "] = ""; -$a->strings["Contact: "] = ""; -$a->strings["Private messages to this person are at risk of public disclosure."] = ""; -$a->strings["Invalid contact."] = ""; -$a->strings["Friends of %s"] = ""; -$a->strings["No friends to display."] = ""; -$a->strings["Event title and start time are required."] = ""; -$a->strings["l, F j"] = ""; -$a->strings["Edit event"] = ""; -$a->strings["link to source"] = ""; -$a->strings["Events"] = ""; -$a->strings["Create New Event"] = ""; -$a->strings["Previous"] = ""; -$a->strings["Next"] = ""; -$a->strings["hour:minute"] = ""; -$a->strings["Event details"] = ""; -$a->strings["Format is %s %s. Starting date and Title are required."] = ""; -$a->strings["Event Starts:"] = ""; -$a->strings["Required"] = ""; -$a->strings["Finish date/time is not known or not relevant"] = ""; -$a->strings["Event Finishes:"] = ""; -$a->strings["Adjust for viewer timezone"] = ""; -$a->strings["Description:"] = ""; -$a->strings["Location:"] = ""; -$a->strings["Title:"] = ""; -$a->strings["Share this event"] = ""; -$a->strings["Select"] = ""; -$a->strings["View %s's profile @ %s"] = ""; -$a->strings["%s from %s"] = ""; -$a->strings["View in context"] = ""; -$a->strings["%d comment"] = [ - 0 => "", - 1 => "", -]; -$a->strings["comment"] = [ - 0 => "", - 1 => "", -]; -$a->strings["show more"] = ""; -$a->strings["Private Message"] = ""; -$a->strings["I like this (toggle)"] = ""; -$a->strings["like"] = ""; -$a->strings["I don't like this (toggle)"] = ""; -$a->strings["dislike"] = ""; -$a->strings["Share this"] = ""; -$a->strings["share"] = ""; -$a->strings["This is you"] = ""; -$a->strings["Comment"] = ""; -$a->strings["Bold"] = ""; -$a->strings["Italic"] = ""; -$a->strings["Underline"] = ""; -$a->strings["Quote"] = ""; -$a->strings["Code"] = ""; -$a->strings["Image"] = ""; -$a->strings["Link"] = ""; -$a->strings["Video"] = ""; -$a->strings["Preview"] = ""; -$a->strings["Edit"] = ""; -$a->strings["add star"] = ""; -$a->strings["remove star"] = ""; -$a->strings["toggle star status"] = ""; -$a->strings["starred"] = ""; -$a->strings["add tag"] = ""; -$a->strings["save to folder"] = ""; -$a->strings["to"] = ""; -$a->strings["Wall-to-Wall"] = ""; -$a->strings["via Wall-To-Wall:"] = ""; -$a->strings["Remove My Account"] = ""; -$a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = ""; -$a->strings["Please enter your password for verification:"] = ""; -$a->strings["Friendica Communications Server - Setup"] = ""; -$a->strings["Could not connect to database."] = ""; -$a->strings["Could not create table."] = ""; -$a->strings["Your Friendica site database has been installed."] = ""; -$a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = ""; -$a->strings["Please see the file \"INSTALL.txt\"."] = ""; -$a->strings["System check"] = ""; -$a->strings["Check again"] = ""; -$a->strings["Database connection"] = ""; -$a->strings["In order to install Friendica we need to know how to connect to your database."] = ""; -$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = ""; -$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = ""; -$a->strings["Database Server Name"] = ""; -$a->strings["Database Login Name"] = ""; -$a->strings["Database Login Password"] = ""; -$a->strings["Database Name"] = ""; -$a->strings["Site administrator email address"] = ""; -$a->strings["Your account email address must match this in order to use the web admin panel."] = ""; -$a->strings["Please select a default timezone for your website"] = ""; -$a->strings["Site settings"] = ""; -$a->strings["Could not find a command line version of PHP in the web server PATH."] = ""; -$a->strings["If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See 'Activating scheduled tasks'"] = ""; -$a->strings["PHP executable path"] = ""; -$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = ""; -$a->strings["Command line PHP"] = ""; -$a->strings["PHP executable is not the php cli binary (could be cgi-fgci version)"] = ""; -$a->strings["Found PHP version: "] = ""; -$a->strings["PHP cli binary"] = ""; -$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = ""; -$a->strings["This is required for message delivery to work."] = ""; -$a->strings["PHP register_argc_argv"] = ""; -$a->strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = ""; -$a->strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = ""; -$a->strings["Generate encryption keys"] = ""; -$a->strings["libCurl PHP module"] = ""; -$a->strings["GD graphics PHP module"] = ""; -$a->strings["OpenSSL PHP module"] = ""; -$a->strings["mysqli PHP module"] = ""; -$a->strings["mb_string PHP module"] = ""; -$a->strings["Apache mod_rewrite module"] = ""; -$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = ""; -$a->strings["Error: libCURL PHP module required but not installed."] = ""; -$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = ""; -$a->strings["Error: openssl PHP module required but not installed."] = ""; -$a->strings["Error: mysqli PHP module required but not installed."] = ""; -$a->strings["Error: mb_string PHP module required but not installed."] = ""; -$a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = ""; -$a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = ""; -$a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = ""; -$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = ""; -$a->strings[".htconfig.php is writable"] = ""; -$a->strings["Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = ""; -$a->strings["In order to store these compiled templates, the web server needs to have write access to the directory view/smarty3/ under the Friendica top level folder."] = ""; -$a->strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = ""; -$a->strings["Note: as a security measure, you should give the web server write access to view/smarty3/ only--not the template files (.tpl) that it contains."] = ""; -$a->strings["view/smarty3 is writable"] = ""; -$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = ""; -$a->strings["Url rewrite is working"] = ""; -$a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = ""; -$a->strings["

What next

"] = ""; -$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = ""; -$a->strings["Number of daily wall messages for %s exceeded. Message failed."] = ""; -$a->strings["Unable to check your home location."] = ""; -$a->strings["No recipient."] = ""; -$a->strings["If you wish for %s to respond, please check that the privacy settings on your site allow private mail from unknown senders."] = ""; -$a->strings["Help:"] = ""; -$a->strings["Help"] = ""; -$a->strings["Not Found"] = ""; -$a->strings["Page not found."] = ""; -$a->strings["%1\$s welcomes %2\$s"] = ""; -$a->strings["Welcome to %s"] = ""; -$a->strings["Sorry, maybe your upload is bigger than the PHP configuration allows"] = ""; -$a->strings["Or - did you try to upload an empty file?"] = ""; -$a->strings["File exceeds size limit of %d"] = ""; -$a->strings["File upload failed."] = ""; -$a->strings["Profile Match"] = ""; -$a->strings["No keywords to match. Please add keywords to your default profile."] = ""; -$a->strings["is interested in:"] = ""; -$a->strings["Connect"] = ""; -$a->strings["link"] = ""; -$a->strings["Not available."] = ""; -$a->strings["Community"] = ""; -$a->strings["No results."] = ""; -$a->strings["everybody"] = ""; -$a->strings["Additional features"] = ""; -$a->strings["Display"] = ""; -$a->strings["Social Networks"] = ""; -$a->strings["Delegations"] = ""; -$a->strings["Connected apps"] = ""; -$a->strings["Export personal data"] = ""; -$a->strings["Remove account"] = ""; -$a->strings["Missing some important data!"] = ""; -$a->strings["Failed to connect with email account using the settings provided."] = ""; -$a->strings["Email settings updated."] = ""; -$a->strings["Features updated"] = ""; -$a->strings["Relocate message has been send to your contacts"] = ""; -$a->strings["Passwords do not match. Password unchanged."] = ""; -$a->strings["Empty passwords are not allowed. Password unchanged."] = ""; -$a->strings["Wrong password."] = ""; -$a->strings["Password changed."] = ""; -$a->strings["Password update failed. Please try again."] = ""; -$a->strings[" Please use a shorter name."] = ""; -$a->strings[" Name too short."] = ""; -$a->strings["Wrong Password"] = ""; -$a->strings[" Not valid email."] = ""; -$a->strings[" Cannot change to that email."] = ""; -$a->strings["Private forum has no privacy permissions. Using default privacy group."] = ""; -$a->strings["Private forum has no privacy permissions and no default privacy group."] = ""; -$a->strings["Settings updated."] = ""; -$a->strings["Add application"] = ""; -$a->strings["Consumer Key"] = ""; -$a->strings["Consumer Secret"] = ""; -$a->strings["Redirect"] = ""; -$a->strings["Icon url"] = ""; -$a->strings["You can't edit this application."] = ""; -$a->strings["Connected Apps"] = ""; -$a->strings["Client key starts with"] = ""; -$a->strings["No name"] = ""; -$a->strings["Remove authorization"] = ""; -$a->strings["No Addon settings configured"] = ""; -$a->strings["Addon Settings"] = ""; -$a->strings["Off"] = ""; -$a->strings["On"] = ""; -$a->strings["Additional Features"] = ""; -$a->strings["Built-in support for %s connectivity is %s"] = ""; -$a->strings["Diaspora"] = ""; -$a->strings["enabled"] = ""; -$a->strings["disabled"] = ""; -$a->strings["StatusNet"] = ""; -$a->strings["Email access is disabled on this site."] = ""; -$a->strings["Email/Mailbox Setup"] = ""; -$a->strings["If you wish to communicate with email contacts using this service (optional), please specify how to connect to your mailbox."] = ""; -$a->strings["Last successful email check:"] = ""; -$a->strings["IMAP server name:"] = ""; -$a->strings["IMAP port:"] = ""; -$a->strings["Security:"] = ""; -$a->strings["None"] = ""; -$a->strings["Email login name:"] = ""; -$a->strings["Email password:"] = ""; -$a->strings["Reply-to address:"] = ""; -$a->strings["Send public posts to all email contacts:"] = ""; -$a->strings["Action after import:"] = ""; -$a->strings["Mark as seen"] = ""; -$a->strings["Move to folder"] = ""; -$a->strings["Move to folder:"] = ""; -$a->strings["Display Settings"] = ""; -$a->strings["Display Theme:"] = ""; -$a->strings["Mobile Theme:"] = ""; -$a->strings["Update browser every xx seconds"] = ""; -$a->strings["Minimum of 10 seconds, no maximum"] = ""; -$a->strings["Number of items to display per page:"] = ""; -$a->strings["Maximum of 100 items"] = ""; -$a->strings["Number of items to display per page when viewed from mobile device:"] = ""; -$a->strings["Don't show emoticons"] = ""; -$a->strings["Don't show notices"] = ""; -$a->strings["Infinite scroll"] = ""; -$a->strings["Automatic updates only at the top of the network page"] = ""; -$a->strings["User Types"] = ""; -$a->strings["Community Types"] = ""; -$a->strings["Normal Account Page"] = ""; -$a->strings["This account is a normal personal profile"] = ""; -$a->strings["Soapbox Page"] = ""; -$a->strings["Automatically approve all connection/friend requests as read-only fans"] = ""; -$a->strings["Community Forum/Celebrity Account"] = ""; -$a->strings["Automatically approve all connection/friend requests as read-write fans"] = ""; -$a->strings["Automatic Friend Page"] = ""; -$a->strings["Automatically approve all connection/friend requests as friends"] = ""; -$a->strings["Private Forum [Experimental]"] = ""; -$a->strings["Private forum - approved members only"] = ""; -$a->strings["OpenID:"] = ""; -$a->strings["(Optional) Allow this OpenID to login to this account."] = ""; -$a->strings["Publish your default profile in your local site directory?"] = ""; -$a->strings["No"] = ""; -$a->strings["Publish your default profile in the global social directory?"] = ""; -$a->strings["Hide your contact/friend list from viewers of your default profile?"] = ""; -$a->strings["Hide your profile details from unknown viewers?"] = ""; -$a->strings["If enabled, posting public messages to Diaspora and other networks isn't possible."] = ""; -$a->strings["Allow friends to post to your profile page?"] = ""; -$a->strings["Allow friends to tag your posts?"] = ""; -$a->strings["Allow us to suggest you as a potential friend to new members?"] = ""; -$a->strings["Permit unknown people to send you private mail?"] = ""; -$a->strings["Profile is not published."] = ""; -$a->strings["Your Identity Address is"] = ""; -$a->strings["Automatically expire posts after this many days:"] = ""; -$a->strings["If empty, posts will not expire. Expired posts will be deleted"] = ""; -$a->strings["Advanced expiration settings"] = ""; -$a->strings["Advanced Expiration"] = ""; -$a->strings["Expire posts:"] = ""; -$a->strings["Expire personal notes:"] = ""; -$a->strings["Expire starred posts:"] = ""; -$a->strings["Expire photos:"] = ""; -$a->strings["Only expire posts by others:"] = ""; -$a->strings["Account Settings"] = ""; -$a->strings["Password Settings"] = ""; -$a->strings["New Password:"] = ""; -$a->strings["Confirm:"] = ""; -$a->strings["Leave password fields blank unless changing"] = ""; -$a->strings["Current Password:"] = ""; -$a->strings["Your current password to confirm the changes"] = ""; -$a->strings["Password:"] = ""; -$a->strings["Basic Settings"] = ""; -$a->strings["Full Name:"] = ""; -$a->strings["Email Address:"] = ""; -$a->strings["Your Timezone:"] = ""; -$a->strings["Default Post Location:"] = ""; -$a->strings["Use Browser Location:"] = ""; -$a->strings["Security and Privacy Settings"] = ""; -$a->strings["Maximum Friend Requests/Day:"] = ""; -$a->strings["(to prevent spam abuse)"] = ""; -$a->strings["Default Post Permissions"] = ""; -$a->strings["(click to open/close)"] = ""; -$a->strings["Show to Groups"] = ""; -$a->strings["Show to Contacts"] = ""; -$a->strings["Default Private Post"] = ""; -$a->strings["Default Public Post"] = ""; -$a->strings["Default Permissions for New Posts"] = ""; -$a->strings["Maximum private messages per day from unknown people:"] = ""; -$a->strings["Notification Settings"] = ""; -$a->strings["By default post a status message when:"] = ""; -$a->strings["accepting a friend request"] = ""; -$a->strings["joining a forum/community"] = ""; -$a->strings["making an interesting profile change"] = ""; -$a->strings["Send a notification email when:"] = ""; -$a->strings["You receive an introduction"] = ""; -$a->strings["Your introductions are confirmed"] = ""; -$a->strings["Someone writes on your profile wall"] = ""; -$a->strings["Someone writes a followup comment"] = ""; -$a->strings["You receive a private message"] = ""; -$a->strings["You receive a friend suggestion"] = ""; -$a->strings["You are tagged in a post"] = ""; -$a->strings["You are poked/prodded/etc. in a post"] = ""; -$a->strings["Text-only notification emails"] = ""; -$a->strings["Send text only notification emails, without the html part"] = ""; -$a->strings["Advanced Account/Page Type Settings"] = ""; -$a->strings["Change the behaviour of this account for special situations"] = ""; -$a->strings["Relocate"] = ""; -$a->strings["If you have moved this profile from another server, and some of your contacts don't receive your updates, try pushing this button."] = ""; -$a->strings["Resend relocate message to contacts"] = ""; -$a->strings["This introduction has already been accepted."] = ""; -$a->strings["Profile location is not valid or does not contain profile information."] = ""; -$a->strings["Warning: profile location has no identifiable owner name."] = ""; -$a->strings["Warning: profile location has no profile photo."] = ""; -$a->strings["%d required parameter was not found at the given location"] = [ - 0 => "", - 1 => "", -]; -$a->strings["Introduction complete."] = ""; -$a->strings["Unrecoverable protocol error."] = ""; -$a->strings["Profile unavailable."] = ""; -$a->strings["%s has received too many connection requests today."] = ""; -$a->strings["Spam protection measures have been invoked."] = ""; -$a->strings["Friends are advised to please try again in 24 hours."] = ""; -$a->strings["Invalid locator"] = ""; -$a->strings["Invalid email address."] = ""; -$a->strings["This account has not been configured for email. Request failed."] = ""; -$a->strings["Unable to resolve your name at the provided location."] = ""; -$a->strings["You have already introduced yourself here."] = ""; -$a->strings["Apparently you are already friends with %s."] = ""; -$a->strings["Invalid profile URL."] = ""; -$a->strings["Disallowed profile URL."] = ""; -$a->strings["Your introduction has been sent."] = ""; -$a->strings["Please login to confirm introduction."] = ""; -$a->strings["Incorrect identity currently logged in. Please login to this profile."] = ""; -$a->strings["Hide this contact"] = ""; -$a->strings["Welcome home %s."] = ""; -$a->strings["Please confirm your introduction/connection request to %s."] = ""; -$a->strings["Confirm"] = ""; -$a->strings["Please enter your 'Identity Address' from one of the following supported communications networks:"] = ""; -$a->strings["If you are not yet a member of the free social web, follow this link to find a public Friendica site and join us today."] = ""; -$a->strings["Friend/Connection Request"] = ""; -$a->strings["Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"] = ""; -$a->strings["Please answer the following:"] = ""; -$a->strings["Does %s know you?"] = ""; -$a->strings["Add a personal note:"] = ""; -$a->strings["Friendica"] = ""; -$a->strings["StatusNet/Federated Social Web"] = ""; -$a->strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = ""; -$a->strings["Your Identity Address:"] = ""; -$a->strings["Submit Request"] = ""; -$a->strings["Registration successful. Please check your email for further instructions."] = ""; -$a->strings["Failed to send email message. Here your accout details:
login: %s
password: %s

You can change your password after login."] = ""; -$a->strings["Your registration can not be processed."] = ""; -$a->strings["Your registration is pending approval by the site owner."] = ""; -$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = ""; -$a->strings["You may (optionally) fill in this form via OpenID by supplying your OpenID and clicking 'Register'."] = ""; -$a->strings["If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items."] = ""; -$a->strings["Your OpenID (optional): "] = ""; -$a->strings["Include your profile in member directory?"] = ""; -$a->strings["Membership on this site is by invitation only."] = ""; -$a->strings["Your invitation ID: "] = ""; -$a->strings["Your Full Name (e.g. Joe Smith): "] = ""; -$a->strings["Your Email Address: "] = ""; -$a->strings["Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be 'nickname@\$sitename'."] = ""; -$a->strings["Choose a nickname: "] = ""; -$a->strings["Register"] = ""; -$a->strings["Import"] = ""; -$a->strings["Import your profile to this friendica instance"] = ""; -$a->strings["System down for maintenance"] = ""; -$a->strings["Search"] = ""; -$a->strings["Global Directory"] = ""; -$a->strings["Find on this site"] = ""; -$a->strings["Site Directory"] = ""; -$a->strings["Age: "] = ""; -$a->strings["Gender: "] = ""; -$a->strings["Gender:"] = ""; -$a->strings["Status:"] = ""; -$a->strings["Homepage:"] = ""; -$a->strings["About:"] = ""; -$a->strings["No entries (some entries may be hidden)."] = ""; -$a->strings["No potential page delegates located."] = ""; -$a->strings["Delegate Page Management"] = ""; -$a->strings["Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely."] = ""; -$a->strings["Existing Page Managers"] = ""; -$a->strings["Existing Page Delegates"] = ""; -$a->strings["Potential Delegates"] = ""; -$a->strings["Add"] = ""; -$a->strings["No entries."] = ""; -$a->strings["Common Friends"] = ""; -$a->strings["No contacts in common."] = ""; -$a->strings["Export account"] = ""; -$a->strings["Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server."] = ""; -$a->strings["Export all"] = ""; -$a->strings["Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account (photos are not exported)"] = ""; -$a->strings["%1\$s is currently %2\$s"] = ""; -$a->strings["Mood"] = ""; -$a->strings["Set your current mood and tell your friends"] = ""; -$a->strings["Do you really want to delete this suggestion?"] = ""; -$a->strings["Friend Suggestions"] = ""; -$a->strings["No suggestions available. If this is a new site, please try again in 24 hours."] = ""; -$a->strings["Ignore/Hide"] = ""; -$a->strings["Profile deleted."] = ""; -$a->strings["Profile-"] = ""; -$a->strings["New profile created."] = ""; -$a->strings["Profile unavailable to clone."] = ""; -$a->strings["Profile Name is required."] = ""; -$a->strings["Marital Status"] = ""; -$a->strings["Romantic Partner"] = ""; -$a->strings["Likes"] = ""; -$a->strings["Dislikes"] = ""; -$a->strings["Work/Employment"] = ""; -$a->strings["Religion"] = ""; -$a->strings["Political Views"] = ""; -$a->strings["Gender"] = ""; -$a->strings["Sexual Preference"] = ""; -$a->strings["Homepage"] = ""; -$a->strings["Interests"] = ""; -$a->strings["Address"] = ""; -$a->strings["Location"] = ""; -$a->strings["Profile updated."] = ""; -$a->strings[" and "] = ""; -$a->strings["public profile"] = ""; -$a->strings["%1\$s changed %2\$s to “%3\$s”"] = ""; -$a->strings[" - Visit %1\$s's %2\$s"] = ""; -$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = ""; -$a->strings["Hide contacts and friends:"] = ""; -$a->strings["Hide your contact/friend list from viewers of this profile?"] = ""; -$a->strings["Edit Profile Details"] = ""; -$a->strings["Change Profile Photo"] = ""; -$a->strings["View this profile"] = ""; -$a->strings["Create a new profile using these settings"] = ""; -$a->strings["Clone this profile"] = ""; -$a->strings["Delete this profile"] = ""; -$a->strings["Basic information"] = ""; -$a->strings["Profile picture"] = ""; -$a->strings["Preferences"] = ""; -$a->strings["Status information"] = ""; -$a->strings["Additional information"] = ""; -$a->strings["Profile Name:"] = ""; -$a->strings["Your Full Name:"] = ""; -$a->strings["Title/Description:"] = ""; -$a->strings["Your Gender:"] = ""; -$a->strings["Birthday (%s):"] = ""; -$a->strings["Street Address:"] = ""; -$a->strings["Locality/City:"] = ""; -$a->strings["Postal/Zip Code:"] = ""; -$a->strings["Country:"] = ""; -$a->strings["Region/State:"] = ""; -$a->strings[" Marital Status:"] = ""; -$a->strings["Who: (if applicable)"] = ""; -$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = ""; -$a->strings["Since [date]:"] = ""; -$a->strings["Sexual Preference:"] = ""; -$a->strings["Homepage URL:"] = ""; -$a->strings["Hometown:"] = ""; -$a->strings["Political Views:"] = ""; -$a->strings["Religious Views:"] = ""; -$a->strings["Public Keywords:"] = ""; -$a->strings["Private Keywords:"] = ""; -$a->strings["Likes:"] = ""; -$a->strings["Dislikes:"] = ""; -$a->strings["Example: fishing photography software"] = ""; -$a->strings["(Used for suggesting potential friends, can be seen by others)"] = ""; -$a->strings["(Used for searching profiles, never shown to others)"] = ""; -$a->strings["Tell us about yourself..."] = ""; -$a->strings["Hobbies/Interests"] = ""; -$a->strings["Contact information and Social Networks"] = ""; -$a->strings["Musical interests"] = ""; -$a->strings["Books, literature"] = ""; -$a->strings["Television"] = ""; -$a->strings["Film/dance/culture/entertainment"] = ""; -$a->strings["Love/romance"] = ""; -$a->strings["Work/employment"] = ""; -$a->strings["School/education"] = ""; -$a->strings["This is your public profile.
It may be visible to anybody using the internet."] = ""; -$a->strings["Edit/Manage Profiles"] = ""; -$a->strings["Change profile photo"] = ""; -$a->strings["Create New Profile"] = ""; -$a->strings["Profile Image"] = ""; -$a->strings["visible to everybody"] = ""; -$a->strings["Edit visibility"] = ""; -$a->strings["Item not found"] = ""; -$a->strings["Edit post"] = ""; -$a->strings["upload photo"] = ""; -$a->strings["Attach file"] = ""; -$a->strings["attach file"] = ""; -$a->strings["web link"] = ""; -$a->strings["Insert video link"] = ""; -$a->strings["video link"] = ""; -$a->strings["Insert audio link"] = ""; -$a->strings["audio link"] = ""; -$a->strings["Set your location"] = ""; -$a->strings["set location"] = ""; -$a->strings["Clear browser location"] = ""; -$a->strings["clear location"] = ""; -$a->strings["Permission settings"] = ""; -$a->strings["CC: email addresses"] = ""; -$a->strings["Public post"] = ""; -$a->strings["Set title"] = ""; -$a->strings["Categories (comma-separated list)"] = ""; -$a->strings["Example: bob@example.com, mary@example.com"] = ""; -$a->strings["This is Friendica, version"] = ""; -$a->strings["running at web location"] = ""; -$a->strings["Please visit Friendica.com to learn more about the Friendica project."] = ""; -$a->strings["Bug reports and issues: please visit"] = ""; -$a->strings["Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - dot com"] = ""; -$a->strings["Installed addons/apps:"] = ""; -$a->strings["No installed addons/apps"] = ""; -$a->strings["Authorize application connection"] = ""; -$a->strings["Return to your app and insert this Securty Code:"] = ""; -$a->strings["Please login to continue."] = ""; -$a->strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = ""; -$a->strings["Remote privacy information not available."] = ""; -$a->strings["Visible to:"] = ""; -$a->strings["Personal Notes"] = ""; -$a->strings["l F d, Y \\@ g:i A"] = ""; -$a->strings["Time Conversion"] = ""; -$a->strings["Friendica provides this service for sharing events with other networks and friends in unknown timezones."] = ""; -$a->strings["UTC time: %s"] = ""; -$a->strings["Current timezone: %s"] = ""; -$a->strings["Converted localtime: %s"] = ""; -$a->strings["Please select your timezone:"] = ""; -$a->strings["Poke/Prod"] = ""; -$a->strings["poke, prod or do other things to somebody"] = ""; -$a->strings["Recipient"] = ""; -$a->strings["Choose what you wish to do to recipient"] = ""; -$a->strings["Make this post private"] = ""; -$a->strings["Total invitation limit exceeded."] = ""; -$a->strings["%s : Not a valid email address."] = ""; -$a->strings["Please join us on Friendica"] = ""; -$a->strings["Invitation limit exceeded. Please contact your site administrator."] = ""; -$a->strings["%s : Message delivery failed."] = ""; -$a->strings["%d message sent."] = [ - 0 => "", - 1 => "", -]; -$a->strings["You have no more invitations available"] = ""; -$a->strings["Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks."] = ""; -$a->strings["To accept this invitation, please visit and register at %s or any other public Friendica website."] = ""; -$a->strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = ""; -$a->strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = ""; -$a->strings["Send invitations"] = ""; -$a->strings["Enter email addresses, one per line:"] = ""; -$a->strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = ""; -$a->strings["You will need to supply this invitation code: \$invite_code"] = ""; -$a->strings["Once you have registered, please connect with me via my profile page at:"] = ""; -$a->strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = ""; -$a->strings["Photo Albums"] = ""; -$a->strings["Contact Photos"] = ""; -$a->strings["Upload New Photos"] = ""; -$a->strings["Contact information unavailable"] = ""; -$a->strings["Album not found."] = ""; -$a->strings["Delete Album"] = ""; -$a->strings["Do you really want to delete this photo album and all its photos?"] = ""; -$a->strings["Delete Photo"] = ""; -$a->strings["Do you really want to delete this photo?"] = ""; -$a->strings["%1\$s was tagged in %2\$s by %3\$s"] = ""; -$a->strings["a photo"] = ""; -$a->strings["Image exceeds size limit of "] = ""; -$a->strings["Image file is empty."] = ""; -$a->strings["No photos selected"] = ""; -$a->strings["You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."] = ""; -$a->strings["Upload Photos"] = ""; -$a->strings["New album name: "] = ""; -$a->strings["or existing album name: "] = ""; -$a->strings["Do not show a status post for this upload"] = ""; -$a->strings["Permissions"] = ""; -$a->strings["Private Photo"] = ""; -$a->strings["Public Photo"] = ""; -$a->strings["Edit Album"] = ""; -$a->strings["Show Newest First"] = ""; -$a->strings["Show Oldest First"] = ""; -$a->strings["View Photo"] = ""; -$a->strings["Permission denied. Access to this item may be restricted."] = ""; -$a->strings["Photo not available"] = ""; -$a->strings["View photo"] = ""; -$a->strings["Edit photo"] = ""; -$a->strings["Use as profile photo"] = ""; -$a->strings["View Full Size"] = ""; -$a->strings["Tags: "] = ""; -$a->strings["[Remove any tag]"] = ""; -$a->strings["Rotate CW (right)"] = ""; -$a->strings["Rotate CCW (left)"] = ""; -$a->strings["New album name"] = ""; -$a->strings["Caption"] = ""; -$a->strings["Add a Tag"] = ""; -$a->strings["Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"] = ""; -$a->strings["Private photo"] = ""; -$a->strings["Public photo"] = ""; -$a->strings["Share"] = ""; -$a->strings["Recent Photos"] = ""; -$a->strings["Account approved."] = ""; -$a->strings["Registration revoked for %s"] = ""; -$a->strings["Please login."] = ""; -$a->strings["Move account"] = ""; -$a->strings["You can import an account from another Friendica server."] = ""; -$a->strings["You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."] = ""; -$a->strings["This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from Diaspora"] = ""; -$a->strings["Account file"] = ""; -$a->strings["To export your account, go to \"Settings->Export your personal data\" and select \"Export account\""] = ""; -$a->strings["Item not available."] = ""; -$a->strings["Item was not found."] = ""; -$a->strings["Delete this item?"] = ""; -$a->strings["show fewer"] = ""; -$a->strings["Update %s failed. See error logs."] = ""; -$a->strings["Create a New Account"] = ""; -$a->strings["Logout"] = ""; -$a->strings["Login"] = ""; -$a->strings["Nickname or Email address: "] = ""; -$a->strings["Password: "] = ""; -$a->strings["Remember me"] = ""; -$a->strings["Or login using OpenID: "] = ""; -$a->strings["Forgot your password?"] = ""; -$a->strings["Website Terms of Service"] = ""; -$a->strings["terms of service"] = ""; -$a->strings["Website Privacy Policy"] = ""; -$a->strings["privacy policy"] = ""; -$a->strings["Requested account is not available."] = ""; -$a->strings["Edit profile"] = ""; -$a->strings["Message"] = ""; -$a->strings["Profiles"] = ""; -$a->strings["Manage/edit profiles"] = ""; -$a->strings["Network:"] = ""; -$a->strings["g A l F d"] = ""; -$a->strings["F d"] = ""; -$a->strings["[today]"] = ""; -$a->strings["Birthday Reminders"] = ""; -$a->strings["Birthdays this week:"] = ""; -$a->strings["[No description]"] = ""; -$a->strings["Event Reminders"] = ""; -$a->strings["Events this week:"] = ""; -$a->strings["Status"] = ""; -$a->strings["Status Messages and Posts"] = ""; -$a->strings["Profile Details"] = ""; -$a->strings["Videos"] = ""; -$a->strings["Events and Calendar"] = ""; -$a->strings["Only You Can See This"] = ""; -$a->strings["This entry was edited"] = ""; -$a->strings["ignore thread"] = ""; -$a->strings["unignore thread"] = ""; -$a->strings["toggle ignore status"] = ""; -$a->strings["ignored"] = ""; -$a->strings["Categories:"] = ""; -$a->strings["Filed under:"] = ""; -$a->strings["via"] = ""; -$a->strings["\n\t\t\tThe friendica developers released update %s recently,\n\t\t\tbut when I tried to install it, something went terribly wrong.\n\t\t\tThis needs to be fixed soon and I can't do it alone. Please contact a\n\t\t\tfriendica developer if you can not help me on your own. My database might be invalid."] = ""; -$a->strings["The error message is\n[pre]%s[/pre]"] = ""; -$a->strings["Errors encountered creating database tables."] = ""; -$a->strings["Errors encountered performing database changes."] = ""; -$a->strings["Logged out."] = ""; -$a->strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = ""; -$a->strings["The error message was:"] = ""; -$a->strings["Add New Contact"] = ""; -$a->strings["Enter address or web location"] = ""; -$a->strings["Example: bob@example.com, http://example.com/barbara"] = ""; -$a->strings["%d invitation available"] = [ - 0 => "", - 1 => "", -]; -$a->strings["Find People"] = ""; -$a->strings["Enter name or interest"] = ""; -$a->strings["Connect/Follow"] = ""; -$a->strings["Examples: Robert Morgenstein, Fishing"] = ""; -$a->strings["Similar Interests"] = ""; -$a->strings["Random Profile"] = ""; -$a->strings["Invite Friends"] = ""; -$a->strings["Networks"] = ""; -$a->strings["All Networks"] = ""; -$a->strings["Saved Folders"] = ""; -$a->strings["Everything"] = ""; -$a->strings["Categories"] = ""; -$a->strings["General Features"] = ""; -$a->strings["Multiple Profiles"] = ""; -$a->strings["Ability to create multiple profiles"] = ""; -$a->strings["Post Composition Features"] = ""; -$a->strings["Richtext Editor"] = ""; -$a->strings["Enable richtext editor"] = ""; -$a->strings["Post Preview"] = ""; -$a->strings["Allow previewing posts and comments before publishing them"] = ""; -$a->strings["Auto-mention Forums"] = ""; -$a->strings["Add/remove mention when a fourm page is selected/deselected in ACL window."] = ""; -$a->strings["Network Sidebar Widgets"] = ""; -$a->strings["Search by Date"] = ""; -$a->strings["Ability to select posts by date ranges"] = ""; -$a->strings["Group Filter"] = ""; -$a->strings["Enable widget to display Network posts only from selected group"] = ""; -$a->strings["Network Filter"] = ""; -$a->strings["Enable widget to display Network posts only from selected network"] = ""; -$a->strings["Save search terms for re-use"] = ""; -$a->strings["Network Tabs"] = ""; -$a->strings["Network Personal Tab"] = ""; -$a->strings["Enable tab to display only Network posts that you've interacted on"] = ""; -$a->strings["Network New Tab"] = ""; -$a->strings["Enable tab to display only new Network posts (from the last 12 hours)"] = ""; -$a->strings["Network Shared Links Tab"] = ""; -$a->strings["Enable tab to display only Network posts with links in them"] = ""; -$a->strings["Post/Comment Tools"] = ""; -$a->strings["Multiple Deletion"] = ""; -$a->strings["Select and delete multiple posts/comments at once"] = ""; -$a->strings["Edit Sent Posts"] = ""; -$a->strings["Edit and correct posts and comments after sending"] = ""; -$a->strings["Tagging"] = ""; -$a->strings["Ability to tag existing posts"] = ""; -$a->strings["Post Categories"] = ""; -$a->strings["Add categories to your posts"] = ""; -$a->strings["Ability to file posts under folders"] = ""; -$a->strings["Dislike Posts"] = ""; -$a->strings["Ability to dislike posts/comments"] = ""; -$a->strings["Star Posts"] = ""; -$a->strings["Ability to mark special posts with a star indicator"] = ""; -$a->strings["Mute Post Notifications"] = ""; -$a->strings["Ability to mute notifications for a thread"] = ""; -$a->strings["Connect URL missing."] = ""; -$a->strings["This site is not configured to allow communications with other networks."] = ""; -$a->strings["No compatible communication protocols or feeds were discovered."] = ""; -$a->strings["The profile address specified does not provide adequate information."] = ""; -$a->strings["An author or name was not found."] = ""; -$a->strings["No browser URL could be matched to this address."] = ""; -$a->strings["Unable to match @-style Identity Address with a known protocol or email contact."] = ""; -$a->strings["Use mailto: in front of address to force email check."] = ""; -$a->strings["The profile address specified belongs to a network which has been disabled on this site."] = ""; -$a->strings["Limited profile. This person will be unable to receive direct/personal notifications from you."] = ""; -$a->strings["Unable to retrieve contact information."] = ""; -$a->strings["following"] = ""; -$a->strings["A deleted group with this name was revived. Existing item permissions may apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = ""; -$a->strings["Default privacy group for new contacts"] = ""; -$a->strings["Everybody"] = ""; -$a->strings["edit"] = ""; -$a->strings["Edit group"] = ""; -$a->strings["Create a new group"] = ""; -$a->strings["Contacts not in any group"] = ""; -$a->strings["Miscellaneous"] = ""; -$a->strings["year"] = ""; -$a->strings["month"] = ""; -$a->strings["day"] = ""; -$a->strings["never"] = ""; -$a->strings["less than a second ago"] = ""; -$a->strings["years"] = ""; -$a->strings["months"] = ""; -$a->strings["week"] = ""; -$a->strings["weeks"] = ""; -$a->strings["days"] = ""; -$a->strings["hour"] = ""; -$a->strings["hours"] = ""; -$a->strings["minute"] = ""; -$a->strings["minutes"] = ""; -$a->strings["second"] = ""; -$a->strings["seconds"] = ""; -$a->strings["%1\$d %2\$s ago"] = ""; -$a->strings["%s's birthday"] = ""; -$a->strings["Happy Birthday %s"] = ""; -$a->strings["Visible to everybody"] = ""; -$a->strings["show"] = ""; -$a->strings["don't show"] = ""; -$a->strings["[no subject]"] = ""; -$a->strings["stopped following"] = ""; -$a->strings["Poke"] = ""; -$a->strings["View Status"] = ""; -$a->strings["View Profile"] = ""; -$a->strings["View Photos"] = ""; -$a->strings["Network Posts"] = ""; -$a->strings["Edit Contact"] = ""; -$a->strings["Drop Contact"] = ""; -$a->strings["Send PM"] = ""; -$a->strings["Welcome "] = ""; -$a->strings["Please upload a profile photo."] = ""; -$a->strings["Welcome back "] = ""; -$a->strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = ""; -$a->strings["event"] = ""; -$a->strings["%1\$s poked %2\$s"] = ""; -$a->strings["poked"] = ""; -$a->strings["post/item"] = ""; -$a->strings["%1\$s marked %2\$s's %3\$s as favorite"] = ""; -$a->strings["remove"] = ""; -$a->strings["Delete Selected Items"] = ""; -$a->strings["Follow Thread"] = ""; -$a->strings["%s likes this."] = ""; -$a->strings["%s doesn't like this."] = ""; -$a->strings["%2\$d people like this"] = ""; -$a->strings["%2\$d people don't like this"] = ""; -$a->strings["and"] = ""; -$a->strings[", and %d other people"] = ""; -$a->strings["%s like this."] = ""; -$a->strings["%s don't like this."] = ""; -$a->strings["Visible to everybody"] = ""; -$a->strings["Please enter a video link/URL:"] = ""; -$a->strings["Please enter an audio link/URL:"] = ""; -$a->strings["Tag term:"] = ""; -$a->strings["Where are you right now?"] = ""; -$a->strings["Delete item(s)?"] = ""; -$a->strings["Post to Email"] = ""; -$a->strings["Connectors disabled, since \"%s\" is enabled."] = ""; -$a->strings["permissions"] = ""; -$a->strings["Post to Groups"] = ""; -$a->strings["Post to Contacts"] = ""; -$a->strings["Private post"] = ""; -$a->strings["view full size"] = ""; -$a->strings["newer"] = ""; -$a->strings["older"] = ""; -$a->strings["prev"] = ""; -$a->strings["first"] = ""; -$a->strings["last"] = ""; -$a->strings["next"] = ""; -$a->strings["No contacts"] = ""; -$a->strings["%d Contact"] = [ - 0 => "", - 1 => "", -]; -$a->strings["poke"] = ""; -$a->strings["ping"] = ""; -$a->strings["pinged"] = ""; -$a->strings["prod"] = ""; -$a->strings["prodded"] = ""; -$a->strings["slap"] = ""; -$a->strings["slapped"] = ""; -$a->strings["finger"] = ""; -$a->strings["fingered"] = ""; -$a->strings["rebuff"] = ""; -$a->strings["rebuffed"] = ""; -$a->strings["happy"] = ""; -$a->strings["sad"] = ""; -$a->strings["mellow"] = ""; -$a->strings["tired"] = ""; -$a->strings["perky"] = ""; -$a->strings["angry"] = ""; -$a->strings["stupified"] = ""; -$a->strings["puzzled"] = ""; -$a->strings["interested"] = ""; -$a->strings["bitter"] = ""; -$a->strings["cheerful"] = ""; -$a->strings["alive"] = ""; -$a->strings["annoyed"] = ""; -$a->strings["anxious"] = ""; -$a->strings["cranky"] = ""; -$a->strings["disturbed"] = ""; -$a->strings["frustrated"] = ""; -$a->strings["motivated"] = ""; -$a->strings["relaxed"] = ""; -$a->strings["surprised"] = ""; -$a->strings["Monday"] = ""; -$a->strings["Tuesday"] = ""; -$a->strings["Wednesday"] = ""; -$a->strings["Thursday"] = ""; -$a->strings["Friday"] = ""; -$a->strings["Saturday"] = ""; -$a->strings["Sunday"] = ""; -$a->strings["January"] = ""; -$a->strings["February"] = ""; -$a->strings["March"] = ""; -$a->strings["April"] = ""; -$a->strings["May"] = ""; -$a->strings["June"] = ""; -$a->strings["July"] = ""; -$a->strings["August"] = ""; -$a->strings["September"] = ""; -$a->strings["October"] = ""; -$a->strings["November"] = ""; -$a->strings["December"] = ""; -$a->strings["bytes"] = ""; -$a->strings["Click to open/close"] = ""; -$a->strings["default"] = ""; -$a->strings["Select an alternate language"] = ""; -$a->strings["activity"] = ""; -$a->strings["post"] = ""; -$a->strings["Item filed"] = ""; -$a->strings["Image/photo"] = ""; -$a->strings["%2\$s %3\$s"] = ""; -$a->strings["%s wrote the following post"] = ""; -$a->strings["$1 wrote:"] = ""; -$a->strings["Encrypted content"] = ""; -$a->strings["(no subject)"] = ""; -$a->strings["noreply"] = ""; -$a->strings["Cannot locate DNS info for database server '%s'"] = ""; -$a->strings["Unknown | Not categorised"] = ""; -$a->strings["Block immediately"] = ""; -$a->strings["Shady, spammer, self-marketer"] = ""; -$a->strings["Known to me, but no opinion"] = ""; -$a->strings["OK, probably harmless"] = ""; -$a->strings["Reputable, has my trust"] = ""; -$a->strings["Weekly"] = ""; -$a->strings["Monthly"] = ""; -$a->strings["OStatus"] = ""; -$a->strings["RSS/Atom"] = ""; -$a->strings["Zot!"] = ""; -$a->strings["LinkedIn"] = ""; -$a->strings["XMPP/IM"] = ""; -$a->strings["MySpace"] = ""; -$a->strings["Google+"] = ""; -$a->strings["pump.io"] = ""; -$a->strings["Twitter"] = ""; -$a->strings["Diaspora Connector"] = ""; -$a->strings["Statusnet"] = ""; -$a->strings["App.net"] = ""; -$a->strings[" on Last.fm"] = ""; -$a->strings["Starts:"] = ""; -$a->strings["Finishes:"] = ""; -$a->strings["j F, Y"] = ""; -$a->strings["j F"] = ""; -$a->strings["Birthday:"] = ""; -$a->strings["Age:"] = ""; -$a->strings["for %1\$d %2\$s"] = ""; -$a->strings["Tags:"] = ""; -$a->strings["Religion:"] = ""; -$a->strings["Hobbies/Interests:"] = ""; -$a->strings["Contact information and Social Networks:"] = ""; -$a->strings["Musical interests:"] = ""; -$a->strings["Books, literature:"] = ""; -$a->strings["Television:"] = ""; -$a->strings["Film/dance/culture/entertainment:"] = ""; -$a->strings["Love/Romance:"] = ""; -$a->strings["Work/employment:"] = ""; -$a->strings["School/education:"] = ""; -$a->strings["Click here to upgrade."] = ""; -$a->strings["This action exceeds the limits set by your subscription plan."] = ""; -$a->strings["This action is not available under your subscription plan."] = ""; -$a->strings["End this session"] = ""; -$a->strings["Your posts and conversations"] = ""; -$a->strings["Your profile page"] = ""; -$a->strings["Your photos"] = ""; -$a->strings["Your videos"] = ""; -$a->strings["Your events"] = ""; -$a->strings["Personal notes"] = ""; -$a->strings["Your personal notes"] = ""; -$a->strings["Sign in"] = ""; -$a->strings["Home Page"] = ""; -$a->strings["Create an account"] = ""; -$a->strings["Help and documentation"] = ""; -$a->strings["Apps"] = ""; -$a->strings["Addon applications, utilities, games"] = ""; -$a->strings["Search site content"] = ""; -$a->strings["Conversations on this site"] = ""; -$a->strings["Directory"] = ""; -$a->strings["People directory"] = ""; -$a->strings["Information"] = ""; -$a->strings["Information about this friendica instance"] = ""; -$a->strings["Conversations from your friends"] = ""; -$a->strings["Network Reset"] = ""; -$a->strings["Load Network page with no filters"] = ""; -$a->strings["Friend Requests"] = ""; -$a->strings["See all notifications"] = ""; -$a->strings["Mark all system notifications seen"] = ""; -$a->strings["Private mail"] = ""; -$a->strings["Inbox"] = ""; -$a->strings["Outbox"] = ""; -$a->strings["Manage"] = ""; -$a->strings["Manage other pages"] = ""; -$a->strings["Account settings"] = ""; -$a->strings["Manage/Edit Profiles"] = ""; -$a->strings["Manage/edit friends and contacts"] = ""; -$a->strings["Site setup and configuration"] = ""; -$a->strings["Navigation"] = ""; -$a->strings["Site map"] = ""; -$a->strings["User not found."] = ""; -$a->strings["Daily posting limit of %d posts reached. The post was rejected."] = ""; -$a->strings["Weekly posting limit of %d posts reached. The post was rejected."] = ""; -$a->strings["Monthly posting limit of %d posts reached. The post was rejected."] = ""; -$a->strings["There is no status with this id."] = ""; -$a->strings["There is no conversation with this id."] = ""; -$a->strings["Invalid request."] = ""; -$a->strings["Invalid item."] = ""; -$a->strings["Invalid action. "] = ""; -$a->strings["DB error"] = ""; -$a->strings["An invitation is required."] = ""; -$a->strings["Invitation could not be verified."] = ""; -$a->strings["Invalid OpenID url"] = ""; -$a->strings["Please enter the required information."] = ""; -$a->strings["Please use a shorter name."] = ""; -$a->strings["Name too short."] = ""; -$a->strings["That doesn't appear to be your full (First Last) name."] = ""; -$a->strings["Your email domain is not among those allowed on this site."] = ""; -$a->strings["Not a valid email address."] = ""; -$a->strings["Cannot use that email."] = ""; -$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = ""; -$a->strings["Nickname is already registered. Please choose another."] = ""; -$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = ""; -$a->strings["SERIOUS ERROR: Generation of security keys failed."] = ""; -$a->strings["An error occurred during registration. Please try again."] = ""; -$a->strings["An error occurred creating your default profile. Please try again."] = ""; -$a->strings["Friends"] = ""; -$a->strings["\n\t\tDear %1\$s,\n\t\t\tThank you for registering at %2\$s. Your account has been created.\n\t"] = ""; -$a->strings["\n\t\tThe login details are as follows:\n\t\t\tSite Location:\t%3\$s\n\t\t\tLogin Name:\t%1\$s\n\t\t\tPassword:\t%5\$s\n\n\t\tYou may change your password from your account \"Settings\" page after logging\n\t\tin.\n\n\t\tPlease take a few moments to review the other account settings on that page.\n\n\t\tYou may also wish to add some basic information to your default profile\n\t\t(on the \"Profiles\" page) so that other people can easily find you.\n\n\t\tWe recommend setting your full name, adding a profile photo,\n\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n\t\tperhaps what country you live in; if you do not wish to be more specific\n\t\tthan that.\n\n\t\tWe fully respect your right to privacy, and none of these items are necessary.\n\t\tIf you are new and do not know anybody here, they may help\n\t\tyou to make some new and interesting friends.\n\n\n\t\tThank you and welcome to %2\$s."] = ""; -$a->strings["Sharing notification from Diaspora network"] = ""; -$a->strings["Attachments:"] = ""; -$a->strings["Do you really want to delete this item?"] = ""; -$a->strings["Archives"] = ""; -$a->strings["Male"] = ""; -$a->strings["Female"] = ""; -$a->strings["Currently Male"] = ""; -$a->strings["Currently Female"] = ""; -$a->strings["Mostly Male"] = ""; -$a->strings["Mostly Female"] = ""; -$a->strings["Transgender"] = ""; -$a->strings["Intersex"] = ""; -$a->strings["Transsexual"] = ""; -$a->strings["Hermaphrodite"] = ""; -$a->strings["Neuter"] = ""; -$a->strings["Non-specific"] = ""; -$a->strings["Other"] = ""; -$a->strings["Undecided"] = ""; -$a->strings["Males"] = ""; -$a->strings["Females"] = ""; -$a->strings["Gay"] = ""; -$a->strings["Lesbian"] = ""; -$a->strings["No Preference"] = ""; -$a->strings["Bisexual"] = ""; -$a->strings["Autosexual"] = ""; -$a->strings["Abstinent"] = ""; -$a->strings["Virgin"] = ""; -$a->strings["Deviant"] = ""; -$a->strings["Fetish"] = ""; -$a->strings["Oodles"] = ""; -$a->strings["Nonsexual"] = ""; -$a->strings["Single"] = ""; -$a->strings["Lonely"] = ""; -$a->strings["Available"] = ""; -$a->strings["Unavailable"] = ""; -$a->strings["Has crush"] = ""; -$a->strings["Infatuated"] = ""; -$a->strings["Dating"] = ""; -$a->strings["Unfaithful"] = ""; -$a->strings["Sex Addict"] = ""; -$a->strings["Friends/Benefits"] = ""; -$a->strings["Casual"] = ""; -$a->strings["Engaged"] = ""; -$a->strings["Married"] = ""; -$a->strings["Imaginarily married"] = ""; -$a->strings["Partners"] = ""; -$a->strings["Cohabiting"] = ""; -$a->strings["Common law"] = ""; -$a->strings["Happy"] = ""; -$a->strings["Not looking"] = ""; -$a->strings["Swinger"] = ""; -$a->strings["Betrayed"] = ""; -$a->strings["Separated"] = ""; -$a->strings["Unstable"] = ""; -$a->strings["Divorced"] = ""; -$a->strings["Imaginarily divorced"] = ""; -$a->strings["Widowed"] = ""; -$a->strings["Uncertain"] = ""; -$a->strings["It's complicated"] = ""; -$a->strings["Don't care"] = ""; -$a->strings["Ask me"] = ""; -$a->strings["Friendica Notification"] = ""; -$a->strings["Thank You,"] = ""; -$a->strings["%s Administrator"] = ""; -$a->strings["%s "] = ""; -$a->strings["[Friendica:Notify] New mail received at %s"] = ""; -$a->strings["%1\$s sent you a new private message at %2\$s."] = ""; -$a->strings["%1\$s sent you %2\$s."] = ""; -$a->strings["a private message"] = ""; -$a->strings["Please visit %s to view and/or reply to your private messages."] = ""; -$a->strings["%1\$s commented on [url=%2\$s]a %3\$s[/url]"] = ""; -$a->strings["%1\$s commented on [url=%2\$s]%3\$s's %4\$s[/url]"] = ""; -$a->strings["%1\$s commented on [url=%2\$s]your %3\$s[/url]"] = ""; -$a->strings["[Friendica:Notify] Comment to conversation #%1\$d by %2\$s"] = ""; -$a->strings["%s commented on an item/conversation you have been following."] = ""; -$a->strings["Please visit %s to view and/or reply to the conversation."] = ""; -$a->strings["[Friendica:Notify] %s posted to your profile wall"] = ""; -$a->strings["%1\$s posted to your profile wall at %2\$s"] = ""; -$a->strings["%1\$s posted to [url=%2\$s]your wall[/url]"] = ""; -$a->strings["[Friendica:Notify] %s tagged you"] = ""; -$a->strings["%1\$s tagged you at %2\$s"] = ""; -$a->strings["%1\$s [url=%2\$s]tagged you[/url]."] = ""; -$a->strings["[Friendica:Notify] %s shared a new post"] = ""; -$a->strings["%1\$s shared a new post at %2\$s"] = ""; -$a->strings["%1\$s [url=%2\$s]shared a post[/url]."] = ""; -$a->strings["[Friendica:Notify] %1\$s poked you"] = ""; -$a->strings["%1\$s poked you at %2\$s"] = ""; -$a->strings["%1\$s [url=%2\$s]poked you[/url]."] = ""; -$a->strings["[Friendica:Notify] %s tagged your post"] = ""; -$a->strings["%1\$s tagged your post at %2\$s"] = ""; -$a->strings["%1\$s tagged [url=%2\$s]your post[/url]"] = ""; -$a->strings["[Friendica:Notify] Introduction received"] = ""; -$a->strings["You've received an introduction from '%1\$s' at %2\$s"] = ""; -$a->strings["You've received [url=%1\$s]an introduction[/url] from %2\$s."] = ""; -$a->strings["You may visit their profile at %s"] = ""; -$a->strings["Please visit %s to approve or reject the introduction."] = ""; -$a->strings["[Friendica:Notify] A new person is sharing with you"] = ""; -$a->strings["%1\$s is sharing with you at %2\$s"] = ""; -$a->strings["[Friendica:Notify] You have a new follower"] = ""; -$a->strings["You have a new follower at %2\$s : %1\$s"] = ""; -$a->strings["[Friendica:Notify] Friend suggestion received"] = ""; -$a->strings["You've received a friend suggestion from '%1\$s' at %2\$s"] = ""; -$a->strings["You've received [url=%1\$s]a friend suggestion[/url] for %2\$s from %3\$s."] = ""; -$a->strings["Name:"] = ""; -$a->strings["Photo:"] = ""; -$a->strings["Please visit %s to approve or reject the suggestion."] = ""; -$a->strings["[Friendica:Notify] Connection accepted"] = ""; -$a->strings["'%1\$s' has accepted your connection request at %2\$s"] = ""; -$a->strings["%2\$s has accepted your [url=%1\$s]connection request[/url]."] = ""; -$a->strings["You are now mutual friends and may exchange status updates, photos, and email\n\twithout restriction."] = ""; -$a->strings["Please visit %s if you wish to make any changes to this relationship."] = ""; -$a->strings["'%1\$s' has chosen to accept you a \"fan\", which restricts some forms of communication - such as private messaging and some profile interactions. If this is a celebrity or community page, these settings were applied automatically."] = ""; -$a->strings["'%1\$s' may choose to extend this into a two-way or more permissive relationship in the future. "] = ""; -$a->strings["[Friendica System:Notify] registration request"] = ""; -$a->strings["You've received a registration request from '%1\$s' at %2\$s"] = ""; -$a->strings["You've received a [url=%1\$s]registration request[/url] from %2\$s."] = ""; -$a->strings["Full Name:\t%1\$s\\nSite Location:\t%2\$s\\nLogin Name:\t%3\$s (%4\$s)"] = ""; -$a->strings["Please visit %s to approve or reject the request."] = ""; -$a->strings["Embedded content"] = ""; -$a->strings["Embedding disabled"] = ""; -$a->strings["Error decoding account file"] = ""; -$a->strings["Error! No version data in file! This is not a Friendica account file?"] = ""; -$a->strings["Error! Cannot check nickname"] = ""; -$a->strings["User '%s' already exists on this server!"] = ""; -$a->strings["User creation error"] = ""; -$a->strings["User profile creation error"] = ""; -$a->strings["%d contact not imported"] = [ - 0 => "", - 1 => "", -]; -$a->strings["Done. You can now login with your username and password"] = ""; -$a->strings["toggle mobile"] = ""; -$a->strings["Theme settings"] = ""; -$a->strings["Set resize level for images in posts and comments (width and height)"] = ""; -$a->strings["Set font-size for posts and comments"] = ""; -$a->strings["Set theme width"] = ""; -$a->strings["Color scheme"] = ""; -$a->strings["Set line-height for posts and comments"] = ""; -$a->strings["Set colour scheme"] = ""; -$a->strings["Alignment"] = ""; -$a->strings["Left"] = ""; -$a->strings["Center"] = ""; -$a->strings["Posts font size"] = ""; -$a->strings["Textareas font size"] = ""; -$a->strings["Set resolution for middle column"] = ""; -$a->strings["Set color scheme"] = ""; -$a->strings["Set zoomfactor for Earth Layer"] = ""; -$a->strings["Set longitude (X) for Earth Layers"] = ""; -$a->strings["Set latitude (Y) for Earth Layers"] = ""; -$a->strings["Community Pages"] = ""; -$a->strings["Earth Layers"] = ""; -$a->strings["Community Profiles"] = ""; -$a->strings["Help or @NewHere ?"] = ""; -$a->strings["Connect Services"] = ""; -$a->strings["Find Friends"] = ""; -$a->strings["Last users"] = ""; -$a->strings["Last photos"] = ""; -$a->strings["Last likes"] = ""; -$a->strings["Your contacts"] = ""; -$a->strings["Your personal photos"] = ""; -$a->strings["Local Directory"] = ""; -$a->strings["Set zoomfactor for Earth Layers"] = ""; -$a->strings["Show/hide boxes at right-hand column:"] = ""; -$a->strings["Set style"] = ""; -$a->strings["greenzero"] = ""; -$a->strings["purplezero"] = ""; -$a->strings["easterbunny"] = ""; -$a->strings["darkzero"] = ""; -$a->strings["comix"] = ""; -$a->strings["slackr"] = ""; -$a->strings["Variations"] = ""; diff --git a/util/messages.po b/view/lang/C/messages.po similarity index 100% rename from util/messages.po rename to view/lang/C/messages.po From b42760b0e6b243a9ab6306a1f1440e1a2effb74e Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 22:59:06 -0500 Subject: [PATCH 08/19] Move credits out of util/ --- util/credits.txt => CREDITS.txt | 0 bin/dev/make_credits.py | 8 ++++---- mod/credits.php | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename util/credits.txt => CREDITS.txt (100%) diff --git a/util/credits.txt b/CREDITS.txt similarity index 100% rename from util/credits.txt rename to CREDITS.txt diff --git a/bin/dev/make_credits.py b/bin/dev/make_credits.py index edd34c751..e373fa8ca 100755 --- a/bin/dev/make_credits.py +++ b/bin/dev/make_credits.py @@ -5,7 +5,7 @@ This script will collect the contributors to friendica and its translations from * the git log of the friendica core and addons repositories * the translated messages.po from core and the addons. -The collected names will be saved in /util/credits.txt which is also parsed from +The collected names will be saved in CREDITS.txt which is also parsed from yourfriendica.tld/credits. The output is not perfect, so remember to open a fresh (re)created credits.txt file @@ -26,7 +26,7 @@ dontinclude = ['root', 'friendica', 'bavatar', 'tony baldwin', 'Taek', 'silke m' 'Michal Supler', 'michal_s', 'Manuel Pérez', 'rabuzarus', 'Alberto Díaz'] -# this script is in the /util sub-directory of the friendica installation +# this script is in the /bin/dev directory of the friendica installation # so the friendica path is the 0th argument of calling this script but we # need to remove the name of the file and the name of the directory path = os.path.abspath(argv[0].split('bin/dev/make_credits.py')[0]) @@ -101,7 +101,7 @@ print(' > found %d translators' % (n3-n2)) print('> found a total of %d contributors and translators' % n3) contributors.sort(key=str.lower) -f = open(path+'/util/credits.txt', 'w') +f = open(path+'/CREDITS.txt', 'w') f.write("\n".join(contributors)) f.close() -print('> list saved to util/credits.txt') +print('> list saved to CREDITS.txt') diff --git a/mod/credits.php b/mod/credits.php index c53c86b8b..cfcc30b3e 100644 --- a/mod/credits.php +++ b/mod/credits.php @@ -12,7 +12,7 @@ use Friendica\Core\Renderer; function credits_content() { /* fill the page with credits */ - $credits_string = file_get_contents('util/credits.txt'); + $credits_string = file_get_contents('CREDITS.txt'); $names = explode("\n", htmlspecialchars($credits_string)); $tpl = Renderer::getMarkupTemplate('credits.tpl'); return Renderer::replaceMacros($tpl, [ From c0b3b73c8838e7bc6850d2f6934e8a81a083c6f6 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 23:08:43 -0500 Subject: [PATCH 09/19] Move files from util to mods - Move local.config.vagrant.php - Move fpostit - Move bookmarklet-share2friendica - Updated Readme file --- bin/dev/vagrant_provision.sh | 2 +- mods/README.md | 36 ++++++++++++++++++ .../bookmarklet-share2friendica/README.md | 0 .../bookmarklet-share2friendica.js | 0 {util => mods}/fpostit/README | 0 {util => mods}/fpostit/fpostit.js | 0 {util => mods}/fpostit/fpostit.php | 0 {util => mods}/fpostit/friendika-32.png | Bin {util => mods}/local.config.vagrant.php | 0 mods/redme.txt | 31 --------------- 10 files changed, 37 insertions(+), 32 deletions(-) create mode 100644 mods/README.md rename {util => mods}/bookmarklet-share2friendica/README.md (100%) rename {util => mods}/bookmarklet-share2friendica/bookmarklet-share2friendica.js (100%) rename {util => mods}/fpostit/README (100%) rename {util => mods}/fpostit/fpostit.js (100%) rename {util => mods}/fpostit/fpostit.php (100%) rename {util => mods}/fpostit/friendika-32.png (100%) rename {util => mods}/local.config.vagrant.php (100%) delete mode 100644 mods/redme.txt diff --git a/bin/dev/vagrant_provision.sh b/bin/dev/vagrant_provision.sh index 440a7b590..7ebbdcafd 100755 --- a/bin/dev/vagrant_provision.sh +++ b/bin/dev/vagrant_provision.sh @@ -86,7 +86,7 @@ cd /var/www php bin/composer.phar install # initial config file for friendica in vagrant -cp /vagrant/util/local.config.vagrant.php /vagrant/config/local.config.php +cp /vagrant/mods/local.config.vagrant.php /vagrant/config/local.config.php # copy the .htaccess-dist file to .htaccess so that rewrite rules work cp /vagrant/.htaccess-dist /vagrant/.htaccess diff --git a/mods/README.md b/mods/README.md new file mode 100644 index 000000000..917fcccd8 --- /dev/null +++ b/mods/README.md @@ -0,0 +1,36 @@ +Friendica mods files +==================== + +## `bookmarklet-share2friendica` + +Browser bookmarklet to share any page with your Friendica account. +Please see `bookmarklet-share2friendica/README.md` for detailed instruction. + +## `fpostit` + +Node-agnostic Friendica bookmarklet by Devlon Duthie. +Unmaintained and unsupported. + +## `home.css` and `home.html` + +Example files to customize the landing page of your Friendica node. +The `home.html file` contains the text of the page, the `home.css` file the style information. +The login box will be added according to the other system settings. +Both files have to be placed in the base directory of your Friendica installation to be used for the landing page. + +## `local.config.vagrant.php` + +Configuration file used by the Vagrant setup script. + +## `sample-Lighttpd.config` and `sample-nginx.config` + +Sample configuration files to use Friendica with Lighttpd or Nginx. +Please check software documentation to know how modify these examples to make them work on your server. + +## `sample-systemd.timer` and `sample-systemd.service` + +Sample systemd unit files to start worker.php periodically. + +Please place them in the correct location for your system, typically this is `/etc/systemd/system/friendicaworker.timer` and `/etc/systemd/system/friendicaworker.service`. +Please report problems and improvements to `!helpers@forum.friendi.ca` and `@utzer@social.yl.ms` or open an issue in [the Github Friendica page](https://github.com/friendica/friendica/issues). +This is for usage of systemd instead of cron to start the worker periodically, the solution is a work-in-progress and can surely be improved. diff --git a/util/bookmarklet-share2friendica/README.md b/mods/bookmarklet-share2friendica/README.md similarity index 100% rename from util/bookmarklet-share2friendica/README.md rename to mods/bookmarklet-share2friendica/README.md diff --git a/util/bookmarklet-share2friendica/bookmarklet-share2friendica.js b/mods/bookmarklet-share2friendica/bookmarklet-share2friendica.js similarity index 100% rename from util/bookmarklet-share2friendica/bookmarklet-share2friendica.js rename to mods/bookmarklet-share2friendica/bookmarklet-share2friendica.js diff --git a/util/fpostit/README b/mods/fpostit/README similarity index 100% rename from util/fpostit/README rename to mods/fpostit/README diff --git a/util/fpostit/fpostit.js b/mods/fpostit/fpostit.js similarity index 100% rename from util/fpostit/fpostit.js rename to mods/fpostit/fpostit.js diff --git a/util/fpostit/fpostit.php b/mods/fpostit/fpostit.php similarity index 100% rename from util/fpostit/fpostit.php rename to mods/fpostit/fpostit.php diff --git a/util/fpostit/friendika-32.png b/mods/fpostit/friendika-32.png similarity index 100% rename from util/fpostit/friendika-32.png rename to mods/fpostit/friendika-32.png diff --git a/util/local.config.vagrant.php b/mods/local.config.vagrant.php similarity index 100% rename from util/local.config.vagrant.php rename to mods/local.config.vagrant.php diff --git a/mods/redme.txt b/mods/redme.txt deleted file mode 100644 index 8fc1c48b3..000000000 --- a/mods/redme.txt +++ /dev/null @@ -1,31 +0,0 @@ -sample-Lighttpd.config -sample-nginx.config - - Sample configuration files to use Friendica with Lighttpd - or Nginx. Pleas check software documentation to know how modify - these examples to make them work on your server. - - -sample-systemd.timer -sample-systemd.service - - Sample systemd unit files to start worker.php periodically. - - Please place them in the correct location for your system, - typically this is /etc/systemd/system/friendicaworker.timer - and /etc/systemd/system/friendicaworker.service. - Please report problems and improvements to - !helpers@forum.friendi.ca and @utzer@social.yl.ms or open an - issue in Github (https://github.com/friendica/friendica/issues). - This is for usage of systemd instead of cron to start the worker.php - periodically, the solution is work-in-progress and can surely be improved. - -home.css -home.html - - Example files to customize the landing page of your Friendica node. - The home.html file contains the text of the page, the home.css file - the style information. The login box will be added according to the - other system settings. - Both files have to be placed in the base directory of your Friendica - installation to be used for the landing page. From c3c7c50dc525653fee16a92a5e14106a4b83249c Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 23:09:35 -0500 Subject: [PATCH 10/19] Move Doxyfile to base directory --- util/Doxyfile => Doxyfile | 7 +++---- doc/Developers-Intro.md | 4 ++-- doc/html/index.php | 2 +- util/Doxygen.footer | 4 ---- 4 files changed, 6 insertions(+), 11 deletions(-) rename util/Doxyfile => Doxyfile (62%) delete mode 100644 util/Doxygen.footer diff --git a/util/Doxyfile b/Doxyfile similarity index 62% rename from util/Doxyfile rename to Doxyfile index aef230792..a1676eba7 100644 --- a/util/Doxyfile +++ b/Doxyfile @@ -1,9 +1,9 @@ -INPUT = README.md index.php boot.php testargs.php update.php mod/ object/ include/ js/ util/ view/ src/ version.inc +INPUT = README.md index.php boot.php update.php bin/ mod/ include/ view/ src/ VERSION RECURSIVE = YES PROJECT_NAME = "Friendica" PROJECT_LOGO = images/friendica-64.jpg -EXCLUDE = .htconfig.php config/ library/ doc/ .git/ log/ util/zotsh/easywebdav/ addon/ report/ privacy_image_cache/ photo/ proxy/ local/ -EXCLUDE_PATTERNS = *smarty3* *strings.php*.log *.out *test* +EXCLUDE = .htconfig.php config/ library/ doc/ .git/ log/ addon/ report/ privacy_image_cache/ photo/ proxy/ local/ +EXCLUDE_PATTERNS = *smarty3* strings.php *.log *.out *test* OUTPUT_DIRECTORY = doc GENERATE_HTML = YES HTML_OUTPUT = html/ @@ -15,7 +15,6 @@ GENERATE_TODOLIST = YES USE_MDFILE_AS_MAINPAGE = README.md REFERENCED_BY_RELATION = YES GENERATE_TREEVIEW = YES -HTML_FOOTER = util/Doxygen.footer ALIASES += "license=@par License:\n" ALIASES += "fixme=\xrefitem fixme \"Fixme\" \"Fixme List\"" ALIASES += "FIXME=\fixme" diff --git a/doc/Developers-Intro.md b/doc/Developers-Intro.md index 228d2fcf0..d7f3f81fe 100644 --- a/doc/Developers-Intro.md +++ b/doc/Developers-Intro.md @@ -111,10 +111,10 @@ If the command-line tools `diff` and `patch` are unavailabe for you, `phpcbf` ca ### Code documentation If you are interested in having the documentation of the Friendica code outside of the code files, you can use [Doxygen](http://doxygen.org) to generate it. -The configuration file for Doxygen is located in the `util` directory of the project sources. +The configuration file for Doxygen is located in the base directory of the project sources. Run - $> doxygen util/Doxyfile + $> doxygen Doxyfile to generate the files which will be located in the `doc/html` subdirectory in the Friendica directory. You can browse these files with any browser. diff --git a/doc/html/index.php b/doc/html/index.php index 2e1b4277c..ab8375907 100644 --- a/doc/html/index.php +++ b/doc/html/index.php @@ -8,7 +8,7 @@ To get the Doxygen API Documentation you must render it with the program Doxygen (included in most distributions).
-$ doxygen util/Doxyfile
+$ doxygen Doxyfile
 

back diff --git a/util/Doxygen.footer b/util/Doxygen.footer deleted file mode 100644 index fd40910d9..000000000 --- a/util/Doxygen.footer +++ /dev/null @@ -1,4 +0,0 @@ - - - - From e02295e8e8e21562320f87a70921fe528b57eda3 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 23:10:05 -0500 Subject: [PATCH 11/19] Move testargs to bin --- {util => bin}/testargs.php | 0 src/Core/Installer.php | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename {util => bin}/testargs.php (100%) diff --git a/util/testargs.php b/bin/testargs.php similarity index 100% rename from util/testargs.php rename to bin/testargs.php diff --git a/src/Core/Installer.php b/src/Core/Installer.php index b84bcd916..2fd04523d 100644 --- a/src/Core/Installer.php +++ b/src/Core/Installer.php @@ -266,7 +266,7 @@ class Installer if ($passed2) { $str = Strings::getRandomName(8); - $cmd = "$phppath util/testargs.php $str"; + $cmd = "$phppath bin/testargs.php $str"; $result = trim(shell_exec($cmd)); $passed3 = $result == $str; $help = ""; From 11a0dd4d4ce9e197f5048e99d68d6887f7b72576 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 23:10:21 -0500 Subject: [PATCH 12/19] Remove util directory --- phpunit.xml | 1 - src/Core/Console/DocBloxErrorChecker.php | 6 -- util/.htaccess | 12 --- util/README | 120 ----------------------- 4 files changed, 139 deletions(-) delete mode 100644 util/.htaccess delete mode 100644 util/README diff --git a/phpunit.xml b/phpunit.xml index 0209ce6aa..a46f7be7b 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -18,7 +18,6 @@ library/ spec/ tests/ - util/ view/ diff --git a/src/Core/Console/DocBloxErrorChecker.php b/src/Core/Console/DocBloxErrorChecker.php index 421f913bb..224fe44fb 100644 --- a/src/Core/Console/DocBloxErrorChecker.php +++ b/src/Core/Console/DocBloxErrorChecker.php @@ -59,7 +59,6 @@ HELP; throw new \RuntimeException('DocBlox isn\'t available.'); } - //return from util folder to frindica base dir $dir = get_app()->getBasePath(); //stack for dirs to search @@ -130,8 +129,6 @@ HELP; /** * This function generates a comma separated list of file names. * - * @package util - * * @param array $fileset Set of file names * * @return string comma-separated list of the file names @@ -143,7 +140,6 @@ HELP; /** * This functions runs phpdoc on the provided list of files - * @package util * * @param array $fileset Set of filenames * @@ -169,8 +165,6 @@ HELP; * * In that version, it does not necessarily generate the smallest set, because it may not alter the elements order enough. * - * @package util - * * @param array $fileset set of filenames * @param int $ps number of files in subsets * diff --git a/util/.htaccess b/util/.htaccess deleted file mode 100644 index 7b1f94f0e..000000000 --- a/util/.htaccess +++ /dev/null @@ -1,12 +0,0 @@ -Options -Indexes - -# Remove the following lines or modify it to run the string translator utility - - #Apache 2.4 - Require all denied - - - #Apache 2.2 - Deny from all - - diff --git a/util/README b/util/README deleted file mode 100644 index 18e8fb882..000000000 --- a/util/README +++ /dev/null @@ -1,120 +0,0 @@ -Utilities - -php bin/console.php typo - is a crude syntax checker to avoid checking in files with simple -typos. It basically just loads each of our project files at once. Run from -cmdline and see if any parsing errors are reported. - - - -Internationalisation - -php bin/console.php extract - extracts translatable strings from our project files. It -currently doesn't pick up strings in other libraries we might be using such as -the HTML parsers. - -In order for extract to do its job, every use of the L10n::t() translation function -must be preceded by one space. The string also can not contain parentheses. If -parens are required in a string which requires translation, please use hex escapes. - -\x28 = ( -\x29 = ) - -This only applies to English. Other languages may use parens in strings -because they don't require extraction. - -strings.php - a recent run of the strings program. This provides output that -is suitable for direct inclusion in the program. - -There are also translatable strings in the various files in the view/lang/en -directory. By setting $lang = 'something' in .htconfig.php, the application -will search for view/lang/something/filename prior to the English version in -view/lang/en/filename when loading templates and view files. - -The translated string table should be placed in view/lang/$lang/strings.php for -automatic inclusion. - -You are not restricted to using known languages. You may also use this to -translate the software into "pirate", "surfer" or merely to replace certain -text which you don't care for. - -Note: The view/lang/en directory contains many HTML template files, some of which -only have a few words of English text amongst the HTML. Over time we will move -the translation to the Renderer::replaceMacros() function which calls these files and -then relocate the files to the view directory. The files in the top-level view -directory are template files which do not require translation. - - -Placeholders - -Do not translate placeholders in strings! Things like %s, %d, %1$s and $somename -are used to add dynamic content to the string. - -%s represents a dynamic string, like in "Welcome to %s" -%d represents a dynamic number, like in "%d new messages" -$somename is a variable like in php -In %1$s %2$s, the numbers are the position index of multiple dynamic content. -You could swap position in string of indexed placeholders. -e.g. -"%1$s's %2$s" => "John's photo", "John's item" -"%2$s di %1$s" => "foto di John", "elemento di John" - - -Plural - -The L10n::tt() function supports plural form. The extract command writes this in -strings.php as an array, one string for every plural form language supports: - -$a->string["%d message sent"] = Array( - 0 => "%d message sent", - 1 => "%d messages sent", -); - -The function string_plural_select($n) defined in strings.php, return the string -index to use, related to the numbers of item (value of $n). - -This is modeled after ngettext function of GNU gettext. -More info at http://www.gnu.org/software/hello/manual/gettext/Plural-forms.html - - -Xgettext and .po workflow - -1. Run bin/run_xgettext.sh script (on *unix sistems, with GNU xgettext installed) - This script runs xgettext on source tree, extracting strings from L10n::t() and L10n::tt() - functions, and creates a util/messages.po file. - - $ cd bin; ./run_xgettext.sh - -2. copy util/messages.po to view/lang//messages.po - Replace with the language you are working on - e.g. 'es', 'fr', 'de', etc. - -3. open view/lang//messages.po with a text editor and fill in infos in - "Last-Translator: FULL NAME " - "Language-Team: LANGUAGE \n" - "Language: \n" - - (eg: - "Last-Translator: Guybrush Threepwood " - "Language-Team: Pirate Friendika \n" - "Language: pi\n" - ) - - For the line - "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" - read GNU gettext manual at - http://www.gnu.org/software/hello/manual/gettext/Plural-forms.html - -4. You could then translate the strings in text editor, but I suggest to use one - of the many .po editors out there, like QtLinguist - -5. run - $ php bin/console.php po2php view/lang//messages.po - to create the strings.php file - -When strings are added or modified in source, you could run - $ cd bin; ./run_xgettext.sh ../view/lang//messages.po - to extract strings from source files and join them with the existing .po file: - new strings are added, the existing are not overwritten. - -If you already translated Friendica using strings.php, you could import your old -translation to messages.po. Run: -$ php bin/console.php php2po view/lang//strings.php From 1c5a19e245b01fa472fb3755b22826465fde917f Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 23:10:33 -0500 Subject: [PATCH 13/19] Update path to friendica-to-smarty-tpl.py --- bin/dev/updatetpl.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/dev/updatetpl.py b/bin/dev/updatetpl.py index 7b552fadd..c58b9d62d 100755 --- a/bin/dev/updatetpl.py +++ b/bin/dev/updatetpl.py @@ -58,7 +58,7 @@ fnull = open(os.devnull, "w") for tplpath in tplpaths: print "Converting " + path + tplpath - subprocess.call(['python', path + 'util/friendica-to-smarty-tpl.py', '-p', path + tplpath], stdout = fnull) + subprocess.call(['python', path + 'bin/dev/friendica-to-smarty-tpl.py', '-p', path + tplpath], stdout = fnull) fnull.close() From 653b8ac16eb091d52ea4328451cb52afc5e1565a Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Wed, 28 Nov 2018 23:10:49 -0500 Subject: [PATCH 14/19] Update INSTALL file --- INSTALL.md | 295 ++++++++++++++++++++++++++++++++++++++++++ INSTALL.txt | 365 ---------------------------------------------------- 2 files changed, 295 insertions(+), 365 deletions(-) create mode 100644 INSTALL.md delete mode 100644 INSTALL.txt diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 000000000..72923fb4b --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,295 @@ +# Friendica Installation + +We've tried very hard to ensure that Friendica will run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. +But be aware that Friendica is more than a simple web application. +It is a complex communications system which more closely resembles an email server than a web server. +For reliability and performance, messages are delivered in the background and are queued for later delivery when sites are down. +This kind of functionality requires a bit more of the host system than the typical blog. +Not every PHP/MySQL hosting provider will be able to support Friendica. +Many will. +But please review the requirements and confirm these with your hosting provider prior to installation. + +Before you begin: Choose a domain name or subdomain name for your server. +Put some thought into this - because changing it is currently not-supported. +Things will break, and some of your friends may have difficulty communicating with you. +We plan to address this limitation in a future release. Also decide if you wish to connect with members of the Diaspora network, as this will impact the installation requirements. + +Decide if you will use SSL and obtain an SSL cert. +Communications with the Diaspora network MAY require both SSL AND an SSL cert signed by a CA which is recognized by major browsers. +Friendica will work with self-signed certs but Diaspora communication may not. +For best results, install your cert PRIOR to installing Friendica and when visiting your site for the initial installation in step 5, please use the https: link. +(Use the http: or non-SSL link if your cert is self-signed). + +## 1. Requirements + +- Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file +- PHP 5.6.1+ (PHP 7 recommended for performance). + - PHP *command line* access with register_argc_argv set to true in the php.ini file [or see 'poormancron' in section 8] + - curl, gd (with at least jpeg support), mysql, mbstring, xml, zip and openssl extensions + - Some form of email server or email gateway such that PHP mail() works + - The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it) + - Composer for a Git install + +- Mysql 5.5.3+ or an equivalant alternative for MySQL (MariaDB, Percona Server etc.) + - Ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows) [Note: other options are presented in Section 8 of this document] + - Installation into a top-level domain or sub-domain (without a directory/path component in the URL) is preferred. This is REQUIRED if you wish to communicate with the Diaspora network. + - For alternative server configurations (such as Nginx server and MariaDB database engine), refer to the [Friendica wiki](https://github.com/friendica/friendica/wiki). + +This guide will walk you through the manual installation process of Friendica. +If this is nothing for you, you might be interested in: +* the Friendica Docker image (https://github.com/friendica/docker) or +* how install Friendica with YunoHost (https://github.com/YunoHost-Apps/friendica_ynh). + +## 2. Install Friendica sources + +Unpack the Friendica files into the root of your web server document area. + +If you copy the directory tree to your webserver, make sure that you also copy `.htaccess-dist` - as "dot" files are often hidden and aren't normally copied. + +OR + +Clone the friendica/friendica GitHub repository and import dependencies + + git clone https://github.com/friendica/friendica -b master [web server folder] + cd [web server folder] + bin/composer.phar install --no-dev + +Make sure the folder view/smarty3 exists and is writable by the webserver user, in this case `www-data` + + mkdir view/smarty3 + chown www-data:www-data view/smarty3 + chmod 775 view/smarty3 + +Get the addons by going into your website folder. + + cd mywebsite + +Clone the addon repository (separately): + + git clone https://github.com/friendica/friendica-addons.git -b master addon + +If you copy the directory tree to your webserver, make sure that you also copy .htaccess - as "dot" files are often hidden and aren't normally copied. + +If you want to use the development version of Friendica you can switch to the develop branch in the repository by running + + git checkout develop + bin/composer.phar install + cd addon + git checkout develop + +Please be aware that the develop branch is unstable. +Exercise caution when pulling. +If you encounter a bug, please let us know. + +Either way, if you use Apache, copy `.htaccess-dist` to `.htaccess` to enable URL rewriting. + +## 3. Database + +Create an empty database and note the access details (hostname, username, password, database name). + +- Friendica needs the permission to create and delete fields and tables in its own database. +- Please check the additional notes if running on MySQ 5.7.17 or newer + +## 4. Config + +If you know in advance that it will be impossible for the web server to write or create files in the `config/` directory, please create an empty file called `local.config.php` in it and make it writable by the web server. + +## 5a. Install Wizard + +Visit your website with a web browser and follow the instructions. +Please note any error messages and correct these before continuing. + +If you are using SSL with a known signature authority (recommended), use the https: link to your website. If you are using a self-signed cert or no cert, use the http: link. + +If you need to specify a port for the connection to the database, you can do so in the host name setting for the database. + +## 5b. Manual install + +*If* the automated installation fails for any reason, please check the following: + +- `config/local.config.php` exists + - If not, copy `config/local-sample.config.php` to `config/local.config.php` and edit it with your settings. +- Database is populated. + - If not, import the contents of `database.sql` with phpMyAdmin or the mysql command line tool. + +## 6. Register the admin account + +At this point visit your website again, and register your personal account with the same email as in the `config.admin_email` config value. +Registration errors should all be recoverable automatically. + +If you get any *critical* failure at this point, it generally indicates the database was not installed correctly. +You might wish to delete/rename `config/local.config.php` to another name and drop all the database tables so that you can start fresh. + +## 7. Background tasks (IMPORTANT) + +Set up a cron job or scheduled task to run the worker once every 5-10 minutes to pick up the recent "public" postings of your friends. +Example: + + cd /base/directory; /path/to/php bin/worker.php + +Change "/base/directory", and "/path/to/php" as appropriate for your situation. + +If you are using a Linux server, run "crontab -e" and add a line like the one shown, substituting for your unique paths and settings: + + */10 * * * * cd /home/myname/mywebsite; /usr/bin/php bin/worker.php + +You can generally find the location of PHP by executing "which php". +If you have troubles with this section please contact your hosting provider for assistance. +Friendica will not work correctly if you cannot perform this step. + +You should also be sure that `config.php_path` is set correctly, it should look like (changing it to the correct PHP location) + + 'config' => [ + 'php_path' => '/usr/local/php56/bin/php', + ] + +Alternative: If you cannot use a cron job as described above, you can use the frontend worker and an external cron service to trigger the execution of the worker script. +You can enable the frontend worker after the installation from the admin panel of your node and call + + https://example.com/worker + +with the service of your choice. + +## 8. (Recommended) Set up a backup plan + +Bad things will happen. +Let there be a hardware failure, a corrupted database or whatever you can think of. +So once the installation of your Friendica node is done, you should make yourself a backup plan. + +The most important file is the `config/local.config.php` file in the base directory. +As it stores all your data, you should also have a recent dump of your Friendica database at hand, should you have to recover your node. + +## 9. (Optional) Reverse-proxying and HTTPS + +Friendica looks for some well-known HTTP headers indicating a reverse-proxy terminating an HTTPS connection. +While the standard from RFC 7239 specifies the use of the `Forwaded` header. + + Forwarded: for=192.0.2.1; proto=https; by=192.0.2.2 + +Friendica also supports a number on non-standard headers in common use. + + X-Forwarded-Proto: https + + Front-End-Https: on + + X-Forwarded-Ssl: on + +It is however preferable to use the standard approach if configuring a new server. + +## Troubleshooting + +### "System is currently unavailable. Please try again later" + +Check your database settings. +It usually means your database could not be opened or accessed. +If the database resides on the same machine, check that the database server name is "localhost". + +### 500 Internal Error + +This could be the result of one of our Apache directives not being supported by your version of Apache. +Examine your apache server logs. +You might remove the line "Options -Indexes" from the .htaccess file if you are using a Windows server as this has been known to cause problems. +Also check your file permissions. +Your website and all contents must generally be world-readable. + +It is likely that your web server reported the source of the problem in its error log files. +Please review these system error logs to determine what caused the problem. +Often this will need to be resolved with your hosting provider or (if self-hosted) your web server configuration. + +### 400 and 4xx "File not found" errors + +First check your file permissions. +Your website and all contents must generally be world-readable. + +Ensure that mod-rewite is installed and working, and that your `.htaccess` file is being used. +To verify the latter, create a file `test.out` containing the word "test" in the top directory of Friendica, make it world readable and point your web browser to + + http://yoursitenamehere.com/test.out + +This file should be blocked. +You should get a permission denied message. + +If you see the word "test" your Apache configuration is not allowing your `.htaccess` file to be used (there are rules in this file to block access to any file with .out at the end, as these are typically used for system logs). + +Make certain the `.htaccess` file exists and is readable by everybody, then look for the existence of "AllowOverride None" in the Apache server configuration for your site. +This will need to be changed to "AllowOverride All". + +If you do not see the word "test", your `.htaccess` is working, but it is likely that mod-rewrite is not installed in your web server or is not working. + +On most flavour of Linux, + + % a2enmod rewrite + % /etc/init.d/apache2 restart + +Consult your hosting provider, experts on your particular Linux distribution or (if Windows) the provider of your Apache server software if you need to change either of these and can not figure out how. +There is a lot of help available on the web. +Google "mod-rewrite" along with the name of your operating system distribution or Apache package (if using Windows). + + +### If you are unable to write the file config/local.config.php during installation +due to permissions issues: + +Create an empty `config/local.config.php`file with that name and give it world-write permission. + +On Linux: + + % touch config/local.config.php + % chmod 664 config/local.config.php + +Retry the installation. As soon as the database has been created, + +******* this is important ********* + + % chmod 644 config/local.config.php + +### Suhosin issues + +Some configurations with "suhosin" security are configured without an ability to run external processes. +Friendica requires this ability. +Following are some notes provided by one of our members. + +> On my server I use the php protection system Suhosin [http://www.hardened-php.net/suhosin/]. +> One of the things it does is to block certain functions like proc_open, as configured in `/etc/php5/conf.d/suhosin.ini`: +> +> suhosin.executor.func.blacklist = proc_open, ... +> +> For those sites like Friendica that really need these functions they can be enabled, e.g. in `/etc/apache2/sites-available/friendica`: +> +> +> php_admin_value suhosin.executor.func.blacklist none +> php_admin_value suhosin.executor.eval.blacklist none +> +> +> This enables every function for Friendica if accessed via browser, but not for the cronjob that is called via php command line. +> I attempted to enable it for cron by using something like +> +> */10 * * * * cd /var/www/friendica/friendica/ && sudo -u www-data /usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none -f bin/worker.php +> +> This worked well for simple test cases, but the friendica-cron still failed with a fatal error: +> +> suhosin[22962]: ALERT - function within blacklist called: proc_open() (attacker 'REMOTE_ADDR not set', file '/var/www/friendica/friendica/boot.php', line 1341) +> +> After a while I noticed, that `bin/worker.php` calls further PHP script via `proc_open`. +> These scripts themselves also use `proc_open` and fail, because they are NOT called with `-d suhosin.executor.func.blacklist=none`. +> +> So the simple solution is to put the correct parameters into `config/local.config.php`: +> +> 'config' => [ +> //Location of PHP command line processor +> 'php_path' => '/usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none', +> ], +> +> This is obvious as soon as you notice that the friendica-cron uses `proc_open` to execute PHP scripts that also use `proc_open`, but it took me quite some time to find that out. +> I hope this saves some time for other people using suhosin with function blacklists. + +### Unable to create all mysql tables on MySQL 5.7.17 or newer + +If the setup fails to create all the database tables and/or manual creation from the command line fails, with this error: + + ERROR 1067 (42000) at line XX: Invalid default value for 'created' + +You need to adjust your my.cnf and add the following setting under the [mysqld] section : + + sql_mode = ''; + +After that, restart mysql and try again. diff --git a/INSTALL.txt b/INSTALL.txt deleted file mode 100644 index 9d10e8aee..000000000 --- a/INSTALL.txt +++ /dev/null @@ -1,365 +0,0 @@ - -Friendica Installation - -We've tried very hard to ensure that Friendica will run on commodity hosting -platforms - such as those used to host Wordpress blogs and Drupal websites. -But be aware that Friendica is more than a simple web application. It is a -complex communications system which more closely resembles an email server -than a web server. For reliability and performance, messages are delivered in -the background and are queued for later delivery when sites are down. This -kind of functionality requires a bit more of the host system than the typical -blog. Not every PHP/MySQL hosting provider will be able to support Friendica. -Many will. But please review the requirements and confirm these with your -hosting provider prior to installation. - -Before you begin: Choose a domain name or subdomain name for your server. -Put some thought into this - because changing it is currently not-supported. -Things will break, and some of your friends may have difficulty communicating -with you. We plan to address this limitation in a future release. Also decide -if you wish to connect with members of the Diaspora network, as this will -impact the installation requirements. - -Decide if you will use SSL and obtain an SSL cert. Communications with the -Diaspora network MAY require both SSL AND an SSL cert signed by a CA which is -recognised by the major browsers. Friendica will work with self-signed certs -but Diaspora communication may not. For best results, install your cert PRIOR -to installing Friendica and when visiting your site for the initial -installation in step 5, please use the https: link. (Use the http: or non-SSL -link if your cert is self-signed). - - -1. Requirements - - Apache with mod-rewrite enabled and "Options All" so you can use a -local .htaccess file - - - PHP 5.6.1+ (PHP 7 recommended for performance). - - - PHP *command line* access with register_argc_argv set to true in the -php.ini file [or see 'poormancron' in section 8] - - - curl, gd (with at least jpeg support), mysql, mbstring, xml, zip and openssl extensions - - - some form of email server or email gateway such that PHP mail() works - - - The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it) - - - Mysql 5.5.3+ or an equivalant alternative for MySQL (MariaDB, Percona Server etc.) - - - ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks -(Windows) [Note: other options are presented in Section 8 of this document] - - - Installation into a top-level domain or sub-domain (without a -directory/path component in the URL) is preferred. This is REQUIRED if -you wish to communicate with the Diaspora network. - - - - For alternative server configurations (such as Nginx server and MariaDB - database engine), refer to the wiki at https://github.com/friendica/friendica/wiki - -This guide will walk you through the manual installation process of Friendica. -If this is nothing for you, you might be interested in - -* the Friendica Docker image (https://github.com/friendica/docker) or -* how install Friendica with YunoHost (https://github.com/YunoHost-Apps/friendica_ynh). - - -2. Unpack the Friendica files into the root of your web server document area. - - - If you copy the directory tree to your webserver, make sure - that you also copy .htaccess - as "dot" files are often hidden - and aren't normally copied. - -OR - -2b. Clone the friendica/friendica GitHub repository and import dependencies - - git clone https://github.com/friendica/friendica -b master [web server folder] - cd [web server folder] - php bin/composer.phar install - -Make sure the folder view/smarty3 exists and is writable by the webserver -user, in this case `www-data` - - mkdir view/smarty3 - chown www-data:www-data view/smarty3 - chmod 775 view/smarty3 - -Get the addons by going into your website folder. - - cd mywebsite - -Clone the addon repository (separately): - - git clone https://github.com/friendica/friendica-addons.git -b master addon - -If you copy the directory tree to your webserver, make sure that you also -copy .htaccess - as "dot" files are often hidden and aren't normally copied. - -If you want to use the development version of Friendica you can switch to -the devel branch in the repository by running - - git checkout develop - bin/composer.phar install - cd addon - git checkout develop - -please be aware that the develop branch may break your Friendica node at any -time. If you encounter a bug, please let us know. - -3. Create an empty database and note the access details (hostname, username, -password, database name). - - - Friendica needs the permission to create and delete fields and tables in its own database. - - Please check the additional notes if running on MySQ 5.7.17 or newer - -4. If you know in advance that it will be impossible for the web server to -write or create files in the config/ subfolder, create an empty file called -local.config.php and make it writable by the web server. - -5. Visit your website with a web browser and follow the instructions. Please -note any error messages and correct these before continuing. - -If you are using SSL with a known signature authority (recommended), use the -https: link to your website. If you are using a self-signed cert or no cert, -use the http: link. - -If you need to specify a port for the connection to the database, you can do -so in the host name setting for the database. - -6. *If* the automated installation fails for any reason, check the following: - - - "config/local.config.php" exists - If not, edit local-sample.config.php and change system settings. Rename -to local.config.php - - Database is populated. - If not, import the contents of "database.sql" with phpmyadmin -or mysql command line - -7. At this point visit your website again, and register your personal account. -Registration errors should all be recoverable automatically. -If you get any *critical* failure at this point, it generally indicates the -database was not installed correctly. You might wish to move/rename -local.config.php to another name and empty (called 'dropping') the database -tables, so that you can start fresh. - -**************************************************************************** -**************************************************************************** -******** THIS NEXT STEP IS IMPORTANT!!!! *********** -**************************************************************************** -**************************************************************************** - -8. Set up a cron job or scheduled task to run the worker once every 5-10 -minutes to pick up the recent "public" postings of your friends. Example: - - cd /base/directory; /path/to/php bin/worker.php - -Change "/base/directory", and "/path/to/php" as appropriate for your situation. - -If you are using a Linux server, run "crontab -e" and add a line like the -one shown, substituting for your unique paths and settings: - -*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php bin/worker.php - -You can generally find the location of PHP by executing "which php". If you -have troubles with this section please contact your hosting provider for -assistance. Friendica will not work correctly if you cannot perform this step. - -You should also be sure that $a->config['php_path'] is set correctly, it should -look like (changing it to the correct PHP location) - -$a->config['php_path'] = '/usr/local/php56/bin/php' - -Alternative: If you cannot use a cron job as described above, you can use -the frontend worker and an external cron service to trigger the execution -of the worker script. You can enable the frontend worker after the installation -from the admin panel of your node and call - - https://example.com/worker - -with the service of your choice. - -9. (Recommended) Set up a backup plan - -Bad things will happen. Let there be a hardware failure, a corrupted -database or whatever you can think of. So once the installation of your -Friendica node is done, you should make yoursef a backup plan. - -The most important file is the `config/local.config.php` file in the base directory. -As it stores all your data, you should also have a recent dump of your -Friendica database at hand, should you have to recover your node. - -10. (Optional) Reverse-proxying and HTTPS - -Friendica looks for some well-known HTTP headers indicating a reverse-proxy -terminating an HTTPS connection. While the standard from RFC 7239 specifies -the use of the `Forwaded` header. - - Forwarded: for=192.0.2.1; proto=https; by=192.0.2.2 - -Friendica also supports a number on non-standard headers in common use. - - - X-Forwarded-Proto: https - - Front-End-Https: on - - X-Forwarded-Ssl: on - -It is however preferable to use the standard approach if configuring a new server. - -##################################################################### - - If things don't work... - -##################################################################### - - -##################################################################### -- If you get the message - "System is currently unavailable. Please try again later" -##################################################################### - - Check your database settings. It usually means your database could not -be opened or accessed. If the database resides on the same machine, check that -the database server name is "localhost". - -##################################################################### -- 500 Internal Error -##################################################################### - - This could be the result of one of our Apache directives not being -supported by your version of Apache. Examine your apache server logs. - You might remove the line "Options -Indexes" from the .htaccess file if -you are using a Windows server as this has been known to cause problems. -Also check your file permissions. Your website and all contents must generally -be world-readable. - - It is likely that your web server reported the source of the problem in -its error log files. Please review these system error logs to determine what -caused the problem. Often this will need to be resolved with your hosting -provider or (if self-hosted) your web server configuration. - -##################################################################### -- 400 and 4xx "File not found" errors -##################################################################### - - First check your file permissions. Your website and all contents must -generally be world-readable. - - Ensure that mod-rewite is installed and working, and that your -.htaccess file is being used. To verify the latter, create a file test.out -containing the word "test" in the top directory of Friendica, make it world -readable and point your web browser to - -http://yoursitenamehere.com/test.out - - This file should be blocked. You should get a permission denied message. - - If you see the word "test" your Apache configuration is not allowing -your .htaccess file to be used (there are rules in this file to block access -to any file with .out at the end, as these are typically used for system logs). - - Make certain the .htaccess file exists and is readable by everybody, then -look for the existence of "AllowOverride None" in the Apache server -configuration for your site. This will need to be changed to -"AllowOverride All". - - If you do not see the word "test", your .htaccess is working, but it is -likely that mod-rewrite is not installed in your web server or is not working. - - On most flavour of Linux, - -% a2enmod rewrite -% /etc/init.d/apache2 restart - - Consult your hosting provider, experts on your particular Linux -distribution or (if Windows) the provider of your Apache server software if -you need to change either of these and can not figure out how. There is -a lot of help available on the web. Google "mod-rewrite" along with the -name of your operating system distribution or Apache package (if using -Windows). - - -##################################################################### -- If you are unable to write the file config/local.config.php during installation -due to permissions issues: -##################################################################### - - create an empty file with that name and give it world-write permission. -For Linux: - -% touch config/local.config.php -% chmod 664 config/local.config.php - -Retry the installation. As soon as the database has been created, - -******* this is important ********* - -% chmod 644 config/local.config.php - -##################################################################### -- Some configurations with "suhosin" security are configured without -an ability to run external processes. Friendica requires this ability. -Following are some notes provided by one of our members. -##################################################################### - -On my server I use the php protection system Suhosin -[http://www.hardened-php.net/suhosin/]. One of the things it does is to block -certain functions like proc_open, as configured in /etc/php5/conf.d/suhosin.ini: - - suhosin.executor.func.blacklist = proc_open, ... - -For those sites like Friendica that really need these functions they can be -enabled, e.g. in /etc/apache2/sites-available/friendica: - - - php_admin_value suhosin.executor.func.blacklist none - php_admin_value suhosin.executor.eval.blacklist none - - -This enables every function for Friendica if accessed via browser, but not for -the cronjob that is called via php command line. I attempted to enable it for -cron by using something like - - */10 * * * * cd /var/www/friendica/friendica/ && sudo -u www-data /usr/bin/php --d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none --f bin/worker.php - -This worked well for simple test cases, but the friendica-cron still failed with -a fatal error: -suhosin[22962]: ALERT - function within blacklist called: proc_open() (attacker -'REMOTE_ADDR not set', file '/var/www/friendica/friendica/boot.php', line 1341) - -After a while I noticed, that bin/worker.php calls further php script via -proc_open. These scripts themselves also use proc_open and fail, because they -are NOT called with -d suhosin.executor.func.blacklist=none. - -So the simple solution is to put the correct parameters into config/local.config.php: - - 'config' => [ - //Location of PHP command line processor - 'php_path' => '/usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none', - ], - -This is obvious as soon as you notice that the friendica-cron uses proc_open to -execute php-scripts that also use proc_open, but it took me quite some time to -find that out. I hope this saves some time for other people using suhosin with -function blacklists. - -######################################################################## -Unable to create all mysql tables on MySQL 5.7.17 or newer -####################################################################### - -If the setup fails to create all the database tables and/or manual -creation from the command line fails, with this error: - -ERROR 1067 (42000) at line XX: Invalid default value for 'created' - -You need to adjust your my.cnf and add the following setting under -the [mysqld] section : - -sql_mode = ''; - -After that, restart mysql and try again. - - From 90f0fdc93bd1abfcd5d39e93d74f148e776cd194 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 29 Nov 2018 09:19:33 -0500 Subject: [PATCH 15/19] Add details to translation documentation --- doc/translations.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/translations.md b/doc/translations.md index e545aa1c1..24b3d8b75 100644 --- a/doc/translations.md +++ b/doc/translations.md @@ -37,13 +37,13 @@ Otherwise: cd /path/to/friendica-addons/ /path/to/friendica/bin/run_xgettext.sh -s -In either case, you need to commit the updated `/lang/C/messages.po`. +In either case, you need to commit the updated `/lang/C/messages.po` to your working branch. ## Update translations from Transifex Please download the Transifex file "for use" in `view/lang//messages.po`. -Then run `bin/console po2php view/lang//messages.po` to update the related `strings.php` file. +Then run `bin/console po2php view/lang//messages.po` to update the related `strings.php` file and commit both files to your working branch. ### Using the Transifex client @@ -67,7 +67,7 @@ To update the PO files after you have translated strings of e.g. Esperanto on th $> tx pull -l eo -Then run `bin/console po2php view/lang//messages.po` to update the related `strings.php` file. +Then run `bin/console po2php view/lang//messages.po` to update the related `strings.php` file and commit both files to your working branch. ## Translation functions usage From df7bf38f8a0bd345adbc24174ca77aed9fc801f6 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 29 Nov 2018 09:19:56 -0500 Subject: [PATCH 16/19] Restore hard wrapping in INSTALL documentation --- INSTALL.md | 212 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 132 insertions(+), 80 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 72923fb4b..19c936256 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,39 +1,48 @@ # Friendica Installation -We've tried very hard to ensure that Friendica will run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. -But be aware that Friendica is more than a simple web application. -It is a complex communications system which more closely resembles an email server than a web server. -For reliability and performance, messages are delivered in the background and are queued for later delivery when sites are down. -This kind of functionality requires a bit more of the host system than the typical blog. -Not every PHP/MySQL hosting provider will be able to support Friendica. -Many will. -But please review the requirements and confirm these with your hosting provider prior to installation. +We've tried very hard to ensure that Friendica will run on commodity hosting +platforms - such as those used to host Wordpress blogs and Drupal websites. +But be aware that Friendica is more than a simple web application. It is a +complex communications system which more closely resembles an email server than +a web server. For reliability and performance, messages are delivered in the +background and are queued for later delivery when sites are down. This kind of +functionality requires a bit more of the host system than the typical blog. +Not every PHP/MySQL hosting provider will be able to support Friendica. Many will. +But please review the requirements and confirm these with your hosting provider +prior to installation. Before you begin: Choose a domain name or subdomain name for your server. Put some thought into this - because changing it is currently not-supported. Things will break, and some of your friends may have difficulty communicating with you. -We plan to address this limitation in a future release. Also decide if you wish to connect with members of the Diaspora network, as this will impact the installation requirements. +We plan to address this limitation in a future release. Also decide if you wish +to connect with members of the Diaspora network, as this will impact the +installation requirements. -Decide if you will use SSL and obtain an SSL cert. -Communications with the Diaspora network MAY require both SSL AND an SSL cert signed by a CA which is recognized by major browsers. -Friendica will work with self-signed certs but Diaspora communication may not. -For best results, install your cert PRIOR to installing Friendica and when visiting your site for the initial installation in step 5, please use the https: link. -(Use the http: or non-SSL link if your cert is self-signed). +Decide if you will use SSL and obtain an SSL cert. Communications with the +Diaspora network MAY require both SSL AND an SSL cert signed by a CA which is +recognized by major browsers. Friendica will work with self-signed certs but +Diaspora communication may not. For best results, install your cert PRIOR to +installing Friendica and when visiting your site for the initial installation in +step 5, please use the https: link. (Use the http: or non-SSL link if your cert +is self-signed). ## 1. Requirements - Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file - PHP 5.6.1+ (PHP 7 recommended for performance). - - PHP *command line* access with register_argc_argv set to true in the php.ini file [or see 'poormancron' in section 8] + - PHP *command line* with `register_argc_argv = true` in php.ini - curl, gd (with at least jpeg support), mysql, mbstring, xml, zip and openssl extensions - Some form of email server or email gateway such that PHP mail() works - The POSIX module of PHP needs to be activated (e.g. RHEL, CentOS have disabled it) - Composer for a Git install - Mysql 5.5.3+ or an equivalant alternative for MySQL (MariaDB, Percona Server etc.) - - Ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows) [Note: other options are presented in Section 8 of this document] - - Installation into a top-level domain or sub-domain (without a directory/path component in the URL) is preferred. This is REQUIRED if you wish to communicate with the Diaspora network. - - For alternative server configurations (such as Nginx server and MariaDB database engine), refer to the [Friendica wiki](https://github.com/friendica/friendica/wiki). +- Ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows) +- Installation into a top-level domain or sub-domain (without a directory/path + component in the URL) is preferred. This is REQUIRED if you wish to communicate + with the Diaspora network. +- For alternative server configurations (such as Nginx server and MariaDB database + engine), refer to the [Friendica wiki](https://github.com/friendica/friendica/wiki). This guide will walk you through the manual installation process of Friendica. If this is nothing for you, you might be interested in: @@ -44,7 +53,8 @@ If this is nothing for you, you might be interested in: Unpack the Friendica files into the root of your web server document area. -If you copy the directory tree to your webserver, make sure that you also copy `.htaccess-dist` - as "dot" files are often hidden and aren't normally copied. +If you copy the directory tree to your webserver, make sure that you also copy +`.htaccess-dist` - as "dot" files are often hidden and aren't normally copied. OR @@ -54,7 +64,8 @@ Clone the friendica/friendica GitHub repository and import dependencies cd [web server folder] bin/composer.phar install --no-dev -Make sure the folder view/smarty3 exists and is writable by the webserver user, in this case `www-data` +Make sure the folder view/smarty3 exists and is writable by the webserver user, +in this case `www-data` mkdir view/smarty3 chown www-data:www-data view/smarty3 @@ -68,9 +79,8 @@ Clone the addon repository (separately): git clone https://github.com/friendica/friendica-addons.git -b master addon -If you copy the directory tree to your webserver, make sure that you also copy .htaccess - as "dot" files are often hidden and aren't normally copied. - -If you want to use the development version of Friendica you can switch to the develop branch in the repository by running +If you want to use the development version of Friendica you can switch to the +develop branch in the repository by running git checkout develop bin/composer.phar install @@ -81,55 +91,69 @@ Please be aware that the develop branch is unstable. Exercise caution when pulling. If you encounter a bug, please let us know. -Either way, if you use Apache, copy `.htaccess-dist` to `.htaccess` to enable URL rewriting. +Either way, if you use Apache, copy `.htaccess-dist` to `.htaccess` to enable +URL rewriting. ## 3. Database -Create an empty database and note the access details (hostname, username, password, database name). +Create an empty database and note the access details (hostname, username, password, +database name). -- Friendica needs the permission to create and delete fields and tables in its own database. +- Friendica needs the permission to create and delete fields and tables in its + own database. - Please check the additional notes if running on MySQ 5.7.17 or newer ## 4. Config -If you know in advance that it will be impossible for the web server to write or create files in the `config/` directory, please create an empty file called `local.config.php` in it and make it writable by the web server. +If you know in advance that it will be impossible for the web server to write or +create files in the `config/` directory, please create an empty file called +`local.config.php` in it and make it writable by the web server. ## 5a. Install Wizard Visit your website with a web browser and follow the instructions. Please note any error messages and correct these before continuing. -If you are using SSL with a known signature authority (recommended), use the https: link to your website. If you are using a self-signed cert or no cert, use the http: link. +If you are using SSL with a known signature authority (recommended), use the +https: link to your website. If you are using a self-signed cert or no cert, +use the http: link. -If you need to specify a port for the connection to the database, you can do so in the host name setting for the database. +If you need to specify a port for the connection to the database, you can do so +in the host name setting for the database. ## 5b. Manual install *If* the automated installation fails for any reason, please check the following: - `config/local.config.php` exists - - If not, copy `config/local-sample.config.php` to `config/local.config.php` and edit it with your settings. + - If not, copy `config/local-sample.config.php` to `config/local.config.php` + and edit it with your settings. - Database is populated. - - If not, import the contents of `database.sql` with phpMyAdmin or the mysql command line tool. + - If not, import the contents of `database.sql` with phpMyAdmin or the mysql + command line tool. ## 6. Register the admin account -At this point visit your website again, and register your personal account with the same email as in the `config.admin_email` config value. +At this point visit your website again, and register your personal account with +the same email as in the `config.admin_email` config value. Registration errors should all be recoverable automatically. -If you get any *critical* failure at this point, it generally indicates the database was not installed correctly. -You might wish to delete/rename `config/local.config.php` to another name and drop all the database tables so that you can start fresh. +If you get any *critical* failure at this point, it generally indicates the +database was not installed correctly. You might wish to delete/rename +`config/local.config.php` to another name and drop all the database tables so +that you can start fresh. ## 7. Background tasks (IMPORTANT) -Set up a cron job or scheduled task to run the worker once every 5-10 minutes to pick up the recent "public" postings of your friends. -Example: +Set up a cron job or scheduled task to run the worker once every 5-10 minutes to +pick up the recent "public" postings of your friends. Example: cd /base/directory; /path/to/php bin/worker.php Change "/base/directory", and "/path/to/php" as appropriate for your situation. -If you are using a Linux server, run "crontab -e" and add a line like the one shown, substituting for your unique paths and settings: +If you are using a Linux server, run "crontab -e" and add a line like the one +shown, substituting for your unique paths and settings: */10 * * * * cd /home/myname/mywebsite; /usr/bin/php bin/worker.php @@ -137,14 +161,17 @@ You can generally find the location of PHP by executing "which php". If you have troubles with this section please contact your hosting provider for assistance. Friendica will not work correctly if you cannot perform this step. -You should also be sure that `config.php_path` is set correctly, it should look like (changing it to the correct PHP location) +You should also be sure that `config.php_path` is set correctly, it should look +like this: (changing it to the correct PHP location) 'config' => [ 'php_path' => '/usr/local/php56/bin/php', ] -Alternative: If you cannot use a cron job as described above, you can use the frontend worker and an external cron service to trigger the execution of the worker script. -You can enable the frontend worker after the installation from the admin panel of your node and call +Alternative: If you cannot use a cron job as described above, you can use the +frontend worker and an external cron service to trigger the execution of the worker script. +You can enable the frontend worker after the installation from the admin panel +of your node and call: https://example.com/worker @@ -154,14 +181,17 @@ with the service of your choice. Bad things will happen. Let there be a hardware failure, a corrupted database or whatever you can think of. -So once the installation of your Friendica node is done, you should make yourself a backup plan. +So once the installation of your Friendica node is done, you should make yourself +a backup plan. The most important file is the `config/local.config.php` file in the base directory. -As it stores all your data, you should also have a recent dump of your Friendica database at hand, should you have to recover your node. +As it stores all your data, you should also have a recent dump of your Friendica +database at hand, should you have to recover your node. ## 9. (Optional) Reverse-proxying and HTTPS -Friendica looks for some well-known HTTP headers indicating a reverse-proxy terminating an HTTPS connection. +Friendica looks for some well-known HTTP headers indicating a reverse-proxy +terminating an HTTPS connection. While the standard from RFC 7239 specifies the use of the `Forwaded` header. Forwarded: for=192.0.2.1; proto=https; by=192.0.2.2 @@ -182,54 +212,63 @@ It is however preferable to use the standard approach if configuring a new serve Check your database settings. It usually means your database could not be opened or accessed. -If the database resides on the same machine, check that the database server name is "localhost". +If the database resides on the same machine, check that the database server name +is "localhost". ### 500 Internal Error -This could be the result of one of our Apache directives not being supported by your version of Apache. -Examine your apache server logs. -You might remove the line "Options -Indexes" from the .htaccess file if you are using a Windows server as this has been known to cause problems. -Also check your file permissions. -Your website and all contents must generally be world-readable. +This could be the result of one of our Apache directives not being supported by +your version of Apache. Examine your apache server logs. +You might remove the line "Options -Indexes" from the .htaccess file if you are +using a Windows server as this has been known to cause problems. +Also check your file permissions. Your website and all contents must generally +be world-readable. It is likely that your web server reported the source of the problem in its error log files. Please review these system error logs to determine what caused the problem. -Often this will need to be resolved with your hosting provider or (if self-hosted) your web server configuration. +Often this will need to be resolved with your hosting provider or (if self-hosted) +your web server configuration. ### 400 and 4xx "File not found" errors First check your file permissions. Your website and all contents must generally be world-readable. -Ensure that mod-rewite is installed and working, and that your `.htaccess` file is being used. -To verify the latter, create a file `test.out` containing the word "test" in the top directory of Friendica, make it world readable and point your web browser to +Ensure that mod-rewite is installed and working, and that your `.htaccess` file +is being used. To verify the latter, create a file `test.out` containing the +word "test" in the top directory of Friendica, make it world readable and point +your web browser to http://yoursitenamehere.com/test.out -This file should be blocked. -You should get a permission denied message. +This file should be blocked. You should get a permission denied message. -If you see the word "test" your Apache configuration is not allowing your `.htaccess` file to be used (there are rules in this file to block access to any file with .out at the end, as these are typically used for system logs). +If you see the word "test" your Apache configuration is not allowing your +`.htaccess` file to be used (there are rules in this file to block access to any +file with .out at the end, as these are typically used for system logs). -Make certain the `.htaccess` file exists and is readable by everybody, then look for the existence of "AllowOverride None" in the Apache server configuration for your site. +Make certain the `.htaccess` file exists and is readable by everybody, then look +for the existence of "AllowOverride None" in the Apache server configuration for your site. This will need to be changed to "AllowOverride All". -If you do not see the word "test", your `.htaccess` is working, but it is likely that mod-rewrite is not installed in your web server or is not working. +If you do not see the word "test", your `.htaccess` is working, but it is likely +that mod-rewrite is not installed in your web server or is not working. -On most flavour of Linux, +On most Linux flavors: % a2enmod rewrite % /etc/init.d/apache2 restart -Consult your hosting provider, experts on your particular Linux distribution or (if Windows) the provider of your Apache server software if you need to change either of these and can not figure out how. -There is a lot of help available on the web. -Google "mod-rewrite" along with the name of your operating system distribution or Apache package (if using Windows). +Consult your hosting provider, experts on your particular Linux distribution or +(if Windows) the provider of your Apache server software if you need to change +either of these and can not figure out how. There is a lot of help available on +the web. Search "mod-rewrite" along with the name of your operating system +distribution or Apache package (if using Windows). +### Unable to write the file config/local.config.php due to permissions issues -### If you are unable to write the file config/local.config.php during installation -due to permissions issues: - -Create an empty `config/local.config.php`file with that name and give it world-write permission. +Create an empty `config/local.config.php`file with that name and give it +world-write permission. On Linux: @@ -244,51 +283,64 @@ Retry the installation. As soon as the database has been created, ### Suhosin issues -Some configurations with "suhosin" security are configured without an ability to run external processes. -Friendica requires this ability. -Following are some notes provided by one of our members. +Some configurations with "suhosin" security are configured without an ability to +run external processes. Friendica requires this ability. Following are some notes +provided by one of our members. > On my server I use the php protection system Suhosin [http://www.hardened-php.net/suhosin/]. -> One of the things it does is to block certain functions like proc_open, as configured in `/etc/php5/conf.d/suhosin.ini`: +> One of the things it does is to block certain functions like proc_open, as +> configured in `/etc/php5/conf.d/suhosin.ini`: > > suhosin.executor.func.blacklist = proc_open, ... > -> For those sites like Friendica that really need these functions they can be enabled, e.g. in `/etc/apache2/sites-available/friendica`: +> For those sites like Friendica that really need these functions they can be +> enabled, e.g. in `/etc/apache2/sites-available/friendica`: > > > php_admin_value suhosin.executor.func.blacklist none > php_admin_value suhosin.executor.eval.blacklist none > > -> This enables every function for Friendica if accessed via browser, but not for the cronjob that is called via php command line. -> I attempted to enable it for cron by using something like +> This enables every function for Friendica if accessed via browser, but not for +> the cronjob that is called via php command line. I attempted to enable it for +> cron by using something like: > -> */10 * * * * cd /var/www/friendica/friendica/ && sudo -u www-data /usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none -f bin/worker.php +> */10 * * * * cd /var/www/friendica/friendica/ && sudo -u www-data /usr/bin/php \ +> -d suhosin.executor.func.blacklist=none \ +> -d suhosin.executor.eval.blacklist=none -f bin/worker.php > -> This worked well for simple test cases, but the friendica-cron still failed with a fatal error: +> This worked well for simple test cases, but the friendica-cron still failed +> with a fatal error: > -> suhosin[22962]: ALERT - function within blacklist called: proc_open() (attacker 'REMOTE_ADDR not set', file '/var/www/friendica/friendica/boot.php', line 1341) +> suhosin[22962]: ALERT - function within blacklist called: proc_open() +> (attacker 'REMOTE_ADDR not set', file '/var/www/friendica/friendica/boot.php', +> line 1341) > > After a while I noticed, that `bin/worker.php` calls further PHP script via `proc_open`. -> These scripts themselves also use `proc_open` and fail, because they are NOT called with `-d suhosin.executor.func.blacklist=none`. +> These scripts themselves also use `proc_open` and fail, because they are NOT +> called with `-d suhosin.executor.func.blacklist=none`. > > So the simple solution is to put the correct parameters into `config/local.config.php`: > > 'config' => [ > //Location of PHP command line processor -> 'php_path' => '/usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none', +> 'php_path' => '/usr/bin/php -d suhosin.executor.func.blacklist=none \ +> -d suhosin.executor.eval.blacklist=none', > ], > -> This is obvious as soon as you notice that the friendica-cron uses `proc_open` to execute PHP scripts that also use `proc_open`, but it took me quite some time to find that out. +> This is obvious as soon as you notice that the friendica-cron uses `proc_open` +> to execute PHP scripts that also use `proc_open`, but it took me quite some time to find that out. > I hope this saves some time for other people using suhosin with function blacklists. ### Unable to create all mysql tables on MySQL 5.7.17 or newer -If the setup fails to create all the database tables and/or manual creation from the command line fails, with this error: +If the setup fails to create all the database tables and/or manual creation from +the command line fails, with this error: ERROR 1067 (42000) at line XX: Invalid default value for 'created' -You need to adjust your my.cnf and add the following setting under the [mysqld] section : +You need to adjust your my.cnf and add the following setting under the [mysqld] +section: sql_mode = ''; From f9db5e32e76d669991f77e359fd6cbe813583bfe Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 27 Dec 2018 01:51:50 -0500 Subject: [PATCH 17/19] Delete updatetpl.py --- bin/dev/updatetpl.py | 64 -------------------------------------------- 1 file changed, 64 deletions(-) delete mode 100755 bin/dev/updatetpl.py diff --git a/bin/dev/updatetpl.py b/bin/dev/updatetpl.py deleted file mode 100755 index c58b9d62d..000000000 --- a/bin/dev/updatetpl.py +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/python -# -# Script to update Smarty template files from all internal templates -# Copyright 2013 Zach Prezkuta -# Licensed under GPL v3 - - -import os -import sys, getopt -import subprocess - - -def help(pname): - print "\nUsage:" - print "\t" + pname + " -h\n\n\t\t\tShow this help screen\n" - print "\t" + pname + " -p directory\n\n\t\t\tConvert all .tpl files in top-level\n\t\t\tFriendica directory to Smarty templates\n" - print "\t" + pname + "\n\n\t\t\tInteractive mode\n" - - - -# -# Main script -# - -path = '' - -try: - opts, args = getopt.getopt(sys.argv[1:], "hp:") - for opt, arg in opts: - if opt == '-h': - help(sys.argv[0]) - sys.exit() - elif opt == '-p': - path = arg -except getopt.GetoptError: - help(sys.argv[0]) - sys.exit(2) - -if path == '': - path = raw_input('Path to top-level Friendica directory: ') - -if path[-1:] != '/': - path = path + '/' - -tplpaths = ['view/'] -names = os.listdir(path + 'view/') -for name in names: - if os.path.isdir(path + 'view/' + name): - if name != 'smarty3' and name != 'theme': - tplpaths.append('view/' + name + '/') - -names = os.listdir(path + 'view/theme/') -for name in names: - if os.path.isdir(path + 'view/theme/' + name): - tplpaths.append('view/theme/' + name + '/') - -fnull = open(os.devnull, "w") - -for tplpath in tplpaths: - print "Converting " + path + tplpath - subprocess.call(['python', path + 'bin/dev/friendica-to-smarty-tpl.py', '-p', path + tplpath], stdout = fnull) - -fnull.close() - From 7b8441101fc14910866d73211544fb5bfa0f080e Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 27 Dec 2018 01:51:59 -0500 Subject: [PATCH 18/19] Delete friendica-to-smarty-tpl.py --- bin/dev/friendica-to-smarty-tpl.py | 241 ----------------------------- 1 file changed, 241 deletions(-) delete mode 100755 bin/dev/friendica-to-smarty-tpl.py diff --git a/bin/dev/friendica-to-smarty-tpl.py b/bin/dev/friendica-to-smarty-tpl.py deleted file mode 100755 index 017b8b77a..000000000 --- a/bin/dev/friendica-to-smarty-tpl.py +++ /dev/null @@ -1,241 +0,0 @@ -#!/usr/bin/python -# -# Script to convert Friendica internal template files into Smarty template files -# Copyright 2013 Zach Prezkuta -# Licensed under GPL v3 - -import os, re, string -import sys, getopt - -ldelim = '{{' -rdelim = '}}' - -addheader = True - -def fToSmarty(matches): - match = matches.group(0) - if match == '$j': - return match - match = string.replace(match, '[', '') - match = string.replace(match, ']', '') - - ldel = ldelim - rdel = rdelim - if match.find("'") > -1: - match = string.replace(match, "'", '') - ldel = "'" + ldel - rdel = rdel + "'" - elif match.find('"') > -1: - match = string.replace(match, '"', '') - ldel = '"' + ldel - rdel = rdel + '"' - - return ldel + match + rdel - - -def fix_element(element): - # Much of the positioning here is important, e.g. if you do element.find('if ') before you do - # element.find('endif'), then you may get some multiply-replaced delimiters - - if element.find('endif') > -1: - element = ldelim + '/if' + rdelim - return element - - if element.find('if ') > -1: - element = string.replace(element, '{{ if', ldelim + 'if') - element = string.replace(element, '{{if', ldelim + 'if') - element = string.replace(element, ' }}', rdelim) - element = string.replace(element, '}}', rdelim) - return element - - if element.find('else') > -1: - element = ldelim + 'else' + rdelim - return element - - if element.find('endfor') > -1: - element = ldelim + '/foreach' + rdelim - return element - - if element.find('for ') > -1: - element = string.replace(element, '{{ for ', ldelim + 'foreach ') - element = string.replace(element, '{{for ', ldelim + 'foreach ') - element = string.replace(element, ' }}', rdelim) - element = string.replace(element, '}}', rdelim) - return element - - if element.find('endinc') > -1: - element = '' - return element - - if element.find('inc ') > -1: - parts = element.split(' ') - element = ldelim + 'include file="' - - # We need to find the file name. It'll either be in parts[1] if the element was written as {{ inc file.tpl }} - # or it'll be in parts[2] if the element was written as {{inc file.tpl}} - if parts[0].find('inc') > -1: - first = 0 - else: - first = 1 - - if parts[first+1][0] == '$': - # This takes care of elements where the filename is a variable, e.g. {{ inc $file }} - element += ldelim + parts[first+1].rstrip('}') + rdelim - else: - # This takes care of elements where the filename is a path, e.g. {{ inc file.tpl }} - element += parts[first+1].rstrip('}') - - element += '"' - - if len(parts) > first + 1 and parts[first+2] == 'with': - # Take care of variable substitutions, e.g. {{ inc file.tpl with $var=this_var }} - element += ' ' + parts[first+3].rstrip('}')[1:] - - element += rdelim - return element - - -def convert(filename, tofilename, php_tpl): - if addheader: - header = ldelim + "*\n *\tAUTOMATICALLY GENERATED TEMPLATE\n *\tDO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN\n *\n *" + rdelim + "\n" - tofilename.write(header) - - for line in filename: - newline = '' - st_pos = 0 - brack_pos = line.find('{{') - - if php_tpl: - # If php_tpl is True, this script will only convert variables in quotes, like '$variable' - # or "$variable". This is for .tpl files that produce PHP scripts, where you don't want - # all the PHP variables converted into Smarty variables - pattern1 = re.compile(r""" -([\'\"]\$\[[a-zA-Z]\w* -(\. -(\d+|[a-zA-Z][\w-]*) -)* -(\|[\w\$:\.]*)* -\][\'\"]) -""", re.VERBOSE) - pattern2 = re.compile(r""" -([\'\"]\$[a-zA-Z]\w* -(\. -(\d+|[a-zA-Z][\w-]*) -)* -(\|[\w\$:\.]*)* -[\'\"]) -""", re.VERBOSE) - else: - # Compile the pattern for bracket-style variables, e.g. $[variable.key|filter:arg1:arg2|filter2:arg1:arg2] - # Note that dashes are only allowed in array keys if the key doesn't start - # with a number, e.g. $[variable.key-id] is ok but $[variable.12-id] isn't - # - # Doesn't currently process the argument position key 'x', i.e. filter:arg1:x:arg2 doesn't get - # changed to arg1|filter:variable:arg2 like Smarty requires - # - # Filter arguments can be variables, e.g. $variable, but currently can't have array keys with dashes - # like filter:$variable.key-name - pattern1 = re.compile(r""" -(\$\[[a-zA-Z]\w* -(\. -(\d+|[a-zA-Z][\w-]*) -)* -(\|[\w\$:\.]*)* -\]) -""", re.VERBOSE) - - # Compile the pattern for normal style variables, e.g. $variable.key - pattern2 = re.compile(r""" -(\$[a-zA-Z]\w* -(\. -(\d+|[a-zA-Z][\w-]*) -)* -(\|[\w\$:\.]*)* -) -""", re.VERBOSE) - - while brack_pos > -1: - if brack_pos > st_pos: - line_segment = line[st_pos:brack_pos] - line_segment = pattern2.sub(fToSmarty, line_segment) - newline += pattern1.sub(fToSmarty, line_segment) - - end_brack_pos = line.find('}}', brack_pos) - if end_brack_pos < 0: - print "Error: no matching bracket found" - - newline += fix_element(line[brack_pos:end_brack_pos + 2]) - st_pos = end_brack_pos + 2 - - brack_pos = line.find('{{', st_pos) - - line_segment = line[st_pos:] - line_segment = pattern2.sub(fToSmarty, line_segment) - newline += pattern1.sub(fToSmarty, line_segment) - newline = newline.replace("{#", ldelim + "*") - newline = newline.replace("#}", "*" + rdelim) - tofilename.write(newline) - - -def help(pname): - print "\nUsage:" - print "\t" + pname + " -h\n\n\t\t\tShow this help screen\n" - print "\t" + pname + " -p directory\n\n\t\t\tConvert all .tpl files in directory to\n\t\t\tSmarty templates in directory/smarty3/\n" - print "\t" + pname + "\n\n\t\t\tInteractive mode\n" - - - - -# -# Main script -# - -path = '' - -try: - opts, args = getopt.getopt(sys.argv[1:], "hp:", ['no-header']) - for opt, arg in opts: - if opt == '-h': - help(sys.argv[0]) - sys.exit() - elif opt == '-p': - path = arg - elif opt == '--no-header': - addheader = False -except getopt.GetoptError: - help(sys.argv[0]) - sys.exit(2) - - -if path == '': - path = raw_input('Path to template folder to convert: ') - -if path[-1:] != '/': - path = path + '/' - -outpath = path + 'smarty3/' - -if not os.path.exists(outpath): - os.makedirs(outpath) - -files = os.listdir(path) -for a_file in files: - if a_file == 'local.ini.tpl': - php_tpl = True - else: - php_tpl = False - - filename = os.path.join(path,a_file) - ext = a_file.split('.')[-1] - if os.path.isfile(filename) and ext == 'tpl': - f = open(filename, 'r') - - newfilename = os.path.join(outpath,a_file) - outf = open(newfilename, 'w') - - print "Converting " + filename + " to " + newfilename - convert(f, outf, php_tpl) - - outf.close() - f.close() - From 274274ad6335d74ecaeea07eb074cfb0a773f3fd Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 27 Dec 2018 01:52:40 -0500 Subject: [PATCH 19/19] Fix mods/README.md format --- mods/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/README.md b/mods/README.md index 917fcccd8..fe7a7fed5 100644 --- a/mods/README.md +++ b/mods/README.md @@ -14,7 +14,7 @@ Unmaintained and unsupported. ## `home.css` and `home.html` Example files to customize the landing page of your Friendica node. -The `home.html file` contains the text of the page, the `home.css` file the style information. +The `home.html` file contains the text of the page, the `home.css` file the style information. The login box will be added according to the other system settings. Both files have to be placed in the base directory of your Friendica installation to be used for the landing page.