From ec2714ac07838896a0cd09d4f46bd7568f1507b7 Mon Sep 17 00:00:00 2001
From: Steve Clay
Date: Sun, 11 Jan 2015 19:33:13 -0500
Subject: [PATCH 1/2] chore(i18n): update translations
---
docs/locale/fr/LC_MESSAGES/index.mo | Bin 0 -> 1881 bytes
docs/locale/fr/LC_MESSAGES/index.po | 77 +
docs/locale/ja/LC_MESSAGES/about.mo | Bin 1088 -> 1088 bytes
docs/locale/pot/about.pot | 17 +-
docs/locale/pot/admin.pot | 465 +-----
docs/locale/pot/appendix.pot | 540 +------
docs/locale/pot/contribute.pot | 360 +----
docs/locale/pot/design.pot | 427 +-----
docs/locale/pot/guides.pot | 1556 +-------------------
docs/locale/pot/index.pot | 13 +-
docs/locale/pot/intro.pot | 268 +---
docs/locale/pot/plugins.pot | 111 +-
docs/locale/pot/tutorials.pot | 135 +-
install/languages/es.php | 8 +-
install/languages/fi.php | 2 +-
install/languages/fr.php | 144 +-
languages/de.php | 9 +-
languages/fr.php | 181 ++-
languages/ja.php | 17 +-
languages/nl.php | 9 +-
mod/blog/languages/es.php | 2 +-
mod/blog/languages/nl.php | 47 +-
mod/bookmarks/languages/es.php | 2 +-
mod/bookmarks/languages/nl.php | 35 +-
mod/categories/languages/nl.php | 10 +-
mod/categories/languages/pt_BR.php | 8 +-
mod/ckeditor/languages/fr.php | 3 +-
mod/ckeditor/languages/nl.php | 1 +
mod/ckeditor/languages/pl.php | 1 +
mod/ckeditor/languages/pt_BR.php | 1 +
mod/developers/languages/de.php | 15 +
mod/developers/languages/fi.php | 15 +
mod/developers/languages/fr.php | 15 +
mod/developers/languages/ja.php | 15 +
mod/developers/languages/nl.php | 41 +-
mod/diagnostics/languages/nl.php | 56 +-
mod/embed/languages/nl.php | 10 +-
mod/externalpages/languages/nl.php | 2 +-
mod/file/languages/nl.php | 63 +-
mod/garbagecollector/languages/nl.php | 4 +-
mod/groups/languages/de.php | 2 +
mod/groups/languages/ja.php | 4 +-
mod/groups/languages/nl.php | 263 ++--
mod/invitefriends/languages/nl.php | 42 +-
mod/legacy_urls/languages/nl.php | 2 +-
mod/likes/languages/nl.php | 29 +-
mod/logbrowser/languages/nl.php | 14 +-
mod/logrotate/languages/nl.php | 7 +-
mod/messageboard/languages/nl.php | 48 +-
mod/messages/languages/nl.php | 46 +-
mod/notifications/languages/nl.php | 12 +-
mod/pages/languages/nl.php | 55 +-
mod/pages/languages/pt_BR.php | 88 +-
mod/reportedcontent/languages/nl.php | 10 +-
mod/site_notifications/languages/de.php | 3 +
mod/site_notifications/languages/es.php | 3 +
mod/site_notifications/languages/fr.php | 3 +
mod/site_notifications/languages/ja.php | 3 +
mod/site_notifications/languages/nl.php | 9 +-
mod/site_notifications/languages/pl.php | 3 +
mod/thewire/languages/nl.php | 44 +-
mod/twitter_api/languages/nl.php | 42 +-
mod/uservalidationbyemail/languages/nl.php | 45 +-
63 files changed, 924 insertions(+), 4538 deletions(-)
create mode 100644 docs/locale/fr/LC_MESSAGES/index.mo
create mode 100644 docs/locale/fr/LC_MESSAGES/index.po
diff --git a/docs/locale/fr/LC_MESSAGES/index.mo b/docs/locale/fr/LC_MESSAGES/index.mo
new file mode 100644
index 0000000000000000000000000000000000000000..a1c3eaa45af2c9ecd6669807725249cac7c0e3e6
GIT binary patch
literal 1881
zcmcIlJ#QpM5N+V#q=f_$kU*#q!L5a6KYZq}#%BxRvxOxrEVGdAwr6T~8~1e2^@rD%
zoRRPc4iW-FoRbqcMFJ$k<5KotsbFwWBh
zuE!m;nBM<|@h8SV7$0H$_JR;Qz}qhhkpuUEiQ`+~E5Jv!~J@IBxY
z;CJ8
zI0A|tJ)hJ02|KT>Ij0AEq$$ZSBwj0nZ|XMYfdJt`
zdOBh@X?;n-c62n8TGO#Ir6*fGjRfR=Hl5~T((aJtXm6ouR&s60tH84j?UmVAU7qA^XjtR8cgT%(A=~$JRc4>Wxz8pxr{2NmlWaR38S*H5
zfGu-c9gWwr@oF|+qtU&5Z8aOMk49LS9rB4v>Gy2ihuLV1X&T?l$Kwx1xO$&SAF>I8
z_OR5tJc&BflI~aK$FQieI0(ADu{VR6ajwx(PF?E(tmg=3VzXOYSQ`HJ=`E-$(UQhDKUSS(|A
zUh$M{#J@tgZX`GuPnSR5=q1-Z1RJW8bksvS{9;Fh1r$RpP77b7zUnsObQ6t?$@Qde
GMf?ln1aZXx
literal 0
HcmV?d00001
diff --git a/docs/locale/fr/LC_MESSAGES/index.po b/docs/locale/fr/LC_MESSAGES/index.po
new file mode 100644
index 00000000000..31c5ffc1f69
--- /dev/null
+++ b/docs/locale/fr/LC_MESSAGES/index.po
@@ -0,0 +1,77 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2013, Various
+# This file is distributed under the same license as the Elgg package.
+#
+# Translators:
+# Facyla , 2015
+msgid ""
+msgstr ""
+"Project-Id-Version: Elgg Core\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"PO-Revision-Date: 2015-01-08 16:11+0000\n"
+"Last-Translator: Facyla \n"
+"Language-Team: French (http://www.transifex.com/projects/p/elgg-core/language/fr/)\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Language: fr\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+# c31703b8089d4ddb99404f5632fd40e5
+#: ../../index.rst:2
+msgid "Elgg |version| Documentation"
+msgstr "Elgg |version| Documentation"
+
+# 98db4b57e02645c98702bf8bcd8fca5d
+#: ../../index.rst:4
+msgid ""
+"Elgg_ (:download:`pronunciation <_elgg_files/How_to_say_Elgg.mp3>`) is a "
+"rapid development framework with built-in social features. It is a great fit"
+" for building any app where users log in and share information."
+msgstr "Elgg_ (:download:`pronunciation <_elgg_files/How_to_say_Elgg.mp3>`) est un environnement de développement intégrant des fonctionnalités sociales. Ce framework est idéal pour construire des applications dans lesquelles les utilisateurs s'identifient et partagent des informations."
+
+# f5d987b63f0e44929d14c972a86fd91d
+#: ../../index.rst:7
+msgid "It has been used to build `all kinds of social apps`__:"
+msgstr "Elgg a été utilisé pour construire `tous types d'applications sociales`__:"
+
+# 05276f21535c40cbb69c0f8f730d290a
+#: ../../index.rst:11
+msgid "open networks (similar to Facebook)"
+msgstr "réseau sociaux ouverts (similaires à Facebook)"
+
+# 47e16d2ae86547dd89f8ddc14c42e57c
+#: ../../index.rst:12
+msgid "topical (like the Elgg Community)"
+msgstr "thématiques (comme la communauté Elgg)"
+
+# 67179d7ddbe94f3fb95a176a4c7d17f3
+#: ../../index.rst:13
+msgid "private intranets"
+msgstr "intranets privés / RSE"
+
+# 46fe4e263ab3488b9a979626252be96d
+#: ../../index.rst:14
+msgid "dating"
+msgstr "rencontres"
+
+# 365a066d53ff4dee8ede09925709a72d
+#: ../../index.rst:15
+msgid "educational"
+msgstr "éducatifs"
+
+# f599695484094b7998c8ec8434c8b2f5
+#: ../../index.rst:16
+msgid "company blog"
+msgstr "blog d'entreprise"
+
+# c016738f853f482481bf29658a4d06bd
+#: ../../index.rst:18
+msgid "There is also a `demo site`_ running a standard installation of Elgg."
+msgstr "Is existe également un `site de démonstration` qui permet de tester une installation Elgg standard"
+
+# 2d0710b174b5497c99b77df509dace14
+#: ../../index.rst:20
+msgid "This is the canonical documentation for the Elgg_ project."
+msgstr "Ceci constitue la documentation officielle du projet Elgg_."
diff --git a/docs/locale/ja/LC_MESSAGES/about.mo b/docs/locale/ja/LC_MESSAGES/about.mo
index 4b6e407fa139e9315b327d3f100f0459a6a08ab4..a7a642ffc3d71878b024faaa0719010576cc03fa 100644
GIT binary patch
delta 29
lcmX@Wae!mPQYIds#Ju#<#Pn1vg{;KMOPHcJ^Dvt*0sx_{3CI8d
delta 29
lcmX@Wae!mPQl`n9n4)-m67$ka6Vp?z6tWUGb2FPV0sy7%3Dp1q
diff --git a/docs/locale/pot/about.pot b/docs/locale/pot/about.pot
index 118a1d8052f..82dfe079b61 100644
--- a/docs/locale/pot/about.pot
+++ b/docs/locale/pot/about.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,7 +17,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../about/contributing.rst:4
-# 5e373bbb3b674fe6bbb95cc21f45e400
msgid "Contributor Guide"
msgstr ""
@@ -26,56 +25,42 @@ msgstr ""
#: ../../about/index.rst:6
#: ../../about/releases.rst:6
#: ../../about/roadmap.rst:6
-# 49f24a80d4cc4a69a7a403313444fe80
-# 400bcd2acce84b84acc859e5d56eb094
-# 0aaf9bfe752a46bdb87f475159fbdc4a
-# 055254f0521845329a5b1e70230dedc7
-# 036c616b2aa84943b84c0faf2f97a662
msgid "This page has moved."
msgstr ""
#: ../../about/contributing.rst:8
-# 8e8cd31c47f642259016789c113ec600
msgid ":doc:`/contribute/index`"
msgstr ""
#: ../../about/history.rst:4
-# f370d7a8d44848d8b634a3de47ecf5dd
msgid "History"
msgstr ""
#: ../../about/history.rst:8
-# b076c464fa5148d38334fadb3f38b6e6
msgid ":doc:`/appendix/history`"
msgstr ""
#: ../../about/index.rst:4
-# 811706bf91d54dbfb766c99b03130488
msgid "About"
msgstr ""
#: ../../about/index.rst:8
-# 75b684c2a8ad48bf8ef7862f98a9d900
msgid ":doc:`/appendix/index`"
msgstr ""
#: ../../about/releases.rst:4
-# a4cdb7bed9e940f28bd2ebf36ddd15e0
msgid "Release Policy"
msgstr ""
#: ../../about/releases.rst:8
-# acba620d72aa4b6b8e7475fc3fbf8704
msgid ":doc:`/appendix/releases`"
msgstr ""
#: ../../about/roadmap.rst:4
-# a89c9a284f7445889e4f78699ed5deb6
msgid "Roadmap"
msgstr ""
#: ../../about/roadmap.rst:8
-# 8c60c3c13876471f80a21ef60281f6f3
msgid ":doc:`/appendix/roadmap`"
msgstr ""
diff --git a/docs/locale/pot/admin.pot b/docs/locale/pot/admin.pot
index 21abfa1b82a..b06f70cb710 100644
--- a/docs/locale/pot/admin.pot
+++ b/docs/locale/pot/admin.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,7 +17,6 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../admin/backup-restore.rst:2
-# a6b12b3787e944d89acc378a36e099a5
msgid "Backup and Restore"
msgstr ""
@@ -26,2260 +25,1798 @@ msgstr ""
#: ../../admin/getting-help.rst:0
#: ../../admin/performance.rst:0
#: ../../admin/plugins.rst:0
-# 8c9a362363724ca2aeed3042c496e80d
-# 3bbcfb5aaa294f979489feb722c38837
-# 4b78fbd5d4444996bde13a7ed2b8156f
-# 4d7779ffb1c245c1a9be264de920acc0
-# 7089ac282f2644419e318cbffa1a846e
msgid "Contents"
msgstr ""
#: ../../admin/backup-restore.rst:9
#: ../../admin/duplicate-installation.rst:9
-# 75ee1f9f768548b6934aea81145c6a97
-# 97633d4603fc4ecdb7c54e9c7879d35b
msgid "Introduction"
msgstr ""
#: ../../admin/backup-restore.rst:12
-# b87709eef0fa42828ebe395249451973
msgid "Why"
msgstr ""
#: ../../admin/backup-restore.rst:14
-# e7a6404350864bf8976eddcb8111363c
msgid "Shared hosting providers typically don't provide an automated way to backup your Elgg installation. This article will address a method of accomplishing this task."
msgstr ""
#: ../../admin/backup-restore.rst:16
-# da238979e1954e0892d766455a41f8d4
msgid "In IT there are often many ways to accomplish the same thing. Keep that in mind. This article will explain one method to backup and restore your Elgg installation on a shared hosting provider that uses the CPanel application. However, the ideas presented here can be tailored to other applications as well. The following are typical situations that might require a procedure such as this:"
msgstr ""
#: ../../admin/backup-restore.rst:18
-# a18bde7819274055adaa3ec3e3fcbc2c
msgid "Disaster Recovery"
msgstr ""
#: ../../admin/backup-restore.rst:19
-# f8bc4517f8174b2da1faa02d8f377380
msgid "Moving your Elgg site to a new host"
msgstr ""
#: ../../admin/backup-restore.rst:20
-# c7791b9e72604576b4fbe93b195ca53a
msgid "Duplicating an installation"
msgstr ""
#: ../../admin/backup-restore.rst:23
-# 0d19018795f748b5aceed7c3182d525d
msgid "What"
msgstr ""
#: ../../admin/backup-restore.rst:25
-# b9ebf3efcc5346a099088e70913fe9c8
msgid "Topics covered:"
msgstr ""
#: ../../admin/backup-restore.rst:27
-# 3e156b96d45e4594b6a47daf526a434f
msgid "Full backups of the Elgg directories and MySQL databases are performed daily (automated)"
msgstr ""
#: ../../admin/backup-restore.rst:28
-# 2d4c84974db94cc9b381b5720ee872cf
msgid "The backups are sent to an off-site location via FTP (automated)"
msgstr ""
#: ../../admin/backup-restore.rst:29
-# d218770d6f9d496aaa6653a47eac66a9
msgid "The local backups are deleted after successful transfer to the off-site location (automatic)"
msgstr ""
#: ../../admin/backup-restore.rst:30
-# 57266ba5cb284336a1cfbc67998181de
msgid "Five days of backups will be maintained (automated)"
msgstr ""
#: ../../admin/backup-restore.rst:31
-# 10e6940212674b0fada2cb39d92b3f3c
msgid "Restoration of data to the new host (manual)"
msgstr ""
#: ../../admin/backup-restore.rst:33
-# bec092d48bf44ca0b17e436c91a607f7
msgid "This process was composed with assistance from previous articles in the Elgg documentation wiki."
msgstr ""
#: ../../admin/backup-restore.rst:36
-# 6ef2f4d94cd84ff7a0d6cf895c3e8ad9
msgid "Assumptions"
msgstr ""
#: ../../admin/backup-restore.rst:38
-# 98ebbb213e6745ca91f43c6c2a1bb94b
msgid "The following assumptions have been made:"
msgstr ""
#: ../../admin/backup-restore.rst:40
-# ba955041b8f84b3ba4780008c7ee0311
msgid "The Elgg program directory is ``/home/userx/public_html``"
msgstr ""
#: ../../admin/backup-restore.rst:41
-# 61d2a5a6474b4c14a637aa7f2c635c42
msgid "The Elgg data directory is ``/home/userx/elggdata``"
msgstr ""
#: ../../admin/backup-restore.rst:42
-# 6cbd0a4b4a104f2aa59017dc4409ede7
msgid "You've created a local directory for your backups at ``/home/userx/sitebackups``"
msgstr ""
#: ../../admin/backup-restore.rst:43
-# 1c3a9a516a264e16bd9ac298eb363fff
msgid "You have an off-site FTP server to send the backup files to"
msgstr ""
#: ../../admin/backup-restore.rst:44
-# fc40205293804c7683bba227aed7e724
msgid "The directory that you will be saving the off-site backups to is ``/home/usery/sitebackups/``"
msgstr ""
#: ../../admin/backup-restore.rst:45
-# ef0f72d59b8c4cafb1c840ef163bf8b7
msgid "You will be restoring the site to a second shared hosting provider in the ``/home/usery/public_html`` directory"
msgstr ""
#: ../../admin/backup-restore.rst:49
-# 9982186d9363437f9835e274fc204283
msgid "Be sure to replace ``userx``, ``usery``, ``http://mynewdomain.com`` and all passwords with values that reflect your actual installation!"
msgstr ""
#: ../../admin/backup-restore.rst:52
-# 0fb085c378b445ba9b89d3787f085b1a
msgid "Creating a usable backup - automatically"
msgstr ""
#: ../../admin/backup-restore.rst:55
-# 2785c75f2b3c4fa6a48874fcfb828b37
msgid "Customize the backup script"
msgstr ""
#: ../../admin/backup-restore.rst:57
-# 37728f0ca128400bbc3d7af47a2f8898
msgid "The script that you will use can be found :doc:`here ` ."
msgstr ""
#: ../../admin/backup-restore.rst:59
-# 2094ad1bfbae4216b68c0d591ddc676c
msgid "Just copy the script to a text file and name the file with a .pl extension. You can use any text editor to update the file."
msgstr ""
#: ../../admin/backup-restore.rst:61
-# 99ff13670a8f48afa5707bc0eab3ae36
msgid "Change the following to reflect your directory structure:"
msgstr ""
#: ../../admin/backup-restore.rst:71
-# 3aaa192133f044d3a21c111f684b26e8
msgid "Change the following to reflect your database parameters:"
msgstr ""
#: ../../admin/backup-restore.rst:82
-# 3d65bad3d9a64969bc86f0e40cb02a73
msgid "Change the following to reflect your off-site FTP server parameters:"
msgstr ""
#: ../../admin/backup-restore.rst:92
-# b29acfd1cfb549379e5b359b38a658f6
msgid "Save the file with the ``.pl`` extension (for the purposes of this article we will name the file: ``elgg-ftp-backup-script.pl``) and upload it to the following directory ``/home/userx/sitebackups``"
msgstr ""
#: ../../admin/backup-restore.rst:94
-# 09f12662c2dc469c81817fb34610d843
msgid "Be aware that you can turn off FTP and flip a bit in the script so that it does not delete the local backup file in the event that you don't want to use off-site storage for your backups."
msgstr ""
#: ../../admin/backup-restore.rst:97
-# 90ed65fd544c462ca1783aa85dfc5966
msgid "Configure the backup Cron job"
msgstr ""
#: ../../admin/backup-restore.rst:99
-# 451c771d92c34c368dd88a13dfbb4511
msgid "Login to your CPanel application and click on the \"Cron Jobs\" link. In the Common Settings dropdown choose \"Once a day\" and type the following in the command field ``/usr/bin/perl /home/userx/sitebackups/elgg-ftp-backup-script.pl``"
msgstr ""
#: ../../admin/backup-restore.rst:101
-# 26403e10e1eb426daaed59385aec11e9
msgid "Click on the \"Add New Cron Job\" button. Daily full backups are now scheduled and will be transferred off-site."
msgstr ""
#: ../../admin/backup-restore.rst:104
-# 213c28e467a94c19b69389a404fe1e99
msgid "Configure the cleanup Cron job"
msgstr ""
#: ../../admin/backup-restore.rst:106
-# bbe6e66f5c9949e19df7c94f8f118850
msgid "If you are sending your backups, via FTP, to another shared hosting provider that uses the CPanel application or you've turned off FTP altogether you can configure your data retention as follows."
msgstr ""
#: ../../admin/backup-restore.rst:108
-# b13b6db8c1ff4edf8ebd18e10183b52a
msgid "Login to your CPanel application for your FTP site, or locally if you're not using FTP, and click on the \"Cron Jobs\" link. In the Common Settings dropdown choose \"Once a day\" and type the following in the command field ``find /home/usery/sitebackups/full_* -mtime +4 -exec rm {} \\;``"
msgstr ""
#: ../../admin/backup-restore.rst:110
-# 631202b68d3e46c9bd22350267d7de3a
msgid "The ``-mtime X`` parameter will set the number of days to retain backups. All files older than ``x`` number of days will be deleted. Click on the \"Add New Cron Job\" button. You have now configured your backup retention time."
msgstr ""
#: ../../admin/backup-restore.rst:113
-# 57db5cf2c8a5480ab1f16d67a71749e4
msgid "Restoring from backup"
msgstr ""
#: ../../admin/backup-restore.rst:116
-# f053f2fa006d4e93b011e23de992eb38
msgid "Prepare your backup files"
msgstr ""
#: ../../admin/backup-restore.rst:118
-# 4d4e08b92c2a465695a1b831918f6f4a
msgid "The assumption is that you're restoring your site to another shared hosting provider with CPanel."
msgstr ""
#: ../../admin/backup-restore.rst:120
-# 1174eba625f8416ab5364683b5689bdd
msgid "When the script backed the files up the original directory structure was maintained in the zip file. We need to do a little cleanup. Perform the following:"
msgstr ""
#: ../../admin/backup-restore.rst:122
-# a561d3da15194740be9785aa0b80337a
msgid "Download the backup file that you wish to restore from"
msgstr ""
#: ../../admin/backup-restore.rst:123
-# f839b2652f5e4e41b4c2120b8d24ba03
msgid "Extract the contents of the backup file"
msgstr ""
#: ../../admin/backup-restore.rst:127
-# b888f91ed09b4cc281b53a93a3915376
msgid "Drill down and you will find your site backup and SQL backup. Extract both of these. You will then have:"
msgstr ""
#: ../../admin/backup-restore.rst:125
-# e48b85d5e7324f19bae83751d13eb165
msgid "a MySQL dump file with a ``.sql`` extension"
msgstr ""
#: ../../admin/backup-restore.rst:127
-# 3417a25863f5442cb1a54e486982b621
msgid "another directory structure with the contents of:"
msgstr ""
#: ../../admin/backup-restore.rst:127
-# 52a05c56732a46529225033edf481aef
msgid "``/home/userx/public_html``"
msgstr ""
#: ../../admin/backup-restore.rst:128
-# bd2c4c8c85994304b026f789a38b1a0d
msgid "``/home/userx/elggdata``"
msgstr ""
#: ../../admin/backup-restore.rst:129
-# 0a6e7babef6648b6a9f2b8735e1df2f8
msgid "Repackage the contents of the ``/home/userx/public_html`` directory as a zip file so that the files are in the root of the zip file"
msgstr ""
#: ../../admin/backup-restore.rst:130
-# 09258999297b4ec8b0799acc53872296
msgid "The reason for doing this is simple. It's much more efficient to upload one zip file than it is to ftp the contents of the ``/home/userx/public_html`` directory to your new host."
msgstr ""
#: ../../admin/backup-restore.rst:131
-# c2735c6c7c9647b29e5737013f1ff0b3
msgid "Repackage the contents of the /home/userx/elggdata directory as a zip file so that the files are in the root of the zip file"
msgstr ""
#: ../../admin/backup-restore.rst:133
-# 28511b0f043f4b92acc78c301de77037
msgid "You should now have the following files:"
msgstr ""
#: ../../admin/backup-restore.rst:135
-# a8201f5836c04172ae07df90dcfad4a5
msgid "the ``.sql`` file"
msgstr ""
#: ../../admin/backup-restore.rst:136
-# f1a1b6d5d72041cfb42a65af03641b48
msgid "the zip file with the contents of ``/home/userx/public_html`` in the root"
msgstr ""
#: ../../admin/backup-restore.rst:137
-# fb7bd78902864e0fadc09be951447b94
msgid "the zip file with the contents of ``/home/userx/elggdata`` in the root"
msgstr ""
#: ../../admin/backup-restore.rst:140
-# 7c5773db74044ede8777d2552e4f00be
msgid "Restore the files"
msgstr ""
#: ../../admin/backup-restore.rst:142
-# a5bdf4152dd24bf48025aa1df0ad18ed
msgid "This is written with the assumption that you're restoring to a different host but maintaining the original directory structure. Perform the following:"
msgstr ""
#: ../../admin/backup-restore.rst:144
-# c9e25263263e4387aac64cc1fb810dc0
msgid "Login to the CPanel application on the host that you wish to restore the site to and open the File Manager."
msgstr ""
#: ../../admin/backup-restore.rst:148
-# 6db58cdf9c86448191a591521a770974
msgid "Navigate to ``/home/usery/public_html``"
msgstr ""
#: ../../admin/backup-restore.rst:146
-# b60a7a24ff1e40f98b3da6975783990d
msgid "Upload the zip file that contains the ``/home/userx/public_html`` files"
msgstr ""
#: ../../admin/backup-restore.rst:147
#: ../../admin/backup-restore.rst:152
-# 2fb07a3d5d81431fa18e89e7f5057e1c
-# 03b8bfc3b8114ea4a16bba75907c4e17
msgid "Extract the zip file"
msgstr ""
#: ../../admin/backup-restore.rst:148
-# 5ae84d2df2d6467ca3c0db22ec93b4bd
msgid "You should now see all of the files in ``/home/usery/public_html``"
msgstr ""
#: ../../admin/backup-restore.rst:149
#: ../../admin/backup-restore.rst:154
-# d7539427321b43b68427dfafb80a74b3
-# e97712d7b55e483688a5f302705321cb
msgid "Delete the zip file"
msgstr ""
#: ../../admin/backup-restore.rst:154
-# 400a3d8055ae4219b2253bd5e6a10c45
msgid "Navigate to ``/home/usery/elggdata``"
msgstr ""
#: ../../admin/backup-restore.rst:151
-# 159a89788e41405ba86b63f81301fd21
msgid "Upload the zip file that contains the ``/home/userx/elggdata`` files"
msgstr ""
#: ../../admin/backup-restore.rst:153
-# 59fe4920d7774e889381908550129098
msgid "You should now see all of the files in /home/usery/elggdata"
msgstr ""
#: ../../admin/backup-restore.rst:156
-# e2e541a5b8f74f5aad3691b66bb2215b
msgid "Program and data file restoration is complete"
msgstr ""
#: ../../admin/backup-restore.rst:159
-# 02eaee1683864ea8873c94859ec7ffce
msgid "Restore the MySQL Database"
msgstr ""
#: ../../admin/backup-restore.rst:163
-# 15482d9f207847d6a4a7b1fea5bf4a7f
msgid "Again, the assumption here is that you're restoring your Elgg installation to a second shared hosting provider. Each shared hosting provider prepends the account holder's name to the databases associated with that account. For example, the username for our primary host is ``userx`` so the host will prepend ``userx_`` to give us a database name of ``userx_elgg``. When we restore to our second shared hosting provider we're doing so with a username of ``usery`` so our database name will be ``usery_elgg``. The hosting providers don't allow you to modify this behavior. So the process here isn't as simple as just restoring the database from backup to the usery account. However, having said that, it's not terribly difficult either."
msgstr ""
#: ../../admin/backup-restore.rst:166
-# 391c4c31ee8a4b5c8053d1b0e9e6fe2b
msgid "Edit the MySQL backup"
msgstr ""
#: ../../admin/backup-restore.rst:168
-# 88f4d651444344ac9a7113b75dd76147
msgid "Open the ``.sql`` file that you extracted from your backup in your favorite text editor. Comment out the following lines with a hash mark:"
msgstr ""
#: ../../admin/backup-restore.rst:175
-# 41f1f8b02d5b4081bfaa9a7bd67ad992
msgid "Save the file."
msgstr ""
#: ../../admin/backup-restore.rst:178
-# 35cf63594074421d825b74d524948fd6
msgid "Create the new database"
msgstr ""
#: ../../admin/backup-restore.rst:180
-# a37b6e4f460b4b10951140d18ec06dde
msgid "Perform the following:"
msgstr ""
#: ../../admin/backup-restore.rst:189
-# fe63afe6fcc04ca8bc53d7052926faf6
msgid "Login to the CPanel application on the new host and click on the \"MySQL Databases\" icon"
msgstr ""
#: ../../admin/backup-restore.rst:183
-# acf177b2ebe34869841edf15e198a2e3
msgid "Fill in the database name and click the \"create\" button. For our example we are going to stick with ``elgg`` which will give us a database name of ``usery_elgg``"
msgstr ""
#: ../../admin/backup-restore.rst:185
-# f8b91ee9e548454187fc402d1a287c1e
msgid "You can associate an existing user with the new database, but to create a new user you will need to:"
msgstr ""
#: ../../admin/backup-restore.rst:185
-# 105fd3c61cec496f9520b442ba2b5e3f
msgid "Go to the \"Add New User\" section of the \"MySQL Databases\" page"
msgstr ""
#: ../../admin/backup-restore.rst:186
-# 264201f27a424db1acd9bbc2ecd8ccfa
msgid "Enter the username and password. For our example we're going to keep it simple and use ``elgg`` once again. This will give us a username of ``usery_elgg``"
msgstr ""
#: ../../admin/backup-restore.rst:189
-# 988b6961f2e747769273e83f6b86c758
msgid "Associate the new user with the new database"
msgstr ""
#: ../../admin/backup-restore.rst:188
-# c136f89a7ad546e0a4f7f0a0ee74bd96
msgid "Go to the \"Add User To Database\" section of the \"MySQL Databases\" page. Add the ``usery_elgg`` user to the ``usery_elgg`` database"
msgstr ""
#: ../../admin/backup-restore.rst:189
-# 946633ad5fd646a19e3a8524253592b6
msgid "Select \"All Privileges\" and click the \"Make Changes\" button"
msgstr ""
#: ../../admin/backup-restore.rst:192
-# b029bb89795048c39e7331ca3e8b6886
msgid "Restore the production database"
msgstr ""
#: ../../admin/backup-restore.rst:194
-# f586316daaae4bec99ac989a83019904
msgid "Now it's time to restore the MySQL backup file by importing it into our new database named \"usery_elgg\"."
msgstr ""
#: ../../admin/backup-restore.rst:200
-# 85aae3864af747b8bdc58d9070fd74f8
msgid "Login to the CPanel application on the new host and click on the \"phpMyAdmin icon"
msgstr ""
#: ../../admin/backup-restore.rst:197
-# 4ffa33626d9b4c7391d55e2467f7894e
msgid "Choose the ``usery_elgg`` database in the left hand column"
msgstr ""
#: ../../admin/backup-restore.rst:198
-# 736cd8f9a84f40b2b35ed6db6f22ef74
msgid "Click on the \"import\" tab at the top of the page"
msgstr ""
#: ../../admin/backup-restore.rst:199
-# 8eb0d7fa057a4dff9344ab7ec896ceb1
msgid "Browse to the ``.sql`` backup on your local computer and select it"
msgstr ""
#: ../../admin/backup-restore.rst:200
-# 6bfd9db8bf224906b21e456a1ba1a79f
msgid "Click the \"Go\" button on the bottom right side of the page"
msgstr ""
#: ../../admin/backup-restore.rst:202
-# 38cebde9ace24cd1b80d6790e4711b16
msgid "You should now see a message stating that the operation was successful"
msgstr ""
#: ../../admin/backup-restore.rst:205
-# 13ec536a75044c69a1a8154b6a91da94
msgid "Bringing it all together"
msgstr ""
#: ../../admin/backup-restore.rst:207
-# 557db19008864b4b975ef94cf2b75d09
msgid "The restored elgg installation knows **nothing** about the new database name, database username, directory structure, etc. That's what we're going to address here."
msgstr ""
#: ../../admin/backup-restore.rst:209
-# 0e4504a51e60477daf01dd871525cc27
msgid "Edit ``/public_html/engine/settings.php`` on the new hosting provider to reflect the database information for the database that you just created."
msgstr ""
#: ../../admin/backup-restore.rst:226
-# 7a20615cfe25400b9cd9e10cdad77610
msgid "Upload the ``settings.php`` file back to the new host - overwriting the existing file."
msgstr ""
#: ../../admin/backup-restore.rst:228
-# e0866341bee44326a56c15d49b0e8998
msgid "Open the phpMyAdmin tool on the new host from the CPanel. Select the ``usery_elgg`` database on the left and click the SQL tab on the top of the page. Run the following SQL queries against the ``usery_elgg`` database:"
msgstr ""
#: ../../admin/backup-restore.rst:230
#: ../../admin/duplicate-installation.rst:159
-# 8410495298c04a70b21513efcf942199
-# 6346d9ab4baf4332babde392c64e7306
msgid "Change the installation path"
msgstr ""
#: ../../admin/backup-restore.rst:236
#: ../../admin/duplicate-installation.rst:166
-# 45fd029998e94670be5dc53ae28aa23e
-# 4bd2a9b9391e45faa981a2e5028b452a
msgid "Change the data directory"
msgstr ""
#: ../../admin/backup-restore.rst:242
-# f78c7e46fc0846e8a0fc2eadf7ac4135
msgid "Change the site URL (if this has changed)"
msgstr ""
#: ../../admin/backup-restore.rst:248
#: ../../admin/duplicate-installation.rst:180
-# 7a4e712191054c0ea9a9eb47665a1df0
-# bbcceb2459384a5a9d55a2218cf17ba4
msgid "Change the filestore data directory"
msgstr ""
#: ../../admin/backup-restore.rst:255
-# b1916c2e708c495586f5ecc10e17f833
msgid "Finalizing the new installation"
msgstr ""
#: ../../admin/backup-restore.rst:257
-# c4960fc107154a2388d37bbbdcecf2c3
msgid "Run the upgrade script by visiting the following URL: ``http://mynewdomain.com/upgrade.php`` . Do this step twice - back to back."
msgstr ""
#: ../../admin/backup-restore.rst:259
-# 133309be456f46ea8fa0e91e95236dce
msgid "Update your DNS records so that your host name resolves to the new host's IP address if this is a permanent move."
msgstr ""
#: ../../admin/backup-restore.rst:262
-# 4e3d9dca155d40e990f6d10601d1c082
msgid "Congratulations!"
msgstr ""
#: ../../admin/backup-restore.rst:264
-# 40e854239d274681a2b3851e5ceab600
msgid "If you followed the steps outlined here you should now have a fully functional copy of your primary Elgg installation."
msgstr ""
#: ../../admin/backup-restore.rst:267
#: ../../admin/duplicate-installation.rst:264
-# abd41b66982e4eb09f05c17f395235ff
-# f5643a390a41485793fd77f504a6c028
msgid "Related"
msgstr ""
#: ../../admin/backup/ftp-backup-script.rst:2
-# 610450c2bd154df1880a62f272d43c92
msgid "FTP backup script"
msgstr ""
#: ../../admin/backup/ftp-backup-script.rst:4
-# 4de93f2835414627af79f23dc05b2e3e
msgid "Here is an automated script for backing up an Elgg installation."
msgstr ""
#: ../../admin/cron.rst:2
-# b5cd59b8c2e4451fb6bfc5ff88463f20
msgid "Cron"
msgstr ""
#: ../../admin/cron.rst:4
-# ad770a79a0904cbf9167a64022ba9996
msgid "`Cron`__ is a program available on Unix-based operating systems that enables users to run commands and scripts at set intervals or at specific times."
msgstr ""
#: ../../admin/cron.rst:9
-# a069ec7648ac4f8a8398f27fd67f97b8
msgid "Elgg's cron handler allows administrators and plugin developers to setup jobs that need to be executed at set intervals."
msgstr ""
#: ../../admin/cron.rst:12
-# d6a3f50555014eacbc44279438e420cf
msgid "Most common examples of cron jobs in Elgg include:"
msgstr ""
#: ../../admin/cron.rst:14
-# 1045c712f59a4688aac66e75938dd3a2
msgid "sending out queued notifications"
msgstr ""
#: ../../admin/cron.rst:15
-# a342c3d75f8047d3bfeeace2f97bd31d
msgid "rotating the system log in the database"
msgstr ""
#: ../../admin/cron.rst:16
-# 86783a045c1848128a76950a42638488
msgid "collecting garbage in the database (compacting the database by removing entries that are no longer required)"
msgstr ""
#: ../../admin/cron.rst:19
-# 5a1cb96a05614d6a92530d29a9126819
msgid "Currently, Elgg supports the following hooks:"
msgstr ""
#: ../../admin/cron.rst:21
-# 42542123723c4301a1d41661f876abae
msgid "``minute`` - Run every minute"
msgstr ""
#: ../../admin/cron.rst:22
-# a20ccc31a36b40b7b8c7a06203ca34f9
msgid "``fiveminute`` - Run every 5 minutes"
msgstr ""
#: ../../admin/cron.rst:23
-# 83937500bda14f369040442768697918
msgid "``fifteenmin`` - Run every 15 minutes"
msgstr ""
#: ../../admin/cron.rst:24
-# 7a95ec83b5d54466a6b6c99181c52b32
msgid "``halfhour`` - Run every 30 minutes"
msgstr ""
#: ../../admin/cron.rst:25
-# dce86a228a7e46c1bd4d11bb34deebb5
msgid "``hourly`` - Run every hour"
msgstr ""
#: ../../admin/cron.rst:26
-# 9e4077ea1987442a9e84e4738f34b7f1
msgid "``daily`` - Run every day"
msgstr ""
#: ../../admin/cron.rst:27
-# 96a7021c76d9456b8580c59d8ea07a17
msgid "``weekly`` - Run every week"
msgstr ""
#: ../../admin/cron.rst:28
-# ab4f04f289af44069923e9acfae4385a
msgid "``monthly`` - Run every month"
msgstr ""
#: ../../admin/cron.rst:29
-# 7aa3c585f0904bcd9ee4122100fa377f
msgid "``yearly`` - Run every year"
msgstr ""
#: ../../admin/cron.rst:33
-# f78ae62a81374a7f8c4457d7909ec279
msgid "``reboot`` cron hook has been deprecated and should not be used"
msgstr ""
#: ../../admin/cron.rst:37
-# 5b98b2b13dc64cdb9f8633944780e280
msgid "How does it work?"
msgstr ""
#: ../../admin/cron.rst:39
-# 5141ab124f1947bf9de6cec049fcc332
msgid "Elgg activates its cron handler when particular cron pages are loaded. As an example, loading http://example.com/cron/hourly/ in a web browser activates the hourly hook. To automate this, cron jobs are setup to hit those pages at certain times. This is done by setting up a ``crontab`` which is a configuration file that determines what cron jobs do and at what interval."
msgstr ""
#: ../../admin/cron.rst:47
#: ../../admin/plugins.rst:86
-# c0283862d9b84d5895393e3682736dc2
-# 957d08987d37441fa794ce643e4d002e
msgid "Installation"
msgstr ""
#: ../../admin/cron.rst:49
-# 990549a0dfe34158a22cf18fae800fd6
msgid "The ``crontab`` needs to specify a script or command that will hit the Elgg cron pages. Two commonly available programs for this are `GET` and `wget`. You will need to determine the location of one of these on your server. Your crontab also needs to specify the location of your website."
msgstr ""
#: ../../admin/cron.rst:56
-# 41316572d5e94be8857f841bd9462aec
msgid "In the above example, change the ``ELGG`` and ``GET`` variables to match you server setup. If you have SSH access to your Linux servers, type ``crontab -e`` and add your crontab configuration. If you already have a crontab configured, you will have to merge Elgg information into it. If you don't have SSH access, you will have to use a web-based configuration tool. This will vary depending on hosting provider."
msgstr ""
#: ../../admin/cron.rst:62
-# f5762a5444c444428de634ba5cc1894a
msgid "If you choose the ``wget`` utility, you might want to consider these flags:"
msgstr ""
#: ../../admin/cron.rst:64
-# 353f12f570ad4c90a2b5d2169184a622
msgid "``--output-document`` or ``-O`` to specify the location of the concatenated output file. For example, under Debian: ``/usr/bin/wget --output-document=/dev/null``. If you don't do that, a new file will be created for each cron page load in the home directory of the cron user."
msgstr ""
#: ../../admin/cron.rst:67
-# 48fbdf9ed01a447a90ab16fa8b514359
msgid "``--spider`` to prevent the cron page from being downloaded."
msgstr ""
#: ../../admin/cron.rst:70
-# c6ad2fbf4a0546ad8ca5c20e6b2fbfa2
msgid "On Windows servers, there is a number of cron emulators available."
msgstr ""
#: ../../admin/cron.rst:72
-# bac83348d91d4968a192b06d68670829
msgid "For information on setting up cron jobs using cPanel see `cPanel Docs`__."
msgstr ""
#: ../../admin/cron.rst:74
-# 65d1b199d3fb447dba5f94a1006ac9d6
msgid "In the ``command`` field, enter the appropriate link of the cron page. For example, for a weekly cron job, enter the command as http://www.example.com/cron/weekly/."
msgstr ""
#: ../../admin/cron.rst:77
-# 6ff50b38fb8f4764a3db4083215376f5
msgid "To see if your cron jobs are running, visit Statistics > Cron in your Elgg admin panel."
msgstr ""
#: ../../admin/duplicate-installation.rst:2
-# e9a4b9c5ddf843a4bc9a7aaca856ff9e
msgid "Duplicate Installation"
msgstr ""
#: ../../admin/duplicate-installation.rst:12
-# c3484593b6cb4ad68722483122c17577
msgid "Why Duplicate an Elgg Installation?"
msgstr ""
#: ../../admin/duplicate-installation.rst:14
-# 9ce85052f4aa405d9aa6f754cbf1871d
msgid "There are many reasons you may want to duplicate an Elgg installation: moving the site to another server, creating a test or development server, and creating functional backups are the most common. To create a successful duplicate of an Elgg site, 3 things need to be copied:"
msgstr ""
#: ../../admin/duplicate-installation.rst:16
-# efb188fd7407430a934b30d88d259701
msgid "Database"
msgstr ""
#: ../../admin/duplicate-installation.rst:17
-# 2e356a8379f7480aa1f0a9891c7f6125
msgid "Data from the data directory"
msgstr ""
#: ../../admin/duplicate-installation.rst:18
-# c0d4faea6eab4078bbb5a2ceac191839
msgid "Code"
msgstr ""
#: ../../admin/duplicate-installation.rst:20
-# 6e92b18d72984c75a8c6228d2889b2db
msgid "Also at least 5 pieces of information must be changed from the copied installation:"
msgstr ""
#: ../../admin/duplicate-installation.rst:22
-# ae7410d047604ef48c275aa7b946c2ef
msgid "``engine/settings.php`` file"
msgstr ""
#: ../../admin/duplicate-installation.rst:23
-# e92e2538b55048ebbe704b75ca62292a
msgid "``.htaccess`` file"
msgstr ""
#: ../../admin/duplicate-installation.rst:24
-# 378d99e8286e410ebad4ab73d9fd7f38
msgid "database entry for your site entity"
msgstr ""
#: ../../admin/duplicate-installation.rst:25
-# 92b2b02bf4474999b746a97dd12123fc
msgid "database entry for the installation path"
msgstr ""
#: ../../admin/duplicate-installation.rst:26
-# ff84e47acad94495934361198aaca800
msgid "database entry for the data path"
msgstr ""
#: ../../admin/duplicate-installation.rst:29
-# 8ba6d8adf6134b0c8c6b19f5459c76cb
msgid "What Is Not Covered in This Tutorial"
msgstr ""
#: ../../admin/duplicate-installation.rst:31
-# 86c313deddcb4527bdd026cb9b4bc306
msgid "This tutorial expects a basic knowledge of Apache, MySQL, and Linux commands. As such, a few things will not be covered in this tutorial. These include:"
msgstr ""
#: ../../admin/duplicate-installation.rst:33
-# 8ed97db495af4c3491acd9bdea918826
msgid "How to backup and restore MySQL databases"
msgstr ""
#: ../../admin/duplicate-installation.rst:34
-# eb3a37ed1f2048f083d85fbb23897563
msgid "How to configure Apache to work with Elgg"
msgstr ""
#: ../../admin/duplicate-installation.rst:35
-# 7fbcc1f212044689a2601476ee66e746
msgid "How to transfer files to and from your production server"
msgstr ""
#: ../../admin/duplicate-installation.rst:38
-# cda017e769d54d2a9522cc024e97e6eb
msgid "Before You Start"
msgstr ""
#: ../../admin/duplicate-installation.rst:40
-# 81a01858a3f74922b71e3813d6a3c518
msgid "Before you start, make sure the Elgg installation you want to duplicate is fully functional. You will also need the following items:"
msgstr ""
#: ../../admin/duplicate-installation.rst:42
-# 11ea9bcb3ad643369e5a66e710bfcb20
msgid "A backup of the live Elgg database"
msgstr ""
#: ../../admin/duplicate-installation.rst:43
-# 4d0575b197f248708a6d31fcc4798b72
msgid "A place to copy the live database"
msgstr ""
#: ../../admin/duplicate-installation.rst:45
-# 965bdff182b94b918a0fc811ad7976af
msgid "A server suitable for installing duplicate Elgg site"
msgstr ""
#: ../../admin/duplicate-installation.rst:45
-# bd6b2d4293df47448e101b5f0a83e7c1
msgid "(This can be the same server as your production Elgg installation.)"
msgstr ""
#: ../../admin/duplicate-installation.rst:47
-# eb8a122f0e6b4f4f962021058c144aa8
msgid "Backups of the database can be obtained various ways, including phpMyAdmin, the MySQL official GUI, and the command line. Talk to your host for information on how to backup and restore databases or use Google to find information on this."
msgstr ""
#: ../../admin/duplicate-installation.rst:49
-# cb380eed68d74b1eb430897dc38ce38e
msgid "During this tutorial, we will make these assumptions about the production Elgg site:"
msgstr ""
#: ../../admin/duplicate-installation.rst:51
-# c430178357ea44ae98965c4e65fd8a1d
msgid "The URL is ``http://www.myelgg.org/``"
msgstr ""
#: ../../admin/duplicate-installation.rst:52
-# e867658c47274c628f840cf1f0e49b99
msgid "The installation path is ``/var/www/elgg/``"
msgstr ""
#: ../../admin/duplicate-installation.rst:53
-# 4417b6a279d64eb4890e8ff422e85991
msgid "The data directory is ``/var/data/elgg/``"
msgstr ""
#: ../../admin/duplicate-installation.rst:54
#: ../../admin/duplicate-installation.rst:65
-# 4caeb9574d0c486e872204c26c5e92ec
-# f6b3568af5af4cb6bd832e26b0aed156
msgid "The database host is ``localhost``"
msgstr ""
#: ../../admin/duplicate-installation.rst:55
-# f3800bbb175844efaa656b40563016c9
msgid "The database name is ``production_elgg``"
msgstr ""
#: ../../admin/duplicate-installation.rst:56
#: ../../admin/duplicate-installation.rst:67
-# c533b100bfa140509a4dbc1335fc4d9e
-# c227f1191e0f4ac09c525a6d17baaf00
msgid "The database user is ``db_user``"
msgstr ""
#: ../../admin/duplicate-installation.rst:57
#: ../../admin/duplicate-installation.rst:68
-# a5ab45ac466a4154a8f3f151a548f757
-# c9172ff9fe98420ebe4e220a06bcf03a
msgid "The database password is ``db_password``"
msgstr ""
#: ../../admin/duplicate-installation.rst:58
#: ../../admin/duplicate-installation.rst:69
-# 995cfb08d4d94ebebd8f80369ad58261
-# eafe137bcb4e49d0b6dddb98baf8c629
msgid "The database prefix is ``elgg``"
msgstr ""
#: ../../admin/duplicate-installation.rst:60
-# fa4cee11465147d9ba9a3c11cfb5fa11
msgid "At the end of the tutorial, our test Elgg installation details will be:"
msgstr ""
#: ../../admin/duplicate-installation.rst:62
-# af8bc5df24564860b56df05b03c69cdb
msgid "The URL is ``http://test.myelgg.org/``"
msgstr ""
#: ../../admin/duplicate-installation.rst:63
-# 0a72328a390b44dba508efafca78d616
msgid "The installation path is ``/var/www/elgg_test/``"
msgstr ""
#: ../../admin/duplicate-installation.rst:64
-# fb950494ba68453fa582ffd15cebd942
msgid "The data directory is ``/var/data/elgg_test/``"
msgstr ""
#: ../../admin/duplicate-installation.rst:66
-# b573892cf03f49c395f3d7e3cada25e8
msgid "The database name is ``test_elgg``"
msgstr ""
#: ../../admin/duplicate-installation.rst:72
-# cd4baf8980df4c688cfba5e008e3c4d1
msgid "Copy Elgg Code to the Test Server"
msgstr ""
#: ../../admin/duplicate-installation.rst:74
-# 88c17a991e764813abdc5a16cce416bc
msgid "The very first step is to duplicate the production Elgg code. In our example, this is as simple as copying ``/var/www/elgg/`` to ``/var/www/elgg_test/``."
msgstr ""
#: ../../admin/duplicate-installation.rst:81
-# c65a6b94cdcb484283b4066f92d413ad
msgid "Copy Data to the Test Server"
msgstr ""
#: ../../admin/duplicate-installation.rst:83
-# 61e77024421042c2af22c612c799330b
msgid "In this example, this is as simple as copying ``/var/data/elgg/`` to ``/var/data/elgg_test/``."
msgstr ""
#: ../../admin/duplicate-installation.rst:89
-# a74b501b73cd407a84ba7e8a3503a7b0
msgid "If you don't have shell access to your server and have to ftp the data, you may need to change ownership and permissions on the files."
msgstr ""
#: ../../admin/duplicate-installation.rst:93
-# c8f0a2c4bb2e4ae2b7498ed3706116c1
msgid "You also need to delete the views cache on the test server after the copy process. This is a directory called ``views_simplecache`` in your data directory and the directory called ``system_cache`` ."
msgstr ""
#: ../../admin/duplicate-installation.rst:96
-# b08e74bc6331463099c6e7498483db7f
msgid "Edit engine/settings.php"
msgstr ""
#: ../../admin/duplicate-installation.rst:98
-# 3cdf3bf4c53f46e094f4d041f81e07f0
msgid "The ``engine/settings.php`` file contains the database configuration details. These need to be adjusted for your new test Elgg installation. In our example, we'll look in ``/var/www/elgg_test/engine/settings.php`` and find the lines that look like this:"
msgstr ""
#: ../../admin/duplicate-installation.rst:120
-# df72c3e6c52146ee9f11599af396296c
msgid "We need to change these lines to match our new installation:"
msgstr ""
#: ../../admin/duplicate-installation.rst:144
-# 97728bd8f1f541dbb94d66738a4b0ae8
msgid "Notice the ``$CONFIG->dbname`` has changed to reflect our new database."
msgstr ""
#: ../../admin/duplicate-installation.rst:147
-# 27e105c8f97c44119221f8611e36bff7
msgid "Copy Elgg Database"
msgstr ""
#: ../../admin/duplicate-installation.rst:149
-# 7277c194666941b9ad7f80bf6885ce9d
msgid "Now the database must be copied from ``elgg_production`` to ``elgg_test``. See your favorite MySQL manager's documentation for how to make a duplicate database. You will generally export the current database tables to a file, create the new database, and then import the tables that you previously exported."
msgstr ""
#: ../../admin/duplicate-installation.rst:151
-# 420e5dd8d914495ca2a583155121c6a5
msgid "You have two options on updating the values in the database. You could change the values in the export file or you could import the file and change the values with database queries. One advantage of modifying the dump file is that you can also change links that people have created to content within your site. For example, if people have bookmarked pages using the bookmark plugin, the bookmarks will point to the old site unless your update their URLs."
msgstr ""
#: ../../admin/duplicate-installation.rst:154
-# 3954a02caf0644999fd4bcbc6368d315
msgid "Database Entries"
msgstr ""
#: ../../admin/duplicate-installation.rst:156
-# bcb2ee2cb9994e0f8e7e9d8989f5962c
msgid "We must now change 4 entries in the database. This is easily accomplished with 4 simple SQL commands:"
msgstr ""
#: ../../admin/duplicate-installation.rst:173
-# 57186e378c334c14a13fac8898beb4b4
msgid "Change the site URL"
msgstr ""
#: ../../admin/duplicate-installation.rst:201
-# fafb6f4120c643c2961389efb33d5104
msgid "Only change the first path here!!"
msgstr ""
#: ../../admin/duplicate-installation.rst:204
-# 05a2e162623a4dd8be87d4650d67ff09
msgid "Check .htaccess"
msgstr ""
#: ../../admin/duplicate-installation.rst:206
-# 40e9163fceb8459cbbb7c834af547feb
msgid "If you have made changes to .htaccess that modify any paths, make sure you update them in the test installation."
msgstr ""
#: ../../admin/duplicate-installation.rst:209
-# 5d05dc2b7de74562950cffaf7e10321f
msgid "Update Webserver Config"
msgstr ""
#: ../../admin/duplicate-installation.rst:211
-# ef14924f2d10401f9e933a5137949699
msgid "For this example, you must edit the Apache config to enable a subdomain with a document root of ``/var/www/elgg_test/``. If you plan to install into a subdirectory of your document root, this step is unnecessary."
msgstr ""
#: ../../admin/duplicate-installation.rst:214
-# 98c2d4212c4b40b1a3759c874927ad13
msgid "Run upgrade.php"
msgstr ""
#: ../../admin/duplicate-installation.rst:216
-# 9aa438baaec540f29e5e570bab01d27e
msgid "To regenerate cached data, make sure to run ``http://test.myelgg.org/upgrade.php``"
msgstr ""
#: ../../admin/duplicate-installation.rst:219
-# 75daec36c745448f9e61a932ece18136
msgid "Tips"
msgstr ""
#: ../../admin/duplicate-installation.rst:221
-# 90a9d45d4bcb469a9b46648eb4184be8
msgid "It is a good idea to keep a test server around to experiment with installing new mods and doing development work. If you automate restorations to the ``elgg_test`` database, changing the ``$CONFIG`` values and adding the follow lines to the end of the ``elgg_test/engine/settings.php`` file will allow seamless re-writing of the MySQL database entries."
msgstr ""
#: ../../admin/duplicate-installation.rst:268
-# 7438f2b276a3437d904287ddfdcd4931
msgid ":doc:`backup-restore`"
msgstr ""
#: ../../admin/getting-help.rst:2
-# 23fadab24f424b3aaf41565392caa3a9
msgid "Getting Help"
msgstr ""
#: ../../admin/getting-help.rst:4
-# 4a98e1361ddd479b8ae32dc7bdb4347b
msgid "Having a problem with Elgg? The best way to get help is to ask at the `Community Site`_. This site is community supported by a large group of volunteers. Here are a few tips to help you get the help you need."
msgstr ""
#: ../../admin/getting-help.rst:13
-# 26cfaf2f78d044d98ea345fcc7ef2382
msgid "Getting help"
msgstr ""
#: ../../admin/getting-help.rst:16
-# e3e82e1493fc420b987340b3af2552d7
msgid "Don't be a `Help Vampire`_"
msgstr ""
#: ../../admin/getting-help.rst:18
-# 0bac0191b89a4f07b7f8fe1257d4fd1a
msgid "We were all newbies at one time, but we can all learn. Not showing that you are making attempts to learn on your own or do your own research is off putting for those helping. Also, very generic questions like \"How do I build a forum?\" are almost impossible to answer."
msgstr ""
#: ../../admin/getting-help.rst:23
-# 58b536d71662416690c79c7024b0d1cc
msgid "Search first"
msgstr ""
#: ../../admin/getting-help.rst:25
-# 9810dc0bf3014f45910ea94897b1c2af
msgid "Be sure to search the documentation (this site), the `Community Site`_, and Google before asking a question. New users to Elgg frequently have the same questions, so please search. People are less inclined to reply to a post that has been answered many other times or that can be answered easily by Googling."
msgstr ""
#: ../../admin/getting-help.rst:28
-# 67617cb3605f4d0bb78d495a50b3c71b
msgid "Ask once"
msgstr ""
#: ../../admin/getting-help.rst:30
-# d8f8ce006d0c41489789059fbda1a2b9
msgid "Posting the same questions in multiple places makes it hard to answer you. Ask your question in one place only. Duplicate questions may be moderated."
msgstr ""
#: ../../admin/getting-help.rst:33
-# bcd4b95341e64b839fa0577679a52fb2
msgid "Include Elgg Version"
msgstr ""
#: ../../admin/getting-help.rst:35
-# f32a92e6e96f4f1299fa84a6ecf1ecbb
msgid "Different versions of Elgg have different features (and different bugs). Including the version of Elgg that you are using will help those helping you."
msgstr ""
#: ../../admin/getting-help.rst:38
-# c660929879e84122814d7d900ba20a6d
msgid "Have a reasonable profile"
msgstr ""
#: ../../admin/getting-help.rst:40
-# 3e27444cffef483d82d1a31c41bb4d23
msgid "Profiles that look like spam or have silly names will often be ignored. Joviality is fine, but people are more likely to help Michael than 1337elggHax0r."
msgstr ""
#: ../../admin/getting-help.rst:43
-# 68965c1b76ed4be9a8fb1a4dd6fa549f
msgid "Post in the appropriate forum"
msgstr ""
#: ../../admin/getting-help.rst:45
-# 544d474686174022b53e56d956c4eacd
msgid "Check to make sure you're posting in the right forum. If you have a question about creating a plugin, don't post to the Elgg Feedback forum. If you need help installing Elgg, post to Technical Support instead of the Theming group."
msgstr ""
#: ../../admin/getting-help.rst:48
-# 7f2ef0ae0c3b4d00be26a2cf669ec153
msgid "Use a descriptive topic title"
msgstr ""
#: ../../admin/getting-help.rst:50
-# 1f1498db4e9b4b7384f900c22185ae6d
msgid "Good topic titles concisely describe your problem or question. Bad topic titles are vague, contain all capital letters, and excessive punctuation."
msgstr ""
#: ../../admin/getting-help.rst:52
-# a6fae853f02846378cee1752e778c927
msgid "Good title: \"White screen after upgrading to 1.7.4.\""
msgstr ""
#: ../../admin/getting-help.rst:54
-# 816c3c80ef0f4a47aa5fd15a27e02097
msgid "Bad title: \"URGENT!!!!! site broke ;-( losing money help!!!!!!!!!!!\""
msgstr ""
#: ../../admin/getting-help.rst:57
-# 8bb70a61923a4a779ab349e8be7e6496
msgid "Be detailed"
msgstr ""
#: ../../admin/getting-help.rst:59
-# d07217dec13948d7813173166d90c1c9
msgid "Include as many details about your problem as possible. If you have a live site, include a link. Be forthcoming if community members might ask for more information. We can't help you if you won't give any details!"
msgstr ""
#: ../../admin/getting-help.rst:62
-# 8a8af00ff5a54518b3de9d7b35615a7e
msgid "Keep it public"
msgstr ""
#: ../../admin/getting-help.rst:64
-# 2b49a57aa6f54184885fdb78be3790c0
msgid "This is a public forum for the good of the Elgg project. Keep posts public. There's no reason for anyone to ask you to send a private message or email. Likewise, there's no reason to ask anyone to send a private email to you. Post in the public."
msgstr ""
#: ../../admin/getting-help.rst:67
-# 23fe317437004bceaab6fdc65f68561f
msgid "Guidelines"
msgstr ""
#: ../../admin/getting-help.rst:69
-# 52147611b76d4649b289844ebecc8166
msgid "In addition to the `site-wide Terms and Policies`_, following these guidelines keeps our community site useful and safe for everyone."
msgstr ""
#: ../../admin/getting-help.rst:74
-# 8ca1ca0decdf44aca7b83810b31dfeda
msgid "Content"
msgstr ""
#: ../../admin/getting-help.rst:76
-# fd4ccf6a27984f9c917cec77bd74325b
msgid "All content must be safe for work: PG in the US and UK. If your Elgg site has adult content and you have been asked to post a link, please mark it NSFW (Not Safe For Work) so people know."
msgstr ""
#: ../../admin/getting-help.rst:78
-# b5ef9c06b4bd4d7f9cb808d97372a328
msgid "Excessive swearing in any language will not be tolerated."
msgstr ""
#: ../../admin/getting-help.rst:81
-# 951c1204ccfa4a278843d63df5da6636
msgid "Mood"
msgstr ""
#: ../../admin/getting-help.rst:83
-# 580f05e475db43389ef908143b74daa2
msgid "Working with technical problems can be frustrating. Please keep the community site free of frustration. If you're feeling anxious, take a step away and do something else. Threatening or attacking community members, core developers, or plugin developers will not help solve your problem and will likely get you banned."
msgstr ""
#: ../../admin/getting-help.rst:86
-# cd2c83b311bf4d85b992b41982311db1
msgid "Advertising"
msgstr ""
#: ../../admin/getting-help.rst:88
-# 2b54c632d7ba4694b1983f3c0bb6f0b8
msgid "Advertising is not allowed. Posts with any sort of advertising will be moderated."
msgstr ""
#: ../../admin/getting-help.rst:91
-# 06128eb37f944c5b8a495a9524c1134d
msgid "Asking for money / Offering to pay"
msgstr ""
#: ../../admin/getting-help.rst:93
-# a6b20f3ad5f749fab7f28dac308aad82
msgid "Don't ask for money on the community site. Likewise, don't offer to pay for answers. If you are looking for custom development, post to the Professional Services group. Posts asking for money or recommending a commercial plugin may be moderated."
msgstr ""
#: ../../admin/getting-help.rst:96
-# b336e3bb2d5b4554869a71259b87aff5
msgid "Links"
msgstr ""
#: ../../admin/getting-help.rst:98
-# 3a8cac41a037490ea411d81f2904a81b
msgid "If you're having a problem with a live site, please provide a link to it."
msgstr ""
#: ../../admin/getting-help.rst:100
-# 5f325747c82b4f9bb424f26aecb24960
msgid "That said, the community site is not a back linking service or SEO tool. Excessive linking will be moderated and your account may be banned."
msgstr ""
#: ../../admin/getting-help.rst:103
-# 55e46ffcc60d4fbf977054bc6c07dde0
msgid "Signatures"
msgstr ""
#: ../../admin/getting-help.rst:105
-# eb993bf840324417b2d4b4b100033a7f
msgid "There's a reason Elgg doesn't have an option for signatures: they cause clutter and distract from the conversation. Users are discouraged from using signatures on the community site, and signatures with links or advertising will be removed."
msgstr ""
#: ../../admin/getting-help.rst:108
-# 6df6f3ec038d4f1fbe5c6fce2fa0cc20
msgid "Bumping, +1, me too"
msgstr ""
#: ../../admin/getting-help.rst:110
-# 3f92b876a8ed45f087ad46e46ceecc48
msgid "Don't do it. If your question hasn't been answered, see the top of this document for tips. These types of post add nothing to the conversation and may be moderated."
msgstr ""
#: ../../admin/getting-help.rst:113
-# 69159e5b76ac431098465e5f89d8bafc
msgid "Posting Code"
msgstr ""
#: ../../admin/getting-help.rst:115
-# df32a9bc88424f4f8c8f29170b115a54
msgid "Long bits of code are confusing to read through in a forums context. Please use http://elgg.pastebin.com to post long bits of code and provide the Paste Bin link instead of directly posting the code."
msgstr ""
#: ../../admin/getting-help.rst:118
-# 6f83b493758348558411c2e9177be1d4
msgid "Good Ideas"
msgstr ""
#: ../../admin/getting-help.rst:120
-# 2514f1f8bfbe4fde87662cf5bb6852db
msgid "Not policies, but good ideas."
msgstr ""
#: ../../admin/getting-help.rst:123
-# 62352bf55512434588aeeb04f2a922b8
msgid "Say thanks"
msgstr ""
#: ../../admin/getting-help.rst:125
-# 4c64c26e5bd349ae95c445db19271e5b
msgid "Did someone help you? Be sure to thank them! The community site is run by volunteers. No one has to help you with your problem. Be sure to show your appreciation!"
msgstr ""
#: ../../admin/getting-help.rst:128
-# 8b35c010e3ea4893ad24cce692135b21
msgid "Give back"
msgstr ""
#: ../../admin/getting-help.rst:130
-# 8aaea948ced741af95ac4161ab5e1a67
msgid "Have a tip for Elgg? See someone with a similar problem you had? You've been there and can help them out, so give them a hand!"
msgstr ""
#: ../../admin/getting_started.rst:2
-# 9c5fb08f24564b1089bb0e4426caac85
msgid "Getting Started"
msgstr ""
#: ../../admin/getting_started.rst:4
-# b2cb958851fc471e97f25a50874f0dcf
msgid "You have installed Elgg and worked through any potential initial issues. What now? Here are some suggestions on how to to familiarize yourself with Elgg."
msgstr ""
#: ../../admin/getting_started.rst:8
-# 287185ea20674d1c839d40d1b51fce7a
msgid "Focus first on core functionality"
msgstr ""
#: ../../admin/getting_started.rst:10
-# a1eb894f36f44e8a948abeb8e2803640
msgid "When you're new to Elgg, it's best to explore the stock features in core and its bundled plugins before installing any third party plugins. It's tempting install every interesting plugin from the community site, but exploring the core features builds a familiarity with Elgg's expected behavior, and prevents introducing any confusing bugs from third party plugin into your new Elgg network."
msgstr ""
#: ../../admin/getting_started.rst:12
-# d908a903db27440e97d9898c14da95e7
msgid "Elgg installs with a basic set of social network plugins activated: blogs, social bookmarking, files, groups, likes, message boards, wiki-like pages, user profiles, and microblogging. To change the plugins that are activated, log in as an admin user, then use the topbar to browse to Administration, then to Plugins on the right sidebar."
msgstr ""
#: ../../admin/getting_started.rst:14
-# 573d6c14494742aebad1c4a941343c3c
msgid "The user you create during installation is an admin user."
msgstr ""
#: ../../admin/getting_started.rst:17
-# fbd25656b660462f8ea409cd713a46dc
msgid "Create test users"
msgstr ""
#: ../../admin/getting_started.rst:18
-# 3743c3d3d1fa4aa8b5255a2e359775f6
msgid "Users can be created two ways in stock Elgg:"
msgstr ""
#: ../../admin/getting_started.rst:20
-# 2eaeab252dc5497786bf8ebcc7067122
msgid "Complete the signup process using a different email address and username. (Logout first or use a different browser!)"
msgstr ""
#: ../../admin/getting_started.rst:21
-# 54b0ab0b2d364985b80d9c919283df61
msgid "Add a user through the Admin section by browsing to Administration -> Users -> Add New User."
msgstr ""
#: ../../admin/getting_started.rst:23
-# f73c8c8e4441405690719c92e2f74a02
msgid "Users that self-register must validate their account through email before they can log in. Users that an admin creates are already validated."
msgstr ""
#: ../../admin/getting_started.rst:26
-# 91f7300ad16c40a2a083bb67f8000513
msgid "Explore user functionality"
msgstr ""
#: ../../admin/getting_started.rst:27
-# 553a97b619b14802aeae12f86033bbdc
msgid "Use your test users to create blogs, add widgets to your profile or dashboard, post to the Wire (microblogging), and create pages (wiki-like page creation). Investigate the Settings on the topbar. This is where a user sets notification settings and configures tools (which will be blank because none of the default plugins add controls here)."
msgstr ""
#: ../../admin/getting_started.rst:30
-# abb3792e809a41a388430787484cd12d
msgid "Explore admin functionality"
msgstr ""
#: ../../admin/getting_started.rst:31
-# 619169ae8e2643fbbcf522f87b3fc5fe
msgid "All of the admin controls are found by clicking Administration in the topbar. The has a dashboard with a widget that explains the various sections. Change options in the Configure menu to change how Elgg looks and acts."
msgstr ""
#: ../../admin/getting_started.rst:34
-# eab51b43aece4f678f766bd90c1faa10
msgid "Extending Elgg"
msgstr ""
#: ../../admin/getting_started.rst:35
-# 59870d0914de4f3ca0afaa49d3358cf5
msgid "After exploring what Elgg can do out of the box, install some themes and plugins. You can find many plugins and themes at the community site that have been developed by third parties. These plugins do everything from changing language strings, to adding chat, to completely redesigning Elgg's interface. Because these plugins are not official, be certain to check the comments to make sure you only install well-written plugins by high quality developers."
msgstr ""
#: ../../admin/index.rst:2
-# 7a69161a7ea448d9861a4fc697069a14
msgid "Administrator Guides"
msgstr ""
#: ../../admin/index.rst:4
-# 90cd1bd94b124dcba56c46b1a83bc0e6
msgid "Best practices for effectively managing an Elgg-based site."
msgstr ""
#: ../../admin/performance.rst:2
-# 9cd2d92775384d689012a9abf375eb44
msgid "Performance"
msgstr ""
#: ../../admin/performance.rst:4
-# e00ce21abc22421b839a5210dfca1cdf
msgid "Make your site run as smoothly and responsively as possible."
msgstr ""
#: ../../admin/performance.rst:11
-# 96cc99d94c224ccdbe222323e9470787
msgid "Can Elgg scale to X million users?"
msgstr ""
#: ../../admin/performance.rst:13
-# c9db0003cb484effaf2cd8fbd1a173bb
msgid "People often ask whether Elgg can scale to large installations."
msgstr ""
#: ../../admin/performance.rst:15
-# ffd9e6d0135048efa32a0b204e1c7a57
msgid "First, we might stop and ask, \"where are you planning to get all those users?\" Seriously, though, this is a really interesting problem. Making Elgg scale is, if anything, an issue of technical engineering. It's interesting but more or less a solved problem. Computer science doesn't work differently for Elgg than for Google, for example. Getting millions of users? That's like the Holy Grail of the entire tech industry."
msgstr ""
#: ../../admin/performance.rst:22
-# 8bc250893228465dbd0d1624d5f0b5a8
msgid "Second, as with most things in life, the answer is \"it depends\":"
msgstr ""
#: ../../admin/performance.rst:24
-# 3ed20f53329c4c3ab3e5cffa495f4198
msgid "How active are your users?"
msgstr ""
#: ../../admin/performance.rst:25
-# db1a7a1f2b9e47abb9c6ce05f777575f
msgid "What hardware is Elgg running on?"
msgstr ""
#: ../../admin/performance.rst:26
-# 60804fac06844e45bc1abf22efe7c875
msgid "Are your plugins behaving well?"
msgstr ""
#: ../../admin/performance.rst:28
-# 80c66c7d0c974104a00d1714ecae261b
msgid "`Improving the efficiency of the Elgg engine`__ is an ongoing project, although there are limits to the amount that any script can do."
msgstr ""
#: ../../admin/performance.rst:33
-# 02900ce468484586897ca0c8dcb0321f
msgid "If you are serious about scalability you will probably want to look at a number of things yourself."
msgstr ""
#: ../../admin/performance.rst:36
-# 0a94a8445cb24485967b1b354efaf9f1
msgid "Measure first"
msgstr ""
#: ../../admin/performance.rst:38
-# 1719678dd7c14e9fa77a9aacdd9842a4
msgid "There is no point in throwing resources at a problem if you don't know:"
msgstr ""
#: ../../admin/performance.rst:40
-# 780053c9883c49e5ab0f1c0cae1655bf
msgid "what the problem is"
msgstr ""
#: ../../admin/performance.rst:41
-# 3238751f495945e580a74b824bd8fd54
msgid "what resources the problem needs"
msgstr ""
#: ../../admin/performance.rst:42
-# 270f952b5abe4487a09efd2f3f4d25c6
msgid "where those resources are needed"
msgstr ""
#: ../../admin/performance.rst:44
-# c7eefdf3637f42418ed6e9c6e4efc910
msgid "Invest in some kind of profiling to tell you where your bottleneck is, especially if you're considering throwing significant money at a problem."
msgstr ""
#: ../../admin/performance.rst:48
-# 886eddbff54e4309abf4914a544974ae
msgid "Tune MySQL"
msgstr ""
#: ../../admin/performance.rst:50
-# 7729b76554aa41bd97772dd4008a81cd
msgid "Elgg makes extensive use of the back end database, making many trips on each pageload. This is perfectly normal and a well configured database server will be able to cope with thousands of requests per second."
msgstr ""
#: ../../admin/performance.rst:53
-# ffeb8f5bc0d74e1197fb3b78ff444413
msgid "Here are some configuration tips that might help:"
msgstr ""
#: ../../admin/performance.rst:55
-# a3445f23cea74da7bad30a7421d06eb9
msgid "Make sure that MySQL is configured to use an appropriate my.cnf for the size of your website."
msgstr ""
#: ../../admin/performance.rst:56
-# e5238f104fc5480fbd22a3333cc7986a
msgid "Increase the amount of memory available to PHP and MySQL (you will have to increase the amount of memory available to the php process in any case)"
msgstr ""
#: ../../admin/performance.rst:60
-# 872047b4f7d44dc3af7d9903105125dd
msgid "Enable caching"
msgstr ""
#: ../../admin/performance.rst:62
-# 0b4573d208604ffb8b1334588675bc67
msgid "Generally, if a program is slow, that is because it is repeatedly performing an expensive computation or operation. Caching allows the system to avoid doing that work over and over again by using memory to store the results so that you can skip all the work on subsequent requests. Below we discuss several generally-available caching solutions relevant to Elgg."
msgstr ""
#: ../../admin/performance.rst:69
-# 771301c338fc48cd8a36ea76897225f9
msgid "Simplecache"
msgstr ""
#: ../../admin/performance.rst:71
-# 31e76fa0a9ba485bab7f449b31c61ee1
msgid "By default, views are cached in the Elgg data directory for a given period of time. This removes the need for a view to be regenerated on every page load."
msgstr ""
#: ../../admin/performance.rst:74
-# 9e1c3886cc3844de9e8d66a13fd4fe1a
msgid "This can be disabled by setting ``$CONFIG->simplecache_enabled = false;`` For best performance, make sure this value is set to ``true``."
msgstr ""
#: ../../admin/performance.rst:77
-# e943816eb57d4ad5a89e1a44096493d6
msgid "This does lead to artifacts during development if you are editing themes in your plugin as the cached version will be used in preference to the one provided by your plugin."
msgstr ""
#: ../../admin/performance.rst:80
-# 6c17af9b6997471b8443bc7b6a660bb2
msgid "The simple cache can be disabled via the administration menu. It is recommended that you do this on your development platform if you are writing Elgg plugins."
msgstr ""
#: ../../admin/performance.rst:83
-# e9c3a5644e544bf3bf0d997582d26edb
msgid "This cache is automatically flushed when a plugin is enabled, disabled or reordered, or when upgrade.php is executed."
msgstr ""
#: ../../admin/performance.rst:87
-# 4ea69c78b1fb43a9835f096f843bf19f
msgid "System cache"
msgstr ""
#: ../../admin/performance.rst:89
-# 977b2c91ef2b4e8db4dceb7fd869cb45
msgid "The location of views are cached so that they do not have to be discovered (profiling indicated that page load took a non-linear amount of time the more plugins were enabled due to view discovery). Elgg also caches information like the language mapping and class map."
msgstr ""
#: ../../admin/performance.rst:94
-# b43223eb32d8413e853a76d7c2781fe8
msgid "This can be disabled by setting ``$CONFIG->system_cache_enabled = false;`` For best performance, make sure this value is set to ``true``."
msgstr ""
#: ../../admin/performance.rst:97
-# ea2997c0a8724e6a86d4e9787d8db80d
msgid "This is currently stored in files in your dataroot (although later versions of Elgg may use memcache). As with the simple cache it is flushed when a plugin is enabled, disabled or reordered, or when upgrade.php is executed."
msgstr ""
#: ../../admin/performance.rst:102
-# fc30d3344b8046eb927db8c34fcf839f
msgid "The system cache can be disabled via the administration menu, and it is recommended that you do this on your development platform if you are writing Elgg plugins."
msgstr ""
#: ../../admin/performance.rst:107
-# d2c94756b4eb4dbcaddac9d19bb5d85a
msgid "Database query cache"
msgstr ""
#: ../../admin/performance.rst:109
-# a7cda805459249bbbc499317ad5c52e8
msgid "For the lifetime of a given page's execution, a cache of all ``SELECT`` queries is kept. This means that for a given page load a given select query will only ever go out to the database once, even if it is executed multiple times. Any write to the database will flush this cache, so it is advised that on complicated pages you postpone database writes until the end of the page or use the ``execute_delayed_*`` functionality. This cache will be automatically cleared at the end of a page load."
msgstr ""
#: ../../admin/performance.rst:116
-# 8d8d2deb85f64c559b2c1e5d26ec06c5
msgid "You may experience memory problems if you use the Elgg framework as a library in a PHP CLI script. This can be disabled by setting ``$CONFIG->db_disable_query_cache = true;``"
msgstr ""
#: ../../admin/performance.rst:121
-# f405cf518fa149739b4366093110bb98
msgid "Etags and Expires headers"
msgstr ""
#: ../../admin/performance.rst:123
-# e19b79a28ab94432b72b78adbd186685
msgid "These technologies tell your users' browsers to cache static assets (CSS, JS, images) locally. Having these enabled greatly reduces server load and improves user-perceived performance."
msgstr ""
#: ../../admin/performance.rst:126
-# 1d202fddb30f4da28bb4f3f5bc51fc1d
msgid "Use the `Firefox yslow plugin`__ or Chrome DevTools Audits to confirm which technologies are currently running on your site."
msgstr ""
#: ../../admin/performance.rst:132
-# 8db15431835941b1b845a009243802c0
msgid "If the static assets aren't being cached:"
msgstr ""
#: ../../admin/performance.rst:130
-# 5593c0b254bc408dbe966fadaa08de02
msgid "Verify that you have these extensions installed and enabled on your host"
msgstr ""
#: ../../admin/performance.rst:131
-# 39d934163a444863abc9258cb583afba
msgid "Update your .htaccess file, if you are upgrading from a previous version of Elgg"
msgstr ""
#: ../../admin/performance.rst:132
-# 8c91e2976f3347db9e23277e5d954082
msgid "Enable Simplecache_, which turns select views into browser-cacheable assets"
msgstr ""
#: ../../admin/performance.rst:137
-# 609dba7f452a448cad40bf5b9fb3564d
msgid "Memcache"
msgstr ""
#: ../../admin/performance.rst:139
-# 17c2df1967b34bf9869d22ef1334565a
msgid "Memcache is a generic caching technology developed by Brad Fitzpatrick for LiveJournal."
msgstr ""
#: ../../admin/performance.rst:141
-# aaded9074a7f4bc99a2d886247c34cac
msgid "SUPPORT FOR MEMCACHE IS EXPERIMENTAL AND MAY BE CHANGED."
msgstr ""
#: ../../admin/performance.rst:143
-# ed1518de9ae0496eb9537ddb39b7c10f
msgid "Installation requirements:"
msgstr ""
#: ../../admin/performance.rst:145
-# 1a5ad7945e3e4d798b7cb3e32172243c
msgid "`` * php5-memcache``"
msgstr ""
#: ../../admin/performance.rst:146
-# 95a2e8d0d01544e390b3205f2de74990
msgid "`` * memcached``"
msgstr ""
#: ../../admin/performance.rst:148
-# 8f9732beb17b42ef8c2d583a23fcf9e5
msgid "Configuration:"
msgstr ""
#: ../../admin/performance.rst:150
-# 9dbb6b6be0d141b8b15742dc7ae97c98
msgid "Uncomment and populate the following sections in settings.php"
msgstr ""
#: ../../admin/performance.rst:162
-# 38044b2de4354005a620bce8a5242f91
msgid "Squid"
msgstr ""
#: ../../admin/performance.rst:164
-# baac4548be124b40996bd3e36f267943
msgid "We have had good results by using `Squid`_ to cache images for us."
msgstr ""
#: ../../admin/performance.rst:170
-# 50fd95cdb77e457fb11a7c0de176dcfb
msgid "Bytecode caching"
msgstr ""
#: ../../admin/performance.rst:172
-# 462fca8bf0b845c198ce75473cd81380
msgid "There are numerous PHP code caches available on the market. These speed up your site by caching the compiled byte code from your script meaning that your server doesn't have to compile the PHP code each time it is executed."
msgstr ""
#: ../../admin/performance.rst:178
-# e0dde0f582b647a891dc70d00a533b8b
msgid "Hosting"
msgstr ""
#: ../../admin/performance.rst:180
-# 340169fc22454da795b9b20ac7299e3d
msgid "Don't expect to run a site catering for millions of users on a cheap shared host. You will need to have your own host hardware and access over the configuration, as well as lots of bandwidth and memory available."
msgstr ""
#: ../../admin/performance.rst:185
-# aebc5b325e49483a91843d3adbd7116a
msgid "Memory, CPU and bandwidth"
msgstr ""
#: ../../admin/performance.rst:187
-# 03869ddfda814d80b9dd1079573cc2bc
msgid "Due to the nature of caching, all caching solutions will require memory. It is a fairly cheap return to throw memory and CPU at the problem."
msgstr ""
#: ../../admin/performance.rst:190
-# ddfc8a66c2184ddf87ebc5b8aaafd4e4
msgid "On advanced hardware it is likely that bandwidth is going to be your bottleneck before the server itself. Ensure that your host can support the load you are suggesting."
msgstr ""
#: ../../admin/performance.rst:194
-# dab87d1c4669460e81483561754c2781
msgid "Configuration"
msgstr ""
#: ../../admin/performance.rst:196
-# 5f5f7540f3d040ce800ef55dc37cdd88
msgid "Lastly, take a look at your configuration as there are a few gotchas that can catch people."
msgstr ""
#: ../../admin/performance.rst:198
-# 2656a131e17243799c29f590d0d41034
msgid "For example, out of the box, Apache can handle quite a high load. However, most distros of Linux come with mysql configured for small sites. This can result in Apache processes getting stalled waiting to talk to one very overloaded MySQL process."
msgstr ""
#: ../../admin/performance.rst:203
-# 530af8fa9c234ae6bf2470e63b184fda
msgid "Check for poorly-behaved plugins"
msgstr ""
#: ../../admin/performance.rst:205
-# 097e352f79c5448580c8c052f4a9c3f1
msgid "Plugins can be programmed in a very naive way and this can cause your whole site to feel slow."
msgstr ""
#: ../../admin/performance.rst:207
-# 21868124d94344c8b5a11804d861c435
msgid "Try disabling some plugins to see if that noticeably improves performance. Once you've found a likely offender, go to the original plugin author and report your findings."
msgstr ""
#: ../../admin/performance.rst:211
-# 64b0192159504f88b9e0fd10bd169216
msgid "Use client-rendered HTML"
msgstr ""
#: ../../admin/performance.rst:213
-# f19ed8ce90574bcfbc139007c5ec41f9
msgid "We've found that at a certain point, much of the time spent on the server is simply building the HTML of the page with Elgg's views system."
msgstr ""
#: ../../admin/performance.rst:216
-# daabb569d91440ecaa870f995bbedb61
msgid "It's very difficult to cache the output of templates since they can generally take arbitrary inputs. Instead of trying to cache the HTML output of certain pages or views, the suggestion is to switch to an HTML-based templating system so that the user's browser can cache the templates themselves. Then have the user's computer do the work of generating the output by applying JSON data to those templates."
msgstr ""
#: ../../admin/performance.rst:221
-# aff8caadaeb14fbb90f13ca71558ea8b
msgid "This can be very effective, but has the downside of being significant extra development cost. The Elgg team is looking to integrate this strategy into Elgg directly, since it is so effective especially on pages with repeated or hidden content."
msgstr ""
#: ../../admin/plugins.rst:2
-# 7436213339d64104a2fc4a590738ce78
msgid "Plugins"
msgstr ""
#: ../../admin/plugins.rst:4
-# d15b03b63de54865a055429317ff760c
msgid "Plugins can modify the behavior of and add new features to Elgg."
msgstr ""
#: ../../admin/plugins.rst:11
-# c1f9b94e833c495a82a8493837e02b67
msgid "Where to get plugins"
msgstr ""
#: ../../admin/plugins.rst:13
-# 0b0b8b85fa814675ab156ba90af33621
msgid "Plugins can be obtained from:"
msgstr ""
#: ../../admin/plugins.rst:15
-# 2f2746b7d745431191c708629aa22fe5
msgid "`The Elgg Community`_"
msgstr ""
#: ../../admin/plugins.rst:16
-# d449ef720aaf481c98e364fad1150e15
msgid "`Github`_"
msgstr ""
#: ../../admin/plugins.rst:17
-# 8f6a75da2f7c4d5980d816454754ef35
msgid "Third-party sites (typically for a price)"
msgstr ""
#: ../../admin/plugins.rst:19
-# 0183e0311adf4db9b3a17925fdc4dfea
msgid "If no existing plugins meet your needs, you can `hire a developer`_ or :doc:`create your own `."
msgstr ""
#: ../../admin/plugins.rst:26
-# 83ee3ea5afaf4acf96b9b04e213032aa
msgid "The Elgg Community"
msgstr ""
#: ../../admin/plugins.rst:29
-# dac590c79a98472fb1f57360748b9ffa
msgid "Finding Plugins"
msgstr ""
#: ../../admin/plugins.rst:32
-# 29a5bd1c1adc46e2a9525910ec6b73d7
msgid "Sort based on most popular"
msgstr ""
#: ../../admin/plugins.rst:34
-# c41848eeaf964af691ac2945eb67b18e
msgid "On the community plugin page, you can sort by date uploaded (Filter: Newest) or number of downloads (Filter: Most downloads). Sorting by the number of downloads is a good idea if you are new to Elgg and want to see which plugins are frequently used by other administrators. These will often (but not always) be higher quality plugins that provide significant capabilities."
msgstr ""
#: ../../admin/plugins.rst:37
-# bcbf4c8504d645d79a4de20fd8f3a59f
msgid "Use the plugin tag search"
msgstr ""
#: ../../admin/plugins.rst:39
-# bcbdece56464444bb9c588ddf3bf3d95
msgid "Next to the filtering control on the plugin page is a search box. It enables you to search by tags. Plugins authors choose the tags."
msgstr ""
#: ../../admin/plugins.rst:42
-# 512b326c4bf141e6b88ff6ebb8bc538b
msgid "Look for particular plugin authors"
msgstr ""
#: ../../admin/plugins.rst:44
-# f11816b41dcd44ea86c163d321be8adc
msgid "The quality of plugins varies substantially. If you find a plugin that works well on your site, you can check what else that plugin author has developed by clicking on their name when viewing a plugin."
msgstr ""
#: ../../admin/plugins.rst:47
-# 500f825f727f4b24bb6cf6cc71a35e07
msgid "Evaluating Plugins"
msgstr ""
#: ../../admin/plugins.rst:50
-# 34ac2c01c31c449aae53933c7f97302a
msgid "Look at the comments and ratings"
msgstr ""
#: ../../admin/plugins.rst:52
-# ee60532ed0554fb386b5e77b61cc8e78
msgid "Before downloading and using a plugin, it is always a good idea to read through the comments that others have left. If you see people complaining that the plugin does not work or makes their site unstable, you probably want to stay away from that plugin. The caveat to that is that sometimes users ignore installation instructions or incorrectly install a plugin and then leave negative feedback. Further, some plugin authors have chosen to not allow comments."
msgstr ""
#: ../../admin/plugins.rst:55
-# bb2d0564fef04534a80a8b4169d6123d
msgid "Install on a test site"
msgstr ""
#: ../../admin/plugins.rst:57
-# 0633c63a672e4e8a91b1b17d36bf8578
msgid "If you are trying out a plugin for the first time, it is a bad idea to install it on your production site. You should maintain a separate test site for evaluating plugins. It is a good idea to slowly roll out new plugins to your production site even after they pass your evaluation on your test site. This enables you to isolate problems introduced by a new plugin."
msgstr ""
#: ../../admin/plugins.rst:60
-# f923f0c72791414f8e7d35d425446aa1
msgid "Types of plugins"
msgstr ""
#: ../../admin/plugins.rst:63
-# 7c62ded4f1d24ed498acf9e0f861b0b4
msgid "Themes"
msgstr ""
#: ../../admin/plugins.rst:65
-# fa03231f64f34561a7936d1721bdd464
msgid "Themes are plugins that modify the look-and-feel of your site. They generally include stylesheets, client-side scripts and views that alter the default presentation and behavior of Elgg."
msgstr ""
#: ../../admin/plugins.rst:70
-# 40e298fb45a44e2395fffe6ca746e6b7
msgid "Language Packs"
msgstr ""
#: ../../admin/plugins.rst:72
-# dd37a2a483af4edca674863960a6907c
msgid "Language packs are plugins that provide support for other languages."
msgstr ""
#: ../../admin/plugins.rst:74
-# 828ed11660e1425c85afa21746e936b2
msgid "Language packs can extend and include translations for language strings found in the core, core plugins and/or third-party plugins."
msgstr ""
#: ../../admin/plugins.rst:77
-# 25e1aa0bea884d44852caeaa3534e252
msgid "Some of the language packs are already included in the core, and can be found in ``languages`` directory off Elgg's root directory. Individual plugins tend to include their translations under the ``languages`` directory within the plugin's root."
msgstr ""
#: ../../admin/plugins.rst:82
-# 4297e6edf67a449f8c8be67f5555a597
msgid "This structure makes it easy to create new language packs that supercede existing language strings or add support for new languages."
msgstr ""
#: ../../admin/plugins.rst:88
-# 4984d07972fc44a6bdcb90e6a8c9e2b0
msgid "All plugins reside in the ``mod`` directory of your Elgg installation."
msgstr ""
#: ../../admin/plugins.rst:97
-# a5b0c4c6ac2848ab9f925146140a8911
msgid "To install a new plugin:"
msgstr ""
#: ../../admin/plugins.rst:91
-# e1d875c7b9db428ea5c4c0631b53c8ff
msgid "extract (unzip) contents of the plugin distribution package"
msgstr ""
#: ../../admin/plugins.rst:92
-# 31472642758045cbae6e17e3214a323c
msgid "copy/FTP the extracted folder into the ``mod`` directory of your Elgg installation, making sure that ``manifest.xml`` and ``start.php`` are directly under the plugin directory (e.g. if you were to install a plugin called ``my_elgg_plugin``, plugin's manifest would need to be found at ``mod/my_elgg_plugin/manifest.xml``)"
msgstr ""
#: ../../admin/plugins.rst:97
-# 9f907955f8a240e6a7ec4d0bf13f3aa1
msgid "activate the plugin from your admin panel"
msgstr ""
#: ../../admin/plugins.rst:103
-# 97342d2706ea45f599a0552369cee028
msgid "To activate a plugin:"
msgstr ""
#: ../../admin/plugins.rst:100
-# 43b03b11c7364ff881139598892cabbb
msgid "Log in to your Elgg site with your administrator account"
msgstr ""
#: ../../admin/plugins.rst:101
-# 932f37f89c754d3ba726aff698dd583a
msgid "Go to Administration -> Configure -> Plugins"
msgstr ""
#: ../../admin/plugins.rst:102
-# c638599cf0e84ebf95c233e2cc445a26
msgid "Find your plugin in the list of installed plugins and click on the 'enable' button."
msgstr ""
#: ../../admin/plugins.rst:106
-# d7d90f58d5ba46bd98ae2afb6fbfc10b
msgid "Plugin order"
msgstr ""
#: ../../admin/plugins.rst:108
-# b860c7a8fcfc49d382b02576a41e92b3
msgid "Plugins are loaded according to the order they are listed on the Plugins page. The initial ordering after an install is more or less random. As more plugins are added by an administrator, they are placed at the bottom of the list."
msgstr ""
#: ../../admin/plugins.rst:110
-# 7d94e2ea25f7472fbfa61ce0431d0e8e
msgid "Some general rules for ordering plugins:"
msgstr ""
#: ../../admin/plugins.rst:112
-# 3da069764f78421bbe03c8cfa677ec84
msgid "A theme plugin should be last or at least near the bottom"
msgstr ""
#: ../../admin/plugins.rst:113
-# a777250b1baa44d0b0e53f12436c05eb
msgid "A plugin that modifies the behavior of another plugin should be lower in the plugin list"
msgstr ""
#: ../../admin/plugins.rst:116
-# 0398f6d5b35441a8978afe6722e5fd16
msgid "Pre-1.8 notes"
msgstr ""
#: ../../admin/plugins.rst:118
-# abd5316ad78342adacc52a58dcf14bc0
msgid "In Elgg 1.7 and below, the interface for managing installed plugins is located at Administration -> Tool Administration."
msgstr ""
#: ../../admin/upgrading.rst:2
-# 63519f650ef442bca74f198d02c349dd
msgid "Upgrading Elgg"
msgstr ""
#: ../../admin/upgrading.rst:4
-# 3d7fbd5143234ccb9d33cc6aa3086b94
msgid "Switch a live site to a new version of Elgg."
msgstr ""
#: ../../admin/upgrading.rst:6
-# 55acf4c37a0b47cebd21fb99078e7571
msgid "If you've written custom plugins, you should also read the developer guides for :doc:`information on upgrading plugin code ` for the latest version of Elgg."
msgstr ""
#: ../../admin/upgrading.rst:10
-# c7d8e71d1a0944279172198f496aeed9
msgid "Advice"
msgstr ""
#: ../../admin/upgrading.rst:12
-# f4a3fd1123ab4443a051d0210c12d21f
msgid "**Back up your database** and code"
msgstr ""
#: ../../admin/upgrading.rst:13
-# 8320909bcbe0496ba4e315b8c6a80e08
msgid "Mind any version-specific comments below"
msgstr ""
#: ../../admin/upgrading.rst:14
-# ac96dd46526a4910ac00e8dc4a382b6c
msgid "Upgrade only one minor version at a time (1.6 => 1.7, then 1.7 => 1.8)"
msgstr ""
#: ../../admin/upgrading.rst:15
-# 90a4eab531f54adbafc222b3804b3cd0
msgid "Try out the new version on a test site before doing an upgrade"
msgstr ""
#: ../../admin/upgrading.rst:16
-# 28ead24467164b2cb0a4660a06ef865a
msgid "Report any problems in plugins to the plugin authors"
msgstr ""
#: ../../admin/upgrading.rst:17
-# e5ce518bf8574e60b0a744b29a27f4d2
msgid "If you are a plugin author you can `report any backwards-compatibility issues to GitHub `_"
msgstr ""
#: ../../admin/upgrading.rst:22
-# f12ed6f5111b467586f27150547c20c5
msgid "Basic instructions"
msgstr ""
#: ../../admin/upgrading.rst:24
-# 3d0ca0401fd244e899427935709fe5ff
msgid "**Back up your database, data directory and code**"
msgstr ""
#: ../../admin/upgrading.rst:25
-# 836055af8bac43d49a5b4b490abfcbcc
msgid "Download the new version of Elgg from http://elgg.org"
msgstr ""
#: ../../admin/upgrading.rst:27
-# 57bbad6f949d47bc947a5835a4a36121
msgid "Update the files"
msgstr ""
#: ../../admin/upgrading.rst:27
-# feefa566324e45d7886a3a9b4ce53fca
msgid "If doing a patch upgrade (1.9.x), overwrite your existing files with the new version of Elgg"
msgstr ""
#: ../../admin/upgrading.rst:28
-# 0237e5720bab4a488010ddafaed9e45a
msgid "If doing a minor upgrade (1.x), replace the existing core files completely"
msgstr ""
#: ../../admin/upgrading.rst:29
-# 05f95a3fab3042d3939e1e48a7d0502b
msgid "Merge any new changes from ``htaccess_dist`` into ``.htaccess``"
msgstr ""
#: ../../admin/upgrading.rst:30
-# b91f6ab138ee411a979dad05be3fa20f
msgid "Merge any new changes from ``settings.example.php`` into ``settings.php``"
msgstr ""
#: ../../admin/upgrading.rst:31
-# f357778071634a228229bc2f54e25a4c
msgid "Visit http://your-elgg-site.com/upgrade.php"
msgstr ""
#: ../../admin/upgrading.rst:35
-# cea692770f4b4501a741edd805063328
msgid "Any modifications should have been written within plugins, so that they are not lost on overwriting. If this is not the case, take care to maintain your modifications."
msgstr ""
#: ../../admin/upgrading.rst:40
-# d32186a0ed4b48ec9901975d5834c846
msgid "If you modified the default .htaccess, be sure to port your modifications over to the new one."
msgstr ""
#: ../../admin/upgrading.rst:43
-# 2e4acb57dcc045b8945eb863ac6574a7
msgid "From 1.8 to 1.9"
msgstr ""
#: ../../admin/upgrading.rst:44
-# 4c91bef44ac3480c9ad53ac1e4d2dc6e
msgid "Elgg 1.9 is a much lighter upgrade than 1.8 was."
msgstr ""
#: ../../admin/upgrading.rst:47
-# 71c8d164f3cd40dbad73334a5de09fbc
msgid "Breaking changes"
msgstr ""
#: ../../admin/upgrading.rst:48
-# 76fadcb5afdd40ba952405822e95073a
msgid "Plugins and themes written for 1.8 are expected to be compatible with 1.9 except as it pertains to comments, discussion replies, and notifications. Please `report any backwards compatibility issues `_ besides those just listed."
msgstr ""
#: ../../admin/upgrading.rst:53
-# f78596af366e4a8891273264e11836e0
msgid "Upgrade steps"
msgstr ""
#: ../../admin/upgrading.rst:54
-# ddc9163a8cec47dc973147f5082ff8d3
msgid "There are several data migrations involved, so it is especially important that you **back up your database and data directory** before performing the upgrade."
msgstr ""
#: ../../admin/upgrading.rst:57
-# 106922fb46f84371a0610c4fc35c4f73
msgid "Download the new version and copy these files from the existing 1.8 site:"
msgstr ""
#: ../../admin/upgrading.rst:59
-# 2d93402934cc454295e9ecc54aabfe4e
msgid "``.htaccess``"
msgstr ""
#: ../../admin/upgrading.rst:60
-# 9f1d3fcd211a436c89e2aa68115ed91e
msgid "``engine/settings.php``"
msgstr ""
#: ../../admin/upgrading.rst:61
-# 7eba68d035ba4ea7b34acd0a96734b15
msgid "any 3rd-party plugin folders in the ``mod`` directory"
msgstr ""
#: ../../admin/upgrading.rst:63
-# f083ebd101364fe29f75e4f309a51ee6
msgid "Then replace the old installation directory with the new one. This way you are guaranteed to get rid of obsolete files which might cause problems if left behind."
msgstr ""
#: ../../admin/upgrading.rst:66
-# 33be5a91098a484aa44169305b7228e4
msgid "Follow the basic instructions listed above."
msgstr ""
#: ../../admin/upgrading.rst:68
-# 9f758c516bae4cc6be23ae9b969350c5
msgid "After you've visited ``upgrade.php``, go to the admin area of your site. You should see a notification that you have pending upgrades. Click the link in the notification bar to view and run the upgrades."
msgstr ""
#: ../../admin/upgrading.rst:72
-# 5df012fe794b4c5f928fd9ea4cc81342
msgid "The new notifications system delivers messages via a minutely cron handler. If you haven't done so yet, you will need to :doc:`install and configure crontab ` on your server. If cron jobs are already configured, note that the scope of available cron periods may have changed and you may need to update your current crontab to reflect these changes."
msgstr ""
#: ../../admin/upgrading.rst:79
-# c52350776bbb4a97a150886fc39ceda2
msgid "Time commitment"
msgstr ""
#: ../../admin/upgrading.rst:80
-# 488b9c7d978343e2bfd96e852b6e079a
msgid "Running all of the listed upgrades `took about 1 hour and 15 minutes`__ on the Elgg community site which at the time had to migrate:"
msgstr ""
#: ../../admin/upgrading.rst:83
-# 4fb165235d7c4d7da4f8ba1483f1cd4b
msgid "~75,000 discussion replies"
msgstr ""
#: ../../admin/upgrading.rst:84
-# faf141ee8189484a988694ee975783b2
msgid "~75,000 comments"
msgstr ""
#: ../../admin/upgrading.rst:85
-# ad52091233894524aa03461839e21cb6
msgid "~75,000 data directories"
msgstr ""
#: ../../admin/upgrading.rst:89
-# 664bfbecfdc8465fb64fc2359d26d531
msgid "You should take this only as a ballpark estimate for your own upgrade. How long it takes will depend on how large your site is and how powerful your servers are."
msgstr ""
#: ../../admin/upgrading.rst:93
-# b62b38e05b7d4e7c9e89ef17687d3c14
msgid "From 1.7 to 1.8"
msgstr ""
#: ../../admin/upgrading.rst:94
-# 4c29fc0803b64b0f92eefab26d75ef50
msgid "Elgg 1.8 is the biggest leap forward in the development of Elgg since version 1.0. As such, there is more work to update core and plugins than with previous upgrades."
msgstr ""
#: ../../admin/upgrading.rst:98
-# e72aa1b9ad8b4782a83a4d54a893afa4
msgid "Updating core"
msgstr ""
#: ../../admin/upgrading.rst:99
-# 08c90534e9a946588a607988458bf732
msgid "Delete the following core directories (same level as _graphics and engine):"
msgstr ""
#: ../../admin/upgrading.rst:101
-# 2d29821ad3c14691a388bb112d767302
msgid "_css"
msgstr ""
#: ../../admin/upgrading.rst:102
-# c8e8d76902c74e89a755d56fe57d78e6
msgid "account"
msgstr ""
#: ../../admin/upgrading.rst:103
-# 899cabacf60f498fba00834384ff2364
msgid "admin"
msgstr ""
#: ../../admin/upgrading.rst:104
-# 50efd22442fd44479c167e30e233b804
msgid "dashboard"
msgstr ""
#: ../../admin/upgrading.rst:105
-# 9ba3e7fbd00e450bb2bd2168994e8a55
msgid "entities"
msgstr ""
#: ../../admin/upgrading.rst:106
-# 94a3742430f24f78a25b31f6784536a0
msgid "friends"
msgstr ""
#: ../../admin/upgrading.rst:107
-# 3381565fb11c4020828640abfc956e93
msgid "search"
msgstr ""
#: ../../admin/upgrading.rst:108
-# 6177dacd1e4a422480528f53ca470f81
msgid "settings"
msgstr ""
#: ../../admin/upgrading.rst:109
-# 21457662b03d40a99ff5d95fa89ac739
msgid "simplecache"
msgstr ""
#: ../../admin/upgrading.rst:110
-# 47761e8c0f1b4396b65786f4b1dea696
msgid "views"
msgstr ""
#: ../../admin/upgrading.rst:114
-# e5f0bd418673429e9d2154c8ae52ce8a
msgid "If you do not delete these directories before an upgrade, you will have problems!"
msgstr ""
diff --git a/docs/locale/pot/appendix.pot b/docs/locale/pot/appendix.pot
index 2c365ef23aa..22b2b209164 100644
--- a/docs/locale/pot/appendix.pot
+++ b/docs/locale/pot/appendix.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,563 +17,404 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../appendix/faqs.rst:2
-# 59db63b8742e433eb54f52dacd1e133f
msgid "FAQs and Other Troubleshooting"
msgstr ""
#: ../../appendix/faqs.rst:4
-# d6484c8319e14c7295ce347731aa1f39
msgid "Below are some commonly asked questions about Elgg."
msgstr ""
#: ../../appendix/faqs.rst:0
-# edaf8332540c45df83e135b212a43b7d
msgid "Contents"
msgstr ""
#: ../../appendix/faqs/general.rst:2
#: ../../appendix/faqs/general.rst:2
-# 6c2fe6e8923b4af685480bad6b0d7f31
-# 9d830a909d854451a7ed95facea201fa
msgid "General"
msgstr ""
#: ../../appendix/faqs/general.rst:6
#: ../../appendix/faqs/general.rst:6
-# f22fa32e0f454bb68422f868bf7c7bc3
-# a715d2d51a094671bf8c140cce453ea8
msgid ":doc:`/admin/getting-help`"
msgstr ""
#: ../../appendix/faqs/general.rst:9
#: ../../appendix/faqs/general.rst:9
-# b914c98cde2248679b29ac4ddb93cccd
-# 0831b6780a724b2d9f5fa768000b0e2d
msgid "\"Plugin cannot start and has been deactivated\" or \"This plugin is invalid\""
msgstr ""
#: ../../appendix/faqs/general.rst:10
#: ../../appendix/faqs/general.rst:10
-# 30fc2a58d08f42c081fd4f8231d8a1f5
-# e68f29aab5224ceab578dfabb72c74a7
msgid "This error is usually accompanied by more details explaining why the plugin is invalid. This is usually caused by an incorrectly installed plugin."
msgstr ""
#: ../../appendix/faqs/general.rst:13
#: ../../appendix/faqs/general.rst:13
-# 11afbb3f899e45b6b21611f022118a6a
-# 35b8953248e04d3ab4233287771c26a6
msgid "If you are installing a plugin called \"test\", there will be a test directory under mod. In that test directory there needs to be a start.php file: ``/mod/test/start.php`` and a manifest.xml file ``/mod/test/manifest.xml``."
msgstr ""
#: ../../appendix/faqs/general.rst:19
#: ../../appendix/faqs/general.rst:19
-# 7809ea2c3871429d951ea4bec2aa950f
-# 2389c0955aeb4daca9c67d209176b282
msgid "If these files do not exist, it could be caused by:"
msgstr ""
#: ../../appendix/faqs/general.rst:16
#: ../../appendix/faqs/general.rst:16
-# f67ad3c29ea9418dae08c2f1ce4af05d
-# 450185e122dd4c85917d220ea331968f
msgid "installing a plugin to the wrong directory"
msgstr ""
#: ../../appendix/faqs/general.rst:17
#: ../../appendix/faqs/general.rst:17
-# ffb2909e0b0c4f2fbf7cb6d69b530fa7
-# 01719a12e910421388c10ef334febb9e
msgid "creating a directory under /mod that does not contain a plugin"
msgstr ""
#: ../../appendix/faqs/general.rst:18
#: ../../appendix/faqs/general.rst:18
-# 7e598aa6227b43ca84e36773e74b533d
-# 36fe9d4279db405a8415fb95444fe58a
msgid "a bad ftp transfer"
msgstr ""
#: ../../appendix/faqs/general.rst:19
#: ../../appendix/faqs/general.rst:19
-# c8a58f8b6c744ff1b2a1ae9a5087bb9f
-# bc609911abb84328a626d537333e3da1
msgid "unzipping a plugin into an extra directory (myplugin.zip unzips to ``myplugin/myplugin``)"
msgstr ""
#: ../../appendix/faqs/general.rst:21
#: ../../appendix/faqs/general.rst:21
-# 066ebd5b7e4b4a6eae19e2c357b33ecb
-# 3e2967d96b0e46318d08c199e7a93c98
msgid "If you are on a Unix-based host and the files exist in the correct directory, check the permissions. Elgg must have read access to the files and read + execute access on the directories."
msgstr ""
#: ../../appendix/faqs/general.rst:24
#: ../../appendix/faqs/general.rst:24
-# e7644e490f0945338657e746dbd47361
-# 3ef8ff2d21f5480b9b3d27232c887518
msgid "White Page (WSOD)"
msgstr ""
#: ../../appendix/faqs/general.rst:29
#: ../../appendix/faqs/general.rst:29
-# b21d42d5f5c14dc0b93f41e97e76087d
-# 82c6e8af4b4b4c8b8c80c0a3bf53b956
msgid "A blank, white page (often called a \"white screen of death\") means there is a PHP syntax error. There are a few possible causes of this:"
msgstr ""
#: ../../appendix/faqs/general.rst:27
#: ../../appendix/faqs/general.rst:27
-# 50e842f7a56f4042acc0e0fdba6b3e4b
-# afd66e1a6a8b485aa66e806f80aaf63c
msgid "corrupted file - try transfering the code again to your server"
msgstr ""
#: ../../appendix/faqs/general.rst:28
#: ../../appendix/faqs/general.rst:28
-# c4d52e203bd646ebb2dbed95f82e4fd9
-# 5e38a687d75e4617b05e4adedb6e690f
msgid "a call to a php module that was not loaded - this can happen after you install a plugin that requires a specific module."
msgstr ""
#: ../../appendix/faqs/general.rst:29
#: ../../appendix/faqs/general.rst:29
-# 146073af5db84d038d0d97c03bc6db64
-# a9b3c730f1434b13888efc1c1bce07c3
msgid "bad plugin - not all plugins have been written to the same quality so you should be careful which ones you install."
msgstr ""
#: ../../appendix/faqs/general.rst:31
#: ../../appendix/faqs/general.rst:31
-# 1bcf39ca99024196ba4572a32b51db68
-# c6ce44f735e24357a04076cbeb6bc301
msgid "To find where the error is occurring, change the .htaccess file to display errors to the browser. Set display_errors to 1 and load the same page again. You should see a PHP error in your browser. Change the setting back once you've resolved the problem."
msgstr ""
#: ../../appendix/faqs/general.rst:35
#: ../../appendix/faqs/general.rst:35
-# 66a873fe9eb0411db7f4690b368ed3c4
-# 6b31cf8c06c64bb68dc42c791c2fafbe
msgid "If you are using the Developer's Tools plugin, go to its settings page and make sure you have \"Display fatal PHP errors\" enabled."
msgstr ""
#: ../../appendix/faqs/general.rst:37
#: ../../appendix/faqs/general.rst:37
-# f258220ebdfd4f02919e9357283d9bca
-# ccfb4c9ab8984a31a071b4a8eee462bd
msgid "If the white screen is due to a bad plugin, remove the latest plugins that you have installed by deleting their directories and then reload the page."
msgstr ""
#: ../../appendix/faqs/general.rst:41
#: ../../appendix/faqs/general.rst:41
-# 4affe4a8bdf44658a9e1db164c9c88a9
-# d22359f06028467c81f460504d3b4588
msgid "You can temporarily disable all plugins by creating an empty file at ``mod/disabled``. You can then disable the offending module via the administrator tools panel."
msgstr ""
#: ../../appendix/faqs/general.rst:43
#: ../../appendix/faqs/general.rst:43
-# 1138fa11404c4d468f82aec451284d57
-# 807e5be696b848c299a8d4ba770cc3f2
msgid "If you are getting a WSOD when performing an action, like logging in or posting a blog, but there are no error messages, it's most likely caused by non-printable characters in plugin code. Check the plugin for white spaces/new lines characters after finishing php tag (``?>``) and remove them."
msgstr ""
#: ../../appendix/faqs/general.rst:46
#: ../../appendix/faqs/general.rst:46
-# 51202a9074b940e3aff96fe37e33d4a8
-# adda18adfa47461d8b5d8b2268fb1dfa
msgid "Page not found"
msgstr ""
#: ../../appendix/faqs/general.rst:48
#: ../../appendix/faqs/general.rst:48
-# 527c78dec08a4d2bb3ba5f2eefc403f6
-# 25ab165e2f25434e83b07970b0ec041f
msgid "If you have recently installed your Elgg site, the most likely cause for a page not found error is that ``mod_rewrite`` is not setup correctly on your server. There is information in the :doc:`Install Troubleshooting ` page on fixing this. The second most likely cause is that your site url in your database is incorrect."
msgstr ""
#: ../../appendix/faqs/general.rst:50
#: ../../appendix/faqs/general.rst:50
-# fd6ed749373d4293b00dbefb1e333598
-# d05d28536b2a45c495c80e52c24cb673
msgid "If you've been running your site for a while and suddenly start getting page not found errors, you need to ask yourself what has changed. Have you added any plugins? Did you change your server configuration?"
msgstr ""
#: ../../appendix/faqs/general.rst:52
#: ../../appendix/faqs/general.rst:52
-# 70eb949de4a14a53826fb8231ff00f17
-# 6ba3c63f87d24789aecb67c2734ddb0a
msgid "To debug a page not found error:"
msgstr ""
#: ../../appendix/faqs/general.rst:54
#: ../../appendix/faqs/general.rst:54
-# 52076d2203724682903c6536e55574d6
-# bb92fd46abbb416ca6592c6b37686351
msgid "Confirm that the link leading to the missing page is correct. If not, how is that link being generated?"
msgstr ""
#: ../../appendix/faqs/general.rst:55
#: ../../appendix/faqs/general.rst:55
-# e19fd508171348839a5c232b318e1532
-# ef65646105874cda88a14e7b35b0c268
msgid "Confirm that the ``.htaccess`` rewrite rules are being picked up."
msgstr ""
#: ../../appendix/faqs/general.rst:58
#: ../../appendix/faqs/general.rst:58
-# 8abff9e9e14b4d7b8ea40366eec15d99
-# 2868b3748cf14c36bd6d92b06939c842
msgid "Login token mismatch"
msgstr ""
#: ../../appendix/faqs/general.rst:60
#: ../../appendix/faqs/general.rst:60
-# 7fb9805bcee44ff0be33df54901855bc
-# 10f8e26656b24ab691eb8d35a1d48278
msgid "If you have to log in twice to your site and the error message after the first attempt says there was a token mismatch error, the URL in Elgg's settings does not match the URL used to access it. The most common cause for this is adding or removing the \"www\" when accessing the site. For example, www.elgg.org vs elgg.org. This causes a problem with session handling because of the way that web browsers save cookies."
msgstr ""
#: ../../appendix/faqs/general.rst:62
#: ../../appendix/faqs/general.rst:62
-# 804ffbfbe84f4ee4a47fbfcbfd2d1a63
-# 345230616e05450681486184065a76b7
msgid "To fix this, you can add rewrite rules. To redirect from www.elgg.org to elgg.org in Apache, the rules might look like::"
msgstr ""
#: ../../appendix/faqs/general.rst:68
#: ../../appendix/faqs/general.rst:68
-# 9a6046ed8bf54b3bb93b2671ab5c6302
-# cad35f18da424834950b01e400e6df8d
msgid "Redirecting from non-www to www could look like this::"
msgstr ""
#: ../../appendix/faqs/general.rst:73
#: ../../appendix/faqs/general.rst:73
-# a6bdb813ab404f84b45c34823e4d9a58
-# 995d07ae21ff46db895a19dc1eca9bf9
msgid "If you don't know how to configure rewrite rules, ask your host for more information."
msgstr ""
#: ../../appendix/faqs/general.rst:76
#: ../../appendix/faqs/general.rst:76
-# e0f0bef04ba64959ab50f06c0855e352
-# e2c779bf8b924f8488b208ea62df1af3
msgid "Form is missing __token or __ts fields"
msgstr ""
#: ../../appendix/faqs/general.rst:78
#: ../../appendix/faqs/general.rst:78
-# 574eced852ba4b43bef65772fc90330e
-# 8bf6db9fde6d4b7fada1ebbf2ef05556
msgid "All Elgg actions require a security token, and this error occurs when that token is missing. This is either a problem with your server configuration or with a 3rd party plugin."
msgstr ""
#: ../../appendix/faqs/general.rst:80
#: ../../appendix/faqs/general.rst:80
-# 43cc6ce4b27f4a5bb6d36a448e5b8f7d
-# cdda91062e4f427cb83a7b317b7206f7
msgid "If you experience this on a new installation, make sure that your server is properly configured and your rewrite rules are correct. If you experience this on an upgrade, make sure you have updated your rewrite rules either in .htaccess (Apache) or in the server configuration."
msgstr ""
#: ../../appendix/faqs/general.rst:82
#: ../../appendix/faqs/general.rst:82
-# 1c914470a6fe486a88356a28a8484b66
-# b84c21805117490dbb45880bd718a2a2
msgid "If you are experiencing this, disable all 3rd party plugins and try again. Very old plugins for Elgg don't use security tokens. If the problem goes away when plugins are disabled, it's due to a plugin that should be updated by its author."
msgstr ""
#: ../../appendix/faqs/general.rst:85
#: ../../appendix/faqs/general.rst:85
-# 4e57a2b75b5c4e3e99d2da1405d8361f
-# 7a521fdb9834422c9fe4c8b43bd98b27
msgid "Maintenance mode"
msgstr ""
#: ../../appendix/faqs/general.rst:87
#: ../../appendix/faqs/general.rst:87
-# eb20fff5353949ecb06283449680f5d7
-# b1a53e6c382848318325eaaad6cb707b
msgid "To take your site temporarily offline, go to Administration -> Utilities -> Maintenance Mode. Complete the form and hit save to disable your site for everyone except admin users."
msgstr ""
#: ../../appendix/faqs/general.rst:90
#: ../../appendix/faqs/general.rst:90
-# 560ddd4becf0482b851466fd46243c1a
-# d9924a798888480782018c188841d922
msgid "Missing email"
msgstr ""
#: ../../appendix/faqs/general.rst:92
#: ../../appendix/faqs/general.rst:92
-# 406cbab8e64243939b97065ad4e81d43
-# 426d98d39d7247cfabf19ff175c892f8
msgid "If your users are reporting that validation emails are not showing up, have them check their spam folder. It is possible that the emails coming from your server are being marked as spam. This depends on many factors such as whether your hosting provider has a problem with spammers, how your PHP mail configuration is set up, what mail transport agent your server is using, or your host limiting the number of email that you can send in an hour."
msgstr ""
#: ../../appendix/faqs/general.rst:94
#: ../../appendix/faqs/general.rst:94
-# f73666a68c104f548dc2216a07e344e0
-# 4646969351894c279648d8638f20629a
msgid "If no one gets email at all, it is quite likely your server is not configured properly for email. Your server needs a program to send email (called a Mail Transfer Agent - MTA) and PHP must be configured to use the MTA."
msgstr ""
#: ../../appendix/faqs/general.rst:96
#: ../../appendix/faqs/general.rst:96
-# a324028e63d949099593da4c428fc150
-# 12fc43336fb84cf6a65ddf4660673771
msgid "To quickly check if PHP and an MTA are correctly configured, create a file on your server with the following content:"
msgstr ""
#: ../../appendix/faqs/general.rst:115
#: ../../appendix/faqs/general.rst:115
-# ec5600ce82e943feb00ec0edfef81b81
-# 85e49b131f2849bc92fbde17150c29f0
msgid "Be sure to replace \"your_email@your_host.com\" with your actual email address. Take care to keep quotes around it! When you access this page through your web browser, it will attempt to send a test email. This test will let you know that PHP and your MTA are correctly configured. If it fails--either you get an error or you never receive the email--you will need to do more investigating and possibly contact your service provider."
msgstr ""
#: ../../appendix/faqs/general.rst:117
#: ../../appendix/faqs/general.rst:117
-# 738c6a9cbc3f4443976a9ebab20f104d
-# 64f7b9b8c04f4e2e908bc45a15226c65
msgid "Fully configuring an MTA and PHP's email functionality is beyond the scope of this FAQ and you should search the Internet for more resources on this. Some basic information on php parameters can be found on `PHP's site`__"
msgstr ""
#: ../../appendix/faqs/general.rst:123
#: ../../appendix/faqs/general.rst:123
-# b80dc96fa2bc491e920dcbcadc3b8b34
-# 56ffb57d92004f10ac1fae0e27cdf037
msgid "Server logs"
msgstr ""
#: ../../appendix/faqs/general.rst:125
#: ../../appendix/faqs/general.rst:125
-# 1b9f8a2423b94c6caeda58488ed307d0
-# ed4e9efb37dc40aaab923ced755117f4
msgid "Most likely you are using Apache as your web server. Warnings and errors are written to a log by the web server and can be useful for debugging problems. You will commonly see two types of log files: access logs and error logs. Information from PHP and Elgg is written to the server error log."
msgstr ""
#: ../../appendix/faqs/general.rst:127
#: ../../appendix/faqs/general.rst:127
-# 62df6e308efd475f935e7576f74f4be4
-# d9da694a3b404eba82c0a02b93e98bf9
msgid "Linux -- The error log is probably in /var/log/httpd or /var/log/apache2."
msgstr ""
#: ../../appendix/faqs/general.rst:128
#: ../../appendix/faqs/general.rst:128
-# 861f10c553d749c6b88c7e787b03e74f
-# 4394bab8ef7343fcba0af62403431355
msgid "Windows - It is probably inside your Apache directory."
msgstr ""
#: ../../appendix/faqs/general.rst:129
#: ../../appendix/faqs/general.rst:129
-# e3f54d6117184ebf81e074e627f81ff6
-# 7eccf646ce41421191b2171ea7de0cea
msgid "Mac OS - The error log is probably in /var/log/apache2/error_log"
msgstr ""
#: ../../appendix/faqs/general.rst:131
#: ../../appendix/faqs/general.rst:131
-# 4e0994f2a3b4423c9c3966e7e9823521
-# 31aba1b9b12340f0b469ccf1e711c644
msgid "If you are using shared hosting without ssh access, your hosting provider may provide a mechanism for obtaining access to your server logs. You will need to ask them about this."
msgstr ""
#: ../../appendix/faqs/general.rst:134
#: ../../appendix/faqs/general.rst:134
-# 7b0d7cf7d5284c4b80f57dff5cdfa3d9
-# 0a22fe03b6564a1c8184d16866e8b93b
msgid "How does registration work?"
msgstr ""
#: ../../appendix/faqs/general.rst:136
#: ../../appendix/faqs/general.rst:136
-# 2817ea099b8648edb0cab95364efc4b6
-# 30e7070dc7e94eaf9bc39e8ac2decc7b
msgid "With a default setup, this is how registration works:"
msgstr ""
#: ../../appendix/faqs/general.rst:138
#: ../../appendix/faqs/general.rst:138
-# 5bff7b6d8f0441d49f60ba83b2c6fa3c
-# 94201ae44fb447d98bf094121c34ea27
msgid "User fills out registration form and submits it"
msgstr ""
#: ../../appendix/faqs/general.rst:139
#: ../../appendix/faqs/general.rst:139
-# e26bbd06c6dc49c3aad22ab25c840079
-# cc53338e26cc4d6597d6549c31511768
msgid "User account is created and disabled until validated"
msgstr ""
#: ../../appendix/faqs/general.rst:140
#: ../../appendix/faqs/general.rst:140
-# 0ab977b58ce74857a1ba06aefc7131a6
-# 427567dfa1624c058291af40e9cce31d
msgid "Email is sent to user with a link to validate the account"
msgstr ""
#: ../../appendix/faqs/general.rst:141
#: ../../appendix/faqs/general.rst:141
-# 5415fd45a65a4ba2a5b39aaa88e40035
-# bdb9c7164b0444588bbb84203f133371
msgid "When a user clicks on the link, the account is validated"
msgstr ""
#: ../../appendix/faqs/general.rst:142
#: ../../appendix/faqs/general.rst:142
-# 53618feecbdf488ab9c40a68de77feee
-# 1d2bba4682c940998e319f232dd9f996
msgid "The user can now log in"
msgstr ""
#: ../../appendix/faqs/general.rst:144
#: ../../appendix/faqs/general.rst:144
-# 0461d78ae52941c4864256a44527cd91
-# a9c08a31bad643148d8a59ff81e0de52
msgid "Failures during this process include the user entering an incorrect email address, the validation email being marked as spam, or a user never bothering to validate the account."
msgstr ""
#: ../../appendix/faqs/general.rst:147
#: ../../appendix/faqs/general.rst:147
-# 34ed990fec18423b875d07d07e5bf469
-# d639f6b4f2f74d489bde020b1d019389
msgid "User validation"
msgstr ""
#: ../../appendix/faqs/general.rst:149
#: ../../appendix/faqs/general.rst:149
-# de10d73634674ec6a47b9aae81808fb0
-# c92d66d239b34cf7bb1b7ddf7c09434b
msgid "By default, all users who self-register must validate their accounts through email. If a user has problems validating an account, you can validate users manually by going to Administration -> Users -> Unvalidated."
msgstr ""
#: ../../appendix/faqs/general.rst:152
#: ../../appendix/faqs/general.rst:152
-# 1a247b9602e54399b919f6697b6cfa99
-# 96e61524b89e4b40b958eed0528defb6
msgid "You can remove this requirement by deactivating the User Validation by Email plugin."
msgstr ""
#: ../../appendix/faqs/general.rst:156
#: ../../appendix/faqs/general.rst:156
-# 2919c6f303564fb1ae785102130771f6
-# cb7e66111f3643cfa38e1fb326562d4e
msgid "Removing validation has some consequences: There is no way to know that a user registered with a working email address, and it may leave you system open to spammers."
msgstr ""
#: ../../appendix/faqs/general.rst:159
#: ../../appendix/faqs/general.rst:159
-# dd0c7d169da54cf48960481be785e2c5
-# cfdf9525ff6b4a99ad8fdbc0b7df02d6
msgid "Manually add user"
msgstr ""
#: ../../appendix/faqs/general.rst:161
#: ../../appendix/faqs/general.rst:161
-# c63cfe71860d45468bc3d3dd888fc6ad
-# d9935cdae2664baba752fc276d18fb17
msgid "To manually add a user, under the Administer controls go to Users. There you will see a link title \"Add new User\". After you fill out the information and submit the form, the new user will receive an email with username and password and a reminder to change the password."
msgstr ""
#: ../../appendix/faqs/general.rst:165
#: ../../appendix/faqs/general.rst:165
-# 7dac1ef3aa2340e3b7435eb0befc22e7
-# f1124d555bfb4937a55d5ac541eab70f
msgid "Elgg does not force the user to change the password."
msgstr ""
#: ../../appendix/faqs/general.rst:168
#: ../../appendix/faqs/general.rst:168
-# 6710f15e96694a8cb627cdb1fc9eae83
-# 5d054cca90ff4474aeda9c0744102586
msgid "I'm making or just installed a new theme, but graphics or other elements aren't working"
msgstr ""
#: ../../appendix/faqs/general.rst:170
#: ../../appendix/faqs/general.rst:170
-# 5978a867ea5f4ed082c25aef3a694f38
-# 943cd9579b834c4b8e0ba20f20f8fefa
msgid "Make sure the theme is at the bottom of the plugin list."
msgstr ""
#: ../../appendix/faqs/general.rst:172
#: ../../appendix/faqs/general.rst:172
-# 0aec1cbf763044858bd82f8764d06835
-# 2d754a39c289435c99b4a7ce9ac5ca5b
msgid "Clear your browser cache and reload the page. To lighten the load on the server, Elgg instructs the browser to rarely load the CSS file. A new theme will completely change the CSS file and a refresh should cause the browser to request the CSS file again."
msgstr ""
#: ../../appendix/faqs/general.rst:174
#: ../../appendix/faqs/general.rst:174
-# aa4d37d1ba1a489f9dfb7986b7387616
-# 2e17318997c4418f9927687f518adc83
msgid "If you're building or modifying a theme, make sure you have disabled the simple and system caches. This can be done by enabling the Developer Tools plugin, then browsing to Administration -> Develop -> Settings. Once you're satisfied with the changes, enable the caches or performance will suffer."
msgstr ""
#: ../../appendix/faqs/general.rst:178
#: ../../appendix/faqs/general.rst:178
-# 920e4d84632e48fa8bf5c4377f34fad5
-# 0423fdddde254d9db4b515dd2a6a981f
msgid "Changing profile fields"
msgstr ""
#: ../../appendix/faqs/general.rst:180
#: ../../appendix/faqs/general.rst:180
-# 9bf2ce33f1d647e391555319076d32f7
-# 1999e98725f24735a39472441726ad5b
msgid "Within the Administration settings of Elgg is a page for replacing the default profile fields. Elgg by default gives the administrator two choices:"
msgstr ""
#: ../../appendix/faqs/general.rst:182
#: ../../appendix/faqs/general.rst:182
-# 7f8713c42a3f43edb03e216f0a3b414c
-# 0ea83253e2b240548378e5450b532b70
msgid "Use the default profile fields"
msgstr ""
#: ../../appendix/faqs/general.rst:183
#: ../../appendix/faqs/general.rst:183
-# d671b2b317524a4388b2aa67ca235998
-# b3fe1bafb0c0475d8141fdad2bfb9219
msgid "Replace the default with a set of custom profile fields"
msgstr ""
#: ../../appendix/faqs/general.rst:185
#: ../../appendix/faqs/general.rst:185
-# 9ce8b1dbc3754310be89686b87ab4330
-# 5f7e82fb52154a87b38d8afb124d3431
msgid "You cannot add new profile fields to the default ones. Adding a new profile field through the replace profile fields option clears the default ones. Before letting in users, it is best to determine what profile fields you want, what field types they should be, and the order they should appear. You cannot change the field type or order or delete fields after they have been created without wiping the entire profile blank."
msgstr ""
#: ../../appendix/faqs/general.rst:187
#: ../../appendix/faqs/general.rst:187
-# da8704e87ac84f53a7efe4a4d312698e
-# db49e669d3cd41e5a49ba5a8387b2946
msgid "More flexibility can be gained through plugins. There is at least two plugins on the community site that enable you to have more control over profile fields. The `Profile Manager`_ plugin has become quite popular in the Elgg community. It lets you add new profile fields whenever you want, change the order, group profile fields, and add them to registration."
msgstr ""
#: ../../appendix/faqs/general.rst:192
#: ../../appendix/faqs/general.rst:192
-# bd4883d9bfe4484a934617eb40a17311
-# 08cc19c964a04a299eba4baf17d4051a
msgid "Changing registration"
msgstr ""
#: ../../appendix/faqs/general.rst:194
#: ../../appendix/faqs/general.rst:194
-# c776fe93eddf4f6abb0711ca99882605
-# 9484a584a8b84594930238df0b484b0f
msgid "The registration process can be changed through a plugin. Everything about registration can be changed: the look and feel, different registration fields, additional validation of the fields, additional steps and so on. These types of changes require some basic knowledge of HTML, CSS, PHP."
msgstr ""
#: ../../appendix/faqs/general.rst:196
#: ../../appendix/faqs/general.rst:196
-# 2613eeef10704f2597e917d69acbc7ed
-# 3ae3f9b82dc645f69653aa0781b36bd4
msgid "Another option is to use the `Profile Manager`_ plugin that lets you add fields to both user profiles and the registration form."
msgstr ""
@@ -581,10 +422,6 @@ msgstr ""
#: ../../appendix/faqs/development.rst:36
#: ../../appendix/faqs/development.rst:36
#: ../../appendix/faqs/general.rst:199
-# 429142c6d0c4497d9a75e0104e6a7b83
-# aad54b0356064d93a66fe3ec9109f8ba
-# 17e5dffa41714bd293d7f5543ae45e7b
-# 6310f1927cc942cbb371abcf88c89e69
msgid "Create the plugin skeleton"
msgstr ""
@@ -592,1403 +429,1028 @@ msgstr ""
#: ../../appendix/faqs/development.rst:38
#: ../../appendix/faqs/development.rst:38
#: ../../appendix/faqs/general.rst:199
-# 85d9ca3dc40149ed8bf6d125fe472c3d
-# daa34dbe45104965b0d5b962fc5666ee
-# 3f723221b0294bc1b2dd42882527e9e3
-# 6c2e96dbf87e4e26b36ac4e8bebb68bd
msgid ":doc:`/guides/plugins/plugin-skeleton`"
msgstr ""
#: ../../appendix/faqs/general.rst:202
#: ../../appendix/faqs/general.rst:202
-# f0e5e6df5cec4ba5974153b0872caab3
-# 59d595fdba7b47a1b8c6c7beb7835dbd
msgid "Changing registration display"
msgstr ""
#: ../../appendix/faqs/general.rst:202
#: ../../appendix/faqs/general.rst:202
-# fc0b8c24bf5d4e0fabb1684de9e3c1e5
-# ebe56a32c1434708a4954c1fc4ff099b
msgid "Override the ``account/forms/register`` view"
msgstr ""
#: ../../appendix/faqs/general.rst:205
#: ../../appendix/faqs/general.rst:205
-# cdf18d991dde4c09b3f8a0d34101253f
-# a0b4faa6e4b24ae0a2120946eda91af9
msgid "Changing the registration action handler"
msgstr ""
#: ../../appendix/faqs/general.rst:205
#: ../../appendix/faqs/general.rst:205
-# 44e3eaaa436342b0915d5f23a5cdef0b
-# da9f25d584114a049af332fc94248f8e
msgid "You can write your own action to create the user's account"
msgstr ""
#: ../../appendix/faqs/general.rst:208
#: ../../appendix/faqs/general.rst:208
-# 3e04c0818ee048679ba175ea45bfa072
-# 1c01274d89824fa4ad300e45326d4763
msgid "How do I change PHP settings using .htaccess?"
msgstr ""
#: ../../appendix/faqs/general.rst:210
#: ../../appendix/faqs/general.rst:210
-# 15d9016a8dbc48908bc49548f2f96443
-# 0972c0b169ae44f2a8e6ae2b9bd48575
msgid "You may want to change php settings in your ``.htaccess`` file. This is especially true if your hosting provider does not give you access to the server's ``php.ini`` file. The variables could be related to file upload size limits, security, session length, or any number of other php attributes. For examples of how to do this, see the `PHP documentation`_ on this."
msgstr ""
#: ../../appendix/faqs/general.rst:215
#: ../../appendix/faqs/general.rst:215
-# ebc5229aebdd48ba832f7fdb3459977b
-# ea63944f9fa54cbb8eb86d3c09428543
msgid "HTTPS login turned on accidently"
msgstr ""
#: ../../appendix/faqs/general.rst:217
#: ../../appendix/faqs/general.rst:217
-# d78cc9b2276e44a885cb054d99736a6b
-# ece393e785ff425c920af393023705e9
msgid "If you have turned on HTTPS login but do not have SSL configured, you are now locked out of your Elgg install. To turn off this configuration parameter, you will need to edit your database. Use a tool like phpMyAdmin to view your database. Select the ``config`` table and delete the row that has the name ``https_login``."
msgstr ""
#: ../../appendix/faqs/general.rst:220
#: ../../appendix/faqs/general.rst:220
-# 142d369adade43a8a7de090467c14ab6
-# a20b7174f86e41a1b0e9b0b4efc1a515
msgid "Using a test site"
msgstr ""
#: ../../appendix/faqs/general.rst:222
#: ../../appendix/faqs/general.rst:222
-# 0ad7c1a3dc6441ea8cd6dfbc49d8dbbd
-# d17cbad538db43f2a462241597a39d25
msgid "It is recommended to always try out new releases or new plugins on a test site before running them on a production site (a site with actual users). The easiest way to do this is to maintain a separate install of Elgg with dummy accounts. When testing changes it is important to use dummy accounts that are not admins to test what your users will see."
msgstr ""
#: ../../appendix/faqs/general.rst:224
#: ../../appendix/faqs/general.rst:224
-# 38ac1dd502474ab0b6aa407cae9481fb
-# c46da828e68c404fb81c53e46e38344f
msgid "A more realistic test is to mirror the content from your production site to your test site. Following the instructions for :doc:`duplicating a site `. Then make sure you prevent emails from being sent to your users. You could write a small plugin that redirects all email to your own account (be aware of plugins that include their own custom email sending code so you'll have to modify those plugins). After this is done you can view all of the content to make sure the upgrade or new plugin is functioning as desired and is not breaking anything. If this process sounds overwhelming, please stick with running a simple test site."
msgstr ""
#: ../../appendix/faqs/general.rst:227
#: ../../appendix/faqs/general.rst:227
-# 2b7ceae6d1404996b92b97e313ed07c4
-# 859cfb07e6094bcf993837db1c109836
msgid "500 - Internal Server Error"
msgstr ""
#: ../../appendix/faqs/general.rst:230
#: ../../appendix/faqs/general.rst:230
-# eac3f818f33d4e809f16cd5643331e5a
-# 653e80abb53d4f00831aa6aa204220c4
msgid "What is it?"
msgstr ""
#: ../../appendix/faqs/general.rst:232
#: ../../appendix/faqs/general.rst:232
-# 959debe488704423ad70dbd48309da2d
-# 85d59ec423224de082e3e605dbc6f23d
msgid "A **500 - Internal Server Error** means the web server experienced a problem serving a request."
msgstr ""
#: ../../appendix/faqs/general.rst:236
#: ../../appendix/faqs/general.rst:236
-# 713bf8eec3734e05b6ce6aa3d41f2f05
-# 6a5ad0a7a01b47cbb431b0827ac375d7
msgid "`The Wikipedia page on HTTP status codes `_"
msgstr ""
#: ../../appendix/faqs/general.rst:239
#: ../../appendix/faqs/general.rst:239
-# a1a30537c30c4bbbb54cf693e22e3e98
-# b465fafdcc0a4bbb8406e1e585ee86fd
msgid "Possible causes"
msgstr ""
#: ../../appendix/faqs/general.rst:242
#: ../../appendix/faqs/general.rst:242
-# 6d9b9247b7e8431a8b103c9d2f881c6a
-# 0e5dae51792f41219fdc956a9325652e
msgid "Web server configuration"
msgstr ""
#: ../../appendix/faqs/general.rst:242
#: ../../appendix/faqs/general.rst:242
-# 015a98f9a7ae41ea8785695aa3c93308
-# 982ba36e8dd3455f890d179b4eef61ec
msgid "The most common cause for this is an incorrectly configured server. If you edited the ``.htaccess`` file and added something incorrect, Apache will send a 500 error."
msgstr ""
#: ../../appendix/faqs/general.rst:245
#: ../../appendix/faqs/general.rst:245
-# 3ccb919335ea4fd482df60d6f5db1cb9
-# 2c8b04f70a1f426c8b95563d9dee111a
msgid "Permissions on files"
msgstr ""
#: ../../appendix/faqs/general.rst:245
#: ../../appendix/faqs/general.rst:245
-# ef2eb851583441ebb865fefff459bdca
-# b77334b4d9184419a46fbccdd1b58b41
msgid "It could also be a permissions problem on a file. Apache needs to be able to read Elgg's files. Using permissions 755 on directories and 644 on files will allow Apache to read the files."
msgstr ""
#: ../../appendix/faqs/general.rst:248
#: ../../appendix/faqs/general.rst:248
-# 8b7995cc156742289bd50bd7dbf28638
-# 1908df7e66da4d7d8d66c241a852535f
msgid "When I upload a photo or change my profile picture I get a white screen"
msgstr ""
#: ../../appendix/faqs/general.rst:250
#: ../../appendix/faqs/general.rst:250
-# dbeef5f392e44c3fa8fe0ba4e7575726
-# 335d978b599b447bb12ad36b5f850d10
msgid "Most likely you don't have the PHP GD library installed or configured properly. You may need assistance from the administrator of your server."
msgstr ""
#: ../../appendix/faqs/general.rst:253
#: ../../appendix/faqs/general.rst:253
-# fbfecf28ef3c4675ae1027f08fdd2a6e
-# 1457040015494adeac2c14d0eeef02e7
msgid "CSS is missing"
msgstr ""
#: ../../appendix/faqs/general.rst:256
#: ../../appendix/faqs/general.rst:256
-# 53cbe356c7c84d26b85bea64b4a87d51
-# 85b9f371912d4cda93240170475ad25f
msgid "Wrong URL"
msgstr ""
#: ../../appendix/faqs/general.rst:258
#: ../../appendix/faqs/general.rst:258
-# 6cece0fdb52e447f9be45c668c060796
-# 0a9ab74246a24e1dae1bc75822d24c60
msgid "Sometimes people install Elgg so that the base URL is ``localhost`` and then try to view the site using a hostname. In this case, the browser won't be able to load the CSS file. Try viewing the source of the web page and copying the link for the CSS file. Paste that into your browser. If you get a 404 error, it is likely this is your problem. You will need to change the base URL of your site."
msgstr ""
#: ../../appendix/faqs/general.rst:261
#: ../../appendix/faqs/general.rst:261
-# a32b845b1df940b18436b35b8945541b
-# e115fa161591456e9deb324a04cebba9
msgid "Syntax error"
msgstr ""
#: ../../appendix/faqs/general.rst:263
#: ../../appendix/faqs/general.rst:263
-# 1b095b633c4e4762a813ff86fbf90312
-# f7e76b19cc2642de80012887e49aed08
msgid "Elgg stores its CSS as PHP code to provide flexibility and power. If there is a syntax error, the CSS file served to the browser may be blank. Disabling non-bundled plugins is the recommended first step."
msgstr ""
#: ../../appendix/faqs/general.rst:266
#: ../../appendix/faqs/general.rst:266
-# 4d095ef0347e4c27bf7b903dea241d11
-# 1036423129d943248091e302c5210558
msgid "Rewrite rules errors"
msgstr ""
#: ../../appendix/faqs/general.rst:268
#: ../../appendix/faqs/general.rst:268
-# fb5c1b3e784047da9fe992bd3a428fa0
-# 0839c54b1b214e76895f2d2431f2aad2
msgid "A bad ``.htaccess`` file could also result in a 404 error when requesting the CSS file. This could happen when doing an upgrade and forgetting to also upgrade ``.htaccess``."
msgstr ""
#: ../../appendix/faqs/general.rst:271
#: ../../appendix/faqs/general.rst:271
-# 9a5139642fbe4cb48b4ef862ea78b2a7
-# d3fb6ea18dd0470aab497636ead99b48
msgid "Should I edit the database manually?"
msgstr ""
#: ../../appendix/faqs/general.rst:275
#: ../../appendix/faqs/general.rst:275
-# 8b29dd40c8434f2e915b2173824efffc
-# 5b1fa7369cd1442e9ccb4818a60b6107
msgid "No, you should never manually edit the database!"
msgstr ""
#: ../../appendix/faqs/general.rst:278
#: ../../appendix/faqs/general.rst:278
-# 92c0360242774241b79b53671c5fb766
-# 9c54d3fe69f848ccb006b076fde1bced
msgid "Will editing the database manually break my site?"
msgstr ""
#: ../../appendix/faqs/general.rst:280
#: ../../appendix/faqs/general.rst:280
-# b2249105a01148798e30e20fb08ef959
-# 47a87c01bfb14e0dae4bdbe6b7c5511d
msgid "Yes."
msgstr ""
#: ../../appendix/faqs/general.rst:283
#: ../../appendix/faqs/general.rst:283
-# f89da0a9e1104a9ba016e92ce223f079
-# d2cb70632c584d0482e1046a23f01156
msgid "Can I add extra fields to tables in the database?"
msgstr ""
#: ../../appendix/faqs/general.rst:285
#: ../../appendix/faqs/general.rst:285
-# 0e0e347e2e634c5fb9ce991c5fb949f5
-# c50af62b44e74e8ba850701041b283a1
msgid "(AKA: I don't understand the Elgg :doc:`data model ` so I'm going to add columns. Will you help?)"
msgstr ""
#: ../../appendix/faqs/general.rst:287
#: ../../appendix/faqs/general.rst:287
-# 0b00ddb6aa6945e3af5c355641d292f5
-# 060906ce96fe496db473e0cc36fdf6f2
msgid "No, this is a bad idea. Learn the :doc:`data model ` and you will see that unless it's a very specific and highly customized installation, you can do everything you need within Elgg's current data model."
msgstr ""
#: ../../appendix/faqs/general.rst:290
#: ../../appendix/faqs/general.rst:290
-# 80cba1da473f4420923d3c516ce93008
-# 6cf9a1f71c68425fbfe62383ff1349d7
msgid "I want to remove users. Can't I just delete them from the elgg_users_entity table?"
msgstr ""
#: ../../appendix/faqs/general.rst:292
#: ../../appendix/faqs/general.rst:292
-# 1141554cda614159ae84dc63ba7b6f9f
-# c8f4188e92ca482da2138a2085db5bf8
msgid "No, it will corrupt your database. Delete them through the site."
msgstr ""
#: ../../appendix/faqs/general.rst:295
#: ../../appendix/faqs/general.rst:295
-# 971fc2346b2f42139c4f3915c3c2a55f
-# 1439c7ffd1354d08bfb56853f49742eb
msgid "I want to remove spam. Can't I just search and delete it from the elgg_objects_entity table?"
msgstr ""
#: ../../appendix/faqs/general.rst:297
#: ../../appendix/faqs/general.rst:297
-# 743fd1ca158d4c13a031e37899b3c3cf
-# e589047e24b44447b9a5603c3d069c40
msgid "No, it will corrupt your database. Delete it through the site."
msgstr ""
#: ../../appendix/faqs/general.rst:300
#: ../../appendix/faqs/general.rst:300
-# 9d498e8517364d6abe7cbbf62e7d57d8
-# a8317ee785b04be293c6e388df389ec5
msgid "Someone on the community site told me to edit the database manually. Should I?"
msgstr ""
#: ../../appendix/faqs/general.rst:302
#: ../../appendix/faqs/general.rst:302
-# f3ea60c3d1924d4f908dd523100565b9
-# f9d903b8d3d943519f2478ef8b77dda5
msgid "Who was it? Is it someone experienced with Elgg, like one of the core developers or a well-known plugin author? Did he or she give you clear and specific instructions on what to edit? If you don't know who it is, or if you can't understand or aren't comfortable following the instructions, do not edit the database manually."
msgstr ""
#: ../../appendix/faqs/general.rst:305
#: ../../appendix/faqs/general.rst:305
-# 556395157e2b4fadbe5616e4126eafd8
-# bdcac86478fc41ce855e66118a8271ee
msgid "I know PHP and MySQL and have a legitimate reason to edit the database. Is it okay to manually edit the database?"
msgstr ""
#: ../../appendix/faqs/general.rst:307
#: ../../appendix/faqs/general.rst:307
-# cd5cac6d55094b5695f892f21d904f51
-# 09c0d4d8b672419399d5b1016f913948
msgid "Make sure you understand Elgg's :doc:`data model ` and schema first. Make a backup, edit carefully, then test copiously."
msgstr ""
#: ../../appendix/faqs/general.rst:310
#: ../../appendix/faqs/general.rst:310
-# df74d8df886a4ebd9e8563ca6de75daf
-# e099566019b04dfeb0f4dc5283f1d825
msgid "Internet Explorer (IE) login problem"
msgstr ""
#: ../../appendix/faqs/general.rst:313
#: ../../appendix/faqs/general.rst:313
-# a4eab52b26124022b6767f159c67fe8c
-# 7668fc7765014545b33a921d46259731
msgid "Canonical URL"
msgstr ""
#: ../../appendix/faqs/general.rst:315
#: ../../appendix/faqs/general.rst:315
-# b6b4d18a952446c2bb24d0adb6bb6aca
-# 80c49df9286c4754afb716c92458bab3
msgid "IE does not like working with sites that use both http://example.org and http://www.example.org. It stores multiple cookies and this causes problems. Best to only use one base URL. For details on how to do this see Login token mismatch error."
msgstr ""
#: ../../appendix/faqs/general.rst:318
#: ../../appendix/faqs/general.rst:318
-# da272c475fdf43388900009a3560a781
-# 27113bee019d4a5e995c8c395a9c96f4
msgid "Chrome Frame"
msgstr ""
#: ../../appendix/faqs/general.rst:320
#: ../../appendix/faqs/general.rst:320
-# 50fb065ac5134aac9185f2e6bbc9d159
-# 9f4d51ab4b0f45aeb44185699c72aa40
msgid "Using the chrome frame within IE can break the login process."
msgstr ""
#: ../../appendix/faqs/general.rst:323
#: ../../appendix/faqs/general.rst:323
-# c7f7e190d2d74ae7af40c0ecb71cdd70
-# bff35c9d8d4b44828f6e6456dae8100d
msgid "Emails don't support non-Latin characters"
msgstr ""
#: ../../appendix/faqs/general.rst:325
#: ../../appendix/faqs/general.rst:325
-# c7ccba4c234440feb550da4366f2e860
-# b7539cffcfe14dd58f8269caa5e35d02
msgid "In order to support non-Latin characters, (such as Cyrillic or Chinese) Elgg requires `multibyte string support`_ to be compiled into PHP."
msgstr ""
#: ../../appendix/faqs/general.rst:327
#: ../../appendix/faqs/general.rst:327
-# ff03e798d4064d239c71155d7bb87c9b
-# 87ae6c7afdb84053bfee2a4fb82a0279
msgid "On many installs (e.g. Debian & Ubuntu) this is turned on by default. If it is not, you need to turn it on (or recompile PHP to include it). To check whether your server supports multibyte strings, check `phpinfo`_."
msgstr ""
#: ../../appendix/faqs/general.rst:333
#: ../../appendix/faqs/general.rst:333
-# 4ecb80c6eaab4de0855fca96db725ed6
-# 2ffda810612c40cca8f0bbfefbd34097
msgid "Session length"
msgstr ""
#: ../../appendix/faqs/general.rst:335
#: ../../appendix/faqs/general.rst:335
-# 581ead58f5f64462af611dec0ddb3a80
-# 9da20ac90f724762b5ab51fb70c2e16f
msgid "Session length is controlled by your php configuration. You will first need to locate your ``php.ini`` file. In that file will be several session variables. A complete list and what they do can be found in the `php manual`_."
msgstr ""
#: ../../appendix/faqs/general.rst:340
#: ../../appendix/faqs/general.rst:340
-# 35f6eb03aff742df8a43c7860a198e38
-# 908275c1ff75438ba17451ac275a8f8e
msgid "File is missing an owner"
msgstr ""
#: ../../appendix/faqs/general.rst:342
#: ../../appendix/faqs/general.rst:342
-# 89926349a7c64efa920b9a363f9849b2
-# 158dfafce2034c78be7dc28b0e156f20
msgid "There are three causes for this error. You could have an entity in your database that has an ``owner_guid`` of ``0``. This should be extremely rare and may only occur if your database/server crashes during a write operation."
msgstr ""
#: ../../appendix/faqs/general.rst:344
#: ../../appendix/faqs/general.rst:344
-# 44bafde6deed4c06ad42be0948a393a6
-# 25f4945ce80a42978383284465b39700
msgid "The second cause would be an entity where the owner no longer exists. This could occur if a plugin is turned off that was involved in the creation of the entity and then the owner is deleted but the delete operation failed (because the plugin is turned off). If you can figure out entity is causing this, look in your ``entities`` table and change the ``owner_guid`` to your own and then you can delete the entity through Elgg."
msgstr ""
#: ../../appendix/faqs/general.rst:348
#: ../../appendix/faqs/general.rst:348
-# 0dbba89393ab4105bd82f2a45026cc76
-# d52741140cb542aebaca377996b0c7b8
msgid "Reed the section \"Should I edit the database manually?\". Be very carefull when editing the database directly. It can break your site. **Always** make a backup before doing this."
msgstr ""
#: ../../appendix/faqs/general.rst:350
#: ../../appendix/faqs/general.rst:350
-# 14fd178a99044fdd98589a27e39e3a81
-# ee84c3e505834e3ea86a57b18da76208
msgid "The third cause is a user not having a username. This also indicates a database problem as this should not be possible. If it does occur, you could see this error when viewing a list of users (such as with the Members plugin). To fix, check your ``users_entity`` table for users without a username and if so, create a fake a username for that person. You should probably then delete the user through Elgg."
msgstr ""
#: ../../appendix/faqs/general.rst:353
#: ../../appendix/faqs/general.rst:353
-# 5ed0270dc1e3431591732a68bcec7c5c
-# 104abfc5fd03422f90d56926103b5d56
msgid "Fixes"
msgstr ""
#: ../../appendix/faqs/general.rst:355
#: ../../appendix/faqs/general.rst:355
-# 65b7f04bdc464b8392b8181437bc377c
-# f3e47bfb46084942b8353fadc8df169b
msgid "`Database Validator`_ plugin will check your database for these causes and provide an option to fix them. Be sure to backup the database before you try the fix option."
msgstr ""
#: ../../appendix/faqs/general.rst:360
#: ../../appendix/faqs/general.rst:360
-# adeed52f40f04896a5eb306fcb633e50
-# 58e74449014745bea338b90b2b904f31
msgid "No images"
msgstr ""
#: ../../appendix/faqs/general.rst:362
#: ../../appendix/faqs/general.rst:362
-# 344bd5f196164344a96b2930de31c179
-# 13994c1e570e48dbb556316bc2c36275
msgid "If profile images, group images, or other files have stopped working on your site it is likely due to a misconfiguration, especially if you have migrated to a new server."
msgstr ""
#: ../../appendix/faqs/general.rst:364
#: ../../appendix/faqs/general.rst:364
-# f649e50cd62949cb9c5ad12be3f4230f
-# 44a7fdf5e1c040b9a98c2b0e9b82bd9c
msgid "These are the most common misconfigurations that cause images and other files to stop working."
msgstr ""
#: ../../appendix/faqs/general.rst:367
#: ../../appendix/faqs/general.rst:367
-# 4b086b7c2a6f4eefa0a7f97f329c306d
-# 9aec82ba91b94074aa4520630876ae49
msgid "Wrong path for data directory"
msgstr ""
#: ../../appendix/faqs/general.rst:369
#: ../../appendix/faqs/general.rst:369
-# d629851073324101a07651e51c076693
-# 9d1a606dc69a48d0909359063b1a4e85
msgid "Make sure the data directory's path is correct in the Site Administration admin area. It should have a trailing slash."
msgstr ""
#: ../../appendix/faqs/general.rst:372
#: ../../appendix/faqs/general.rst:372
-# 65cc70111aa845aba88b8d142054f1cd
-# ffb4fafcfec64ad0b73f0dd97ba22461
msgid "Wrong permissions on the data directory"
msgstr ""
#: ../../appendix/faqs/general.rst:374
#: ../../appendix/faqs/general.rst:374
-# bfda48a7a0a24e259ca3f89b2412c9db
-# 92bf21126bfb49dd8cc172188ba73746
msgid "Check the permissions for the data directory. The data directory should be readable and writeable by the web server user."
msgstr ""
#: ../../appendix/faqs/general.rst:377
#: ../../appendix/faqs/general.rst:377
-# 059e3fd5b58d44c2b3fe7cbfa988a4cb
-# 8754daa7028d4873b4e37b22c8632d4b
msgid "Different timezone"
msgstr ""
#: ../../appendix/faqs/general.rst:381
#: ../../appendix/faqs/general.rst:381
-# 4b9cf33c2f5b427f95480b124e62e2bb
-# 541bf6c3818e49718324b45811b7dc66
msgid "This only applies to Elgg versions before 1.9"
msgstr ""
#: ../../appendix/faqs/general.rst:383
#: ../../appendix/faqs/general.rst:383
-# cd91c0d9b7204b2abe454a192fc03850
-# 475cdf9e58b048109f59135c5cdf0603
msgid "If you migrated servers or upgraded PHP, check that PHP's timezone settings are the same between the old and the new. If you cannot or don't want to change the system-wide ``php.ini`` file, you can put the following at the top of ``engine/settings.php``:"
msgstr ""
#: ../../appendix/faqs/general.rst:389
#: ../../appendix/faqs/general.rst:389
-# 2e5bbda6a1d6496aa6eb58c3ef7da3c5
-# 48ee2be6526b49459ceb0d9d8067635e
msgid "Where ``MY_TIME_ZONE`` is a valid `PHP timezone`_."
msgstr ""
#: ../../appendix/faqs/general.rst:394
#: ../../appendix/faqs/general.rst:394
-# 029fab28dc034662b36c5d8559be99fe
-# b236a339f06245a19a46e1624cb6f06c
msgid "Migrated installation with new data directory location"
msgstr ""
#: ../../appendix/faqs/general.rst:396
#: ../../appendix/faqs/general.rst:396
-# bf4e793a9429430d8a42f36e625c8292
-# 9a3866d99b01496d81fe196c7f52f0b6
msgid "If you migrated an installation and need to change your data directory path, be sure to update the SQL for the filestore location as documented in the :doc:`/admin/duplicate-installation` instructions."
msgstr ""
#: ../../appendix/faqs/general.rst:399
#: ../../appendix/faqs/general.rst:399
-# 6e66c7d980ae49d39bbd8c143144a3bb
-# 82aa17d305fc42d9a18aa51879486b7a
msgid "Deprecation warnings"
msgstr ""
#: ../../appendix/faqs/general.rst:401
#: ../../appendix/faqs/general.rst:401
-# e3ae8dea8940464fb04db4e657699f56
-# 089b2a042d8345a68c5d6ee0e9f08007
msgid "If you are seeing many deprecation warnings that say things like"
msgstr ""
#: ../../appendix/faqs/general.rst:407
#: ../../appendix/faqs/general.rst:407
-# ede3717dd4f04ca5a4f308ef006bbe02
-# 113b3337df2b4784b9b2114855daba4c
msgid "then you are using a plugin that was written for an older version of Elgg. This means the plugin is using functions that are scheduled to be removed in a future version of Elgg. You can ask the plugin developer if the plugin will be updated or you can update the plugin yourself. If neither of those are likely to happen, you should not use that plugin."
msgstr ""
#: ../../appendix/faqs/general.rst:410
#: ../../appendix/faqs/general.rst:410
-# 88abde51a63742bcb8a7fd18b90c2af0
-# f0e6de65971148b69013b9199f67e539
msgid "Javascript not working"
msgstr ""
#: ../../appendix/faqs/general.rst:412
#: ../../appendix/faqs/general.rst:412
-# 4ab12963999141b48dd00210375972dc
-# a6c26e037dbe4480ac4b1514076208ab
msgid "If the user hover menu stops working or you cannot dismiss system messages, that means JavaScript is broken on your site. This usually due to a plugin having bad JavaScript code. You should find the plugin causing the problem and disable it. You can do this be disabling non-bundled plugins one at a time until the problem goes away. Another approach is disabling all non-bundled plugins and then enabling them one by one until the problem occurs again."
msgstr ""
#: ../../appendix/faqs/general.rst:414
#: ../../appendix/faqs/general.rst:414
-# 8bf8e16e97734c4fae443c39c563086c
-# 9530fb1f06ac4571a6b27ae5ba136117
msgid "Most web browsers will give you a hint as to what is breaking the JavaScript code. They often have a console for JavaScript errors or an advanced mode for displaying errors. Once you see the error message, you may have an easier time locating the problem."
msgstr ""
#: ../../appendix/faqs/security.rst:2
#: ../../appendix/faqs/security.rst:2
-# d2bd3f64e65c49e28afc5357694218a3
-# c9020fe3fea549e1bc269777c9576887
msgid "Security"
msgstr ""
#: ../../appendix/faqs/security.rst:5
#: ../../appendix/faqs/security.rst:5
-# eeed39b9fbdc40b8a91d992d676c8132
-# b5bb9a9230db49f9a4913f3ef27264e0
msgid "Is upgrade.php a security concern?"
msgstr ""
#: ../../appendix/faqs/security.rst:7
#: ../../appendix/faqs/security.rst:7
-# 96aa532aadc8448aa02f62913c43622d
-# 08cbe6affa0d49e3b4813c57f953faed
msgid "Upgrade.php is a file used to run code and database upgrades. It is in the root of the directory and doesn't require a logged in account to access. On a fully upgraded site, running the file will only reset the caches and exit, so this is not a security concern."
msgstr ""
#: ../../appendix/faqs/security.rst:9
#: ../../appendix/faqs/security.rst:9
-# 427b555e635544b3b04a02351b382d40
-# 5169759bfff74971b21c1e0615d625e3
msgid "If you are still concerned, you can either delete, move, or change permissions on the file until you need to upgrade."
msgstr ""
#: ../../appendix/faqs/security.rst:12
#: ../../appendix/faqs/security.rst:12
-# 54b1f7f5bd0c478d869a9fbc6fec5918
-# b9e47ecc00c44e23bd7b6dd9c067d018
msgid "Should I delete install.php?"
msgstr ""
#: ../../appendix/faqs/security.rst:14
#: ../../appendix/faqs/security.rst:14
-# 88386e5560514e088e46626d4e07fb46
-# 2c51334b913241a1a7d67dd2811c83ba
msgid "This file is used to install Elgg and doesn't need to be deleted. The file checks if Elgg is already installed and forwards the user to the front page if it is."
msgstr ""
#: ../../appendix/faqs/security.rst:17
#: ../../appendix/faqs/security.rst:17
-# f25c5864c476463eb9b7615b50b3245a
-# 0de06ac0bba04838ab98eb9445af9f6e
msgid "Filtering"
msgstr ""
#: ../../appendix/faqs/security.rst:19
#: ../../appendix/faqs/security.rst:19
-# 780980f3520747a4883293fcd45510c4
-# ed75e04e74914be187812a8d7e649f7e
msgid "Filtering is used in Elgg to make `XSS`_ attacks more difficult. The purpose of the filtering is to remove Javascript and other dangerous input from users."
msgstr ""
#: ../../appendix/faqs/security.rst:21
#: ../../appendix/faqs/security.rst:21
-# 053bd265d4c6436d98f815a2a2076866
-# bdb4f082983a4e3c92a2931e1ebfa0cd
msgid "Filtering is performed through the function ``filter_tags()``. This function takes in a string and returns a filtered string. It triggers a *validate*, *input* :ref:`plugin hook `. By default Elgg comes with the htmLawed filtering code as a plugin. Developers can drop in any additional or replacement filtering code as a plugin."
msgstr ""
#: ../../appendix/faqs/security.rst:23
#: ../../appendix/faqs/security.rst:23
-# 7dc4900b27f640b0b73ae0420ddf24a4
-# 90556f83046643d7a80a08a8487d5078
msgid "The ``filter_tags()`` function is called on any user input as long as the input is obtained through a call to ``get_input()``. If for some reason a developer did not want to perform the default filtering on some user input, the ``get_input()`` function has a parameter for turning off filtering."
msgstr ""
#: ../../appendix/faqs/development.rst:2
#: ../../appendix/faqs/development.rst:2
-# 0605484d159c486087832bf5f6453716
-# c67ee9e8d01a49a3a9dc6a125468f01f
msgid "Development"
msgstr ""
#: ../../appendix/faqs/development.rst:5
#: ../../appendix/faqs/development.rst:5
-# 639c7aa404c84bbea6db45ef95655a82
-# 61b9cd8ae078494b923bda5ad7ec78cf
msgid "What should I use to edit php code"
msgstr ""
#: ../../appendix/faqs/development.rst:7
#: ../../appendix/faqs/development.rst:7
-# 6ea5b5cc183a4f61901fce59ab8c32e2
-# e105ff6ee2af48c2aa71b9a853245124
msgid "There are two main options: text editor or `integrated development environment`_ (IDE)."
msgstr ""
#: ../../appendix/faqs/development.rst:10
#: ../../appendix/faqs/development.rst:10
-# e2fb82615641438e9decb48dad6adac3
-# eb05f3a40c3b43f18236adffe9e84adc
msgid "Text Editor"
msgstr ""
#: ../../appendix/faqs/development.rst:12
#: ../../appendix/faqs/development.rst:12
-# ca1577f70ddf4811b5a812df9c0f260a
-# 3e8010a03b9d4dfbaffbb5407f1dd315
msgid "If you are new to software development or do not have much experience with IDEs, using a text editor will get you up and running the quickest. At a minimum, you will want one that does syntax highlighting to make the code easier to read. If you think you might submit patches to the bug tracker, you will want to make sure that your text editor does not change line endings. If you are using Windows, `Notepad++`_ is a good choice. If you are on a Mac, TextWrangler_ is a popular choice. You could also give TextMate_ a try."
msgstr ""
#: ../../appendix/faqs/development.rst:15
#: ../../appendix/faqs/development.rst:15
-# 0b5d5900b41c488ab4851c3da2d99bf9
-# c2dcdc69b9524bada325ec617171e467
msgid "Integrated Development Environment"
msgstr ""
#: ../../appendix/faqs/development.rst:17
#: ../../appendix/faqs/development.rst:17
-# 6b4ff1893a824aba95f8cdff85ac2576
-# 99deadf6136e404495d19fec84a161ff
msgid "An IDE does just what it's name implies: it includes a set of tools that you would normally use separately. Most IDEs will include source code control which will allow you to directly commit and update your code from your cvs repository. It may have an FTP client built into it to make the transfer of files to a remote server easier. It will have syntax checking to catch errors before you try to execute the code on a server."
msgstr ""
#: ../../appendix/faqs/development.rst:19
#: ../../appendix/faqs/development.rst:19
-# 803c2a097bdd450a9e5422055298bd20
-# 0a5da444ae5c498cb79a060c7454e8df
msgid "The two most popular free IDEs for PHP developers are Eclipse_ and NetBeans_. Eclipse has two different plugins for working with PHP code: PDT_ and PHPEclipse_."
msgstr ""
#: ../../appendix/faqs/development.rst:31
#: ../../appendix/faqs/development.rst:31
-# d948d6d09f8e45db8cbb6d39f5e18916
-# b0b660da657e47f7a0f29c267aa4540d
msgid "I don't like the wording of something in Elgg. How do I change it?"
msgstr ""
#: ../../appendix/faqs/development.rst:33
#: ../../appendix/faqs/development.rst:33
-# 4cb4ccf136604400973044d40bfb0f17
-# 39d6b6d95055499e896b8325904b7c9a
msgid "The best way to do this is with a plugin."
msgstr ""
#: ../../appendix/faqs/development.rst:41
#: ../../appendix/faqs/development.rst:41
-# 222127d8a8cb44c48f8f7fcf95596375
-# 5a2e48ab4e544b4b8a0cd7ec1f24e4f0
msgid "Locate the string that you want to change"
msgstr ""
#: ../../appendix/faqs/development.rst:43
#: ../../appendix/faqs/development.rst:43
-# d715d0ab861d45b2bbe497171bff295a
-# f08fb58d7f5240a8bc3145e84e7820ef
msgid "All the strings that a user sees should be in the ``/languages`` directory or in a plugin's languages directory (``/mod//languages``). This is done so that it is easy to change what language Elgg uses. For more information on this see the developer documentation on :doc:`/guides/i18n` ."
msgstr ""
#: ../../appendix/faqs/development.rst:45
#: ../../appendix/faqs/development.rst:45
-# 6ebe4e44df784db6bf03a22bbdad3498
-# 89f08fa9b5a04d94a6b341404b9e6e62
msgid "To find the string use ``grep`` or a text editor that provides searching through files to locate the string. (A good text editor for Windows is `Notepad++`_ ) Let's say we want to change the string \"Add friend\" to \"Make a new friend\". The ``grep`` command to find this string would be ``grep -r \"Add friend\" *``. Using `Notepad++`_ , you would use the \"Find in files\" command. You would search for the string, set the filter to ``*.php``, set the directory to the base directory of Elgg, and make sure it searches all subdirectories. You might want to set it to be case sensitive also."
msgstr ""
#: ../../appendix/faqs/development.rst:47
#: ../../appendix/faqs/development.rst:47
-# de621fb0f19b42399f5571684db2d055
-# 3618a66fe08649fea050bf820d0bb746
msgid "You should locate the string \"Add friend\" in ``/languages/en.php``. You should see something like this in the file:"
msgstr ""
#: ../../appendix/faqs/development.rst:53
#: ../../appendix/faqs/development.rst:53
-# 29f0a8750a91479d8233edad3f719e5e
-# eeda60a819b04c099299e448c928c7a8
msgid "This means every time Elgg sees ``friend:add`` it replaces it with \"Add friend\". We want to change the definition of ``friend:add``."
msgstr ""
#: ../../appendix/faqs/development.rst:56
#: ../../appendix/faqs/development.rst:56
-# 068a6e90f3024b9ea80135338f23fbbf
-# a9ef674bf37349aa85b9731469944b2d
msgid "Override the string"
msgstr ""
#: ../../appendix/faqs/development.rst:58
#: ../../appendix/faqs/development.rst:58
-# 200d0f7465bb46ad880affb52e2aee74
-# 9bda976452e94f1cbcbaa68cda705ade
msgid "To override this definition, we will add a languages file to the plugin that we built in the first step."
msgstr ""
#: ../../appendix/faqs/development.rst:60
#: ../../appendix/faqs/development.rst:60
-# 1eaa3deb23354e8890ec9e697bc1cac8
-# 7cf3f895c345491cbb502df64f7c14ab
msgid "Create a new directory: ``/mod//languages``"
msgstr ""
#: ../../appendix/faqs/development.rst:61
#: ../../appendix/faqs/development.rst:61
-# c4eed09d51b741e1b3769435c0d501a5
-# d623957662884bdcaa0bf095f62e7a37
msgid "Create a file in that directory called ``en.php``"
msgstr ""
#: ../../appendix/faqs/development.rst:62
#: ../../appendix/faqs/development.rst:62
-# a1b18437cf84499b8cbed3e0dd0f0b06
-# 3fd74be9b6f7472a9328664148cde93f
msgid "Add these lines to that file"
msgstr ""
#: ../../appendix/faqs/development.rst:72
#: ../../appendix/faqs/development.rst:72
-# 86b659b14b034040b58cda139c5d5b6c
-# 1cf98daed48b4e44a9d34505de7651ae
msgid "Make sure that you do not have any spaces or newlines before the ``` that are triggered on every page load:"
msgstr ""
#: ../../appendix/faqs/development.rst:149
#: ../../appendix/faqs/development.rst:149
-# ba00de0aa1044e2190e4c59b6f1b0b1b
-# 2e7ca2aaf8d04c2b96772067a8614ed3
msgid "boot, system"
msgstr ""
#: ../../appendix/faqs/development.rst:150
#: ../../appendix/faqs/development.rst:150
-# f27477fe95c148ef84a424d99c39f9be
-# 0e5124190deb4621902800451d0b636e
msgid "plugins_boot, system"
msgstr ""
#: ../../appendix/faqs/development.rst:151
#: ../../appendix/faqs/development.rst:151
-# 2d6b5fd09b6f4e1f92e3e696714332ba
-# a4309fb1d96545c3a2938ee515455e64
msgid "init, system"
msgstr ""
#: ../../appendix/faqs/development.rst:152
#: ../../appendix/faqs/development.rst:152
-# 184377bd5ce84618b7a9e8a52c69ac02
-# d70eeab82ec346d1bb6aff1696e535ca
msgid "pagesetup, system"
msgstr ""
#: ../../appendix/faqs/development.rst:153
#: ../../appendix/faqs/development.rst:153
-# c086a8a6850a46a298b894a915fa46c5
-# 9e007ee0c2ab4a409013b54b6f2eab22
msgid "shutdown, system"
msgstr ""
#: ../../appendix/faqs/development.rst:155
#: ../../appendix/faqs/development.rst:155
-# 7a70af3c2d134a539b4d2037e9fb7768
-# 95a56cacd47340a4b22101a90f585e4f
msgid "The *boot*, *system* event is triggered before the plugins get loaded. There does not appear to be any difference between the timing of the next two events: *plugins_boot*, *system* and *init*, *system* so plugins tend to use *init*, *system*. This event is triggered just after the plugins are loaded near the end of the boot script (``/engine/start.php``). The *pagesetup*, *system* event is thrown the first time ``elgg_view()`` is called. Some pages like the default ``index.php`` do not call ``elgg_view()`` so it is not triggered for them. The *shutdown*, *system* event is triggered after the page has been sent to the requester and is handled through the PHP function ``register_shutdown_function()``."
msgstr ""
#: ../../appendix/faqs/development.rst:157
#: ../../appendix/faqs/development.rst:157
-# 57c8d3e25f174be8aa52ab812c092e6c
-# 20b4e4971317405e85acb04f5b366b73
msgid "There are :doc:`other events ` that are triggered by the Elgg core but they happen occasionally (such as when a user logs in)."
msgstr ""
#: ../../appendix/faqs/development.rst:160
#: ../../appendix/faqs/development.rst:160
-# 29feed79cb9e465aad0263e9114752e4
-# 14f1c88ec9224935a46ddb10fa468f54
msgid "What variables are reserved by Elgg?"
msgstr ""
#: ../../appendix/faqs/development.rst:162
#: ../../appendix/faqs/development.rst:162
-# 3f2d2eb23eb54f38a5cf78374afc8df7
-# 7a11d66467114d8987d23bb607d09243
msgid "``$CONFIG``"
msgstr ""
#: ../../appendix/faqs/development.rst:163
#: ../../appendix/faqs/development.rst:163
-# 5638b77f967d4d949635c3b5c5e001d6
-# 2d4437de726b4a7aaadb6d286b03bcb7
msgid "``$vars``"
msgstr ""
#: ../../appendix/faqs/development.rst:164
#: ../../appendix/faqs/development.rst:164
-# 19d3a1d528ed41deb2e8958a79b832e2
-# c2e100db7466499e84fe861f93fa5f0e
msgid "``$autofeed``"
msgstr ""
#: ../../appendix/faqs/development.rst:165
#: ../../appendix/faqs/development.rst:165
-# 2ee466d097e14ba68bb707421cc98c90
-# fae1ca8b9a5a4124b7a36a3584f572c1
msgid "``$_GET['action']`` / ``$_POST['action']``"
msgstr ""
#: ../../appendix/faqs/development.rst:166
#: ../../appendix/faqs/development.rst:166
-# 72660824ee054fba9c4bb995e4774f0a
-# 83c8e79cfc93431e98c93d74ee9fcaaa
msgid "``$viewtype``"
msgstr ""
#: ../../appendix/faqs/development.rst:169
#: ../../appendix/faqs/development.rst:169
-# 07c4e13e92c24b77809869a6ce6c3d12
-# e6d704e5b2e74c05ac1fc486e0c0b0cf
msgid "Copy a plugin"
msgstr ""
#: ../../appendix/faqs/development.rst:171
#: ../../appendix/faqs/development.rst:171
-# 4ae7fab9170249369f66b90d530f4ff4
-# 2a6fdd1614f54236a77a0de0c77c3bba
msgid "There are many questions asked about how to copy a plugin. Let's say you want to copy the ``blog`` plugin in order to run one plugin called ``blog`` and another called ``poetry``. This is not difficult but it does require a lot of work. You would need to"
msgstr ""
#: ../../appendix/faqs/development.rst:173
#: ../../appendix/faqs/development.rst:173
-# a31ddc53dd2542ec840209508897d7b4
-# ad1746c9b78e41fda69cd8e1f67449d6
msgid "change the directory name"
msgstr ""
#: ../../appendix/faqs/development.rst:174
#: ../../appendix/faqs/development.rst:174
-# 0ce8fb1cc93e489aac9af5523bc53fc7
-# 23c28c84abe14591975f1f0fbafbfaca
msgid "change the names of every function (having two functions causes PHP to crash)"
msgstr ""
#: ../../appendix/faqs/development.rst:175
#: ../../appendix/faqs/development.rst:175
-# 13949a22832e482284d61ba62c267b3d
-# f07372b89f6c407a9dfb2cc6aabbde68
msgid "change the name of every view (so as not to override the views on the original plugin)"
msgstr ""
#: ../../appendix/faqs/development.rst:176
#: ../../appendix/faqs/development.rst:176
-# 15807ebb8bbf44099792c4177eddba3e
-# 544c70aed74b4f199921f99fc8c8576e
msgid "change any data model subtypes"
msgstr ""
#: ../../appendix/faqs/development.rst:177
#: ../../appendix/faqs/development.rst:177
-# a144da1a19704ae5b104ecadf3d4aedc
-# c06a6684143c446f944178b9975fbd2b
msgid "change the language file"
msgstr ""
#: ../../appendix/faqs/development.rst:178
#: ../../appendix/faqs/development.rst:178
-# eaf8dce9b16844f5a903610a72db5002
-# 757da150c4764d368388a04b60997acb
msgid "change anything else that was specific to the original plugin"
msgstr ""
#: ../../appendix/faqs/development.rst:182
#: ../../appendix/faqs/development.rst:182
-# f9ec7fabffeb443ab2c2f644981081b1
-# a6702d3a66be414683f0e6c33b3c2aa8
msgid "If you are trying to clone the ``groups`` plugin, you will have the additional difficulty that the group plugin does not set a subtype."
msgstr ""
#: ../../appendix/history.rst:2
-# 2b31de6b328b47bd87a15b6e48f385ce
msgid "History"
msgstr ""
#: ../../appendix/history.rst:4
-# c191674513bc43d19d36907b5cf57974
msgid "The name comes from `a town in Switzerland`__. It also means \"elk\" or \"moose\" in Danish."
msgstr ""
#: ../../appendix/history.rst:8
-# a0baccfbef904323bd7575c51e148ded
msgid "Elgg's initial funding was by a company called Curverider Ltd, which was started by David Tosh and Ben Werdmuller. In 2010, Curverider was acquired by Thematic Networks and control of the open-source project was turned over to `The Elgg Foundation`_. Today, Elgg is a community-driven open source project and has a variety of contributors and supporters."
msgstr ""
#: ../../appendix/index.rst:2
-# 038235ded40a4fc58eddd679bcb55d89
msgid "Appendix"
msgstr ""
#: ../../appendix/index.rst:4
-# 7720b1ba23b8417e97631ab011e3a4c4
msgid "Miscellaneous information about the project."
msgstr ""
#: ../../appendix/releases.rst:2
-# cdbd7e8dc4004a058d68c6b07ca60c14
msgid "Release Policy"
msgstr ""
#: ../../appendix/releases.rst:4
-# 6c401b2f2099480c9599fccb9762f50a
msgid "What to expect when upgrading Elgg."
msgstr ""
#: ../../appendix/releases.rst:6
-# 20484349b4584809b989c18741037526
msgid "In general, we adhere to `semantic versioning`_."
msgstr ""
#: ../../appendix/releases.rst:10
-# bfbc3ba765814fd0b9f1f3a62fb7a965
msgid "Follow the blog to `stay up to date on the latest releases`__."
msgstr ""
#: ../../appendix/releases.rst:15
-# 37410959782f4148b9d19d90370a471c
msgid "Bugfix Releases (1.9.x)"
msgstr ""
#: ../../appendix/releases.rst:16
-# dfad5091758540d989b5040f2dd894ab
msgid "Every few weeks."
msgstr ""
#: ../../appendix/releases.rst:18
-# 903bf6b1946a48709f64f5a4a17a463c
msgid "Bugfix releases are made regularly to make sure Elgg stays stable, secure, and bug-free. The higher the third digit, the more tested and stable the release is. Since bugfix release focus on fixing bugs and not making major changes, themes and plugins should work from bugfix release to bugfix release."
msgstr ""
#: ../../appendix/releases.rst:25
-# b53da21022504b4281fcaa25f53ca5e4
msgid "Feature Releases (1.x.0)"
msgstr ""
#: ../../appendix/releases.rst:26
-# df170340db3146428300b96ed34fc896
msgid "Every few months."
msgstr ""
#: ../../appendix/releases.rst:28
-# 10f047a4cf444bbb8168f0e7bfcf636d
msgid "New features are introduced in Elgg every few months in minor new feature releases. These versions are identified by the second digit (1.**8**.0). These releases aren't as mature as bugfix release, but are considered stable and useable. Though these releases try to be backward compatible, features are added, unused code removed, and overall improvements are made, so plugins and themes might need to be updated to make use of the new and improved features."
msgstr ""
#: ../../appendix/releases.rst:37
-# 10fc66f80e8f4d5bae0beab3d7c6a746
msgid "Major Releases (x.0.0)"
msgstr ""
#: ../../appendix/releases.rst:38
-# 0c06918111ae49bb97b9b97a0d5348cf
msgid "Every few years."
msgstr ""
#: ../../appendix/releases.rst:40
-# 7486fb72e3114e5f8650fa8b51e140c8
msgid "Elgg, as all software, inevitably undergoes serious changes and a major new feature release is made. These releases are opportunities for the core team to make dramatic improvements to the underlying platform. Themes and plugins from older versions are not expected to work without modification on different major releases."
msgstr ""
#: ../../appendix/releases.rst:46
-# e056a23ed35e4b38a773e2aa91540e5d
msgid "Release Candidates/Betas"
msgstr ""
#: ../../appendix/releases.rst:47
-# 1c0fc5325cf441b0bd81f45f8629bd94
msgid "Before feature releases and major releases, the core team will typically offer a release candidate or beta. These are meant for testing only and should not be considered production quality. The core team makes these releases available to get some real-world testing and feedback on the release. That said, the API in release candidates is considered stable, so once a release candidate is made available, you should feel comfortable writing plugins against any new APIs."
msgstr ""
#: ../../appendix/roadmap.rst:2
-# ad2a14c205b943fca36b2348eaf61212
msgid "Roadmap"
msgstr ""
#: ../../appendix/roadmap.rst:4
-# 6fdc8cddc9894a2ea93c1f834c0bf3fd
msgid "What direction is the project going? What exciting new features are coming soon?"
msgstr ""
#: ../../appendix/roadmap.rst:6
-# 964bb27ee73d4327a772efb3c45bff53
msgid "We do not publish detailed roadmaps, but it’s possible to get a sense for our general direction by utilizing the following resources:"
msgstr ""
#: ../../appendix/roadmap.rst:9
-# ee31e7136be34a76882c958d91a3e825
msgid "Our `feedback and planning group`_ is used to host early discussion about what will be worked on next."
msgstr ""
#: ../../appendix/roadmap.rst:10
-# fdd2f45ba2e840b989d6dba4efa1cf52
msgid "Our `Github milestones`_ represent a general direction for the future releases of Elgg. This is the closest thing to a traditional roadmap that we have."
msgstr ""
#: ../../appendix/roadmap.rst:12
-# b7248faeab294a1b8f01689ce8a67312
msgid "`Github pull requests`_ will give you a good idea of what’s currently being developed, but nothing is sure until the PR is actually checked in."
msgstr ""
#: ../../appendix/roadmap.rst:14
-# a1a4d413fd5a4ad198e3d69d391ccc0b
msgid "We use the `developer blog`_ to post announcements of features that have recently been checked in to our development branch, which gives the surest indication of what features will be available in the next release."
msgstr ""
#: ../../appendix/roadmap.rst:24
-# 3b58f3bcd1264bcaae6092c75bc2e0c3
msgid "Values"
msgstr ""
#: ../../appendix/roadmap.rst:26
-# fcf1fb833b294716abe8c50bf90b8d67
msgid "We have several overarching goals/values that affect the direction of Elgg. Enhancements generally must promote these values in order to be accepted."
msgstr ""
#: ../../appendix/roadmap.rst:30
-# 5c89787e9c1a469a82a19d0e7bfdcb80
msgid "Accessibility"
msgstr ""
#: ../../appendix/roadmap.rst:32
-# f0be85f743b74e04a1ec5e38ee99e39f
msgid "Elgg-based sites should be usable by anyone anywhere. That means we'll always strive to make Elgg:"
msgstr ""
#: ../../appendix/roadmap.rst:34
-# 91ca6c3f589d403eb02e88cbe15224a9
msgid "Device-agnostic -- mobile, tablet, desktop, etc. friendly"
msgstr ""
#: ../../appendix/roadmap.rst:35
-# c61a929d03e545f9bb21d6c945249a2b
msgid "Language-agnostic -- i18n, RTL, etc."
msgstr ""
#: ../../appendix/roadmap.rst:36
-# 8d1d530e525247338c94f98f7dea66f2
msgid "Capability-agnostic -- touch, keyboard, screen-reader friendly"
msgstr ""
#: ../../appendix/roadmap.rst:39
-# 7e4892e33b5546a19e6387331fc2ef18
msgid "Testability"
msgstr ""
#: ../../appendix/roadmap.rst:41
-# eafef96e517d4c6e9c7937b9994efb1a
msgid "We want to **make manual testing unnecessary** for core developers, plugin authors, and site administrators by promoting and enabling fast, automated testing at every level of the Elgg stack."
msgstr ""
#: ../../appendix/roadmap.rst:44
-# 22e53ca0c8fa47cab54fd90e334a182d
msgid "We think APIs are broken if they require plugin authors to write untestable code. We know there are a lot of violations of this principle in core currently and are working to fix it."
msgstr ""
#: ../../appendix/roadmap.rst:47
-# 2ebd0ab0bb3a405e875165df13ecb410
msgid "We look forward to a world where the core developers do not need to do any manual testing to verify the correctness of code contributed to Elgg. Similarly, we envision a world where site administrators can upgrade and install new plugins with confidence that everything works well together."
msgstr ""
#: ../../appendix/roadmap.rst:51
-# 9517130256c44d9a8e274eadd1c61dd8
msgid "TODO: other goals/values?"
msgstr ""
#: ../../appendix/roadmap.rst:54
-# f7816216ca264eb19664197e04574ba1
msgid "FAQ"
msgstr ""
#: ../../appendix/roadmap.rst:57
-# 4df8ae471259431ca14c015de927f2ad
msgid "When will feature X be implemented?"
msgstr ""
#: ../../appendix/roadmap.rst:58
-# 825effc2f0704686a661507b18445179
msgid "We cannot promise when features will get implemented because new features are checked into Elgg only when someone is motivated enough to implement the feature and submit a pull request. The best we can do is tell you to look out for what features existing developers have expressed interest in working on."
msgstr ""
#: ../../appendix/roadmap.rst:64
-# c30ab14b967d45a486d7b4dc8ba7928c
msgid "The best way to ensure a feature gets implemented is to discuss it with the core team and implement it yourself. See our :doc:`/contribute/index` guide if you're interested. We love new contributors!"
msgstr ""
#: ../../appendix/roadmap.rst:67
-# 95b13a68bc5d4354bd3e3a7d38b3fc9c
msgid "Do not rely on future enhancements if you're on the fence as to whether to use Elgg. Evaluate it given the current feature set. Upcoming features will almost certainly not materialize within your timeline."
msgstr ""
#: ../../appendix/roadmap.rst:72
-# f403dc4ceaf94811b38eb585ea078161
msgid "When is version X.Y.Z going to be released?"
msgstr ""
#: ../../appendix/roadmap.rst:73
-# 3fe0f2ee73064c6caef2e288147bdd9c
msgid "The next version will be released when the core team feels it's ready and has time to cut the release. http://github.com/Elgg/Elgg/issues/milestones will give you some rough ideas of timeline."
msgstr ""
#: ../../appendix/support.rst:2
-# d8e41cf7baaa47e1b7bfa36f7ab4111e
msgid "Support policy"
msgstr ""
#: ../../appendix/support.rst:6
-# 446dc13e748c4f7089f169d8d0a6080a
msgid "As of Elgg 1.9, each minor release gets:"
msgstr ""
#: ../../appendix/support.rst:5
-# 66e03de3f3714093a94bd94cf6ae9c57
msgid "Normal bugfixes every 2 weeks for 3 months, at which point the next minor release candidate is made available."
msgstr ""
#: ../../appendix/support.rst:6
-# 81b859d660574cb3bffb3ee6c7d63109
msgid "Security and critical (i.e. regression) bug fixes for 1 year from the date of the next stable minor release. These will be released on an as-needed basis."
msgstr ""
#: ../../appendix/support.rst:10
-# 2a6a2f04e2324bdd993b64391d7cd704
msgid ":doc:`releases`"
msgstr ""
#: ../../appendix/support.rst:12
-# d4b6bd84c5914b36851f3fc897bd4407
msgid "Below is a table outlining the specifics for each release:"
msgstr ""
#: ../../appendix/support.rst:15
-# 49600a2b28a148ffa8cefa355032f82b
msgid "Version"
msgstr ""
#: ../../appendix/support.rst:15
-# 6d95a994569542bd8d681613097c41f7
msgid "First stable release"
msgstr ""
#: ../../appendix/support.rst:15
-# 1a20cc44cf5249bfa59a4337681c4b31
msgid "Bug fixes through"
msgstr ""
#: ../../appendix/support.rst:15
-# 7fb5693ffa0e4fb998374fa98f9ae24c
msgid "Security fixes through"
msgstr ""
#: ../../appendix/support.rst:17
-# 4a39875c170b4ca280691eeb36d56214
msgid "1.8"
msgstr ""
#: ../../appendix/support.rst:17
-# 7f3da0ec6c6a4d64bdf66c582970876f
msgid "September 2011"
msgstr ""
#: ../../appendix/support.rst:17
-# 8396f01c3e5744e4bac7515527fe806c
msgid "August 2014"
msgstr ""
#: ../../appendix/support.rst:17
-# 55de6a40d4b740f7a812f8bffd91511e
msgid "September 2015"
msgstr ""
#: ../../appendix/support.rst:19
-# 69570680f1754cbd82215e4e13b0fd60
msgid "1.9"
msgstr ""
#: ../../appendix/support.rst:19
-# d0ad8ceb79fd444fa45b2f1fbfe4ab3d
msgid "September 2014"
msgstr ""
#: ../../appendix/support.rst:22
-# 372c442845b54963b10560b6b4ad1edf
msgid "We don't have a support policy for major releases (x.0.0) yet because we've never done one."
msgstr ""
diff --git a/docs/locale/pot/contribute.pot b/docs/locale/pot/contribute.pot
index b986cd4c945..63d569e2698 100644
--- a/docs/locale/pot/contribute.pot
+++ b/docs/locale/pot/contribute.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,575 +17,458 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../contribute/code.rst:2
-# e39d69bb618f4be4bdeb7339b739174c
msgid "Writing Code"
msgstr ""
#: ../../contribute/code.rst:4
-# e5afa00d2c234d89bdb3009892b1f242
msgid "Understand Elgg's standards and processes to get your changes accepted as quickly as possible."
msgstr ""
#: ../../contribute/code.rst:0
#: ../../contribute/docs.rst:0
#: ../../contribute/releases.rst:0
-# f356ae00f73e4281ac15a61175f34a0a
-# f9fbb76ce4044f8c8f224f6a3ba9be19
-# 42044d77adae4fdabbac59ff56c7959a
msgid "Contents"
msgstr ""
#: ../../contribute/code.rst:11
-# c0a67a686ccc40e7bcaffbdc1076b390
msgid "License agreement"
msgstr ""
#: ../../contribute/code.rst:13
-# d08833c278af4f49bd1803bd9d0cef7b
msgid "By submitting a patch you are agreeing to license the code under a `GPLv2 license`_ and `MIT license`_."
msgstr ""
#: ../../contribute/code.rst:20
-# 14745c1a1e3f416eac5dcbd0571b6d08
msgid "Pull requests"
msgstr ""
#: ../../contribute/code.rst:22
-# 3898318db98a4f048ac31590e0b699ae
msgid "Pull requests (PRs) are the best way to get code contributed to Elgg core. The core development team uses them even for the most trivial changes."
msgstr ""
#: ../../contribute/code.rst:25
-# 94dafd49b2214d729ea32cbf4eff56a7
msgid "For new features, `submit a feature request `__ or `talk to us`_ first and make sure the core team approves of your direction before spending lots of time on code."
msgstr ""
#: ../../contribute/code.rst:31
-# 1294d1d25142470384693dbbf5c3ff41
msgid "Checklists"
msgstr ""
#: ../../contribute/code.rst:33
-# 3e7fddeb2a7248c181b2eeb79230425c
msgid "Use these markdown checklists for new PRs on github to ensure high-quality contributions and help everyone understand the status of open PRs."
msgstr ""
#: ../../contribute/code.rst:36
-# 6273498fa44d4d9bbabf4a67d41af0fc
msgid "Bugfix PRs:"
msgstr ""
#: ../../contribute/code.rst:46
-# 2c4c3ae7fe034324a209fb6c392c40b9
msgid "Feature PRs:"
msgstr ""
#: ../../contribute/code.rst:58
-# 2292ab0b416644d1b20af432793341ad
msgid "Choosing a branch to submit to"
msgstr ""
#: ../../contribute/code.rst:60
-# 70b4bf9061c04ab3981d48cd77c262ac
msgid "The following table assumes the latest stable release is 1.9."
msgstr ""
#: ../../contribute/code.rst:63
-# ba22f7948ca942beb45d8d809c9fba0c
msgid "Type of change"
msgstr ""
#: ../../contribute/code.rst:63
-# 3860bbd9696b42f6803e67a09e75b73a
msgid "Branch to submit against"
msgstr ""
#: ../../contribute/code.rst:65
-# a17b37dbb0724288a5b433f6d493f2e1
msgid "Security fix"
msgstr ""
#: ../../contribute/code.rst:65
-# 169ec53c6c9b46c2bb30a7a0acbdfd8d
msgid "1.8 (Email security@elgg.org first!)"
msgstr ""
#: ../../contribute/code.rst:66
-# 0e5b6d926c634cb2bfb11989b99a3312
msgid "Bug fix"
msgstr ""
#: ../../contribute/code.rst:66
-# ca06d00b037b4b068d928c53a459a411
msgid "1.9"
msgstr ""
#: ../../contribute/code.rst:67
-# 730867be4c164008bf57b1e6f05491fe
msgid "Deprecation"
msgstr ""
#: ../../contribute/code.rst:67
#: ../../contribute/code.rst:68
-# a832a2df14f647808ac7ced0cb41b4d7
-# 1073ff384e7d417799c9b8a79dfb1360
msgid "1.x"
msgstr ""
#: ../../contribute/code.rst:68
-# 44544094fbee4e03b6d3b779181b53e2
msgid "Minor feature"
msgstr ""
#: ../../contribute/code.rst:69
-# 5f13d6736fae460489db9e1da8587257
msgid "Major feature"
msgstr ""
#: ../../contribute/code.rst:69
#: ../../contribute/code.rst:70
-# 10c4f2d9452f4ce9ae781ce7adbf5db4
-# e3c90591afd94816869ca219d1a7c13d
msgid "master"
msgstr ""
#: ../../contribute/code.rst:70
-# abd5d2dfdb34436c84df6f369b9abacf
msgid "Breaking"
msgstr ""
#: ../../contribute/code.rst:73
-# 85eae49cb85844edad8fe473364885ac
msgid "The difference between minor and major feature is subjective and up to the core team."
msgstr ""
#: ../../contribute/code.rst:76
-# 2b152ccc3e2248a29b1d228947661c66
msgid "Commit message format"
msgstr ""
#: ../../contribute/code.rst:78
-# 3dc6ee281c274057bf88b21802df1b66
msgid "We require a particular format to allow releasing more often, and with improved changelogs and source history. Just follow these steps:"
msgstr ""
#: ../../contribute/code.rst:81
-# 4fcd683ddab84e77bfb0222cee1b9f1d
msgid "Start with the ``type`` by selecting the *last category which applies* from this list:"
msgstr ""
#: ../../contribute/code.rst:83
-# 869709cf75ce46dfa633f8016e106a95
msgid "**docs** - *only* docs are being updated"
msgstr ""
#: ../../contribute/code.rst:84
-# 1eb968d5c6e149b9af1e52ad0b17fb0a
msgid "**chore** - this include refactoring, code style changes, adding missing tests, Travis stuff, etc."
msgstr ""
#: ../../contribute/code.rst:85
-# f02f0838ff3a4cba87c3a567cfebf3cb
msgid "**perf** - the primary purpose is to improve performance"
msgstr ""
#: ../../contribute/code.rst:86
-# c856a5f43c6f48cfb2622b5bd0733e26
msgid "**fix** - this fixes a bug"
msgstr ""
#: ../../contribute/code.rst:87
-# b648a9238a4f43cb8108fff9c1923daf
msgid "**deprecate** - the change deprecates any part of the API"
msgstr ""
#: ../../contribute/code.rst:88
-# d6c672d3e8da4a3b80ed2b3a789a93bd
msgid "**feature** - this adds a new user-facing or developer feature"
msgstr ""
#: ../../contribute/code.rst:89
-# 36f8d8c2738a4b509388b7763aed54cb
msgid "**security** - the change affects a security issue in any way. *Please do not push this commit to any public repo.* Instead contact security@elgg.org."
msgstr ""
#: ../../contribute/code.rst:91
-# c85ade88fc0944af9c505c9a6c0be5c2
msgid "E.g. if your commit refactors to fix a bug, it's still a \"fix\". If that bug is security-related, however, the type must be \"security\" and you should email security@elgg.org before proceeding. When in doubt, make your best guess and a reviewer will provide guidance."
msgstr ""
#: ../../contribute/code.rst:95
-# 12726f912e4442a4baa67dfe471a599f
msgid "In parenthesis, add the ``component``, a short string which describes the subsystem being changed."
msgstr ""
#: ../../contribute/code.rst:97
-# e06b1023edd7434c8ca143d911c31965
msgid "Some examples: \"views\", \"i18n\", \"seo\", \"a11y\", \"cache\", \"db\", \"session\", \"router\", \"\"."
msgstr ""
#: ../../contribute/code.rst:99
-# ba08e00cd8854646a6a5616c62912b6f
msgid "Add a colon, a space, and a brief ``summary`` of the changes, which will appear in the changelog."
msgstr ""
#: ../../contribute/code.rst:101
-# 432cd73c1c1d4ca4be18fbe2b7070fed
msgid "No line may exceed 100 characters in length, so keep your summary concise."
msgstr ""
#: ../../contribute/code.rst:104
-# 220fcacfb42b4dfb83514cd4312036b9
msgid "Good summary"
msgstr ""
#: ../../contribute/code.rst:104
-# df783a32c60745288098e3569ff8df3d
msgid "Bad summary (problem)"
msgstr ""
#: ../../contribute/code.rst:106
-# 952604e855244145b260704f702c9878
msgid "page owners see their own owner blocks on pages"
msgstr ""
#: ../../contribute/code.rst:106
-# 294a3dde738542c5b17ca9a18dd857fc
msgid "bug fix (vague)"
msgstr ""
#: ../../contribute/code.rst:107
-# 7f662ed845484bd8bca6142e27989994
msgid "bar view no longer dies if 'foo' not set"
msgstr ""
#: ../../contribute/code.rst:107
-# 3b32906e0a874b32b176eda1a9bd6086
msgid "updates views/default/bar.php so bar view no longer... (redundant info)"
msgstr ""
#: ../../contribute/code.rst:108
-# 9af54c67d00d48ee9aeb0a8f40eec80c
msgid "narrows river layout to fit iPhone"
msgstr ""
#: ../../contribute/code.rst:108
-# a2e0ee43d78842d790ee73ed545d7d75
msgid "alters the river layout (vague)"
msgstr ""
#: ../../contribute/code.rst:109
-# 49aa2e2829fb4944bc917f82be4fb7a1
msgid "elgg_foo() handles arrays for $bar"
msgstr ""
#: ../../contribute/code.rst:109
-# 5ee11db093d54134a6f1a7215a1b8c37
msgid "in elgg_foo() you can now pass an array for $bar and the function will... (move detail to description)"
msgstr ""
#: ../../contribute/code.rst:110
-# 978c5404a4144db591eb4735ca9df1f1
msgid "removes link color from comments header in river"
msgstr ""
#: ../../contribute/code.rst:110
-# e3a71422ee2c4f8699d37a155824be82
msgid "fixes db so that... (redundant info)"
msgstr ""
#: ../../contribute/code.rst:111
-# 14629c2009424c1dacd1d2d5f805bdb8
msgid "requires non-empty title when saving pages"
msgstr ""
#: ../../contribute/code.rst:111
-# 218325bb02a04020b11d15c6b4a7ba44
msgid "can save pages with no title (confusingly summarizes old behavior)"
msgstr ""
#: ../../contribute/code.rst:114
-# 8f01e733e6c944458abc0c99add54696
msgid "(recommended) Skip a line and add a ``description`` of the changes. Include the motivation for making them, any info about back or forward compatibility, and any rationale of why the change had to be done a certain way. Example:"
msgstr ""
#: ../../contribute/code.rst:117
-# 877a942e25164d67a7976e5c0c7cfd58
msgid "We speed up the Remember Me table migration by using a single INSERT INTO ... SELECT query instead of row-by-row. This migration takes place during the upgrade to 1.9."
msgstr ""
#: ../../contribute/code.rst:120
-# f95b845f71dc473499d30bed7001f902
msgid "Unless your change is trivial/obvious, a description is required."
msgstr ""
#: ../../contribute/code.rst:122
-# a6ab366251b34807b6474b0d4d97ac3d
msgid "If the commit resolves a GitHub issue, skip a line and add ``Fixes #`` followed by the issue number. E.g. ``Fixes #1234``. You can include multiple issues by separating with commas."
msgstr ""
#: ../../contribute/code.rst:125
-# 380e8b0f56de4c419ded82008b51a018
msgid "GitHub will auto-close the issue when the commit is merged. If you just want to reference an issue, use ``Refs #`` instead."
msgstr ""
#: ../../contribute/code.rst:128
-# 9eb5b03c88f64addb224ed7639170d29
msgid "When done, your commit message will have the format:"
msgstr ""
#: ../../contribute/code.rst:141
-# e611e4915bcb44b8a1ec013245858056
msgid "Here is an example of a good commit message:"
msgstr ""
#: ../../contribute/code.rst:153
-# d921984fa9f744508a1293037a4417c0
msgid "To validate commit messages locally, make sure ``.scripts/validate_commit_msg.php`` is executable, and make a copy or symlink to it in the directory ``.git/hooks/commit-msg``."
msgstr ""
#: ../../contribute/code.rst:162
-# b392a08f19fd40428cfaf79deeff190d
msgid "Rewriting commit messages"
msgstr ""
#: ../../contribute/code.rst:163
-# 3617976286a74df09367ea3e7f4208ae
msgid "If your PR does not conform to the standard commit message format, we'll ask you to rewrite it."
msgstr ""
#: ../../contribute/code.rst:165
-# b193ae9e6c184d3db6eb15a932777b23
msgid "To edit just the last commit:"
msgstr ""
#: ../../contribute/code.rst:167
-# c2635520df5f436d97fd1cef850d2b44
msgid "Amend the commit: ``git commit --amend`` (git opens the message in a text editor)."
msgstr ""
#: ../../contribute/code.rst:168
-# c2fdce79a9ab42b2933318b4af029806
msgid "Change the message and save/exit the editor."
msgstr ""
#: ../../contribute/code.rst:169
-# b9d00f73b2aa4ebaa8ffdf68007883a2
msgid "Force push your branch: ``git push -f your_remote your_branch`` (your PR with be updated)."
msgstr ""
#: ../../contribute/code.rst:171
-# 5fe00bfb07df46c9995d2c690dd16f88
msgid "Otherwise you may need to perform an interactive rebase:"
msgstr ""
#: ../../contribute/code.rst:173
-# f8aee3d29c34476486999f791e3e921c
msgid "Rebase the last N commits: ``git rebase -i HEAD~N`` where N is a number. (Git will open the git-rebase-todo file for editing)"
msgstr ""
#: ../../contribute/code.rst:175
-# 51e206244dbf49f0aaf505843ab04f20
msgid "For the commits that need to change, change ``pick`` to ``r`` (for reword) and save/exit the editor."
msgstr ""
#: ../../contribute/code.rst:176
-# 0ff92f5ddfdb4da9882f8946c215bc9c
msgid "Change the commit message(s), save/exit the editor (git will present a file for each commit that needs rewording)."
msgstr ""
#: ../../contribute/code.rst:177
-# 9727808f4a404df2864f9d55ab860239
msgid "``git push -f your_remote your_branch`` to force push the branch (updating your PR)."
msgstr ""
#: ../../contribute/code.rst:180
-# a822db7b472042cf963896d0162d1929
msgid "Testing"
msgstr ""
#: ../../contribute/code.rst:182
-# d4a87771cf55499299b5cbea49edfb30
msgid "Elgg has automated tests for both PHP and JavaScript functionality. All new contributions are required to come with appropriate tests."
msgstr ""
#: ../../contribute/code.rst:186
-# cdbd215a20594ef1b4ebc535a43ca0b2
msgid "PHPUnit Tests"
msgstr ""
#: ../../contribute/code.rst:188
-# 25a8a7900b05407ea5e1f81011bdf00f
msgid "TODO"
msgstr ""
#: ../../contribute/code.rst:191
-# 1006ed0daed84baea46481d613ada4c8
msgid "Jasmine Tests"
msgstr ""
#: ../../contribute/code.rst:193
-# c4283855785d4e8fb7b50c311b56ff9f
msgid "Test files must be named ``*Test.js`` and should go in either ``js/tests/`` or next to their source files in ``views/default/js``. Karma will automatically pick up on new ``*Test.js`` files and run those tests."
msgstr ""
#: ../../contribute/code.rst:198
-# 5a25444c76be4ed4bc72ae94db53a1f3
msgid "Test boilerplate"
msgstr ""
#: ../../contribute/code.rst:213
-# a9ef839c98ae46cc8d87aa035ac12166
msgid "Running the tests"
msgstr ""
#: ../../contribute/code.rst:214
-# 758c251ffc054d9b8dd1449a37930e5a
msgid "Elgg uses `Karma`_ with `Jasmine`_ to run JS unit tests."
msgstr ""
#: ../../contribute/code.rst:219
-# 423befe05fa541f6bd78630606ed01e8
msgid "You will need to have nodejs and npm installed."
msgstr ""
#: ../../contribute/code.rst:221
-# 35da676ad6d94e849b7762fca026d30c
msgid "First install all the development dependencies:"
msgstr ""
#: ../../contribute/code.rst:227
-# be77018f131242b2b04ed334c93a1bd8
msgid "Run through the tests just once and then quit:"
msgstr ""
#: ../../contribute/code.rst:233
-# fd90de43de364e0683761b4a09aa50c4
msgid "You can also run tests continuously during development so they run on each save:"
msgstr ""
#: ../../contribute/code.rst:242
-# f4d6b6180aff48349f95cd3e73103c43
msgid "Coding best practices"
msgstr ""
#: ../../contribute/code.rst:244
-# 84c84df86c8d479194940b6ca8651e1b
msgid "Make your code easier to read, easier to maintain, and easier to debug. Consistent use of these guidelines means less guess work for developers, which means happier, more productive developers."
msgstr ""
#: ../../contribute/code.rst:250
-# c10685e76e0143ff8602570ca92d467a
msgid "General coding"
msgstr ""
#: ../../contribute/code.rst:253
-# bae5350a6f0c400c871c7d1cabe2afd7
msgid "Don't Repeat Yourself"
msgstr ""
#: ../../contribute/code.rst:255
-# fb35392b6b004784bee798c70a3ece6a
msgid "If you are copy-pasting code a significant amount of code, consider whether there's an opportunity to reduce duplication by introducing a function, an additional argument, a view, or a new component class."
msgstr ""
#: ../../contribute/code.rst:258
-# 87f0ee324f0c48978c6f1a66dc342421
msgid "E.g. If you find views that are identical except for a single value, refactor into a single view that takes an option."
msgstr ""
#: ../../contribute/code.rst:261
-# 505a4982fe474e789bd2a4f47f8dacf0
msgid "**Note:** In a bugfix release, *some duplication is preferrable to refactoring*. Fix bugs in the simplest way possible and refactor to reduce duplication in the next minor release branch."
msgstr ""
#: ../../contribute/code.rst:265
-# db87a22cad154b638777da6ae90b5fe4
msgid "Embrace SOLID and GRASP"
msgstr ""
#: ../../contribute/code.rst:267
-# 5de7e0b26fe24708a57932c589ad516f
msgid "Use these `principles for OO design`__ to solve problems using loosely coupled components, and try to make all components and integration code testable."
msgstr ""
#: ../../contribute/code.rst:273
-# df419fbe998e4711a63455ec8978a24d
msgid "Whitespace is free"
msgstr ""
#: ../../contribute/code.rst:275
-# 5c1eac48d50048b28351c2205069d4ae
msgid "Don't be afraid to use it to separate blocks of code. Use a single space to separate function params and string concatenation."
msgstr ""
#: ../../contribute/code.rst:279
-# b26ff860ec0f4faaa3252ca7178aee55
msgid "Variable names"
msgstr ""
#: ../../contribute/code.rst:281
-# 4b6c39cf44654c4aa5d4bd24a7d87e45
msgid "Use self-documenting variable names. ``$group_guids`` is better than ``$array``."
msgstr ""
#: ../../contribute/code.rst:283
-# e6a2eceee79c43478c08187080548d9b
msgid "Avoid double-negatives. Prefer ``$enable = true`` to ``$disable = false``."
msgstr ""
#: ../../contribute/code.rst:286
-# d5ed956cd10c4d7b9d1dd044d647338a
msgid "Functions"
msgstr ""
#: ../../contribute/code.rst:288
-# 66f5ba779a3a47c2bd2de4d0ba42dc90
msgid "Where possible, have functions/methods return a single type. Use empty values such as array(), \"\", or 0 to indicate no results."
msgstr ""
#: ../../contribute/code.rst:291
-# 48ea38c9963a4633a7d91a73669922c2
msgid "Be careful where valid return values (like ``\"0\"``) could be interpreted as empty."
msgstr ""
#: ../../contribute/code.rst:293
-# e119200841cf4bd194e60d692fda4020
msgid "Functions not throwing an exception on error should return ``false`` upon failure."
msgstr ""
#: ../../contribute/code.rst:295
-# 44661ae702974158a833c4cca42b7e59
msgid "Functions returning only boolean should be prefaced with ``is_`` or ``has_`` (eg, ``elgg_is_logged_in()``, ``elgg_has_access_to_entity()``)."
msgstr ""
#: ../../contribute/code.rst:299
-# 0a94e477ea834c9bbeac6cae50856ef1
msgid "Ternary syntax"
msgstr ""
#: ../../contribute/code.rst:301
-# 2a59c23461414ced9ce1c333a54f9dd6
msgid "Acceptable only for single-line, non-embedded statements."
msgstr ""
#: ../../contribute/code.rst:304
-# 54a2358cc1bf488d9c4770c75108e67e
msgid "Minimize complexity"
msgstr ""
#: ../../contribute/code.rst:306
-# 08da67f4c5904583b34d8b44e2b7e94f
msgid "Minimize nested blocks and distinct execution paths through code. Use `Return Early`__ to reduce nesting levels and cognitive load when reading code."
msgstr ""
#: ../../contribute/code.rst:312
-# f9f6cc12cc384a799006aa1157eef34b
msgid "Use comments effectively"
msgstr ""
#: ../../contribute/code.rst:314
-# 142a0676ea004502b484cc9e141b6942
msgid "Good comments describe the \"why.\" Good code describes the \"how.\" E.g.:"
msgstr ""
@@ -596,13 +479,6 @@ msgstr ""
#: ../../contribute/code.rst:526
#: ../../contribute/code.rst:548
#: ../../contribute/code.rst:572
-# a9bb5dbf9d71470cbb98f46ed7866e5f
-# 397863ba958e4c9ebb88b5e9696f4195
-# 111bfcb319954d358828a80807c637e4
-# ca877aa8ad56422bb66f74c6f833d8e3
-# f68c6c1539184221a3aacf4a91fcd7da
-# 6cc4ec573d734618b45726a7c8cf9532
-# 07ffec80cf2042c6a8a759d0fc16d268
msgid "Bad:"
msgstr ""
@@ -614,474 +490,374 @@ msgstr ""
#: ../../contribute/code.rst:534
#: ../../contribute/code.rst:557
#: ../../contribute/code.rst:580
-# a669c558939b4a7b8cb9a54a0f66c40b
-# 3ca1473ca1ba421993fbd83925e6deb9
-# d0155c6785444611ac19eed8acb831e4
-# c84cf6347dc54c35a3f0d92414eba90e
-# c7509acfff214b8c89b1595b529aabbd
-# 4a46a4a3bdf94cd794dbe24f2d1bb652
-# fd81b1343b2645a49df5d24c0f3c49e6
-# 2ff137fd42c24caeb1eefd786bd3320a
msgid "Good:"
msgstr ""
#: ../../contribute/code.rst:338
-# 4474918d2b6c4e3eb031ce3b4d5f9aec
msgid "Always include a comment if it's not obvious that something must be done in a certain way. Other developers looking at the code should be discouraged from refactoring in a way that would break the code."
msgstr ""
#: ../../contribute/code.rst:350
-# c5fc4a4452ef40a6a711932e4e31ebca
msgid "Commit effectively"
msgstr ""
#: ../../contribute/code.rst:352
-# 8f6a7a971c3040188237ebb398c954d7
msgid "Err on the side of `atomic commits`__ which are highly focused on changing one aspect of the system."
msgstr ""
#: ../../contribute/code.rst:353
-# 8421379060ca4f6180fdc9ad4fccbe11
msgid "Avoid mixing in unrelated changes or extensive whitespace changes. Commits with many changes are scary and make pull requests difficult to review."
msgstr ""
#: ../../contribute/code.rst:355
-# 4c6b43d953a048e58a435ca472bea1cb
msgid "Use visual git tools to craft `highly precise and readable diffs`__."
msgstr ""
#: ../../contribute/code.rst:361
-# a1040ba83fb6488eacfd669c4e3e0615
msgid "Include tests"
msgstr ""
#: ../../contribute/code.rst:363
-# 7ee115242fe64ea1b412702f27fc384e
msgid "When at all possible include unit tests for code you add or alter. We use:"
msgstr ""
#: ../../contribute/code.rst:365
-# c9e2a5633f7f4b919527513dfee43ac7
msgid "PHPUnit for PHP unit tests."
msgstr ""
#: ../../contribute/code.rst:367
-# 3e0bb1ec037249938747d5a216c1fe31
msgid "SimpleTest for legacy PHP tests that require use of the database. Our long-term goal is to move all tests to PHPUnit."
msgstr ""
#: ../../contribute/code.rst:370
-# 209c148a195848bfbde858133979a1ed
msgid "Karma for JavaScript unit tests"
msgstr ""
#: ../../contribute/code.rst:373
-# b16ae6c3c33547c5b1b1b754e852e43d
msgid "Naming tests"
msgstr ""
#: ../../contribute/code.rst:375
-# 1dfe8d731f684ff9a9298cfc049fda06
msgid "Break tests up by the behaviors you want to test and use names that describe the behavior. E.g.:"
msgstr ""
#: ../../contribute/code.rst:378
-# f2dc26449ec14a3e966182693f2fccb9
msgid "Not so good: One big method `testAdd()`."
msgstr ""
#: ../../contribute/code.rst:380
-# 9855f86dd616423baa8deebf81c5eab7
msgid "Better: Methods `testAddingZeroChangesNothing` and `testAddingNegativeNumberSubtracts`"
msgstr ""
#: ../../contribute/code.rst:383
-# 62f0450f619b4feb8bdcf262857ff53b
msgid "Keep bugfixes simple"
msgstr ""
#: ../../contribute/code.rst:385
-# 397c8b836a8942b0a5db49da756093b1
msgid "Avoid the temptation to refactor code for a bugfix release. Doing so tends to introduce regressions, breaking functionality in what should be a stable release."
msgstr ""
#: ../../contribute/code.rst:389
-# c6fb0a274c7a4e2b97fab1d87a39f922
msgid "PHP guidelines"
msgstr ""
#: ../../contribute/code.rst:391
-# 8ef5cc131e174d16aeee2d2b87b95072
msgid "These are the required coding standards for Elgg core and all bundled plugins. Plugin developers are strongly encouraged to adopt these standards."
msgstr ""
#: ../../contribute/code.rst:394
-# c121f787036d47fd96136630f7f755b4
msgid "Developers should first read the `PSR-2 Coding Standard Guide`__."
msgstr ""
#: ../../contribute/code.rst:398
-# cac10096913546fb8753d76c5a8c6557
msgid "Elgg's standards extend PSR-2, but differ in the following ways:"
msgstr ""
#: ../../contribute/code.rst:400
-# 6aadcacba76b4a4c94cc2735702c6321
msgid "Indent using one tab character, not spaces."
msgstr ""
#: ../../contribute/code.rst:401
-# 9f1e913a9b664b1abb57fe306b9ed915
msgid "Opening braces for classes, methods, and functions must go on the same line."
msgstr ""
#: ../../contribute/code.rst:402
-# fa9109970aa1453592b6101fd9e65976
msgid "If a line reaches over 100 characters, consider refactoring (e.g. introduce variables)."
msgstr ""
#: ../../contribute/code.rst:403
-# a618888503f0419ab6e9c113ee4f902b
msgid "Compliance with `PSR-1`__ is encouraged, but not strictly required."
msgstr ""
#: ../../contribute/code.rst:408
-# 8a4cd7e72b0e44ef85ab12398f782036
msgid "Documentation"
msgstr ""
#: ../../contribute/code.rst:410
-# f3e4d095b95342228f31cf8af39ce0be
msgid "Include PHPDoc comments on functions and classes (all methods; declared properties when appropriate), including types and descriptions of all parameters."
msgstr ""
#: ../../contribute/code.rst:414
-# a26923672c5244a78cd17ad856915329
msgid "In lists of ``@param`` declarations, the beginnings of variable names and descriptions must line up."
msgstr ""
#: ../../contribute/code.rst:417
-# 74b4fc20ff944f74b08d5804b743968a
msgid "Annotate classes, methods, properties, and functions with ``@access private`` unless they are intended for public use, are already of limited visibility, or are within a class already marked as private."
msgstr ""
#: ../../contribute/code.rst:421
-# b34b08ed83044e87a8bc3267b9fb4176
msgid "Use ``//`` or ``/* */`` when commenting."
msgstr ""
#: ../../contribute/code.rst:423
-# afad5c10149e4a1eb12371993ddb0769
msgid "Use only ``//`` comments inside function/method bodies."
msgstr ""
#: ../../contribute/code.rst:426
-# 185bd10c65dd4316b6e07b3e1edaab05
msgid "Naming"
msgstr ""
#: ../../contribute/code.rst:428
-# 684691edcaff4321ab49ba5d9f36a068
msgid "Use underscores to separate words in the names of functions, variables, and properties. Method names are camelCase."
msgstr ""
#: ../../contribute/code.rst:431
-# 24fede5febec4b6d8ef78536869fcff5
msgid "Names of functions for public use must begin with ``elgg_``."
msgstr ""
#: ../../contribute/code.rst:433
-# 02f955aa58174a41b6dac154ab278120
msgid "All other function names must begin with ``_elgg_``."
msgstr ""
#: ../../contribute/code.rst:435
-# 2d977ff012e24eac95934d5245aa1cfe
msgid "The names of all classes and interfaces must use underscores as namespace separators and be within the Elgg namespace. (``Elgg_Cache_LRUCache``)"
msgstr ""
#: ../../contribute/code.rst:438
-# 8b97c268f0764931bc1adfb27c5e1693
msgid "Name globals and constants in ``ALL_CAPS`` (``ACCESS_FRIENDS``, ``$CONFIG``)."
msgstr ""
#: ../../contribute/code.rst:441
-# 98cf234d2975488bb5f8a37890f58473
msgid "Miscellaneous"
msgstr ""
#: ../../contribute/code.rst:443
-# c3c58e4a763e4785b6b0a0fb4078c535
msgid "For PHP requirements, see ``composer.json``."
msgstr ""
#: ../../contribute/code.rst:445
-# 2ec7e0ec19944d6e961567d964793b36
msgid "Do not use PHP shortcut tags (```` or ``=`` or ``<%``)."
msgstr ""
#: ../../contribute/code.rst:447
-# 875073d781d3429ababc4742e2dd82b0
msgid "When creating strings with variables:"
msgstr ""
#: ../../contribute/code.rst:449
-# 58bf78f344a84221b8fee52bd109f606
msgid "use double-quoted strings"
msgstr ""
#: ../../contribute/code.rst:450
-# 2bbe7e0f23b440ca83f2055cb499af50
msgid "wrap variables with braces only when necessary."
msgstr ""
#: ../../contribute/code.rst:452
-# 5179aaa4f61146faa9bfbf6d166415b9
msgid "Bad (hard to read, misuse of quotes and {}s):"
msgstr ""
#: ../../contribute/code.rst:464
-# 3db2f3f9788f47b7ba83203288caa05d
msgid "Remove trailing whitespace at the end of lines. An easy way to do this before you commit is to run ``php .scripts/fix_style.php`` from the installation root."
msgstr ""
#: ../../contribute/code.rst:468
-# 133393c35e5d46289aac7a6fc8b5d76a
msgid "CSS guidelines"
msgstr ""
#: ../../contribute/code.rst:471
-# c67a864805644731bb7eb561c8893025
msgid "Use shorthand where possible"
msgstr ""
#: ../../contribute/code.rst:491
-# 0cb3125d5c384e51a909fd2d75489be0
msgid "Use hyphens, not underscores"
msgstr ""
#: ../../contribute/code.rst:506
-# 3b0bd59bd1114234809bba72b9d7246b
msgid "One property per line"
msgstr ""
#: ../../contribute/code.rst:522
-# c902bdec4356482f8f918f1038a1ce09
msgid "Property declarations"
msgstr ""
#: ../../contribute/code.rst:524
-# 3b0c0c2fe93a46b7b8e486cb882c0ddf
msgid "These should be spaced like so: `property: value;`"
msgstr ""
#: ../../contribute/code.rst:541
-# 2ba1167bbadc430681d1bb8a1611b577
msgid "Vendor prefixes"
msgstr ""
#: ../../contribute/code.rst:543
-# bced452f421e4723aff76b44b03837ac
msgid "Group vendor-prefixes for the same property together"
msgstr ""
#: ../../contribute/code.rst:544
-# 02123bcd3e32484ca732b3c8fddce83f
msgid "Longest vendor-prefixed version first"
msgstr ""
#: ../../contribute/code.rst:545
-# c1cac4657ce54b36a92b4e61bfe7958b
msgid "Always include non-vendor-prefixed version"
msgstr ""
#: ../../contribute/code.rst:546
-# 1a096ba017b6402db66560c50f0ddcfd
msgid "Put an extra newline between vendor-prefixed groups and other properties"
msgstr ""
#: ../../contribute/code.rst:570
-# cff0a0c8422049cba537df636b1fb0ec
msgid "Group subproperties"
msgstr ""
#: ../../contribute/code.rst:589
-# b14e9cfcb7204de0a638f12f1830fd6b
msgid "Javascript guidelines"
msgstr ""
#: ../../contribute/code.rst:591
-# 61e2ed488bfc4e8c9010a096c69b95c3
msgid "Same formatting standards as PHP apply."
msgstr ""
#: ../../contribute/code.rst:593
-# 3e79c44d9b9f4ef5ba165ef1d89d278c
msgid "All functions should be in the ``elgg`` namespace."
msgstr ""
#: ../../contribute/code.rst:595
-# a89a2713fdc9405d8c5f89e71569b488
msgid "Function expressions should end with a semi-colon."
msgstr ""
#: ../../contribute/code.rst:606
-# 7f702cee0d464f58824205ca5699fbc6
msgid "Deprecating APIs"
msgstr ""
#: ../../contribute/code.rst:608
-# 009e4a0e0dca48668dd423720b1a0b79
msgid "Occasionally, functions and classes must be deprecated in favor of newer replacements. Since 3rd party plugin authors rely on a consistent API, backward compatibility must be maintained, but will not be maintained indefinitely as plugin authors are expected to properly update their plugins. In order to maintain backward compatibility, deprecated APIs will follow these guidelines:"
msgstr ""
#: ../../contribute/code.rst:616
-# df43cb0b80f44c1bb8a9357530a375d4
msgid "The first minor version (1.7) with a deprecated API must include a wrapper function/class (or otherwise appropriate means) to maintain backward compatibility, including any bugs in the original function/class. This compatibility layer uses ``elgg_deprecated_notice('...', '1.7')`` to log that the function is deprecated."
msgstr ""
#: ../../contribute/code.rst:622
-# 5fbcb35d7da2402594e9bc0a5c7264a1
msgid "The following minor versions (1.8+) maintain the backward compatibility layer, but ``elgg_deprecated_notice()`` will produce a visible warning."
msgstr ""
#: ../../contribute/code.rst:625
-# 54ed8d1770cc4c36bf77df0df00b5f20
msgid "The next major revision (2.0) removes the compatibility layer. Any use of the deprecated API should be corrected before this."
msgstr ""
#: ../../contribute/docs.rst:2
-# a437ed2d08c34b5098dc67de54af9b87
msgid "Writing Documentation"
msgstr ""
#: ../../contribute/docs.rst:4
-# d9489a6f77134ea3b287e4a3335d0b13
msgid "New documentation should fit well with the rest of Elgg's docs."
msgstr ""
#: ../../contribute/docs.rst:11
-# e1a8b6935e294dd796fd099e1b8a0dc1
msgid "Follow the existing document organization"
msgstr ""
#: ../../contribute/docs.rst:12
-# 939562de3c414af4b494472c12a5f461
msgid "The current breakdown is not necessarily the One True Way to organize docs, but consistency is better than randomness."
msgstr ""
#: ../../contribute/docs.rst:17
-# ade270d52f70424b9fa6b14cff954f1d
msgid "intro/*"
msgstr ""
#: ../../contribute/docs.rst:18
-# be8c55ec5b8d4e18a2111961925d526d
msgid "This is everything that brand new users need to know (installation, features, license, etc.)"
msgstr ""
#: ../../contribute/docs.rst:21
-# 5ff882820b9a4133be05f44cc3b2a88c
msgid "admin/*"
msgstr ""
#: ../../contribute/docs.rst:22
-# 67da95e2744b4da2997c177710f7984b
msgid "Guides for administrators. Task-oriented."
msgstr ""
#: ../../contribute/docs.rst:25
-# fe3b291a18c24e8a970ddc6276106917
msgid "guides/*"
msgstr ""
#: ../../contribute/docs.rst:26
-# 944c0b0335bd4967beb50cefeca5ad17
msgid "API guides for plugin developers. Cookbook-style. Example heavy. Code snippet heavy. Broken down by services (actions, i18n, routing, db, etc.). This should only discuss the public API and its behavior, not implementation details or reasoning."
msgstr ""
#: ../../contribute/docs.rst:31
-# 38a566d00cb84a96b3339047713c7b3d
msgid "design/*"
msgstr ""
#: ../../contribute/docs.rst:32
-# 5d0631732b3f4c8e9384a4cd00c9a97a
msgid "Design docs for people who want to get a better understanding of how/why core is built the way it is. This should discuss internal implementation details of the various services, what tradeoffs were made, and the reasoning behind the final decision. Should be useful for people who want to contribute and for communication b/w core devs."
msgstr ""
#: ../../contribute/docs.rst:38
-# 32c0b271f4fc4e77aa29a9d3c852ad21
msgid "contribute/*"
msgstr ""
#: ../../contribute/docs.rst:39
-# c3848f53b20c44ffbca47f59dcf44d3b
msgid "Contributors guides for the various ways people can participate in the project."
msgstr ""
#: ../../contribute/docs.rst:42
-# a82c8b5bbb634f0a8c3a059e9a987629
msgid "appendix/*"
msgstr ""
#: ../../contribute/docs.rst:43
-# a193b892ecba49f1b1062185a1702908
msgid "More detailed/meta/background information about the project (history, roadmap, etc.)"
msgstr ""
#: ../../contribute/docs.rst:47
-# c0d10414ee58443c872426a875b0bbac
msgid "Use \"Elgg\" in a grammatically correct way"
msgstr ""
#: ../../contribute/docs.rst:48
-# 11007ba2e5ce48a3b6ffc94ca24e0d8f
msgid "Elgg is not an acronym, so writing it in all caps (ELGG or E-LGG) is incorrect. Please don’t do this."
msgstr ""
#: ../../contribute/docs.rst:52
-# 2123be5c35c4404fb341c36d97b87ddb
msgid "In English, Elgg does not take an article when used as a noun. Here are some examples to emulate:"
msgstr ""
#: ../../contribute/docs.rst:51
-# ad0dc1934ebe43559dec4cb81677fe46
msgid "“I’m using Elgg to run my website”"
msgstr ""
#: ../../contribute/docs.rst:52
-# 2673cd8681cf4547a4f5d59d43ee3e9d
msgid "“Install Elgg to get your community online”"
msgstr ""
#: ../../contribute/docs.rst:56
-# 44565dbdfec448c3bc36f468e08a6693
msgid "When used as an adjective, the article applies to the main noun, so you should use one. For example:"
msgstr ""
#: ../../contribute/docs.rst:55
-# adafcbf44541412986f83554425b70d4
msgid "\"Go to the Elgg community website to get help.\""
msgstr ""
#: ../../contribute/docs.rst:56
-# 391b82aef26f47139ed9f112e91492f9
msgid "\"I built an Elgg-based network yesterday\""
msgstr ""
#: ../../contribute/docs.rst:58
-# 4c5a6f7a05ba4c11a494f54c4361c94c
msgid "This advice may not apply in languages other than English."
msgstr ""
#: ../../contribute/docs.rst:62
-# 6a473258d3904c3b9d18f1165ace9d81
msgid "Avoid first person pronouns"
msgstr ""
#: ../../contribute/docs.rst:63
-# 1bd1a3c9a0ec4b9a906f0783f79f975e
msgid "Refer to the reader as “you.” Do not include yourself in the normal narrative."
msgstr ""
@@ -1089,15 +865,10 @@ msgstr ""
#: ../../contribute/docs.rst:76
#: ../../contribute/docs.rst:88
#: ../../contribute/docs.rst:102
-# e0d357118a714dd6a0e84cf215118abc
-# 7b7bce1241f24e2c9d42239004485022
-# 971a977d619a4399bd4dbb208dd4ab56
-# a7cd32489140441d9fb993e0421d7303
msgid "Before:"
msgstr ""
#: ../../contribute/docs.rst:67
-# ded835c81075418fae254abbdaebdc33
msgid "When we’re done installing Elgg, we’ll look for some plugins!"
msgstr ""
@@ -1105,635 +876,506 @@ msgstr ""
#: ../../contribute/docs.rst:80
#: ../../contribute/docs.rst:92
#: ../../contribute/docs.rst:106
-# f49c24d467df452fa27cad6261b1dfff
-# 5db8aed946d54a7a86fcdca5ad233b33
-# b302973411534e83b9f1cfe81c625aea
-# 39cbdf8217384ec0b58e3acbaa1effa4
msgid "After:"
msgstr ""
#: ../../contribute/docs.rst:71
-# 056cf7de4ef349558a6bc7f0b1b01483
msgid "When you’re done installing Elgg, look for some plugins!"
msgstr ""
#: ../../contribute/docs.rst:73
-# 88bccaeadb0545f8a8b94e6d029b961a
msgid "To refer to yourself (avoid this if possible), use your name and write in the third person. This clarifies to future readers/editors whose opinions are being expressed."
msgstr ""
#: ../../contribute/docs.rst:78
-# 0f74b762c61f4f70b4afe86bc60d4f56
msgid "I think the best way to do X is to use Y."
msgstr ""
#: ../../contribute/docs.rst:82
-# fc69726b249e4ca482e1686a552ce861
msgid "Evan thinks the best way to do X is to use Y."
msgstr ""
#: ../../contribute/docs.rst:86
-# 431d003e1cb94f8ebc30123a085b361c
msgid "Eliminate fluff"
msgstr ""
#: ../../contribute/docs.rst:90
-# 0365c22ce0f641d899b4b39845deaf40
msgid "If you want to use a third-party javascript library within the Elgg framework, you should take care to call the ``elgg_register_js`` function to register it."
msgstr ""
#: ../../contribute/docs.rst:94
-# 771f0d6064a54acaabda111df26c7f6e
msgid "To use a third-party javascript library, call ``elgg_register_js`` to register it."
msgstr ""
#: ../../contribute/docs.rst:98
-# 04d6bb6cd384478eb6abe6e2a717e0a7
msgid "Prefer absolute dates over relative ones"
msgstr ""
#: ../../contribute/docs.rst:99
-# 00078aef5235465cb7f63946f2726f7d
msgid "It is not easy to tell when a particular sentence or paragraph was written, so relative dates quickly become meaningless. Absolute dates also give the reader a good indication of whether a project has been abandoned, or whether some advice might be out of date."
msgstr ""
#: ../../contribute/docs.rst:104
-# 4b37fc4faf2a4df496eb48cf6fb6a2b1
msgid "Recently the foo was barred. Soon, the baz will be barred too."
msgstr ""
#: ../../contribute/docs.rst:108
-# 8e64a08330524c999b31f53ceedc2940
msgid "Recently (as of September 2013), the foo was barred. The baz is expected to be barred by October 2013."
msgstr ""
#: ../../contribute/docs.rst:112
-# f51cfc1c7dff4aac8c3abda205c4600a
msgid "Do not remind the reader to contribute"
msgstr ""
#: ../../contribute/docs.rst:113
-# b636a93d68574fc5865d07f52924ff3c
msgid "Focus on addressing only the topic at hand. Constant solicitation for free work is annoying and makes the project look needy. If people want to contribute to the project, they can visit the contributor guide."
msgstr ""
#: ../../contribute/docs.rst:119
-# 4ba20be089834c589235f05e0cd59ebb
msgid "Internationalizing documentation"
msgstr ""
#: ../../contribute/docs.rst:121
-# 42cddc6e8c8d4c56a9d4ee7da265accc
msgid "When you change documentation, remember to update the documentation translation templates before you commit:"
msgstr ""
#: ../../contribute/docs.rst:129
-# f0fc24b11a074e96a95d8dc00ef89ffc
msgid "For more information, see http://sphinx-doc.org/latest/intl.html#translating-with-sphinx-intl"
msgstr ""
#: ../../contribute/i18n.rst:2
-# 23f0b041a86e4d3fb979f2fc30c60670
msgid "Translations"
msgstr ""
#: ../../contribute/i18n.rst:4
-# 34a4e8e75ce94bdd8b7f5c618a43854e
msgid "Translations multiply the impact that Elgg can have by making it accessible to a larger percentage of the world."
msgstr ""
#: ../../contribute/i18n.rst:7
-# 576dd771dc97413caa6ad0ec56e6aa3a
msgid "The community will always be indebted to those of you who work hard to provide high quality translations for Elgg's UI and docs."
msgstr ""
#: ../../contribute/i18n.rst:11
-# ccc1a024a60b4cafa60c0a27ff449247
msgid "Transifex"
msgstr ""
#: ../../contribute/i18n.rst:13
-# 6d1f6a0e86d04d1580885ceff38c9688
msgid "All translation for the Elgg project is organized through Transifex."
msgstr ""
#: ../../contribute/i18n.rst:15
-# 7c836fc916614bdf8bc3152a34d2283f
msgid "https://www.transifex.com/organization/elgg"
msgstr ""
#: ../../contribute/i18n.rst:17
-# c72e2eeaf2bf48d187a249ddd0c4d7c2
msgid "Plugin authors are encouraged to coordinate translations via Transifex as well so the whole community can be unified and make it really easy for translators to contribute to any plugin in the Elgg ecosystem."
msgstr ""
#: ../../contribute/index.rst:2
-# 5ece4b12504b4095a3d1422155ecbc47
msgid "Contributor Guides"
msgstr ""
#: ../../contribute/index.rst:4
-# 8bd6fc5106984446a4642954f0919af3
msgid "Participate in making Elgg even better."
msgstr ""
#: ../../contribute/index.rst:6
-# 7f734a6c216c4f48afe85ee9013d1e25
msgid "Elgg is a community-driven project. It relies on the support of volunteers to succeed. Here are some ways you can help:"
msgstr ""
#: ../../contribute/issues.rst:2
-# 2af7e9ce215e4afa87900fb5372904de
msgid "Reporting Issues"
msgstr ""
#: ../../contribute/issues.rst:4
-# b26a417621794277aa10b1cac9d3e6e6
msgid "Report bugs and features requests to https://github.com/Elgg/Elgg/issues. See below for guidelines."
msgstr ""
#: ../../contribute/issues.rst:8
-# 1d3d78bfa65e481091a59c429b02020d
msgid "DISCLAIMERS"
msgstr ""
#: ../../contribute/issues.rst:10
-# d0d3b2b4e83a43f4a603abf4d1796219
msgid "**SECURITY ISSUES SHOULD BE REPORTED TO security @ elgg . org!** Please do not post any security issues on github!!"
msgstr ""
#: ../../contribute/issues.rst:12
-# c02e3835e4ec40329741c30f330e2cf6
msgid "Support requests belong on the `community site`_. Tickets with support requests will be closed."
msgstr ""
#: ../../contribute/issues.rst:14
-# e6dfc2b38f92456f8d9d6fc2ce0b0091
msgid "We cannot make any guarantees as to when your ticket will be resolved."
msgstr ""
#: ../../contribute/issues.rst:17
-# c4f1382ec84f4397958d74fcb03f60d7
msgid "Bug reports"
msgstr ""
#: ../../contribute/issues.rst:19
-# 964cf636f7d7450d955d2cf18d302b80
msgid "Before submitting a bug report:"
msgstr ""
#: ../../contribute/issues.rst:21
-# 1514195986ca428787e9ab46409a4aa6
msgid "Search for an existing ticket on the issue you’re having. Add any extra info there."
msgstr ""
#: ../../contribute/issues.rst:23
-# 212dcc6c54d548deb74173a6e08bc776
msgid "Verify the problem is reproducible"
msgstr ""
#: ../../contribute/issues.rst:25
-# 8a704b9d43794ec6b7de1647128b7a93
msgid "On the latest version of Elgg"
msgstr ""
#: ../../contribute/issues.rst:26
-# ad8d6c05237c40e59c29bc1a168b4d77
msgid "With all third-party plugins disabled"
msgstr ""
#: ../../contribute/issues.rst:28
-# dd3454af5bdb4625aaf6170052c0a258
msgid "Good bug report checklist:"
msgstr ""
#: ../../contribute/issues.rst:30
-# 341b3e6b6f984f89b1ae33ac7721d173
msgid "Expected behavior and actual behavior"
msgstr ""
#: ../../contribute/issues.rst:31
-# a01ad1e85cc041ddb2627716e7ae5f40
msgid "Clear steps to reproduce the problem"
msgstr ""
#: ../../contribute/issues.rst:32
-# 4376da3e20674c8db04ef00e92d4547c
msgid "The version of Elgg you’re running"
msgstr ""
#: ../../contribute/issues.rst:33
-# 555ebc40e9df4988af84d7c06e2ac83c
msgid "Browsers affected by this problem"
msgstr ""
#: ../../contribute/issues.rst:36
-# fd13fe52980449b8a6278a169e0be4e8
msgid "Feature requests"
msgstr ""
#: ../../contribute/issues.rst:38
-# f1a90533c5304c09a1abb9c4f83b3de4
msgid "Before submitting a feature request:"
msgstr ""
#: ../../contribute/issues.rst:40
-# ca77d642c4f345388c5a9549fe9570ea
msgid "Check the `community site`_ for a plugin that has the features you need."
msgstr ""
#: ../../contribute/issues.rst:42
-# 1e2a53745834424d8895ad75e7fbc653
msgid "Consider if you can :doc:`develop a plugin ` that does what you need."
msgstr ""
#: ../../contribute/issues.rst:43
-# 20ab31ab7ffc44f7802f647481dc7c5c
msgid "Search through the closed tickets to see if someone else suggested the same feature, but got turned down. You’ll need to be able to explain why your suggestion should be considered this time."
msgstr ""
#: ../../contribute/issues.rst:47
-# 7244c63037594f5184db9ba41692e6c3
msgid "Good feature request checklist:"
msgstr ""
#: ../../contribute/issues.rst:49
-# 99cde88cf5ae467797f09a3fde3c28cb
msgid "Detailed explanation of the feature"
msgstr ""
#: ../../contribute/issues.rst:50
-# 6f34047504ce4202a195a9c735a8a6d8
msgid "Real-life use-cases"
msgstr ""
#: ../../contribute/issues.rst:51
-# 260fb57b2bfa452c9d842f6faeb805a6
msgid "Proposed API"
msgstr ""
#: ../../contribute/money.rst:2
-# f183fad3e9574c36bb8a26288359edac
msgid "Becoming a Financial Supporter"
msgstr ""
#: ../../contribute/money.rst:6
-# 4f07b133042843e7a16463c218cd9b23
msgid "All funds raised via the Elgg supporters network go directly into:"
msgstr ""
#: ../../contribute/money.rst:5
-# 327d114870a748eea92c8940bb39df66
msgid "Elgg core development"
msgstr ""
#: ../../contribute/money.rst:6
-# 696590fe2f264d9c89dec306333254aa
msgid "Infrastructure provision (elgg.org, github, etc.)"
msgstr ""
#: ../../contribute/money.rst:8
-# 067836a6f6184573b4786ad21cc769e2
msgid "It is a great way to help with Elgg development!"
msgstr ""
#: ../../contribute/money.rst:11
-# b793dc86dc0f43838c491c64cf89bab1
msgid "Benefits"
msgstr ""
#: ../../contribute/money.rst:12
-# df79d1172ce241c8874966211bdf1909
msgid "For only $50 per year for individuals or $150 per year for organizations, you can get listed as a supporter on `our supporters page`_. Elgg supporters are listed there unless they request not to be."
msgstr ""
#: ../../contribute/money.rst:18
-# c03e1e9fe1dd47c1b4a4553c3253a2a4
msgid "Supporters are able to put this official logo on their site if they wish:"
msgstr ""
#: ../../contribute/money.rst:25
-# 2f052a944afe49faa29e3a50871fdc00
msgid "Disclaimer"
msgstr ""
#: ../../contribute/money.rst:26
-# 188bd58e9ae64baa9b6d576e96bfee08
msgid "We operate a no refund policy on supporter subscriptions. If you would like to withdraw your support, go to PayPal and cancel your subscription. You will not be billed the following year."
msgstr ""
#: ../../contribute/money.rst:30
-# 4451532a782244c095edfc33f2be93c0
msgid "Being an Elgg Supporter does not give an individual or organization the right to impersonate, trade as or imply they are connected to the Elgg project. They can, however, mention that they support the Elgg project."
msgstr ""
#: ../../contribute/money.rst:34
-# e1cdc976ff7040b6aaf4178ac34e0b35
msgid "If you have any questions about this disclaimer, email info@elgg.org."
msgstr ""
#: ../../contribute/money.rst:36
-# fe3754892a174eb386376c8a5f41d0de
msgid "We reserve the right to remove or refuse a listing without any prior warning at our complete discretion. There is no refund policy."
msgstr ""
#: ../../contribute/money.rst:39
-# a47cb1abb94f429382bd980adac40b78
msgid "If there is no obvious use of Elgg, your site will be linked to with \"nofollow\" set."
msgstr ""
#: ../../contribute/money.rst:42
-# b18c8c61f90b40f79db32ef06da20c42
msgid "Sign up"
msgstr ""
#: ../../contribute/money.rst:43
-# 1335fdd06d3b4f838137be809892da16
msgid "If you would like to become an Elgg supporter:"
msgstr ""
#: ../../contribute/money.rst:45
-# 8bf9e634098c4fb59a9a493dc3c5089f
msgid "read the disclaimer_ above"
msgstr ""
#: ../../contribute/money.rst:46
-# 673122c799f84098820b002f36773889
msgid "on the supporters page, `subscribe via PayPal`__"
msgstr ""
#: ../../contribute/money.rst:47
-# 3c852549ab1840b4a0a87edb94a48d3c
msgid "send an email to info@elgg.org with:"
msgstr ""
#: ../../contribute/money.rst:49
-# 8d6d29d704204400b7686928fafbf4d6
msgid "the date you subscribed"
msgstr ""
#: ../../contribute/money.rst:50
-# a7dc8cb3fe8740188dd9c9b5fe217a5f
msgid "your name (and organization name, if applicable)"
msgstr ""
#: ../../contribute/money.rst:51
-# b2ac2f0ef4244a64b90f9087c711f5f7
msgid "your website"
msgstr ""
#: ../../contribute/money.rst:52
-# 2310631c1747477d8c41690c74827229
msgid "your Elgg community profile"
msgstr ""
#: ../../contribute/money.rst:57
-# 78bdc16b58fd413988d850ae359eca21
msgid "Once all the details have been received, we will add you to the appropriate list. Thanks for your support!"
msgstr ""
#: ../../contribute/releases.rst:2
-# e333232434574bf9b7c28bc3d2be10aa
msgid "Release Process Workflow"
msgstr ""
#: ../../contribute/releases.rst:4
-# 436ca6da0ed84203a09de0ac540dc851
msgid "Release a new version of Elgg."
msgstr ""
#: ../../contribute/releases.rst:6
-# e71415b86d4447bd861b0c5643982acd
msgid "This is the process the core team follows for making a new Elgg release. We have published this information in the spirit of openness, and to streamline onboarding of new team members."
msgstr ""
#: ../../contribute/releases.rst:15
-# e6e63ac8d050410dbcdb72455b9c53f1
msgid "Requirements"
msgstr ""
#: ../../contribute/releases.rst:17
-# 20cb55023a87443bbaa2602d0aa7854a
msgid "SSH access to elgg.org"
msgstr ""
#: ../../contribute/releases.rst:18
-# a5027837c3fc46fa9e143102aa29a645
msgid "Commit access to http://github.com/Elgg/Elgg"
msgstr ""
#: ../../contribute/releases.rst:19
-# 2083c656aaaf4fccba488ca99cb953e5
msgid "Author access to http://blog.elgg.org"
msgstr ""
#: ../../contribute/releases.rst:20
-# 80762f06f6444d5f991e1c2dda286025
msgid "Access to `Twitter account`_"
msgstr ""
#: ../../contribute/releases.rst:21
-# 3674c4a376c94430812f9b9063c27bbb
msgid "Access to `G+ page`_"
msgstr ""
#: ../../contribute/releases.rst:22
-# ce7103bf63944567b7399887ac7ff243
msgid "Node.js and NPM installed"
msgstr ""
#: ../../contribute/releases.rst:23
-# 02b5de4581b0470c85103e65f9e9af21
msgid "Sphinx installed (``easy_install sphinx``)"
msgstr ""
#: ../../contribute/releases.rst:24
-# 64952b4f5caf4f31890557c729e87a8a
msgid "Transifex client installed (``easy_install transifex-client``)"
msgstr ""
#: ../../contribute/releases.rst:25
-# 135659b84b0448318c0ceb59624db990
msgid "Transifex account with access to Elgg project"
msgstr ""
#: ../../contribute/releases.rst:28
-# bb1df5ca4a1d4d758ee77562c6df03c4
msgid "1. First new stable minor/major release"
msgstr ""
#: ../../contribute/releases.rst:30
-# 824d3accd60743afbcb8b5a4f348c1e8
msgid "Make sure to update the :doc:`/appendix/support` document to include the new minor/major release date and fill in the blanks for the previous release."
msgstr ""
#: ../../contribute/releases.rst:33
-# 3fdc20403d634541867d201bb95d6db8
msgid "2. Prepare and tag the release"
msgstr ""
#: ../../contribute/releases.rst:35
-# 72429f196d6343dbbcc7f1f87d2957e3
msgid "Make sure your local git clone is up to date!"
msgstr ""
#: ../../contribute/releases.rst:37
-# ac91618a108f4c2bbba0cc83b517339a
msgid "Merge latest commits up from lowest supported branch. Visit https://github.com/Elgg/Elgg/compare/new...old and submit the PR if there is anything that needs to be merged up."
msgstr ""
#: ../../contribute/releases.rst:41
-# 5e281f7a1ddc489e8c9d60cb54f7654f
msgid "Install the prerequisites:"
msgstr ""
#: ../../contribute/releases.rst:49
-# 0d6bc9131d7c46d4a9ebb35cee72cb43
msgid "Run the ``release.php`` script. For example, to release 1.9.1:"
msgstr ""
#: ../../contribute/releases.rst:56
-# 8931e2a1460144ff8252792924e0a7a6
msgid "This creates a ``release-1.9.1`` branch in your local repo."
msgstr ""
#: ../../contribute/releases.rst:58
-# 1486caa82d2e402785b6b3821d8e944f
msgid "Next, submit a PR via Github:"
msgstr ""
#: ../../contribute/releases.rst:64
-# 78d2aa4b6f214bf6b6dfa0df50389605
msgid "Once approved and merged, tag the release:"
msgstr ""
#: ../../contribute/releases.rst:74
-# 2f2f4230a0bd4ea5941e0aec7167196b
msgid "Update Milestones on Github"
msgstr ""
#: ../../contribute/releases.rst:73
-# b8105e9a606242abb8585233c807f091
msgid "Mark release milestones as completed"
msgstr ""
#: ../../contribute/releases.rst:74
-# d4c5434fa0da4b1ea9fc9dc9cd4523dd
msgid "Move unresolved tickets in released milestones to later milestones"
msgstr ""
#: ../../contribute/releases.rst:77
-# 6aa73996e8ae4848acd33c3b7331328f
msgid "3. Update the website"
msgstr ""
#: ../../contribute/releases.rst:79
-# 60449ade5e0f4515ad439bd40e48f1ed
msgid "The downloads need to point to the new releases."
msgstr ""
#: ../../contribute/releases.rst:82
-# 7a3afbdfc93e48a28ddfb73c4d734879
msgid "Build Package"
msgstr ""
#: ../../contribute/releases.rst:84
-# 4d1a2526c1a24e2ebb8baea30b2d574c
msgid "ssh to elgg.org"
msgstr ""
#: ../../contribute/releases.rst:85
-# b2c58d3e4930490b9dbdf7413047846c
msgid "Clone https://github.com/Elgg/elgg-scripts"
msgstr ""
#: ../../contribute/releases.rst:86
-# 530400993fe7486194b8a9df7acdf6eb
msgid "Use elgg-scripts/build/build.sh to generate the .zip file."
msgstr ""
#: ../../contribute/releases.rst:88
-# 1b030b49795147fea57b15a88fdbaf5d
msgid "Run without arguments to see usage. This also generates the ChangeLog.txt file."
msgstr ""
#: ../../contribute/releases.rst:90
-# 5797d4dfffe549909fe95a346b167c89
msgid "Example::"
msgstr ""
#: ../../contribute/releases.rst:94
-# cee5d5f972dc44fcbfc3d307c8196d9e
msgid "MIT::"
msgstr ""
#: ../../contribute/releases.rst:99
-# f15be367fed34332ad709db9c9152706
msgid "Update homepage, download, and previous download pages"
msgstr ""
#: ../../contribute/releases.rst:101
-# 1022b053659d4565b8d4495f617e688a
msgid "Clone https://github.com/Elgg/old-elgg-website"
msgstr ""
#: ../../contribute/releases.rst:102
-# 846188b1b8ba4a13b2647ff78a3b6e6e
msgid "Make changes, commit, push."
msgstr ""
#: ../../contribute/releases.rst:104
-# c906ef538a134872b0992b121fd1eb4c
msgid "index.php"
msgstr ""
#: ../../contribute/releases.rst:105
-# bfb7ac6ca30148dfb7f5fa37926e0e21
msgid "download.php"
msgstr ""
#: ../../contribute/releases.rst:106
-# bc1182f24c904c7a825cda2feb170918
msgid "previous.php"
msgstr ""
#: ../../contribute/releases.rst:108
-# 5f19f4ef8fea42969722bed5089429c3
msgid "Pull to live site"
msgstr ""
#: ../../contribute/releases.rst:114
-# cc4f2679f22641feb97c9fe8b428dedc
msgid "flush apc cache (via community admin panel)"
msgstr ""
#: ../../contribute/releases.rst:117
-# 32fb93d38c544360b26e5f57c02e877e
msgid "4. Make the announcement"
msgstr ""
#: ../../contribute/releases.rst:119
-# bef0cf73958d42d18809432fecd94268
msgid "This should be the very last thing you do."
msgstr ""
#: ../../contribute/releases.rst:121
-# 0ab378cd9d39479ba5f23b910451209a
msgid "Sign in at http://blog.elgg.org/pg/login and compose a blog on with HTML version of CHANGELOG.md."
msgstr ""
#: ../../contribute/releases.rst:122
-# 542ee3abb8d5475fa99b0b2282ef870e
msgid "Add tags “release” and “elgg1.x” where x is whatever branch is being released."
msgstr ""
#: ../../contribute/releases.rst:123
-# 5b2439703d6440b28c7a6cd3f0f12392
msgid "Tweet from the elgg `Twitter account`_"
msgstr ""
#: ../../contribute/releases.rst:124
-# 4c8767e3a75a4319b31fbd74788ec630
msgid "Post from the `G+ page`_"
msgstr ""
diff --git a/docs/locale/pot/design.pot b/docs/locale/pot/design.pot
index 8230cdd21e1..cd6085665b4 100644
--- a/docs/locale/pot/design.pot
+++ b/docs/locale/pot/design.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,12 +17,10 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../design/actions.rst:2
-# f398ebd0b41847f4b9d94340c500990a
msgid "Actions"
msgstr ""
#: ../../design/actions.rst:4
-# 11be72cf9a5e41e591a4aeb024eeef08
msgid "Actions are the primary way users interact with an Elgg site."
msgstr ""
@@ -30,1516 +28,1203 @@ msgstr ""
#: ../../design/amd.rst:8
#: ../../design/database.rst:11
#: ../../design/events.rst:9
-# 580beab2a4d74ae5b2f02d88b61790c5
-# b29aa4cd879c43c297d66f728a8837c8
-# 49ff7966195445bcbf893db88d7904c5
-# 210670e47d674e7388c40e05f6a20e38
msgid "Overview"
msgstr ""
#: ../../design/actions.rst:12
-# 4edf61c914d241b4bb379cb1c0f05c24
msgid "An action in Elgg is the code that runs to make changes to the database when a user does something. For example, logging in, posting a comment, and making a blog post are actions. The action script processes input, makes the appropriate modifications to the database, and provides feedback to the user about the action."
msgstr ""
#: ../../design/actions.rst:15
-# 820866abfa5e4aa08709c8d946510471
msgid "Action Handler"
msgstr ""
#: ../../design/actions.rst:17
-# fe202ff910284cbb8989f23a2881dbc2
msgid "Actions are registered during the boot process by calling ``elgg_register_action()``. All actions URLs start with ``action/`` and are served by Elgg's front end controller through the action service. This approach is different from traditional PHP applications that send information to a specific file. The action service performs :doc:`CSRF security checks `, and calls the registered action script file, then optionally forwards the user to a new page. By using the action service instead of a single script file, Elgg automatically provides increased security and extensibility."
msgstr ""
#: ../../design/actions.rst:19
-# c5f364f7917b44d3bf73c47ae6353eb6
msgid "In Elgg 1.8 and before, actions were handled by an action handler script in ```engine/handlers/action_handler.php``. This required specific rewrite rules for URLs beginning with ``/action/``."
msgstr ""
#: ../../design/actions.rst:21
-# 82e7f90cee9845468dfe92121932ea99
msgid "See :doc:`/guides/actions` for details on how to register and construct an action. To look at the core actions, check out the directory /actions."
msgstr ""
#: ../../design/amd.rst:2
-# e5144d7291d748168ae438e25142e0ea
msgid "AMD"
msgstr ""
#: ../../design/amd.rst:10
-# 38e19b3673a84ffcafb64e128753b9a7
msgid "There are two JavaScript system in Elgg: the deprecated 1.8 system, and the newer `AMD (Asynchronous Module Definition) `_ compatible system introduced in 1.9."
msgstr ""
#: ../../design/amd.rst:13
-# a8a6398606754305be764a99e97acd8a
msgid "This discusses the benefits of using AMD in Elgg."
msgstr ""
#: ../../design/amd.rst:16
-# e71534a407b744038f38c5f425c7ff15
msgid "Why AMD?"
msgstr ""
#: ../../design/amd.rst:18
-# 46daea1ae2fd432fa3f7a7dd6c71cadc
msgid "We have been working hard to make Elgg's JavaScript more maintainable and useful. We made some strides in 1.8 with the introduction of the \"``elgg``\" JavaScript object and library, but have quickly realized the approach we were taking was not scalable."
msgstr ""
#: ../../design/amd.rst:22
-# 4f39e23fa4544c40a3bf5d68f3d96022
msgid "The size of `JS on the web is growing `_ quickly, and JS in Elgg is growing too. We want Elgg to be able to offer a solution that makes JS development as productive and maintainable as possible going forward."
msgstr ""
#: ../../design/amd.rst:27
-# 71ecf6dd00bf42e9962ac9a58fe73b03
msgid "The `reasons to choose AMD `_ are plenteous and well-documented. Let's highlight just a few of the most relevant reasons as they relate to Elgg specifically."
msgstr ""
#: ../../design/amd.rst:32
-# 8c043e735a504557bc307c3371af84ff
msgid "1. Simplified dependency management"
msgstr ""
#: ../../design/amd.rst:33
-# bfa30fd0f22b474580292cf04bb90393
msgid "AMD modules load asynchronously and execute as soon as their dependencies are available, so this eliminates the need to specify \"priority\" and \"location\" when registering JS libs in Elgg. Also, you don't need to worry about explicitly loading a module's dependencies in PHP. The AMD loader (RequireJS in this case) takes care of all that hassle for you. It's also possible have `text dependencies `_ with the RequireJS text plugin, so client-side templating should be a breeze."
msgstr ""
#: ../../design/amd.rst:41
-# af5af37b75dd42ccaad4d4c6cc748722
msgid "2. AMD works in all browsers. Today."
msgstr ""
#: ../../design/amd.rst:42
-# f5b2c8935bdb4c068b98583f49f61d2a
msgid "Elgg developers are already writing lots of JavaScript. We know you want to write more. We cannot accept waiting 5-10 years for a native JS modules solution to be available in all browsers before we can organize our JavaScript in a maintainable way."
msgstr ""
#: ../../design/amd.rst:47
-# 8a7661b0775148d997313dfd12d86977
msgid "3. You do not need a build step to develop in AMD."
msgstr ""
#: ../../design/amd.rst:48
-# 88ff4b8127214fb39782d4aace97fb6b
msgid "We like the edit-refresh cycle of web development. We wanted to make sure everyone developing in Elgg could continue experiencing that joy. Synchronous module formats like Closure or CommonJS just weren't an option for us. But even though AMD doesn't require a build step, *it is still very build-friendly*. Because of the ``define()`` wrapper, it's possible to concatenate multiple modules into a single file and ship them all at once in a production environment. [#]_"
msgstr ""
#: ../../design/amd.rst:54
-# 21fa3eda8b19469ba139491a8a3c2e16
msgid "AMD is a battle-tested and well thought out module loading system for the web today. We're very thankful for the work that has gone into it, and are excited to offer it as the standard solution for JavaScript development in Elgg starting with Elgg 1.9."
msgstr ""
#: ../../design/amd.rst:58
-# a89eacfc9fbd4e67b2ef59560705c81b
msgid "This is not currently supported by Elgg core, but we'll be looking into it since reducing round-trips is critical for a good first-view experience, especially on mobile devices."
msgstr ""
#: ../../design/database.rst:2
-# 2ceda60e2f734cd09553a5517f469789
msgid "Database"
msgstr ""
#: ../../design/database.rst:4
-# c6052c97950c400eb9f07addc3b29b78
msgid "A thorough discussion of Elgg's data model design and motivation."
msgstr ""
#: ../../design/database.rst:0
#: ../../design/events.rst:0
#: ../../design/security.rst:0
-# 737011fd1a07481cadf5d74eafa9eb25
-# a1976278a6ed419abef5885b17341ee1
-# 3c16b70ed24049e3b8fd19a8eb3b177d
msgid "Contents"
msgstr ""
#: ../../design/database.rst:13
-# e9a4312e0c7b48e1ba968203d09f4881
msgid "In Elgg, everything runs on a unified data model based on atomic units of data called entities."
msgstr ""
#: ../../design/database.rst:16
-# 0e1ff734684f4e46a5a50d24695d9da8
msgid "Plugins are discouraged from interacting directly with the database, which creates a more stable system and a better user experience becase content created by different plugins can be mixed together in consistent ways. With this approach, plugins are faster to develop, and are at the same time much more powerful."
msgstr ""
#: ../../design/database.rst:22
-# b3fd493c9b004296bc6e8fbbb2b2b154
msgid "Every entity in the system inherits the ``ElggEntity`` class. This class controls access permissions, ownership"
msgstr ""
#: ../../design/database.rst:27
-# 84e7cc6be5fe4d4cb13b547ad0c8ca5c
msgid "You can extend entities with extra information in two ways:"
msgstr ""
#: ../../design/database.rst:31
-# c6c0b635801548258b230c265143cd49
msgid "``Metadata``: This is information describing the entity, usually"
msgstr ""
#: ../../design/database.rst:30
-# bedf54ebda134462bc4690699f32ab14
msgid "added by the author of the entity when the entity is created. For example, tags, an ISBN number, a file location, or source language is metadata."
msgstr ""
#: ../../design/database.rst:36
-# 82ccec865ab54765948a7e7358fb3001
msgid "``Annotations``: This is information about the entity, usually"
msgstr ""
#: ../../design/database.rst:34
-# d0f3390c839e45319a3215e197a260e7
msgid "added by a third party after the entity is created. For example, ratings, likes, and votes are annotations. (Comments were before 1.9.)"
msgstr ""
#: ../../design/database.rst:39
-# 1c215dc5009b4615875175b1157726ef
msgid "Datamodel"
msgstr ""
#: ../../design/database.rst:46
-# 682a76bd82e847ba944a287b29ba6ba4
msgid "The Elgg data model diagram"
msgstr ""
#: ../../design/database.rst:49
-# 0935cb93625240d2a363bb376386a41a
msgid "Entities"
msgstr ""
#: ../../design/database.rst:51
-# eb7b5610bf4d4811b7c466b0e18c48fa
msgid "ElggEntity is the base class for the Elgg data model."
msgstr ""
#: ../../design/database.rst:54
-# 4e2fbb2e746b4cfd9a92bdd143deacd5
msgid "Users, Objects, Groups, Sites"
msgstr ""
#: ../../design/database.rst:56
-# c4a7b763a7844721961ed38b76b4cb7d
msgid "``ElggEntity`` has four main specializations, which provide extra properties and methods to more easily handle different kinds of data."
msgstr ""
#: ../../design/database.rst:59
-# 0a208ea6fbdb4a8f9d9eb25b786a97bc
msgid "``ElggObject``: content like blog posts, uploaded files and bookmarks ``ElggUser``: a system user ``ElggSite``: each Elgg site within an Elgg installation ``ElggGroup``: multi-user collaborative systems (called \"Communities\" in prior versions of Elgg)"
msgstr ""
#: ../../design/database.rst:65
-# 0afa63b5f6564e2b9c47fc8b30e170b8
msgid "The benefit of such an approach is that, apart from modelling data with greater ease, a common set of functions is available to handle objects, regardless of their (sub)type."
msgstr ""
#: ../../design/database.rst:69
-# 98518a998383447ca055db059986c1bc
msgid "Each of these have their own properties that they bring to the table: ElggObjects have a title and description, ElggUsers have a username and password, and so on. However, because they all inherit ElggEntity, they each have a number of core properties and behaviours in common."
msgstr ""
#: ../../design/database.rst:74
-# 36bb92bae7664a7ba080232c060986cc
msgid "A numeric Globally Unique IDentifier (See `GUIDs`_)."
msgstr ""
#: ../../design/database.rst:75
-# 3c4f58a2f2ec4b0fb96f0df07230279a
msgid "Access permissions. (When a plugin requests data, it never gets to touch data that the current user doesn't have permission to see.)"
msgstr ""
#: ../../design/database.rst:77
-# 87fdc7bf58274907b094a7a93e17f8cf
msgid "An arbitrary subtype. For example, a blog post is an ElggObject with a subtype of \"blog\". Subtypes aren't predefined; they can be any unique way to describe a particular kind of entity. \"blog\", \"forum\", \"foo\", \"bar\", \"loafofbread\" and \"pyjamas\" are all valid subtypes."
msgstr ""
#: ../../design/database.rst:81
-# b8d926267d1f470ab9067522c1d772ce
msgid "An owner."
msgstr ""
#: ../../design/database.rst:82
-# fa952bf8c6194dce83a1f5d25223335d
msgid "The site that the entity belongs to."
msgstr ""
#: ../../design/database.rst:83
-# 63b45c2e850f48ab98cdb4f73717da88
msgid "A container, usually used to associate a group's content with the group."
msgstr ""
#: ../../design/database.rst:86
-# 94a927c931ac4bb7beaf235b2b97073f
msgid "GUIDs"
msgstr ""
#: ../../design/database.rst:88
-# 299dd7bfdf8548ba96bd9d4afd3c0537
msgid "A GUID is an integer that uniquely identifies every entity in an Elgg installation (a Globally Unique IDentifier). It's assigned automatically when the entity is first saved and can never be changed."
msgstr ""
#: ../../design/database.rst:92
-# 61243098317f4b8a86544e34bcf6690c
msgid "Some Elgg API functions work with GUIDs instead of ``ElggEntity`` objects."
msgstr ""
#: ../../design/database.rst:95
-# 1b16ac7e4e944d1e9ca571f9ac42d349
msgid "ElggObject"
msgstr ""
#: ../../design/database.rst:97
-# 9ab63735e3c34815b69bb5764b55b14f
msgid "The ``ElggObject`` entity type represents arbitrary content within an Elgg install; things like blog posts, uploaded files, etc."
msgstr ""
#: ../../design/database.rst:100
-# 7656137d56ee42bfa34ef3ecead54278
msgid "Beyond the standard ElggEntity properties, ElggObjects also support:"
msgstr ""
#: ../../design/database.rst:102
-# d7abac4f7e3b465fb8250612f16a9e68
msgid "``title`` The title of the object (HTML escaped text)"
msgstr ""
#: ../../design/database.rst:103
-# 624ac2deaa5b4be79a821098c1594f18
msgid "``description`` A description of the object (HTML)"
msgstr ""
#: ../../design/database.rst:105
-# 2133dd73746842cda05c700944f921db
msgid "Most other data about the object is generally stored via metadata."
msgstr ""
#: ../../design/database.rst:108
-# 12c3aaa8c9ed4345a7a6e30cd382edbc
msgid "ElggUser"
msgstr ""
#: ../../design/database.rst:110
-# 6a814ad7463145b8b9214ce8be4abe4e
msgid "The ``ElggUser`` entity type represents users within an Elgg install. These will be set to disabled until their accounts have been activated (unless they were created from within the admin panel)."
msgstr ""
#: ../../design/database.rst:114
-# 9938d32666514e3a9f3e6c066aa90362
msgid "Beyond the standard ElggEntity properties, ElggUsers also support:"
msgstr ""
#: ../../design/database.rst:116
-# 4b127a8e6eb845ec9853b2c100b11c23
msgid "``name`` The user's plain text name. e.g. \"Hugh Jackman\""
msgstr ""
#: ../../design/database.rst:117
-# 5e442754e2dc4cff8ad0e93dc025f535
msgid "``username`` Their login name. E.g. \"hjackman\""
msgstr ""
#: ../../design/database.rst:118
-# f65b0b1beaeb45a293ee731b95752044
msgid "``password`` A hashed version of their password"
msgstr ""
#: ../../design/database.rst:119
-# 2f98f95ebe314ae088726ca596c5b856
msgid "``salt`` The salt that their password has been hashed with"
msgstr ""
#: ../../design/database.rst:120
-# f29bb41c92a3429dba0cd137ccc25220
msgid "``email`` Their email address"
msgstr ""
#: ../../design/database.rst:121
-# 45304dc71aa449d29d868e5868c901cd
msgid "``language`` Their default language code."
msgstr ""
#: ../../design/database.rst:122
-# 418ae67bba504412addafee5eb5ae9a5
msgid "``code`` Their session code (moved to a separate table in 1.9)."
msgstr ""
#: ../../design/database.rst:123
-# cd6c2d7bead24e61b5d15bdf5912d90a
msgid "``last_action`` The UNIX timestamp of the last time they loaded a page"
msgstr ""
#: ../../design/database.rst:124
-# 70dbcfe5af0346169e8b2d471dd13819
msgid "``prev_last_action`` The previous value of ``last_action``"
msgstr ""
#: ../../design/database.rst:125
-# d08c42b563c94887807fb666bb627ca4
msgid "``last_login`` The UNIX timestamp of their last log in"
msgstr ""
#: ../../design/database.rst:126
-# 5648834422da4f05bc1d8ccb1c74eccd
msgid "``prev_last_login`` the previous value of ``last_login``"
msgstr ""
#: ../../design/database.rst:129
-# ba1350bb7f6a418fa1840d030f64af12
msgid "ElggSite"
msgstr ""
#: ../../design/database.rst:131
-# e32cbf3b583448d8b58a2138b3a6905a
msgid "The ``ElggSite`` entity type represents sites within your Elgg install. Most installs will have only one."
msgstr ""
#: ../../design/database.rst:134
-# 919fbcb309d846b4b62a6d5322377ada
msgid "Beyond the standard ElggEntity properties, ElggSites also support:"
msgstr ""
#: ../../design/database.rst:136
-# ae22a645c8d64718ae49cbfd1f4cfab9
msgid "``name`` The site name"
msgstr ""
#: ../../design/database.rst:137
-# 358817e9221242d5a03a36d2ce37a241
msgid "``description`` A description of the site"
msgstr ""
#: ../../design/database.rst:138
-# 1a8e1045666a4d5e88fc3a7a4d4532e8
msgid "``url`` The address of the site"
msgstr ""
#: ../../design/database.rst:141
-# 8acff483c1524d019b232a38ba53ae0f
msgid "ElggGroup"
msgstr ""
#: ../../design/database.rst:143
-# 7da75760d3b64855bb46d4b7214742ee
msgid "The ``ElggGroup`` entity type represents an association of Elgg users. Users can join, leave, and post content to groups."
msgstr ""
#: ../../design/database.rst:146
-# bdbcebd0961d4e559e59c2a108a5d10b
msgid "Beyond the standard ElggEntity properties, ElggGroups also support:"
msgstr ""
#: ../../design/database.rst:148
-# e0461cff5d5941efb743f1d5261e61c5
msgid "``name`` The group's name (HTML escaped text)"
msgstr ""
#: ../../design/database.rst:149
-# 61a0a3d8e65c4f7fa34e62c8d53fe3bf
msgid "``description`` A description of the group (HTML)"
msgstr ""
#: ../../design/database.rst:151
-# efb6a5b145ab42d5aea8acc3673c1332
msgid "``ElggGroup`` has addition methods to manage content and membership."
msgstr ""
#: ../../design/database.rst:154
-# ea40361599224e70ac92f3132cfd95b3
msgid "The Groups plugin"
msgstr ""
#: ../../design/database.rst:156
-# f0596cba506c4a949c130174024dd64d
msgid "Not to be confused with the entity type ``ElggGroup``, Elgg comes with a plugin called \"Groups\" that provides a default UI/UX for site users to interact with groups. Each group is given a discussion forum and a profile page linking users to content within the group."
msgstr ""
#: ../../design/database.rst:161
-# 3f9d62b112c64e7eb99e6ce688b045f9
msgid "You can alter the user experience via the traditional means of extending plugins or completely replace the Groups plugin with your own."
msgstr ""
#: ../../design/database.rst:164
-# 4baa9f5b8af84ff0b08fec59ceb51a56
msgid "Because ``ElggGroup`` can be subtyped like all other ElggEntities, you can have multiple types of groups running on the same site."
msgstr ""
#: ../../design/database.rst:168
-# af3082eebc4341538553d8f35b1d685d
msgid "Writing a group-aware plugin"
msgstr ""
#: ../../design/database.rst:170
-# 2a34ae1cf84d4ee5a307bd1bfe9d5898
msgid "Plugin owners need not worry too much about writing group-aware functionality, but there are a few key points:"
msgstr ""
#: ../../design/database.rst:174
-# 67f69a964c20496c9a465739cbcf2a06
msgid "Adding content"
msgstr ""
#: ../../design/database.rst:176
-# 62589614e8d2477c99603070a4a626f9
msgid "By passing along the group as ``container_guid`` via a hidden input field, you can use a single form and action to add both user and group content."
msgstr ""
#: ../../design/database.rst:179
-# 8465b0c021a54fd482ff448652c7da8e
msgid "Use `can_write_to_container `_ to determine whether or not the current user has the right to add content to a group."
msgstr ""
#: ../../design/database.rst:184
-# 8e441df75592432e88336add6c75d97c
msgid "Be aware that you will then need to pass the container GUID or username to the page responsible for posting and the accompanying value, so that this can then be stored in your form as a hidden input field, for easy passing to your actions. Within a \"create\" action, you'll need to take in this input field and save it as a property of your new element (defaulting to the current user's container):"
msgstr ""
#: ../../design/database.rst:212
-# 9b461457d9bb46efaeac66cb36072c11
msgid "Usernames and page ownership"
msgstr ""
#: ../../design/database.rst:214
-# 94a0445536a8479ba7a988fd87674388
msgid "Groups have a simulated username of the form *group:\\ GUID*, which you can get the value of by checking ``$group->username``. If you pass this username to a page on the URL line as part of the ``username`` variable (i.e., ``/yourpage?username=group:nnn``), Elgg will automatically register that group as being the owner of the page (unless overridden)."
msgstr ""
#: ../../design/database.rst:221
-# abc4ec5ff1994b60821dd79a12ce8865
msgid "Juggling users and groups"
msgstr ""
#: ../../design/database.rst:223
-# f00283ae62c84c5382f15151080c4883
msgid "In fact, ``[[Engine/DataModel/Entities/ElggGroup|ElggGroup]]`` simulates most of the methods of ``[[Engine/DataModel/Entities/ElggUser|ElggUser]]``. You can grab the icon, name etc using the same calls, and if you ask for a group's friends, you'll get its members. This has been designed specifically for you to alternate between groups and users in your code easily."
msgstr ""
#: ../../design/database.rst:231
-# c92f136e5ce14a01bfbf5344277c9833
msgid "Menu options"
msgstr ""
#: ../../design/database.rst:233
-# 3d1c94268d0d4104b357b539f82a76cd
msgid "***This section is deprecated as of Elgg 1.8***"
msgstr ""
#: ../../design/database.rst:235
-# 75c0f89426504eaa935429366f19c7f6
msgid "The final piece of the puzzle, for default groups, is to add a link to your functionality from the group's profile. Here we'll use the file plugin as an example."
msgstr ""
#: ../../design/database.rst:239
-# ad0ee8f0a67c426788ee670d1cca0072
msgid "This involves creating a view within your plugin - in this case file/menu - which will extend the group's menu. File/menu consists of a link within paragraph tags that points to the file repository of the page\\_owner():"
msgstr ""
#: ../../design/database.rst:252
-# 7e4eb5f114794ed7a2a4b493a271593f
msgid "You can then extend the group's menu view with this one, within your plugin's input function (in this case file\\_init):"
msgstr ""
#: ../../design/database.rst:260
-# 81890aacdb7a4233aa30e26fdc61e816
msgid "Ownership"
msgstr ""
#: ../../design/database.rst:262
-# 59282632674249fcac77976c2168353e
msgid "Entities have a ``owner_guid`` GUID property, which defines its owner. Typically this refers to the GUID of a user, although sites and users themselves often have no owner (a value of 0)."
msgstr ""
#: ../../design/database.rst:266
-# 883959335622415697310eaec63fb915
msgid "The ownership of an entity dictates, in part, whether or not you can access or edit that entity."
msgstr ""
#: ../../design/database.rst:270
-# 85f37a364cab4c73bf82dd97c943c40b
msgid "Containers"
msgstr ""
#: ../../design/database.rst:272
-# a4061601dad94bf89d76e85aa055e7fe
msgid "In order to easily search content by group or by user, content is generally set to be \"contained\" by either the user who posted it, or the group to which the user posted. This means the new object's ``container_guid`` property will be set to the GUID of the current ElggUser or the target ElggGroup."
msgstr ""
#: ../../design/database.rst:277
-# 03b943de1fe648089dd368524c244aab
msgid "E.g., three blog posts may be owned by different authors, but all be contained by the group they were posted to."
msgstr ""
#: ../../design/database.rst:280
-# 9b69bdf2631b4a31a9b02241bf2da79d
msgid "Note: This is not always true. Comment entities are contained by the object commented upon, and in some 3rd party plugins the container may be used to model a parent-child relationship between entities (e.g. a \"folder\" object containing a file object)."
msgstr ""
#: ../../design/database.rst:286
-# 96b408ab094540598c9aac2cacca3b41
msgid "Annotations"
msgstr ""
#: ../../design/database.rst:288
-# 8f886e6af0f04c49a41776a79ab346fe
msgid "Annotations are pieces of data attached to an entity that allow users to leave ratings, or other relevant feedback. A poll plugin might register votes as annotations. Before Elgg 1.9, comments and group discussion replies were stored as annotations."
msgstr ""
#: ../../design/database.rst:293
-# 5d7056473ef945ceb9770a97b135eeb3
msgid "Annotations are stored as instances of the ``ElggAnnotation`` class."
msgstr ""
#: ../../design/database.rst:295
-# 1e158314636f42bf8811a26a4eb05926
msgid "Each annotation has:"
msgstr ""
#: ../../design/database.rst:297
-# e51b1d35b941434da112bebf1eaf8ad6
msgid "An internal annotation type (like *comment*)"
msgstr ""
#: ../../design/database.rst:298
-# d43ae055413b4b5897f2baafa61ff196
msgid "A value (which can be a string or integer)"
msgstr ""
#: ../../design/database.rst:299
-# ccc838ad1547465abdee9f60a2ec8c70
msgid "An access permission distinct from the entity it's attached to"
msgstr ""
#: ../../design/database.rst:300
-# 4d60299a023a4fcbb8d58c8e2f44e9f1
msgid "An owner"
msgstr ""
#: ../../design/database.rst:303
-# b95765679e654f5baf3bf8a1462c0ab0
msgid "Adding an annotation"
msgstr ""
#: ../../design/database.rst:305
-# 50f16c2176e943b3975eb097eede1d79
msgid "The easiest way to annotate is to use the ``annotate`` method on an entity, which is defined as:"
msgstr ""
#: ../../design/database.rst:318
-# e9d1076d509241ac88601f658da97a3c
msgid "For example, to leave a rating on an entity, you might call:"
msgstr ""
#: ../../design/database.rst:325
-# eadd81b6a2b24a659e75e7ae3d7299d4
msgid "Reading annotations"
msgstr ""
#: ../../design/database.rst:327
-# 530598e56b7d4de39a08d7470fd7c1a7
msgid "To retrieve annotations on an object, you can call the following method:"
msgstr ""
#: ../../design/database.rst:338
-# 43e519e675db459683e637fdb423c0f6
msgid "If your annotation type largely deals with integer values, a couple of useful mathematical functions are provided:"
msgstr ""
#: ../../design/database.rst:349
-# 7b1884d7bc514dd6b01f41a7a619a7de
msgid "Useful helper functions"
msgstr ""
#: ../../design/database.rst:352
-# 2e25bb1ddf5547dca5b363e1f39500a9
msgid "Comments"
msgstr ""
#: ../../design/database.rst:354
-# b1eeae20a30d42868ea55aede4e861ca
msgid "If you want to provide comment functionality on your plugin objects, the following function will provide the full listing, form and actions:"
msgstr ""
#: ../../design/database.rst:363
-# 9fbb3c67b532435b854e6a19246bc961
msgid "Metadata"
msgstr ""
#: ../../design/database.rst:365
-# 09b677973f0f4fec83c51290e5571e6f
msgid "Metadata in Elgg allows you to store extra data on an ``entity`` beyond the built-in fields that entity supports. For example, ``ElggObjects`` only support the basic entity fields plus title and description, but you might want to include tags or an ISBN number. Similarly, you might want users to be able to save a date of birth."
msgstr ""
#: ../../design/database.rst:371
-# 36edc3de228c407c91537375b3de0d4e
msgid "Under the hood, metadata is stored as an instance of the ``ElggMetadata`` class, but you don't need to worry about that in practice (although if you're interested, see the ``ElggMetadata`` class reference). What you need to know is:"
msgstr ""
#: ../../design/database.rst:376
-# aa8420e80abc4a7c98b69857e65b8e47
msgid "Metadata has an owner and access ID, both of which may be different to the owner of the entity it's attached to"
msgstr ""
#: ../../design/database.rst:378
-# 831ebed1a46d41a3a72af65d1fe75702
msgid "You can potentially have multiple items of each type of metadata attached to a single entity"
msgstr ""
#: ../../design/database.rst:382
-# b39f89c34298496886c755e1fef6c373
msgid "The simple case"
msgstr ""
#: ../../design/database.rst:385
#: ../../design/database.rst:454
-# b277df93cded4225b3bd259f6f6e664e
-# 77374eac6aaa4dffa856b9e71c61b33b
msgid "Adding metadata"
msgstr ""
#: ../../design/database.rst:387
-# 68cc8ba1a8244b3f8724efb402d6cc5f
msgid "To add a piece of metadata to an entity, just call:"
msgstr ""
#: ../../design/database.rst:393
-# bd6651d378724908a5f947a0260a09c4
msgid "For example, to add a date of birth to a user:"
msgstr ""
#: ../../design/database.rst:399
-# 50d9c2182c604eacaa4b0d2e1a4f2e4d
msgid "Or to add a couple of tags to an object:"
msgstr ""
#: ../../design/database.rst:405
-# bda5b90a2ba140c39fd0b33d9a94f4a7
msgid "When adding metadata like this:"
msgstr ""
#: ../../design/database.rst:407
-# dd74725f431149e9aa73b7da45284e46
msgid "The owner is set to the currently logged-in user"
msgstr ""
#: ../../design/database.rst:408
-# 3e778229159944d1afe5c45dbce049e3
msgid "Access permissions are inherited from the entity"
msgstr ""
#: ../../design/database.rst:409
-# c8bc49c23c014124b5b6c6e243ef2e5a
msgid "Reassigning a piece of metadata will overwrite the old value"
msgstr ""
#: ../../design/database.rst:411
-# 7a23dd89cb994572b96d6569fe604648
msgid "This is suitable for most purposes. Be careful to note which attributes are metadata and which are built in to the entity type that you are working with. You do not need to save an entity after adding or updating metadata. You do need to save an entity if you have changed one of its built in attributes. As an example, if you changed the access id of an ElggObject, you need to save it or the change isn't pushed to the database."
msgstr ""
#: ../../design/database.rst:420
#: ../../design/database.rst:496
-# 4367bb045f2c4626b4e8977348193f49
-# a7044597f54644b199cdf9ed5dcc3df8
msgid "Reading metadata"
msgstr ""
#: ../../design/database.rst:422
-# 9053b70c38034dd990f1b87da319f8ce
msgid "To retrieve metadata, treat it as a property of the entity:"
msgstr ""
#: ../../design/database.rst:428
-# 743ddc9988a9488e830ae35dc9daca06
msgid "Note that this will return the absolute value of the metadata. To get metadata as an ElggMetadata object, you will need to use the methods described in the *finer control* section below."
msgstr ""
#: ../../design/database.rst:432
-# 3c13b9860eda42c1baf1c97944e7971d
msgid "If you stored multiple values in this piece of metadata (as in the \"tags\" example above), you will get an array of all those values back. If you stored only one value, you will get a string or integer back. Storing an array with only one value will return a string back to you. E.g."
msgstr ""
#: ../../design/database.rst:444
-# 651f9d368aa44a5b8a8adece8ef45f72
msgid "To always get an array back, simply cast to an array;"
msgstr ""
#: ../../design/database.rst:451
-# 2b8b3584882a47168deda908560c5a9c
msgid "Finer control"
msgstr ""
#: ../../design/database.rst:456
-# 3587ec8dd57c4f91b7c94b7da9da8280
msgid "If you need more control, for example to assign an access ID other than the default, you can use the ``create_metadata`` function, which is defined as follows:"
msgstr ""
#: ../../design/database.rst:472
-# c3a68f157e354f639921e0d58b46862a
msgid "For single values, you can therefore write metadata as follows (taking the example of a date of birth attached to a user):"
msgstr ""
#: ../../design/database.rst:479
-# 1739ddd1fc43446aa25550ab655da683
msgid "For multiple values, you will need to iterate through and call ``create_metadata`` on each one. The following piece of code comes from the profile save action:"
msgstr ""
#: ../../design/database.rst:492
-# 45e8bebd1b774a05b01480fa3db84698
msgid "Note that the *allow multiple* setting is set to *false* in the first iteration and *true* thereafter."
msgstr ""
#: ../../design/database.rst:498
-# 129f489d64f64a58afa2fc15341baee2
msgid "``elgg_get_metadata`` is the best function for retrieving metadata as ElggMetadata objects:"
msgstr ""
#: ../../design/database.rst:501
-# 5836f41f88614dc1bcd9e6b2664c9f4e
msgid "E.g., to retrieve a user's DOB"
msgstr ""
#: ../../design/database.rst:510
-# 9c1a66cbb58e4689a2d74a3ea09551e6
msgid "Or to get all metadata objects:"
msgstr ""
#: ../../design/database.rst:522
-# 747a31c691454fd5a1c6a4e8cfa3a54f
msgid "Common mistakes"
msgstr ""
#: ../../design/database.rst:525
-# 15d226394c9c4d01a6db6c076c4fa213
msgid "\"Appending\" metadata"
msgstr ""
#: ../../design/database.rst:527
-# 3e44c7776fd54331a63e9781ddd9897b
msgid "Note that you cannot \"append\" values to metadata arrays as if they were normal php arrays. For example, the following will not do what it looks like it should do."
msgstr ""
#: ../../design/database.rst:536
-# 9f10cafc723c40a890ec47c6e08ea961
msgid "Trying to store hashmaps"
msgstr ""
#: ../../design/database.rst:538
-# 38707d3128754ca4a4513748a53ab874
msgid "Elgg does not support storing ordered maps (name/value pairs) in metadata. For example, the following does not work as you might first expect it to:"
msgstr ""
#: ../../design/database.rst:547
-# a8caeefe32d04ab389ebcd21c241f015
msgid "You can instead store the information like so:"
msgstr ""
#: ../../design/database.rst:556
-# a6a2859ee1304eb6b1c4cd4b2796fbc6
msgid "Storing GUIDs in metadata"
msgstr ""
#: ../../design/database.rst:558
-# dc05b78e40ac47289f5c735eb4d1285e
msgid "Though there are some cases to store entity GUIDs in metadata, `Relationships`_ are a much better construct for relating entities to each other."
msgstr ""
#: ../../design/database.rst:563
-# 8f6c8da3de16416faa5a7b8d9099ca5e
msgid "Relationships"
msgstr ""
#: ../../design/database.rst:565
-# 33215ae2e5984400bf8955ba1b90062d
msgid "Relationships allow you to bind entities together. Examples: an artist has fans, a user is a member of an organization, etc."
msgstr ""
#: ../../design/database.rst:568
-# d14000647b334f11a9c7fe6b98ea9747
msgid "The class ``ElggRelationship`` models a directed relationship between two entities, making the statement:"
msgstr ""
#: ../../design/database.rst:571
-# 321bfa217d434e259a810c103512fb00
msgid "\"**{subject}** is a **{noun}** of **{target}**.\""
msgstr ""
#: ../../design/database.rst:574
-# 00657eefce534e15bebe580e6bfc7b66
msgid "API name"
msgstr ""
#: ../../design/database.rst:574
-# 0e670c1dd731465fa0fa1ab161f7151d
msgid "Models"
msgstr ""
#: ../../design/database.rst:574
-# f31ce39a47dc4840a2edc6d166d911bf
msgid "Represents"
msgstr ""
#: ../../design/database.rst:576
-# 01f028cc17f44c47a7312feeb0c7b147
msgid "``guid_one``"
msgstr ""
#: ../../design/database.rst:576
-# 5cc2760c87c54a0485e86bc045d24f6c
msgid "The subject"
msgstr ""
#: ../../design/database.rst:576
-# 63ac4576e21d48b79180de1aa99a6151
msgid "Which entity is being bound"
msgstr ""
#: ../../design/database.rst:577
-# 03ab3dd2554746cb86650cc2ae6304c0
msgid "``relationship``"
msgstr ""
#: ../../design/database.rst:577
-# b75db6d304744459aa7120327818e193
msgid "The noun"
msgstr ""
#: ../../design/database.rst:577
-# 2030cfa0a8164b3eb6263e5dc57501f8
msgid "The type of relationship"
msgstr ""
#: ../../design/database.rst:578
-# 23a99c432e7a4e7294385408d75b940a
msgid "``guid_two``"
msgstr ""
#: ../../design/database.rst:578
-# 87f7d3a94ebf46628ea0ab5a794a41b9
msgid "The target"
msgstr ""
#: ../../design/database.rst:578
-# 6dc5b3d93bf34527b980fd490c8144c3
msgid "The entity to which the subject is bound"
msgstr ""
#: ../../design/database.rst:581
-# 5dd39f9a678d40a196bcd21684466958
msgid "The type of relationship may alternately be a verb, making the statement:"
msgstr ""
#: ../../design/database.rst:583
-# 4fd5c6d14acb4f43892bfefdb6683861
msgid "\"**{subject}** **{verb}** **{target}**.\""
msgstr ""
#: ../../design/database.rst:585
-# d61906ea2d144e8cb04291c9940fae95
msgid "E.g. User A \"likes\" blog post B"
msgstr ""
#: ../../design/database.rst:587
-# 1ad695bcaeab4c57a7c1292d5df9e693
msgid "**Each relationship has direction.** Imagine an archer shoots an arrow at a target; The arrow moves in one direction, binding the subject (the archer) to the target."
msgstr ""
#: ../../design/database.rst:591
-# 3f4a66973a924afa887c67111dd8bd19
msgid "**A relationship does not imply reciprocity**. **A** follows **B** does not imply that **B** follows **A**."
msgstr ""
#: ../../design/database.rst:594
-# 50df7ad06acd4fe28333700f6b2dfdd5
msgid "**Relationships_ do not have access control.** They're never hidden from view and can be edited with code at any privilege level, with the caveat that *the entities* in a relationship may be invisible due to access control!"
msgstr ""
#: ../../design/database.rst:600
-# 9c36e13969684f0eb97cddb5e26ae2ab
msgid "Working with relationships"
msgstr ""
#: ../../design/database.rst:603
-# 5c74316e2af14d6f860885744e62ff78
msgid "Creating a relationship"
msgstr ""
#: ../../design/database.rst:605
-# 2cbea6e151da49cb89977d6eaea98dba
msgid "E.g. to establish that \"**$user** is a **fan** of **$artist**\" (user is the subject, artist is the target):"
msgstr ""
#: ../../design/database.rst:616
-# d3dcd7306ed24bf0a241f8c764032dd6
msgid "This triggers the event [create, relationship], passing in the created ``ElggRelationship`` object. If a handler returns ``false``, the relationship will not be created and ``$success`` will be ``false``."
msgstr ""
#: ../../design/database.rst:622
-# dc8e51bb94304d9cac5631007bcf0957
msgid "Verifying a relationship"
msgstr ""
#: ../../design/database.rst:624
-# 1f8e81f058904f1c8a80e8f1f293a298
msgid "E.g. to verify that \"**$user** is a **fan** of **$artist**\":"
msgstr ""
#: ../../design/database.rst:632
-# 82f5a45aa36f411eb8bba8e6f46d4840
msgid "Note that, if the relationship exists, ``check_entity_relationship()`` returns an ``ElggRelationship`` object:"
msgstr ""
#: ../../design/database.rst:643
-# bd011f0856274461a119305c0883c87b
msgid "Deleting a relationship"
msgstr ""
#: ../../design/database.rst:645
-# 60f1baf5279b4ac6895d631754382f0d
msgid "E.g. to be able to assert that \"**$user** is no longer a **fan** of **$artist**\":"
msgstr ""
#: ../../design/database.rst:651
-# d5c7fcff8dff426ca84791373a4c7114
msgid "This triggers the event [delete, relationship], passing in the associated ``ElggRelationship`` object. If a handler returns ``false``, the relationship will remain, and ``$was_removed`` will be ``false``."
msgstr ""
#: ../../design/database.rst:656
-# 3238bb7293c6484f90e6aaaedf9e923a
msgid "Other useful functions:"
msgstr ""
#: ../../design/database.rst:658
-# de7e2a23c9974ac49986d802a8b7a7e6
msgid "``delete_relationship()`` : delete by ID"
msgstr ""
#: ../../design/database.rst:659
-# 8aa7dfafd0d34b8a8f267aa7d46d0e92
msgid "``remove_entity_relationships()`` : delete those relating to an entity (*note:* in versions before Elgg 1.9, this did not trigger delete events)"
msgstr ""
#: ../../design/database.rst:662
-# 87310dc5d46042bebd2ec95578d1bb42
msgid "Finding relationships and related entities"
msgstr ""
#: ../../design/database.rst:664
-# e8b509da07dd4207b2859d035ff56707
msgid "Below are a few functions to fetch relationship objects and/or related entities. A few are listed below:"
msgstr ""
#: ../../design/database.rst:667
-# af6db51008c4463eb425d88a58e347f1
msgid "``get_entity_relationships()`` : fetch relationships by subject or target entity"
msgstr ""
#: ../../design/database.rst:668
-# e9d924b7339a463494949f53e37a24d9
msgid "``get_relationship()`` : get a relationship object by ID"
msgstr ""
#: ../../design/database.rst:669
-# 0e5b37cc94e04198a687b7a72c889e2a
msgid "``elgg_get_entities_from_relationship()`` : fetch entities in relationships in a variety of ways"
msgstr ""
#: ../../design/database.rst:673
-# df9011c22d8e44bdabbb1046fd83759e
msgid "Access Control"
msgstr ""
#: ../../design/database.rst:675
-# 281dcac595ee49b18dd7751d44c89669
msgid "Granular access controls are one of the fundamental design principles in Elgg, and a feature that has been at the centre of the system throughout its development. The idea is simple: a user should have full control over who sees an item of data he or she creates."
msgstr ""
#: ../../design/database.rst:681
-# d24a693837ef4cc2b42167fb25d56537
msgid "Access controls in the data model"
msgstr ""
#: ../../design/database.rst:683
-# 42d47c1957a841bda9a627fed6a6f6c4
msgid "In order to achieve this, every entity, annotation and piece of metadata contains an ``access_id`` property, which in turn corresponds to one of the pre-defined access controls or an entry in the ``access_collections`` database table."
msgstr ""
#: ../../design/database.rst:689
-# c407e4a5c10a4c0784a4594bffed9337
msgid "Pre-defined access controls"
msgstr ""
#: ../../design/database.rst:691
-# 2bcd943ed1064d17904b849847c7445a
msgid "**0** Private."
msgstr ""
#: ../../design/database.rst:692
-# 709080d07c364aafbda0dc33a3dadba4
msgid "**1** Logged in users."
msgstr ""
#: ../../design/database.rst:693
-# 7283aa9b643148b8a65c108be9fd40bc
msgid "**2** Public data."
msgstr ""
#: ../../design/database.rst:696
-# 8afc38a92f1e454cb51dbb11b270a6a0
msgid "User defined access controls"
msgstr ""
#: ../../design/database.rst:698
-# 317ba25201ad46ceb796c730f5ee046c
msgid "You may define additional access groups and assign them to an entity, annotation or metadata. A number of functions have been defined to assist you; see the `access library reference`_ for more information."
msgstr ""
#: ../../design/database.rst:703
-# 3c0299e107a64e338af2a190491b5dc1
msgid "How access affects data retrieval"
msgstr ""
#: ../../design/database.rst:705
-# d3b6e2083f9b4de68e15abe2b8b5d080
msgid "All data retrieval functions above the database layer - for example ``get_entities`` and its cousins - will only return items that the current user has access to see. It is not possible to retrieve items that the current user does not have access to. This makes it very hard to create a security hole for retrieval."
msgstr ""
#: ../../design/database.rst:714
-# fcb93785ca76418dbde555ae3bfeb049
msgid "Write access"
msgstr ""
#: ../../design/database.rst:716
-# 8c2c5a79dbd743b59ffd7b9b3f026603
msgid "The following rules govern write access:"
msgstr ""
#: ../../design/database.rst:718
-# 2fc3d603d94941478dabd69391e80125
msgid "The owner of an entity can always edit it"
msgstr ""
#: ../../design/database.rst:719
-# 0e159d6f1a9e4a65b61293689cde4823
msgid "The owner of a container can edit anything therein (note that this does not mean that the owner of a group can edit anything therein)"
msgstr ""
#: ../../design/database.rst:721
-# 74fc856c1f0749d5a9612207102e487e
msgid "Admins can edit anything"
msgstr ""
#: ../../design/database.rst:723
-# a4593e2e179541c6bba11bf83198ed7e
msgid "You can override this behaviour using a :ref:`plugin hook ` called ``permissions_check``, which passes the entity in question to any function that has announced it wants to be referenced. Returning ``true`` will allow write access; returning ``false`` will deny it. See :ref:`the plugin hook reference for permissions\\_check ` for more details."
msgstr ""
#: ../../design/database.rst:731
-# 4545819b373a4049a72bde6a410ab093
msgid "`Access library reference`_"
msgstr ""
#: ../../design/database.rst:736
-# 448550fc6fc84b93902679da6279da74
msgid "Schema"
msgstr ""
#: ../../design/database.rst:738
-# eafb9a8888114e83ae5f788581be36e8
msgid "The database contains a number of primary tables and secondary tables. Its schema table is stored in ``/engine/schema/mysql.sql``."
msgstr ""
#: ../../design/database.rst:741
-# 6fb61877a0704f49b71d7f5dad46cbd2
msgid "Each table is prefixed by \"prefix\\_\", this is replaced by the Elgg framework during installation."
msgstr ""
#: ../../design/database.rst:745
-# 5be29e7e98d744289c3d2bca476eea00
msgid "Main tables"
msgstr ""
#: ../../design/database.rst:747
-# 55dc468c0bdf4a48abd5182bbd42a70f
msgid "This is a description of the main tables. Keep in mind that in a given Elgg installation, the tables will have a prefix (typically \"elgg\\_\")."
msgstr ""
#: ../../design/database.rst:751
-# ea34cbe195734e5d8171f6dcb9bada3f
msgid "Table: entities"
msgstr ""
#: ../../design/database.rst:753
-# a7cd29c844c043dc918b4e5ed6a6ced8
msgid "This is the main `Entities`_ table containing Elgg users, sites, objects and groups. When you first install Elgg this is automatically populated with your first site."
msgstr ""
#: ../../design/database.rst:757
-# bc3800b8990b45098f0df510c25a7f0e
msgid "It contains the following fields:"
msgstr ""
#: ../../design/database.rst:759
-# 64033a5598a84084989f796ca37eed5e
msgid "**guid** An auto-incrementing counter producing a GUID that uniquely identifies this entity in the system."
msgstr ""
#: ../../design/database.rst:761
-# ff80e8fe5f48400894778bbb7abaea07
msgid "**type** The type of entity - object, user, group or site"
msgstr ""
#: ../../design/database.rst:762
-# 479836fd95bc45198cd7029294320370
msgid "**subtype** A link to the `entity_subtypes` table."
msgstr ""
#: ../../design/database.rst:763
-# 04a6b6ffe14b428db085055a02ca6b8d
msgid "**owner\\_guid** The GUID of the owner's entity."
msgstr ""
#: ../../design/database.rst:764
-# ce90b3cfa0a4497eb240f0e32b3c6e8b
msgid "**site\\_guid** The site the entity belongs to."
msgstr ""
#: ../../design/database.rst:765
-# 532efd4ff7304fcfb6dcc5fb46245f6f
msgid "**container\\_guid** The GUID this entity is contained by - either a user or a group."
msgstr ""
#: ../../design/database.rst:767
-# 8d19f8ea826549e6b95628b92bec7826
msgid "**access\\_id** Access controls on this entity."
msgstr ""
#: ../../design/database.rst:768
-# f021a13f8b2d416e8142f666713bd469
msgid "**time\\_created** Unix timestamp of when the entity is created."
msgstr ""
#: ../../design/database.rst:769
-# 30b12226f4d741b28829f236f5b59766
msgid "**time\\_updated** Unix timestamp of when the entity was updated."
msgstr ""
#: ../../design/database.rst:770
-# 8ff86c1a20f647db88c4396cc3699c14
msgid "**enabled** If this is 'yes' an entity is accessible, if 'no' the entity has been disabled (Elgg treats it as if it were deleted without actually removing it from the database)."
msgstr ""
#: ../../design/database.rst:775
-# 2b69db5a68d64ee29e5fb7f9c683772a
msgid "Table: entity\\_subtypes"
msgstr ""
#: ../../design/database.rst:777
-# aa92b997a0634fdc918c8d0821d882d3
msgid "This table contains entity subtype information:"
msgstr ""
#: ../../design/database.rst:779
#: ../../design/database.rst:789
#: ../../design/database.rst:807
-# 8586718d9a714d24978b074eeaacacec
-# ca08496ee0b546749f6ed6d3f9cee2a8
-# 14fc20d422bf41b396022a28bb7d633b
msgid "**id** A counter."
msgstr ""
#: ../../design/database.rst:780
-# 634602f642144611aabb34072b69da96
msgid "**type** The type of entity - object, user, group or site."
msgstr ""
#: ../../design/database.rst:781
-# ed0eb19297b24f51997cfe70380c1249
msgid "**subtype** The subtype name as a string."
msgstr ""
#: ../../design/database.rst:782
-# cb60d5a0482b4b10ba9ed18762301997
msgid "**class** Optional class name if this subtype is linked with a class"
msgstr ""
#: ../../design/database.rst:785
-# 367e31cc524d4f16bfd818946ce56b2d
msgid "Table: metadata"
msgstr ""
#: ../../design/database.rst:787
-# 8a7847080a5943f3b030b1a111cebcac
msgid "This table contains `Metadata`_, extra information attached to an entity."
msgstr ""
#: ../../design/database.rst:790
#: ../../design/database.rst:808
-# b194fddd97f149bfbd67f918fcce560a
-# 8ddb40589d26441c9a3b7de19fd43f9a
msgid "**entity\\_guid** The entity this is attached to."
msgstr ""
#: ../../design/database.rst:791
-# ae13b90dc20d446bae755bbfd4b4ab35
msgid "**name\\_id** A link to the metastrings table defining the name table."
msgstr ""
#: ../../design/database.rst:793
#: ../../design/database.rst:811
-# 26b215f4abe84b488d0ece580df7fe65
-# 66177553a0e8478da6f572040bbb5dc9
msgid "**value\\_id** A link to the metastrings table defining the value."
msgstr ""
#: ../../design/database.rst:794
#: ../../design/database.rst:812
-# d2c64181a3a949d09de54159def3d17b
-# 73472fb7c284439ca7110640f9a496b0
msgid "**value\\_type** The value class, either text or an integer."
msgstr ""
#: ../../design/database.rst:795
#: ../../design/database.rst:813
-# d08f0ecbd9ca4f87ac100798228f7b70
-# 10749d2ca223437c9ebab9fce0d17903
msgid "**owner\\_guid** The owner GUID of the owner who set this item of metadata."
msgstr ""
#: ../../design/database.rst:797
#: ../../design/database.rst:815
-# 3f9b2bac074247a9918a2f8a9f178005
-# 3990f6635c8b48578f03552ce97b1a6f
msgid "**access\\_id** An Access controls on this item of metadata."
msgstr ""
#: ../../design/database.rst:798
#: ../../design/database.rst:816
-# 0c88afd03be947e5aab97dbc35385b5c
-# 1ef788f45d9749bcac1634172252899c
msgid "**time\\_created** Unix timestamp of when the metadata is created."
msgstr ""
#: ../../design/database.rst:799
#: ../../design/database.rst:817
-# e18f19522d7f41049c0c65069deb8e87
-# d6010c492cd74213ba8a6854470fe7de
msgid "**enabled** If this is 'yes' an item is accessible, if 'no' the item has been deleted."
msgstr ""
#: ../../design/database.rst:803
-# 0dbe97a67bb741648a56eeeada71379e
msgid "Table: annotations"
msgstr ""
#: ../../design/database.rst:805
-# f2a8556aafdb4a08afa930978f6e861d
msgid "This table contains `Annotations`_, this is distinct from `Metadata`_."
msgstr ""
#: ../../design/database.rst:809
-# 40402b6fcd97410aa8c0672b12e772d8
msgid "**name\\_id** A link to the metastrings table defining the type of annotation."
msgstr ""
#: ../../design/database.rst:821
-# a53ea8ebe81a40a6b2322d6d1b5dfb43
msgid "Table: relationships"
msgstr ""
#: ../../design/database.rst:823
-# f04bbddd5e0f4beea4d162109a880522
msgid "This table defines `Relationships`_, these link one entity with another."
msgstr ""
#: ../../design/database.rst:825
-# b98954f2ad044c758edc92fd2b8f38a9
msgid "**guid\\_one** The GUID of the subject entity."
msgstr ""
#: ../../design/database.rst:826
-# 56b2b05d28024a0fa5cc307c6f4e367b
msgid "**relationship** The type of the relationship."
msgstr ""
#: ../../design/database.rst:827
-# ce3ddd99e3404076a35dfd898026d860
msgid "**guid\\_two** The GUID of the target entity."
msgstr ""
#: ../../design/database.rst:830
-# 33b01fae359f4f448a71f079ce16b55d
msgid "Table: objects\\_entity"
msgstr ""
#: ../../design/database.rst:832
-# 15182bd6789e4c578192ef9de418c738
msgid "Extra information specifically relating to objects. These are split in order to reduce load on the metadata table and make an obvious difference between attributes and metadata."
msgstr ""
#: ../../design/database.rst:837
-# 001141ec29ec41a0878fae9b7c647266
msgid "Table: sites\\_entity"
msgstr ""
#: ../../design/database.rst:839
-# adec0e149d74423eaf06e6fc6d5b7d3f
msgid "Extra information specifically relating to sites. These are split in order to reduce load on the metadata table and make an obvious difference between attributes and metadata."
msgstr ""
#: ../../design/database.rst:844
-# c6670c5db32744f0af1d0c3925f4477d
msgid "Table: users\\_entity"
msgstr ""
#: ../../design/database.rst:846
-# 4fd40d63c75c46f39e9320ec57c689c3
msgid "Extra information specifically relating to users. These are split in order to reduce load on the metadata table and make an obvious difference between attributes and metadata."
msgstr ""
#: ../../design/database.rst:851
-# b4fe36eedfa0403ebda4ad688c98a0a9
msgid "Table: groups\\_entity"
msgstr ""
#: ../../design/database.rst:853
-# 8df12e367c91464b8854cde3a23b216e
msgid "Extra information specifically relating to groups. These are split in order to reduce load on the metadata table and make an obvious difference between attributes and metadata."
msgstr ""
#: ../../design/database.rst:858
-# daa874959fea4b859a30b0ad8e0cef19
msgid "Table: metastrings"
msgstr ""
#: ../../design/database.rst:860
-# a24fafdeeb3a40b79858d2f4d44080e1
msgid "Metastrings contain the actual string of metadata which is linked to by the metadata and annotations tables."
msgstr ""
#: ../../design/database.rst:863
-# e4465eb7e1f640aba0434e8c9f33e110
msgid "This is to avoid duplicating strings, saving space and making database lookups more efficient."
msgstr ""
#: ../../design/database.rst:866
-# 920a956c631d4dc39dc2455bbdcf905d
msgid "Core developers will place schema upgrades in ``/engine/schema/upgrades/*``."
msgstr ""
#: ../../design/events.rst:2
-# 222c1e93ec644581a942dfdffdc3a49e
msgid "Events and Plugin Hooks"
msgstr ""
#: ../../design/events.rst:11
-# 15b4827c9d994d5db988a295869424c2
msgid "Elgg has an event system that can be used to replace or extend core functionality."
msgstr ""
#: ../../design/events.rst:14
-# 2afdbb21698447f48b5b5894336a35e1
msgid "Plugins influence the system by creating handlers (`callables `_ such as functions and methods) and registering them to handle two types of events: `Elgg Events`_ and `Plugin Hooks`_."
msgstr ""
#: ../../design/events.rst:18
-# 43504b072b3144e6ba29cb4e3e605211
msgid "When an event is triggered, a set of handlers is executed in order of priority. Each handler is passed arguments and has a chance to influence the process. After execution, the \"trigger\" function returns a value based on the behavior of the handlers."
msgstr ""
#: ../../design/events.rst:24
-# c3db2b8b08f04fed8bf67070ce30d9d2
msgid "Elgg Events vs. Plugin Hooks"
msgstr ""
#: ../../design/events.rst:26
-# dd94a1eaafcc43ee99809eb9ac5cb0c9
msgid "The main differences between `Elgg Events`_ and `Plugin Hooks`_ are:"
msgstr ""
#: ../../design/events.rst:28
-# 896a17863e214658b9df962581d15bd0
msgid "Most Elgg events can be cancelled; unless the event is an \"after\" event, a handler that returns `false` can cancel the event, and no more handlers are called."
msgstr ""
#: ../../design/events.rst:31
-# 466544d8256f4c5db485e0910cbfa855
msgid "Plugin hooks cannot be cancelled; all handlers are always called."
msgstr ""
#: ../../design/events.rst:32
-# 984a5d0dda8647be9d90b00e7c8e3303
msgid "Plugin hooks pass an arbitrary value through the handlers, giving each a chance to alter along the way."
msgstr ""
#: ../../design/events.rst:37
-# d563b741338241f39e57c6010244161f
msgid "Elgg Events"
msgstr ""
#: ../../design/events.rst:39
-# 8c2d5aab14804a0e984ad44add2dc69d
msgid "Elgg Events are triggered when an Elgg object is created, updated, or deleted; and at important milestones while the Elgg framework is loading. Examples: a blog post being created or a user logging in."
msgstr ""
#: ../../design/events.rst:43
-# e8b3fc09bcbc4391bf59e5913e771a1f
msgid "Unlike `Plugin Hooks`_, *most Elgg events can be cancelled*, halting the execution of the handlers, and possibly cancelling an some action in the Elgg core."
msgstr ""
#: ../../design/events.rst:47
-# 514a1bfe72d6499bb789e0615b415c99
msgid "Each Elgg event has a name and an object type (system, user, object, relationship name, annotation, group) describing the type of object passed to the handlers."
msgstr ""
#: ../../design/events.rst:52
-# e15f316f0af144588e8406881b095f8f
msgid "Before and After Events"
msgstr ""
#: ../../design/events.rst:54
-# 06986913164c4f68bff59c2943cbfb54
msgid "Some events are split into \"before\" and \"after\". This avoids confusion around the state of the system while in flux. E.g. Is the user logged in during the [login, user] event?"
msgstr ""
#: ../../design/events.rst:58
-# 6d587f3ab7e24c58b53a09a802e102e5
msgid "Before Events have names ending in \":before\" and are triggered before something happens. Like traditional events, handlers can cancel the event by returning `false`."
msgstr ""
#: ../../design/events.rst:62
-# 88a2957685544c0a887564cf0ac3cfec
msgid "After Events, with names ending in \":after\", are triggered after something happens. Unlike traditional events, handlers *cannot* cancel these events; all handlers will always be called."
msgstr ""
#: ../../design/events.rst:66
-# 396dccc41f19442caeb4f6f7afb9eec5
msgid "Where before and after events are available, developers are encouraged to transition to them, though older events will be supported for backwards compatibility."
msgstr ""
#: ../../design/events.rst:71
-# 1352975da6734708bbea2ac9ddb5999c
msgid "Elgg Event Handlers"
msgstr ""
#: ../../design/events.rst:73
-# c50374a1d8714a909faded07eb562e20
msgid "Elgg event handlers should have the following prototype:"
msgstr ""
#: ../../design/events.rst:88
-# a4a0904775124227b86ad60d6e431aed
msgid "If the handler returns `false`, the event is cancelled, preventing execution of the other handlers. All other return values are ignored."
msgstr ""
#: ../../design/events.rst:92
-# e3f6b96a84d44e89819fe96a05e68b75
msgid "Register to handle an Elgg Event"
msgstr ""
#: ../../design/events.rst:94
-# 043fdd727acb4868a0b8efec5f8c6703
msgid "Register your handler to an event using ``elgg_register_event_handler``:"
msgstr ""
@@ -1547,522 +1232,412 @@ msgstr ""
#: ../../design/events.rst:147
#: ../../design/events.rst:202
#: ../../design/events.rst:230
-# fca30a09c3e2460da4110e70763fa809
-# 6022249df7c64fb9ac342208a8d8f24e
-# c75732c1ed0a4381a09fabb4e33ea0bf
-# 7aa01996897946eab1577fa27f659c12
msgid "Parameters:"
msgstr ""
#: ../../design/events.rst:102
#: ../../design/events.rst:149
-# 11f87a9e9ec745a7a33fe2899b86e27b
-# a3ca527aaf134b63b353a2fc4a5eca09
msgid "**$event** The event name."
msgstr ""
#: ../../design/events.rst:103
-# c7f8baedd9db4eb684b5a5696fcea4a7
msgid "**$object_type** The object type (e.g. \"user\" or \"object\") or 'all' for all types on which the event is fired."
msgstr ""
#: ../../design/events.rst:105
#: ../../design/events.rst:206
-# ce9aebd0ace94587a30db99b05cc48ca
-# b213c790750d4e638b6a04d145bd44f1
msgid "**$handler** The callback of the handler function."
msgstr ""
#: ../../design/events.rst:106
#: ../../design/events.rst:207
-# fcb82db70cad40038641f8dcce09dc0c
-# e2563f9dd0ac416aa8138279cc723eb1
msgid "**$priority** The priority - 0 is first and the default is 500."
msgstr ""
#: ../../design/events.rst:108
-# 399e6420f4c14125b6c45030f6c0bec5
msgid "**Object** here does not refer to an ``ElggObject`` but rather a string describing any object in the framework: system, user, object, relationship, annotation, group."
msgstr ""
#: ../../design/events.rst:111
#: ../../design/events.rst:212
-# 27ef3c96ae28470ab8902f335eca16ea
-# 14604285ab8841d69347748c66674ff0
msgid "Example:"
msgstr ""
#: ../../design/events.rst:121
-# 258ee5b00ad545c998e3bdfcc19bbe03
msgid "Trigger an Elgg Event"
msgstr ""
#: ../../design/events.rst:123
-# 6fc2867f5aed46fea14636cb2d79a619
msgid "You can trigger a custom Elgg event using ``elgg_trigger_event``:"
msgstr ""
#: ../../design/events.rst:133
-# 8f720a8df6044d679c382d57d15853a3
msgid "For events with ambiguous states, like logging in a user, you should use `Before and After Events`_ by calling ``elgg_trigger_before_event`` or ``elgg_trigger_after_event``. This makes it clear for the event handler what state to expect and which events can be cancelled."
msgstr ""
#: ../../design/events.rst:150
-# 68b214f9d923410b868de6033a374b6a
msgid "**$object_type** The object type (e.g. \"user\" or \"object\")."
msgstr ""
#: ../../design/events.rst:151
-# 4ce7d94bd02c4368aea04a6575706b00
msgid "**$object** The object (e.g. an instance of ``ElggUser`` or ``ElggGroup``)"
msgstr ""
#: ../../design/events.rst:153
-# 01d12f5e6b394341922febcb15e8315a
msgid "The function will return ``false`` if any of the selected handlers returned ``false`` and the event is stoppable, otherwise it will return ``true``."
msgstr ""
#: ../../design/events.rst:159
-# b1366cd6aec14212884a48ce0b504f6a
msgid "Plugin Hooks"
msgstr ""
#: ../../design/events.rst:161
-# 7686b268ce654be495fc22aea7d44960
msgid "Plugin Hooks provide a way for plugins to collaboratively determine or alter a value. For example, to decide whether a user has permission to edit an entity or to add additional configuration options to a plugin."
msgstr ""
#: ../../design/events.rst:165
-# 134d8334d4d84dc0aff63e6b2efef11c
msgid "A plugin hook has a value passed into the trigger function, and each handler has an opportunity to alter the value before it's passed to the next handler. After the last handler has completed, the final value is returned by the trigger."
msgstr ""
#: ../../design/events.rst:171
-# 212e112895254011b7293ae5c659e99b
msgid "Plugin Hook Handlers"
msgstr ""
#: ../../design/events.rst:173
-# 3f22547acec94308bb4829cdb64b2820
msgid "Plugin hook handlers should have the following prototype:"
msgstr ""
#: ../../design/events.rst:189
-# a54cc0a7b2ef4c71867a0236c318f5a3
msgid "If the handler returns no value (or `null` explicitly), the plugin hook value is not altered. Otherwise the return value becomes the new value of the plugin hook. It will then be passed to the next handler as `$value`."
msgstr ""
#: ../../design/events.rst:194
-# 54a525a8da884468b6e4f14081ab2fee
msgid "Register to handle a Plugin Hook"
msgstr ""
#: ../../design/events.rst:196
-# 8eb30b669349416899c06010e7ef86e0
msgid "Register your handler to a plugin hook using ``elgg_register_plugin_hook_handler``:"
msgstr ""
#: ../../design/events.rst:204
#: ../../design/events.rst:232
-# 0a467f9e5dbb4c6989a79e40da32f473
-# af0746417c484b7e9240cfc686ff413b
msgid "**$hook** The name of the plugin hook."
msgstr ""
#: ../../design/events.rst:205
#: ../../design/events.rst:233
-# 74aef548c89843ceb601f9098c8ba00e
-# 54ef8bf82487491f9c56bc23a1a121d4
msgid "**$type** The type of the hook or 'all' for all types."
msgstr ""
#: ../../design/events.rst:209
-# bb62fd7e93e54286986c8ab37b6ae3d5
msgid "**Type** can vary in meaning. It may mean an Elgg entity type or something specific to the plugin hook name."
msgstr ""
#: ../../design/events.rst:221
-# 530165a3a0874b9b9cbf2d2b3d8bd609
msgid "Trigger a Plugin Hook"
msgstr ""
#: ../../design/events.rst:223
-# 9ebb051a147d43229c098d96f8bbbf22
msgid "You can trigger a custom plugin hook using ``elgg_trigger_plugin_hook``:"
msgstr ""
#: ../../design/events.rst:234
-# 44d4f6ffd4574bd287128d54af663985
msgid "**$params** Arbitrary data passed from the trigger to the handlers."
msgstr ""
#: ../../design/events.rst:235
-# bb04319955dd4e93bb1102232e162c50
msgid "**$value** The initial value of the plugin hook."
msgstr ""
#: ../../design/events.rst:237
-# 2d3a76be3a15431c8d299b2fe57be1b7
msgid "The `$params` and `$value` arguments are reversed between the plugin hook handlers and trigger functions!"
msgstr ""
#: ../../design/i18n.rst:2
-# d34e78a292854e2087520b12617c9577
msgid "Internationalization"
msgstr ""
#: ../../design/i18n.rst:4
-# e0813ddbb0644b4c8a7bdde7be851d44
msgid "Elgg 1.0+ departs from previous versions in that it uses a custom text array rather than gettext. This improves system performance and reliability of the translation system."
msgstr ""
#: ../../design/i18n.rst:7
-# 28971fc9c4ae44ce8158b62661bf2eab
msgid "TODO: more plz"
msgstr ""
#: ../../design/index.rst:2
-# 737e1b3e085c405a99c59d464999e01b
msgid "Design Docs"
msgstr ""
#: ../../design/index.rst:4
-# ccefae1cbc6949f8bd6fefd8f8cf3da7
msgid "Gain a deep understanding of how Elgg works and why it's built the way it is."
msgstr ""
#: ../../design/loggable.rst:2
-# cffbaf1344034191ac4c3a6f94c6d990
msgid "Loggable"
msgstr ""
#: ../../design/loggable.rst:4
-# 7099cc772e404949ae1fd912c599f065
msgid "Loggable is an interface inherited by any class that wants events relating to its member objects to be saved to the system log. ``ElggEntity`` and ``ElggExtender`` both inherit ``Loggable``."
msgstr ""
#: ../../design/loggable.rst:6
-# 9073abe70daf46e492dde0a380b1f68b
msgid "Loggable defines several class methods that are used in saving to the default system log, and can be used to define your own (as well as for other purposes):"
msgstr ""
#: ../../design/loggable.rst:8
-# df959b7d10844cf19170093ba9bf674d
msgid "``getSystemLogID()`` Return a unique identifier for the object for storage in the system log. This is likely to be the object's GUID"
msgstr ""
#: ../../design/loggable.rst:9
-# 6e7cb293e18b4595aecb7c4de8ac7197
msgid "``getClassName()`` Return the class name of the object"
msgstr ""
#: ../../design/loggable.rst:10
-# 2e2ea7f4055b4355becbaa50245c5bed
msgid "``getType()`` Return the object type"
msgstr ""
#: ../../design/loggable.rst:11
-# 34721e44bd194d6c8dc6ae09f7e75935
msgid "``getSubtype()`` Get the object subtype"
msgstr ""
#: ../../design/loggable.rst:12
-# f9b8611a566c422c938d9ae0276622d1
msgid "``getObjectFromID($id)`` For a given ID, return the object associated with it"
msgstr ""
#: ../../design/loggable.rst:13
-# 148ebb41455947f195056494a48d035b
msgid "``getObjectOwnerGUID()`` Return the GUID of the owner of this object"
msgstr ""
#: ../../design/loggable.rst:16
-# 4586dcfb1f7a4e058a9b8d72d184ca51
msgid "Database details"
msgstr ""
#: ../../design/loggable.rst:18
-# f058f2bdfd9d41f68a12f51010c6e2a5
msgid "The default system log is stored in the ``system_log`` :doc:`database table `. It contains the following fields:"
msgstr ""
#: ../../design/loggable.rst:20
-# f602312a28f54131b75dd387b8fe8a91
msgid "**id** - A unique numeric row ID"
msgstr ""
#: ../../design/loggable.rst:21
-# a997abe927934d7d9ff856b2506193b5
msgid "**object_id** - The GUID of the entity being acted upon"
msgstr ""
#: ../../design/loggable.rst:22
-# be65620d4c7a4a2b8aed3127889dfeb2
msgid "**object_class** - The class of the entity being acted upon (eg ElggObject)"
msgstr ""
#: ../../design/loggable.rst:23
-# f68887bc14884b4aa3f9fb8878a33fa1
msgid "**object_type** - The type of the entity being acted upon (eg object)"
msgstr ""
#: ../../design/loggable.rst:24
-# aca0af3c17914394a7f29fa3bf198d85
msgid "**object_subtype** - The subtype of the entity being acted upon (eg blog)"
msgstr ""
#: ../../design/loggable.rst:25
-# 3f6a087639da4f8baa0834e62b11fab8
msgid "**event** - The event being logged (eg create or update)"
msgstr ""
#: ../../design/loggable.rst:26
-# 157515372f074477b5512d228f90e618
msgid "**performed_by_guid** - The GUID of the acting entity (the user performing the action)"
msgstr ""
#: ../../design/loggable.rst:27
-# 349cb2c740864c9bb67834fca9204cf9
msgid "**owner_guid** - The GUID of the user which owns the entity being acted upon"
msgstr ""
#: ../../design/loggable.rst:28
-# e30e92b6bd2b49419642b907d30be9f3
msgid "**access_id** - The access restriction associated with this log entry"
msgstr ""
#: ../../design/loggable.rst:29
-# c8440563f0714393899066c3f769ddb0
msgid "**time_created** - The UNIX epoch timestamp of the time the event took place"
msgstr ""
#: ../../design/security.rst:2
-# 94235e712efe4cc3b5906f46f3ebc9f6
msgid "Security"
msgstr ""
#: ../../design/security.rst:4
-# 4d0d50f2379d49429517ccd7ee2fa7f1
msgid "Elgg’s approach to the various security issues common to all web applications."
msgstr ""
#: ../../design/security.rst:8
-# 13c976dce2764154a7bb1a6f99c24b40
msgid "To report a potential vulnerability in Elgg, email security@elgg.org."
msgstr ""
#: ../../design/security.rst:15
-# e84ed09ccc14408ebbeea4dc44d5a597
msgid "Passwords"
msgstr ""
#: ../../design/security.rst:18
-# a619f7ed72e2485da3a7726235992cd5
msgid "Password validation"
msgstr ""
#: ../../design/security.rst:20
-# 6eb74fd11cc948f3b7f99b1ed954ceaa
msgid "The only restriction that Elgg places on a password is that it must be at least 6 characters long by default, though this may be changed in /engine/settings.php. Additional criteria can be added by a plugin by registering for the ``registeruser:validate:password`` plugin hook."
msgstr ""
#: ../../design/security.rst:23
-# a3ecebb0ec88432ab2f215e396157c2b
msgid "Password salting"
msgstr ""
#: ../../design/security.rst:27
-# 411f863650f3448e9bfa9ee3ed01335c
msgid "Elgg salts passwords with a unique 8 character random string. The salt is generated each time the password is set. The main security advantages of the salting are:"
msgstr ""
#: ../../design/security.rst:26
-# 846f41ef06b048df8f3b4ee2d38df198
msgid "preventing anyone with access to the database from conducting a precomputed dictionary attack"
msgstr ""
#: ../../design/security.rst:27
-# d5b289e970a64452a3e2b1d386b0054c
msgid "preventing a site administration from noting users with the same password."
msgstr ""
#: ../../design/security.rst:30
-# ffb2a84666164e6f832c86e994947a1b
msgid "Password hashing"
msgstr ""
#: ../../design/security.rst:32
-# 995eb67f57c14b30a513b2fe02fef9a1
msgid "The hashed password is computed using md5 from the user's password text and the salt."
msgstr ""
#: ../../design/security.rst:35
-# 470fdc12974948c4a221fc0d62f53889
msgid "Password storage"
msgstr ""
#: ../../design/security.rst:37
-# b34cf09b4ec54ca8a6f6e3c23f1d0625
msgid "The hashed password and the salt are stored in the users table. Neither are stored in any cookies on a user's computer."
msgstr ""
#: ../../design/security.rst:40
-# c1c0bbd8d9364c39ad8292412fb3b9f3
msgid "Password throttling"
msgstr ""
#: ../../design/security.rst:42
-# 82793d80dc444d398fdfecc24564471d
msgid "Elgg has a password throttling mechanism to make dictionary attacks from the outside very difficult. A user is only allowed 5 login attempts over a 5 minute period."
msgstr ""
#: ../../design/security.rst:45
-# 3395d4d2efd54294941e40317f72d042
msgid "Password resetting"
msgstr ""
#: ../../design/security.rst:47
-# 4487a0c0e4c34e4c96e1025f5adc0841
msgid "If a user forgets his password, a new random password can be requested. After the request, an email is sent with a unique URL. When the user visits that URL, a new random password is sent to the user through email."
msgstr ""
#: ../../design/security.rst:50
-# 11960facf56049f782f8ca8029899966
msgid "Sessions"
msgstr ""
#: ../../design/security.rst:52
-# bfef510cd5714704bcb6cb8c1d1f6fb8
msgid "Elgg uses PHP's session handling with custom handlers. Session data is stored in the database. The session cookie contains the session id that links the user to the browser. The user's metadata is stored in the session including GUID, username, email address. The session's lifetime is controlled through the server's PHP configuration."
msgstr ""
#: ../../design/security.rst:55
-# e3d597d2e26943c5b2b1d88cda7f9073
msgid "Session fixation"
msgstr ""
#: ../../design/security.rst:56
-# 51d76b9f9ecb46f2802aee78edac8c03
msgid "Elgg protects against session fixation by regenerating the session id when a user logs in."
msgstr ""
#: ../../design/security.rst:59
-# 5b95be75706043b18e176c26c714819e
msgid "Session hijacking"
msgstr ""
#: ../../design/security.rst:60
-# e64e6cc0b72e435fa9633aa6d6f8444a
msgid "This section is questionable."
msgstr ""
#: ../../design/security.rst:62
-# a87770fe454c4c5187faf2ca4aa83728
msgid "Besides protecting against session fixation attacks, Elgg also has a further check to try to defeat session hijacking if the session identifier is compromised. Elgg stores a hash of the browser's user agent and a site secret as a session fingerprint. The use of the site secret is rather superfluous but checking the user agent might prevent some session hijacking attempts."
msgstr ""
#: ../../design/security.rst:65
-# 56344a1487534eb3aef51d761a5a9fee
msgid "“Remember me” cookie"
msgstr ""
#: ../../design/security.rst:66
-# cbefed4a6c8a48c0b9f3a8ab2ac747dc
msgid "To allow users to stay logged in for a longer period of time regardless of whether the browser has been closed, Elgg uses a cookie (called elggperm) that contains what could be considered a super session identifier. This identifier is stored in a cookies table. When a session is being initiated, Elgg checks for the presence of the elggperm cookie. If it exists and the session code in the cookie matches the code in the cookies table, the corresponding user is automatically logged in."
msgstr ""
#: ../../design/security.rst:69
-# 5cde16369509424dbb0c09855e0cbc15
msgid "Alternative authentication"
msgstr ""
#: ../../design/security.rst:71
-# 8cd7663808914db9bef81aaf4ebb649a
msgid "This section is very hand-wavy"
msgstr ""
#: ../../design/security.rst:73
-# 4f74c9556b00430e81ac91cf6cdafe46
msgid "To replace Elgg's default user authentication system, a plugin would have to replace the default action with its own through ``register_action()``. It would also have to register its own pam handler using ``register_pam_handler()``."
msgstr ""
#: ../../design/security.rst:75
-# d4ac2a7963474c9185b63edfa699abaf
msgid "The ``pam_authenticate()`` function used to call the different modules has a bug related to the importance variable."
msgstr ""
#: ../../design/security.rst:79
-# 05e269c9955a4ca98fa3aa0650e08bb7
msgid "HTTPS"
msgstr ""
#: ../../design/security.rst:81
-# 33a79f1596da449e9f2c3b55b542b8a9
msgid "You must enable SSL support on your server for any of these techniques to work."
msgstr ""
#: ../../design/security.rst:83
-# d2d1ddf5453f482a860ac4fed12b3fdf
msgid "To make the login form submit over https, turn on login-over-ssl from Elgg’s admin panel."
msgstr ""
#: ../../design/security.rst:85
-# d8fee8551c6147c8aa64e0c091abc702
msgid "You can also serve your whole site over SSL by simply changing the site URL to include “https” instead of just “http.”"
msgstr ""
#: ../../design/security.rst:88
-# 90ffc1dca5c54541abe776a491683e88
msgid "XSS"
msgstr ""
#: ../../design/security.rst:90
-# 128fa8fee6cf43d79b3cf51db7a29786
msgid "Filtering is used in Elgg to make XSS attacks more difficult. The purpose of the filtering is to remove Javascript and other dangerous input from users."
msgstr ""
#: ../../design/security.rst:92
-# a4d3eb866e4242b08370e998219abdc8
msgid "Filtering is performed through the function ``filter_tags()``. This function takes in a string and returns a filtered string. It triggers a ``validate, input`` plugin hook."
msgstr ""
#: ../../design/security.rst:94
-# ce3e82bd946b40a18c6f01994450dabf
msgid "By default Elgg comes with the htmLawed filtering code as a plugin. Developers can drop in any additional or replacement filtering code as a plugin."
msgstr ""
#: ../../design/security.rst:96
-# db55b1c42c82458db1304d7edf0f1605
msgid "The ``filter_tags()`` function is called on any user input as long as the input is obtained through a call to ``get_input()``. If for some reason a developer did not want to perform the default filtering on some user input, the ``get_input()`` function has a parameter for turning off filtering."
msgstr ""
#: ../../design/security.rst:99
-# 1b72955e583f43bab37013afe9db307a
msgid "CSRF / XSRF"
msgstr ""
#: ../../design/security.rst:101
-# 5d344595423d4c8388e7fedcd6a8fafc
msgid "Elgg generates security tokens to prevent `cross-site request forgery`_. These are embedded in all forms and state-modifying AJAX requests as long as the correct API is used. Read more in the :doc:`/guides/actions` developer guide."
msgstr ""
#: ../../design/security.rst:104
-# ff6b6f2c6e784801a31fbe051bd10fad
msgid "SQL Injection"
msgstr ""
#: ../../design/security.rst:106
-# 896f3418854d4e44aa367d7d7eef2f56
msgid "Elgg’s API sanitizes all input before issuing DB queries. Read more in the :doc:`/design/database` design doc."
msgstr ""
#: ../../design/security.rst:109
-# 389fd39e236a4a369622c2f37cd6290b
msgid "Privacy"
msgstr ""
#: ../../design/security.rst:111
-# e95d5742fa9a48298a17d221b3d852c4
msgid "Elgg uses an ACL system to control which users have access to various pieces of content. Read more in the :doc:`/design/database` design doc."
msgstr ""
diff --git a/docs/locale/pot/guides.pot b/docs/locale/pot/guides.pot
index 122f9ef2c85..389bb914369 100644
--- a/docs/locale/pot/guides.pot
+++ b/docs/locale/pot/guides.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,181 +17,144 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../guides/accessibility.rst:2
-# 0353d2e9e3b84e208a83d9bcfc3efa72
msgid "Accessibility Guidelines"
msgstr ""
#: ../../guides/accessibility.rst:4
-# 883e73a0677247209612858c9a4f90af
msgid "This page aims to list and document accessibility rules and best practices, to help core and plugins developpers to make Elgg the most accessible social engine framework that everyone dreams of."
msgstr ""
#: ../../guides/accessibility.rst:8
-# 1efdc1191c3f435298bd1f9222fb53e7
msgid "This is an ongoing work, please contribute on `Github `_ if you have some skills in this field!"
msgstr ""
#: ../../guides/accessibility.rst:11
-# 96502d37ce934e0cb4c3febe3606a634
msgid "Resources + references"
msgstr ""
#: ../../guides/accessibility.rst:13
-# c3a1399d39ba45ea8ba2692d70331cf8
msgid "`Official WCAG Accessibility Guidelines Overview `_"
msgstr ""
#: ../../guides/accessibility.rst:14
-# e0fa060e3fa04c7fbedbc1249f4771c1
msgid "`Official WCAG Accessibility Guidelines `_"
msgstr ""
#: ../../guides/accessibility.rst:15
-# 86b5f63b8dd144e38137158d4a17436b
msgid "`Resources for planning and implementing for accessibility `_"
msgstr ""
#: ../../guides/accessibility.rst:16
-# 563155b192664de5bf5c05adf98a6420
msgid "`Practical tips from the W3C for improving accessibility `_"
msgstr ""
#: ../../guides/accessibility.rst:17
-# dec47684213e420eb8dd2a08ebc04cd8
msgid "`Preliminary review of websites for accessibility `_"
msgstr ""
#: ../../guides/accessibility.rst:18
-# 70a134ef497b430180c3858f873f2839
msgid "`Tools for checking the accessibility of websites `_"
msgstr ""
#: ../../guides/accessibility.rst:19
-# 43df2a642b31484180661a24818755c5
msgid "`List of practical techniques for implementing accessibility `_ (It would be great if someone could go through this and filter out all the ones that are relevant to Elgg)"
msgstr ""
#: ../../guides/accessibility.rst:22
-# b731fe3d2dd149578430b60bb8a50bdc
msgid "Tips for implementing accessibility"
msgstr ""
#: ../../guides/accessibility.rst:24
-# 30c2ff6892b64b9e84650ea881b89c7d
msgid "All accessibility-related tickets reported to trac should be tagged with \"a11y\", short for \"accessibility\""
msgstr ""
#: ../../guides/accessibility.rst:25
-# c3d8f287ab824473b0bdc9fd0686f38d
msgid "Use core views such as ``output/*``, and ``input/*`` to generate markup, since we can bake a11y concerns into these views"
msgstr ""
#: ../../guides/accessibility.rst:26
-# add60733c88340e3b5cbaa994e1fd1e6
msgid "All images should have a descriptive ``alt`` attribute. Spacer or purely decorative graphics should have blank ``alt`` attributes"
msgstr ""
#: ../../guides/accessibility.rst:27
-# cae37b2885d04c1993fe7467e679ffec
msgid "All ```` tags should have text or an accessible image inside. Otherwise screen readers will have to read the URL, which is a poor experience `` `` tags should contain descriptive text, if possible, as opposed to generic text like \"Click here\""
msgstr ""
#: ../../guides/accessibility.rst:28
-# 5f1bffe3781f4f23a94a8561898ab4a3
msgid "Markup should be valid"
msgstr ""
#: ../../guides/accessibility.rst:29
-# 3494ce0e3de74ae7a753fa2a953dbb58
msgid "Themes should not reset \"outline\" to nothing. ``:focus`` deserves a special visual treatment so that handicapped users can know where they are"
msgstr ""
#: ../../guides/accessibility.rst:32
-# 4521c78e21df44109f5ede5a88c35b47
msgid "Tips for testing accessibility"
msgstr ""
#: ../../guides/accessibility.rst:34
-# e1293e5c080f402b93404967ee89612d
msgid "Use the tools linked to from the resources section. `Example report for community.elgg.org on June 16, 2012 `_"
msgstr ""
#: ../../guides/accessibility.rst:35
-# a3d4a045eec64efc9bd3236d53232b09
msgid "Try different font-size/zoom settings in your browser and make sure the theme remains usable"
msgstr ""
#: ../../guides/accessibility.rst:36
-# b76538eb45704012b0f7fd70863295d8
msgid "Turn off css to make sure the sequential order of the page makes sense"
msgstr ""
#: ../../guides/accessibility.rst:39
-# f7096fdbd431472cabfcdcdcacf576de
msgid "Documentation objectives and principles"
msgstr ""
#: ../../guides/accessibility.rst:41
-# 61b01bdbb69b4492ae9e7a794e91de80
msgid "Main accessibility rules"
msgstr ""
#: ../../guides/accessibility.rst:42
-# 3c794f55928640039af0d4b53b29af22
msgid "collect and document best practices"
msgstr ""
#: ../../guides/accessibility.rst:43
-# 8716de05164f44e8bb9731216eae7d42
msgid "Provide code examples"
msgstr ""
#: ../../guides/accessibility.rst:44
-# fafa7b098a3b47e6a7c418588a74bcf3
msgid "Keep the document simple and usable"
msgstr ""
#: ../../guides/accessibility.rst:45
-# 8e3395b8bd874ac4a45a82e321d79cca
msgid "Make it usable for both beginner developpers and experts (from most common and easiest changes to elaborate techniques)"
msgstr ""
#: ../../guides/actions.rst:2
-# 5d800bcb55e2447caf9d1e465f0cf9e5
msgid "Forms + Actions"
msgstr ""
#: ../../guides/actions.rst:4
-# 93572d2723804cfe847190e82598e34b
msgid "Create, update, or delete content."
msgstr ""
#: ../../guides/actions.rst:6
-# 668dd9c381aa426397773126bbd407da
msgid "Elgg forms submit to actions. Actions define the behavior for form submission."
msgstr ""
#: ../../guides/actions.rst:8
-# 0446c779d6c444b189059024a06aefff
msgid "This guide assumes basic familiarity with:"
msgstr ""
#: ../../guides/actions.rst:10
#: ../../guides/themes.rst:9
-# a3eaea386831487f8040c92efd8fea78
-# 4fa7646f417b443b9dce63f4bca97465
msgid ":doc:`/admin/plugins`"
msgstr ""
#: ../../guides/actions.rst:11
#: ../../guides/themes.rst:10
-# f04e96532bce448cba2685f0e7afd76d
-# baa5312372eb4b199d173d23b0781a18
msgid ":doc:`views`"
msgstr ""
#: ../../guides/actions.rst:12
-# 52272fac6080437c9254d71d3b5ccc1b
msgid ":doc:`i18n`"
msgstr ""
@@ -209,3381 +172,2675 @@ msgstr ""
#: ../../guides/views.rst:0
#: ../../guides/web-services.rst:0
#: ../../guides/widgets.rst:0
-# 790bee3609c44c27b23982ac8a682f43
-# 35108751edd44c79812fb699ddb64964
-# ad04dadfecf543deacdf46001a849a57
-# 1186626ebb304f6ca064161f303059c6
-# 8c60950744064e9d9e049d37149f0336
-# 8d8c3e06506947bf83f91fa3e923a143
-# 92f538420f4f42608b724698adcebd49
-# 8710e8a3c91649b78e123584b98e9a36
-# 1feda657171f41949b52584e4e198950
-# ad18ff2d288f4f498daf592a4975da2a
-# d42cc38b54bf4111a59e64b42de1db0f
-# c813ac2ed41343f990b84669b9f91705
-# 4f9127c18b2144a2bf7c204e6dfcac9e
-# e82f2f85d62742e683909efb4cdda79f
msgid "Contents"
msgstr ""
#: ../../guides/actions.rst:19
-# 75182a3fb9724bff91feb5baaf5f8d85
msgid "Registering actions"
msgstr ""
#: ../../guides/actions.rst:21
-# adfedfb34b604563affacbba101bed22
msgid "Actions must be registered before use. Use ``elgg_register_action`` for this:"
msgstr ""
#: ../../guides/actions.rst:27
-# 7ac6295303604281b49c129a90a6dbc5
msgid "The ``mod/example/actions/example.php`` script will now be run whenever a form is submitted to ``http://localhost/elgg/action/example``."
msgstr ""
#: ../../guides/actions.rst:29
-# 019ff8fca25d487cb0776f6649a4aa62
msgid "A stumbling point for many new developers is the URL for actions. The URL always uses ``/action/`` (singular) and never ``/actions/`` (plural). However, action script files are usually saved under the directory ``/actions/`` (plural) and always have an extension."
msgstr ""
#: ../../guides/actions.rst:33
-# f815e276bc8c452bbee7c38313e16147
msgid "Permissions"
msgstr ""
#: ../../guides/actions.rst:34
-# defc179d7f064dc58d89a5e530823263
msgid "By default, actions are only available to logged in users."
msgstr ""
#: ../../guides/actions.rst:36
-# 76c80aad0bcd4618810d90aafd939d69
msgid "To make an action available to logged out users, pass ``\"public\"`` as the third parameter:"
msgstr ""
#: ../../guides/actions.rst:42
-# 3141f82448854cf9b845c302c92abc8b
msgid "To restrict an action to only administrators, pass ``\"admin\"`` for the last parameter:"
msgstr ""
#: ../../guides/actions.rst:50
-# 87e15ab7be504a9e92d3c27c4ce68f40
msgid "Writing action files"
msgstr ""
#: ../../guides/actions.rst:52
-# 548f60f037f249719827c68d8de64d50
msgid "Use the ``get_input`` function to get access to request parameters:"
msgstr ""
#: ../../guides/actions.rst:58
-# ed3e175e4f1240548bfa7ef1e05d995c
msgid "You can then use the :doc:`database` api to load entities and perform actions on them accordingly."
msgstr ""
#: ../../guides/actions.rst:60
-# 88af939054bc4ab2b3769f8bdaa8fb8c
msgid "To redirect the page once you've completed your actions, use the ``forward`` function:"
msgstr ""
#: ../../guides/actions.rst:66
-# 02c17d7dccd0456085280a7ad0797166
msgid "For example, to forward to the user's profile:"
msgstr ""
#: ../../guides/actions.rst:73
-# 5e03935da59d44618b0af02be7ae0481
msgid "URLs can be relative to the Elgg root:"
msgstr ""
#: ../../guides/actions.rst:80
-# 299bb93835b14e35a555dc214f0e7f0d
msgid "Redirect to the referring page by using the ``REFERRER`` constant:"
msgstr ""
#: ../../guides/actions.rst:87
-# 277db459935945a9ae08cc9d7cc5abee
msgid "Give feedback to the user about the status of the action by using ``system_message`` for positive feedback or ``register_error`` for warnings and errors:"
msgstr ""
#: ../../guides/actions.rst:100
-# a0a4ffda35ed4a34ba3eecb9000550dc
msgid "Customizing actions"
msgstr ""
#: ../../guides/actions.rst:102
-# b792c955e55543838d336f98c3d361d0
msgid "Before executing any action, Elgg triggers a hook:"
msgstr ""
#: ../../guides/actions.rst:108
-# 980c287a0f0d45dd9836e44017300b23
msgid "Where ``$action`` is the action being called. If the hook returns ``false`` then the action will not be executed."
msgstr ""
#: ../../guides/actions.rst:111
-# e83721154ba04a05b4dff27a0d5289eb
msgid "Example: Captcha"
msgstr ""
#: ../../guides/actions.rst:113
-# 85410bfd33d94aec9b2371e303dd8367
msgid "The captcha module uses this to intercept the ``register`` and ``user/requestnewpassword`` actions and redirect them to a function which checks the captcha code. This check returns ``true`` if valid or ``false`` if not (which prevents the associated action from executing)."
msgstr ""
#: ../../guides/actions.rst:115
-# 616fa37156224cf2a4fc5843f6305930
msgid "This is done as follows:"
msgstr ""
#: ../../guides/actions.rst:137
-# c17f14c264644aa7ab0a2de72752b926
msgid "This lets a plugin extend an existing action without the need to replace the whole action. In the case of the captcha plugin it allows the plugin to provide captcha support in a very loosely coupled way."
msgstr ""
#: ../../guides/actions.rst:140
-# ee5dc3a2f2c24acc918b3cd211f3bfea
msgid "To output a form, use the elgg_view_form function like so:"
msgstr ""
#: ../../guides/actions.rst:146
-# 327c91dd8125412eafb3a59f461b6e54
msgid "Doing this generates something like the following markup:"
msgstr ""
#: ../../guides/actions.rst:157
-# 012a4e3031e74e3c93358592d7e40791
msgid "Elgg does some things automatically for you when you generate forms this way:"
msgstr ""
#: ../../guides/actions.rst:159
-# 6449620111df4c6e841749a2406f067b
msgid "It sets the action to the appropriate URL based on the name of the action you pass to it"
msgstr ""
#: ../../guides/actions.rst:160
-# e6828076fa0e4dc7b20bb9fae81d5f42
msgid "It adds some anti-csrf tokens (``__elgg_ts`` and ``__elgg_token``) to help keep your actions secure"
msgstr ""
#: ../../guides/actions.rst:161
-# 3ac93c1137cb472b8e8c83e8b374bcda
msgid "It automatically looks for the body of the form in the ``forms/example`` view."
msgstr ""
#: ../../guides/actions.rst:163
-# 027b71a030ff41d4b0d4e7252a479b1f
msgid "Put the content of your form in your plugin’s ``forms/example`` view:"
msgstr ""
#: ../../guides/actions.rst:171
-# a431901b253a4bbb9235840bd2ec7fbc
msgid "Now when you call ``elgg_view_form('example')``, Elgg will produce:"
msgstr ""
#: ../../guides/actions.rst:186
-# 0a4e73a439584726aed4689f7309efbb
msgid "Files and images"
msgstr ""
#: ../../guides/actions.rst:188
-# 06c52d96a61742f2a353dcbf61c037bc
msgid "Use the input/file view in your form’s content view."
msgstr ""
#: ../../guides/actions.rst:195
-# fab136ad5e0e4c509da703eda44fe196
msgid "Set the enctype of the form to multipart/form-data:"
msgstr ""
#: ../../guides/actions.rst:203
-# 9e46aaa2a68946928e6b185bac5d9c33
msgid "In your action file, use the ``$_FILES`` global to access the uploaded file:"
msgstr ""
#: ../../guides/actions.rst:210
-# c1be243ad2224dd6902353a03f41f53d
msgid "Sticky forms"
msgstr ""
#: ../../guides/actions.rst:212
-# 7018d48e7c044c4d9911bb252d3b4a81
msgid "Sticky forms are forms that retain user input if saving fails. They are \"sticky\" because the user's data \"sticks\" in the form after submitting, though it was never saved to the database. This greatly improves the user experience by minimizing data loss. Elgg 1.8 includes helper functions so you can make any form sticky."
msgstr ""
#: ../../guides/actions.rst:215
#: ../../guides/helpers.rst:2
-# 9af063c71e234d71877e717325dd8da8
-# 56a0b4f8afb641eea20fb435019f01ca
msgid "Helper functions"
msgstr ""
#: ../../guides/actions.rst:217
-# 682c21cbe2bc48569e46f1c7a341626a
msgid "Sticky forms are implemented in Elgg 1.8 by the following functions:"
msgstr ""
#: ../../guides/actions.rst:219
-# 90f13e9d65e049569dedf7b1ee8e9841
msgid "``elgg_make_sticky_form($name)`` Tells the engine to make all input on a form sticky."
msgstr ""
#: ../../guides/actions.rst:222
-# e0e9e46c131c40339cbb41c969068241
msgid "``elgg_clear_sticky_form($name)`` Tells the engine to discard all sticky input on a form."
msgstr ""
#: ../../guides/actions.rst:225
-# 57477a7e4548459aa598093f7e4ce37f
msgid "``elgg_is_sticky_form($name)`` Checks if $name is a valid sticky form."
msgstr ""
#: ../../guides/actions.rst:228
-# 962d9ab3d8304cabb665e44e459a58b1
msgid "``elgg_get_sticky_values($name)`` Returns all sticky values saved for $name by elgg_make_sticky_form()."
msgstr ""
#: ../../guides/actions.rst:232
#: ../../guides/i18n.rst:9
#: ../../guides/plugins/dependencies.rst:11
-# 86ec79a766994791bddf26701c70a115
-# c59b35a84cf54ed0afaf04479021321e
-# 397841de576549b4b67d343ad2830cfb
msgid "Overview"
msgstr ""
#: ../../guides/actions.rst:234
-# d0f39b54f6e24ee49c70d7ec539bc240
msgid "The basic flow of using sticky forms is: Call ``elgg_make_sticky_form($name)`` at the top of actions for forms you want to be sticky. Use ``elgg_is_sticky_form($name)`` and ``elgg_get_sticky_values($name)`` to get sticky values when rendering a form view. Call ``elgg_clear_sticky_form($name)`` after the action has completed successfully or after data has been loaded by ``elgg_get_sticky_values($name)``."
msgstr ""
#: ../../guides/actions.rst:240
-# 233201d8586a4230af8e678cfb388c1b
msgid "Example: User registration"
msgstr ""
#: ../../guides/actions.rst:242
-# fa14e80551644ded8eafb7104416507e
msgid "Simple sticky forms require little logic to determine the input values for the form. This logic is placed at the top of the form body view itself."
msgstr ""
#: ../../guides/actions.rst:244
-# 5129d037c7ea4e8ca057bedcbc6ba84b
msgid "The registration form view first sets default values for inputs, then checks if there are sticky values. If so, it loads the sticky values before clearing the sticky form:"
msgstr ""
#: ../../guides/actions.rst:259
-# 8a8bab10d13e4d9e90d372f2e0d1fb47
msgid "The registration action sets creates the sticky form and clears it once the action is completed:"
msgstr ""
#: ../../guides/actions.rst:276
-# 70f5f6baa9be46b0b385b71218386493
msgid "Example: Bookmarks"
msgstr ""
#: ../../guides/actions.rst:278
-# 726468f4c63548f9bff0d4e95f24607c
msgid "The bundled plugin Bookmarks' save form and action is an example of a complex sticky form."
msgstr ""
#: ../../guides/actions.rst:280
-# 010f7a17925548bd83604d01cf2548c5
msgid "The form view for the save bookmark action uses ``elgg_extract()`` to pull values from the ``$vars`` array:"
msgstr ""
#: ../../guides/actions.rst:294
-# 6c0517219b454642a1b4d7c5b8b3aff2
msgid "The page handler scripts prepares the form variables and calls ``elgg_view_form()`` passing the correct values:"
msgstr ""
#: ../../guides/actions.rst:302
-# 39229c4d1f96404287d18c1841a4dc02
msgid "Similarly, ``mod/bookmarks/pages/edit.php`` uses the same function, but passes the entity that is being edited as an argument:"
msgstr ""
#: ../../guides/actions.rst:314
-# 0082629a32454a22bbab4b1ee507439f
msgid "The library file defines ``bookmarks_prepare_form_vars()``. This function accepts an ``ElggEntity`` as an argument and does 3 things:"
msgstr ""
#: ../../guides/actions.rst:316
-# 84c562d7b0664925b59c876ec97aac8c
msgid "Defines the input names and default values for form inputs."
msgstr ""
#: ../../guides/actions.rst:317
-# 91498167b7264c11bf3e561a9bc9f67c
msgid "Extracts the values from a bookmark object if it's passed."
msgstr ""
#: ../../guides/actions.rst:318
-# e2465fe3c1b74686a32f37a6225eb77b
msgid "Extracts the values from a sticky form if it exists."
msgstr ""
#: ../../guides/actions.rst:320
-# 4a4c7d78d3b24d0cb92b3cc52bf2b75a
msgid "TODO: Include directly from lib/bookmarks.php"
msgstr ""
#: ../../guides/actions.rst:359
-# 251e647e13754edf99009521335c8095
msgid "The save action checks the input, then clears the sticky form upon success:"
msgstr ""
#: ../../guides/actions.rst:373
-# d67eaba03498486cbfb0ed0fe2b682cd
msgid "Ajax"
msgstr ""
#: ../../guides/actions.rst:375
-# df58b40889874c9785ef58fe11839d81
msgid "To call an action via JavaScript without actually submitting a form, use ``elgg.action``:"
msgstr ""
#: ../../guides/actions.rst:381
-# 3b80cc017a2e4919a31a28dc7d379045
msgid "This does a few things under the hood:"
msgstr ""
#: ../../guides/actions.rst:383
-# b52d3e3cc4e4408d953eff1fe97ceedc
msgid "Automatically normalizes the request URL to http://localhost/elgg/action/example."
msgstr ""
#: ../../guides/actions.rst:384
-# 2a22b47d24964ff99fc411c90289936c
msgid "Adds XSRF tokens to the request body for security"
msgstr ""
#: ../../guides/actions.rst:385
-# 2745d454af454e7a8fde5b01abaf12a1
msgid "If the action emits any system messages or errors, they will automatically be displayed when the response comes back."
msgstr ""
#: ../../guides/actions.rst:387
-# d0bf85ced5e24a1caf03de46820914d3
msgid "Often you’ll want to do something in response to a successful action:"
msgstr ""
#: ../../guides/actions.rst:400
-# a5ad22588c244aa8ad2aee20766a1713
msgid "Security"
msgstr ""
#: ../../guides/actions.rst:401
-# 9c88ae3074414bd199c6ada85f9144b4
msgid "For enhanced security, all actions require an XSRF token. Calls to action URLs that do not include security tokens will be ignored and a warning will be generated."
msgstr ""
#: ../../guides/actions.rst:403
-# 6a4a4db122f94634a620c76ececbbe17
msgid "A few views and functions automatically generate security tokens:"
msgstr ""
#: ../../guides/actions.rst:412
-# 3e918ec6f77d4f09b485a5796522e10d
msgid "In rare cases, you may need to generate tokens manually:"
msgstr ""
#: ../../guides/actions.rst:419
-# d2b9ba0a44404c6ea6dcad77e53e28c3
msgid "You can also access the tokens from javascript:"
msgstr ""
#: ../../guides/actions.rst:426
-# 987c1969d91944ec91048c0e6905e55a
msgid "These are refreshed periodically so should always be up-to-date."
msgstr ""
#: ../../guides/authentication.rst:2
-# 33522028a76046468f104e21dd4bb0a8
msgid "Authentication"
msgstr ""
#: ../../guides/authentication.rst:5
-# 0afcebb242fc4844bed3b65c5e12e6b2
msgid "Pluggable Authentication Modules"
msgstr ""
#: ../../guides/authentication.rst:7
-# a91f9c4497204276b79207a48f54e6ca
msgid "Elgg has support for pluggable authentication modules (PAM), which enables you to write your own authentication handlers. Whenever a request needs to get authenticated the system will call ``elgg_authenticate()`` which probes the registered PAM handlers until one returns success."
msgstr ""
#: ../../guides/authentication.rst:9
-# b1aa965aaeb947d78d9be0efa738183a
msgid "The preferred approach is to create a separate Elgg plugin which will have one simple task: to process an authentication request. This involves setting up an authentication handler in the plugin's :doc:`start.php ` file, and to register it with the PAM module so it will get processed whenever the system needs to authenticate a request."
msgstr ""
#: ../../guides/authentication.rst:11
-# d488db35588b4df095dd83730915d162
msgid "The authentication handler is a function and takes a single parameter. Registering the handler is being done by ``register_pam_handler()`` which takes the name of the authentication handler, the importance and the policy as parameters. It is advised to register the handler in the plugin's init function, for example:"
msgstr ""
#: ../../guides/authentication.rst:28
-# f475fda347b64b8f942240e348d577b6
msgid "Importance"
msgstr ""
#: ../../guides/authentication.rst:30
-# 864f198179784742b4a95ca09a7ef17a
msgid "By default an authentication module is registered with an importance of **sufficient**."
msgstr ""
#: ../../guides/authentication.rst:32
-# d4edb760e8c646309026b95c4d861cfa
msgid "In a list of authentication modules; if any one marked *sufficient* returns ``true``, ``pam_authenticate()`` will also return ``true``. The exception to this is when an authentication module is registered with an importance of **required**. All required modules must return ``true`` for ``pam_authenticate()`` to return ``true``, regardless of whether all sufficient modules return ``true``."
msgstr ""
#: ../../guides/authentication.rst:35
-# 95b75b6a1c2645deb6a0df71dec79ed2
msgid "Passed credentials"
msgstr ""
#: ../../guides/authentication.rst:37
-# 0f84501805c44d54bb266ce158266569
msgid "The format of the credentials passed to the handler can vary, depending on the originating request. For example, a regular login via the login form will create a named array, with the keys ``username`` and ``password``. If a request was made for example via XML-RPC then the credentials will be set in the HTTP header, so in this case nothing will get passed to the authentication handler and the handler will need to perform steps on its own to authenticate the request."
msgstr ""
#: ../../guides/authentication.rst:40
-# c100cd6c3a424011b4bd1f71604aab4e
msgid "Return value"
msgstr ""
#: ../../guides/authentication.rst:42
-# b968bf7e8a6b45dea6a1024850ab6588
msgid "The authentication handle should return a ``boolean``, indicating if the request could be authenticated or not. One caveat is that in case of a regular user login where credentials are available as username and password the user will get logged in. In case of the XML-RPC example the authentication handler will need to perform this step itself since the rest of the system will not have any idea of either possible formats of credentials passed nor its contents. Logging in a user is quite simple and is being done by ``login()``, which expects an ``ElggUser`` object."
msgstr ""
#: ../../guides/context.rst:2
-# 65a183f0569f4589970e73f88e5941ae
msgid "Context"
msgstr ""
#: ../../guides/context.rst:4
-# cc40ba4688554ac8a069f744223f83a9
msgid "Within the Elgg framework, context can be used to by your plugin's functions to determine if they should run or not. You will be registering callbacks to be executed when particular :doc:`events are triggered `. Sometimes the events are generic and you only want to run your callback when your plugin caused the event to be triggered. In that case, you can use the page's context."
msgstr ""
#: ../../guides/context.rst:6
-# 3260049c7cad41e6b6c8ec848e3e3163
msgid "You can explicitly set the context with ``set_context()``. The context is a string and typically you set it to the name of your plugin. You can retrieve the context with the function ``get_context()``. It's however better to use ``elgg_push_context($string)`` to add a context to the stack. You can check if the context you want in in the current stack by calling ``elgg_in_context($context)``. Don't forget to pop (with ``elgg_pop_context()``) the context after you push one and don't need it anymore."
msgstr ""
#: ../../guides/context.rst:9
-# 5b441ffc3a3e46aab6dfa1565d0ca8e8
msgid "If you don't set it, Elgg tries to guess the context. If the page was called through the page handler, the context is set to the name of the handler which was set in ``elgg_register_page_handler()``. If the page wasn't called through the page handler, it uses the name of your plugin directory. If it cannot determine that, it returns main as the default context."
msgstr ""
#: ../../guides/context.rst:11
-# ce33730f9b9c459bba03ec1826882a05
msgid "Sometimes a view will return different HTML depending on the context. A plugin can take advantage of that by setting the context before calling ``elgg_view()`` on the view and then setting the context back. This is frequently done with the search context."
msgstr ""
#: ../../guides/database.rst:2
-# b8de87429b91407ea7175ce56ad4e8c5
msgid "Database"
msgstr ""
#: ../../guides/database.rst:4
-# 9e23fca4093a42f3babe200de67879b2
msgid "Persist user-generated content and settings with Elgg's generic storage API."
msgstr ""
#: ../../guides/database.rst:11
-# ffec33385916483f8a23346d845d8fe5
msgid "Entities"
msgstr ""
#: ../../guides/database.rst:14
-# 3f39d5508c4d4167b456923b6ac3a11d
msgid "Creating an object"
msgstr ""
#: ../../guides/database.rst:16
-# 5ab2af5b03c348ed8b4bcd33d7373bc4
msgid "To create an object in your code, you need to instantiate an ``ElggObject``. Setting data is simply a matter of adding instance variables or properties. The built-in properties are:"
msgstr ""
#: ../../guides/database.rst:20
-# 9d1c95b7ed2645fc8c03ffc67e04fc96
msgid "**``guid``** The entity's GUID; set automatically"
msgstr ""
#: ../../guides/database.rst:21
-# 6a5f4e3b9d904713928134d0ad6c347b
msgid "**``owner_guid``** The owning user's GUID"
msgstr ""
#: ../../guides/database.rst:22
-# 67d4c95a389b45b595d3922e0be7e2cd
msgid "**``site_guid``** The owning site's GUID. This is set automatically when an instance of ``ElggObject`` gets created)"
msgstr ""
#: ../../guides/database.rst:24
-# 966850019a334851aaf189c182344eaf
msgid "**``subtype``** A single-word arbitrary string that defines what kind of object it is, for example ``blog``"
msgstr ""
#: ../../guides/database.rst:26
-# 344cc55da5664c18b5769b14ca34bd91
msgid "**``access_id``** An integer representing the access level of the object"
msgstr ""
#: ../../guides/database.rst:28
-# e5a3755b137341699cbd3ab2689f78d9
msgid "**``title``** The title of the object"
msgstr ""
#: ../../guides/database.rst:29
-# a17e73ba43f4417a95bbe9a6380d478e
msgid "**``description``** The description of the object"
msgstr ""
#: ../../guides/database.rst:31
-# 426feb533fab40a1801afff4daa2ee8f
msgid "The object subtype is a special property. This is an arbitrary string that describes what the object is. For example, if you were writing a blog plugin, your subtype string might be *blog*. It's a good idea to make this unique, so that other plugins don't accidentally try and use the same subtype. For the purposes of this document, let's assume we're building a simple forum. Therefore, the subtype will be *forum*:"
msgstr ""
#: ../../guides/database.rst:45
-# ba80e32c808c422e9563e5dfd490a597
msgid "``access_id`` is another important property. If you don't set this, your object will be private, and only the creator user will be able to see it. Elgg defines constants for the special values of ``access_id``:"
msgstr ""
#: ../../guides/database.rst:49
-# b64fcb4152e5495d924d3ba97edb79fc
msgid "**ACCESS_PRIVATE** Only the owner can see it"
msgstr ""
#: ../../guides/database.rst:50
-# 6cb9e45de5b54acfbe81c75e6d53ee66
msgid "**ACCESS_FRIENDS** Only the owner and his/her friends can see it"
msgstr ""
#: ../../guides/database.rst:51
-# 1a7801b4e29540a0b499cae52bc62a0d
msgid "**ACCESS_LOGGED_IN** Any logged in user can see it"
msgstr ""
#: ../../guides/database.rst:52
-# 6fd28d52fcdf4323b152e84b8770f107
msgid "**ACCESS_PUBLIC** Even visitors not logged in can see it"
msgstr ""
#: ../../guides/database.rst:54
-# 30ebccaeb2cb4f3184e7faa53545d835
msgid "Saving the object will automatically populate the ``$object->guid`` property if successful. If you change any more base properties, you can call ``$object->save()`` again, and it will update the database for you."
msgstr ""
#: ../../guides/database.rst:58
-# 479d1faa69de4619b4c1e4455f72e787
msgid "You can set metadata on an object just like a standard property. Let's say we want to set the SKU of a product:"
msgstr ""
#: ../../guides/database.rst:65
-# 746aef783cbf4c1fb24a5aba0ce3fe61
msgid "If you assign an array, all the values will be set for that metadata. This is how, for example, you set tags."
msgstr ""
#: ../../guides/database.rst:68
-# 313856eb7ce44092ac22b7a349c8b13a
msgid "Metadata cannot be persisted to the database until the entity has been saved, but for convenience, ElggEntity can cache it internally and save it when saving the entity."
msgstr ""
#: ../../guides/database.rst:73
-# fa21375703244aecb790f408d6ce7476
msgid "Loading an object"
msgstr ""
#: ../../guides/database.rst:76
-# 86dcb852bd864c5587264157429676fa
msgid "By GUID"
msgstr ""
#: ../../guides/database.rst:85
-# 5270f66ee783414cb504837291c9357a
msgid "But what if you don't know the GUID? There are several options."
msgstr ""
#: ../../guides/database.rst:88
-# cbc847ba38544104b522494546767e7d
msgid "By user, subtype or site"
msgstr ""
#: ../../guides/database.rst:90
-# f932d83a3c36427ab31abd9da51ee151
msgid "If you know the user ID you want to get objects for, or the subtype, or the site, you have several options. The easiest is probably to call the procedural function ``elgg_get_entities``:"
msgstr ""
#: ../../guides/database.rst:102
-# 9a1262baca12421cba666bb5d234e7ab
msgid "This will return an array of ``ElggEntity`` objects that you can iterate through. ``elgg_get_entities`` paginates by default, with a limit of 10; and offset 0."
msgstr ""
#: ../../guides/database.rst:106
-# 573d085f55564b409b6797dceb06b18e
msgid "You can leave out ``owner_guid`` to get all objects and leave out subtype or type to get objects of all types/subtypes."
msgstr ""
#: ../../guides/database.rst:109
-# 0697f0de22a94b28ad8d6526c7d67cba
msgid "If you already have an ``ElggUser`` – e.g. ``elgg_get_logged_in_user_entity``, which always has the current user's object when you're logged in – you can simply use:"
msgstr ""
#: ../../guides/database.rst:117
-# 02c668be5945450d9ecbafa0cd38b709
msgid "But what about getting objects with a particular piece of metadata?"
msgstr ""
#: ../../guides/database.rst:120
-# 52c0b03556694ce58cb779af08b1a828
msgid "By metadata"
msgstr ""
#: ../../guides/database.rst:122
-# 757a19e050e84bf39d800b792363197c
msgid "The function ``elgg_get_entities_from_metadata`` allows fetching entities with metadata in a variety of ways."
msgstr ""
#: ../../guides/database.rst:126
#: ../../guides/views.rst:195
-# be406f9433634d7b9a138f13516b2230
-# 8490f499f64646bb8cefa44db04a8d03
msgid "Displaying entities"
msgstr ""
#: ../../guides/database.rst:128
-# b9dc88664b9a4b1c84123f2cc1c1ca5d
msgid "In order for entities to be displayed in listing functions you need to provide a view for the entity in the views system."
msgstr ""
#: ../../guides/database.rst:131
-# ff4e5cdb3f2943df94997b65c83c0fa0
msgid "To display an entity, create a view EntityType/subtype where EntityType is one of the following:"
msgstr ""
#: ../../guides/database.rst:134
-# 1e4d6199acd440f6a4ee9e5345da5d87
msgid "object: for entities derived from ElggObject user: for entities derived from ElggUser site: for entities derived from ElggSite group: for entities derived from ElggGroup"
msgstr ""
#: ../../guides/database.rst:139
-# 00fa464d7d9546a084e85f2e9ed5e81b
msgid "A default view for all entities has already been created, this is called EntityType/default."
msgstr ""
#: ../../guides/database.rst:145
-# c9de793517644f0baf4c6f42816be7de
msgid "Entity Icons"
msgstr ""
#: ../../guides/database.rst:147
-# 4c69664b08aa433692820ed8168a7d25
msgid "Every entity can be assigned an icon which is retrieved using the ``ElggEntity::getIconURL($size)`` method. This method accepts a ``$size`` argument that can be either of the configured icon sizes. Use ``elgg_get_config('icon_sizes')`` to get all possible values. The following sizes exist by default: ``'large'``, ``'medium'``, ``'small'``, ``'tiny'``, and ``'topbar'``. The method triggers the ``entity:icon:url`` :ref:`hook `."
msgstr ""
#: ../../guides/database.rst:153
-# 506f2c70ec7a4134ac992457b4813427
msgid "Use ``elgg_view_entity_icon($entity, $size, $vars)`` to render an icon. This will scan the following locations for a view and include the first match."
msgstr ""
#: ../../guides/database.rst:156
-# 2d4935b370354a919d2796fbc8ab345f
msgid "views/$viewtype/icon/$type/$subtype.php"
msgstr ""
#: ../../guides/database.rst:157
-# 41e81664a1394164acc511c4c6f46509
msgid "views/$viewtype/icon/$type/default.php"
msgstr ""
#: ../../guides/database.rst:158
-# a5795460f7554cccbd856947d63b7bfd
msgid "views/$viewtype/icon/default.php"
msgstr ""
#: ../../guides/database.rst:160
-# 8483bcbf0c024b20991d8d403fd3dbc5
msgid "Where"
msgstr ""
#: ../../guides/database.rst:162
-# 70b09fed5dd549c6955f0bd34a536833
msgid "$viewtype"
msgstr ""
#: ../../guides/database.rst:163
-# 434cf85842614b20aa1bcc7e4ab4baa6
msgid "Type of view, e.g. ``'default'`` or ``'json'``."
msgstr ""
#: ../../guides/database.rst:164
-# 515f8c28b9e9429cb29be40cbea4dafa
msgid "$type"
msgstr ""
#: ../../guides/database.rst:165
-# 19c5023f7311425d99189efc993ae294
msgid "Type of entity, e.g. ``'group'`` or ``'user'``."
msgstr ""
#: ../../guides/database.rst:167
-# 39c03be24efd451586e243433d7926fa
msgid "$subtype"
msgstr ""
#: ../../guides/database.rst:167
-# 30d40d0c43d1456897079ca0c08ab23a
msgid "Entity subtype, e.g. ``'blog'`` or ``'page'``."
msgstr ""
#: ../../guides/database.rst:169
-# 38cb889e733a424aabd4834b69928637
msgid "By convention entities that have an uploaded avatar or icon will have the ``icontime`` property assigned. This means that you can use ``$entity->icontime`` to check if an icon exists for the given entity."
msgstr ""
#: ../../guides/database.rst:174
-# e40909d824a943ba8e4c926e4cb0ba33
msgid "Adding, reading and deleting annotations"
msgstr ""
#: ../../guides/database.rst:176
-# 55d5e636db3e495bb98595d27f17a32a
msgid "Annotations could be used, for example, to track ratings. To annotate an entity you can use the object's ``annotate()`` method. For example, to give a blog post a rating of 5, you could use:"
msgstr ""
#: ../../guides/database.rst:186
-# e9ea143b91cc48e0ad79e73610b6dc29
msgid "To retrieve the ratings on the blog post, use ``$blogpost->getAnnotations('rating')`` and if you want to delete an annotation, you can operate on the ``ElggAnnotation`` class, eg ``$annotation->delete()``."
msgstr ""
#: ../../guides/database.rst:191
-# 6f0a113a00144d4495e63e07ec6e4aca
msgid "Retrieving a single annotation can be done with ``get_annotation()`` if you have the annotation's ID. If you delete an ElggEntity of any kind, all its metadata, annotations, and relationships will be automatically deleted as well."
msgstr ""
#: ../../guides/database.rst:197
-# e8106366aadb45b2926ddca813540601
msgid "Extending ElggEntity"
msgstr ""
#: ../../guides/database.rst:199
-# e7d778b5bad74170b6adb46eae105667
msgid "If you derive from one of the Elgg core classes, you'll need to tell Elgg how to properly instantiate the new type of object so that get\\_entity() et al. will return the appropriate PHP class. For example, if I customize ElggGroup in a class called \"Committee\", I need to make Elgg aware of the new mapping. Following is an example class extension:"
msgstr ""
#: ../../guides/database.rst:229
-# 9ed063b5756e405fba5ecf78c58e1d5c
msgid "Now if you invoke ``get_entity()`` with the GUID of a committee object, you'll get back an object of type Committee."
msgstr ""
#: ../../guides/database.rst:232
-# e6dee44fb2d7449e98909fb72e6f2d23
msgid "This template was extracted from the definition of ElggFile."
msgstr ""
#: ../../guides/database.rst:235
-# 64bf650ff1534715841fc204bdd331ab
msgid "Advanced features"
msgstr ""
#: ../../guides/database.rst:238
-# 1a300d6c7af44ce9a56d8d2d909f5509
msgid "Entity URLs"
msgstr ""
#: ../../guides/database.rst:240
-# 6eb369ca87d748848b238e1943e4dadd
msgid "Entity urls are provided by the ``getURL()`` interface and provide the Elgg framework with a common way of directing users to the appropriate display handler for any given object."
msgstr ""
#: ../../guides/database.rst:244
-# a36a54237ae442c5b8ce14d413beb832
msgid "For example, a profile page in the case of users."
msgstr ""
#: ../../guides/database.rst:246
-# bbdc8fe86e784cbfa74904b121dea07f
msgid "The url is set using the ``elgg\\_register\\_entity\\_url\\_handler()`` function. The function you register must return the appropriate url for the given type - this itself can be an address set up by a page handler."
msgstr ""
#: ../../guides/database.rst:253
-# ec50042f2ecc4ffc8e1ec23b4b9f85a3
msgid "The default handler is to use the default export interface."
msgstr ""
#: ../../guides/database.rst:256
-# acc358f0e3fe40f29bafee0097aba268
msgid "Pre-1.8 Notes"
msgstr ""
#: ../../guides/database.rst:258
-# 4314740956de4bea8aea4f8ec05e8c4b
msgid "update\\_subtype(): This function is new in 1.8. In prior versions, you would need to edit the database by hand if you updated the class name associated with a given subtype."
msgstr ""
#: ../../guides/database.rst:262
-# 455df3faf67e415a87ec8c77cc958e6c
msgid "elgg\\_register\\_entity\\_url\\_handler(): This function is new in 1.8. It deprecates register\\_entity\\_url\\_handler(), which you should use if developing for a pre-1.8 version of Elgg."
msgstr ""
#: ../../guides/database.rst:266
-# 854d93230d674b40beb14d1619af8cbf
msgid "elgg\\_get\\_entities\\_from\\_metadata(): This function is new in 1.8. It deprecates get\\_entities\\_from\\_metadata(), which you should use if developing for a pre-1.8 version of Elgg."
msgstr ""
#: ../../guides/database.rst:271
-# 98391567f75b448bbf35198fb9f6ee27
msgid "Custom database functionality"
msgstr ""
#: ../../guides/database.rst:273
-# aea860e24d9c43a8a66394356279f694
msgid "It is strongly recommended to use entities wherever possible. However, Elgg supports custom SQL queries using the database API."
msgstr ""
#: ../../guides/database.rst:277
-# 40ca2dc5715d4ee19339efdd1240a3b0
msgid "Example: Run SQL script on plugin activation"
msgstr ""
#: ../../guides/database.rst:279
-# 52401b43e7dc45529707c103af8ede34
msgid "This example shows how you can populate your database on plugin activation."
msgstr ""
#: ../../guides/database.rst:281
-# 2eb80084e3264f62953c2f3fe3f25951
msgid "my_plugin/activate.php:"
msgstr ""
#: ../../guides/database.rst:291
-# 4496a40239b94fb1abd03d2a371cad63
msgid "my_plugin/sql/activate.sql:"
msgstr ""
#: ../../guides/database.rst:307
-# 90d76f84f2194f26ae3d75a98405a669
msgid "Note that Elgg execute statements through PHPs built-in functions and have limited support for comments. I.e. only single line comments are supported and must be prefixed by \"-- \" or \"# \". A comment must start at the very beginning of a line."
msgstr ""
#: ../../guides/database.rst:313
-# d02ddfd6cf4b4331bf9eba8c707ba935
msgid "Systemlog"
msgstr ""
#: ../../guides/database.rst:317
-# c203030f05eb4582b156d0a7056c4c64
msgid "This section need some attention and will contain outdated information"
msgstr ""
#: ../../guides/database.rst:319
-# 77c75af3ea704e83bdde5036a1672ae1
msgid "The default Elgg system log is a simple way of recording what happens within an Elgg system. It's viewable and searchable directly from the administration panel."
msgstr ""
#: ../../guides/database.rst:322
-# f0be234400e54fffb6fbb53a77089808
msgid "System log storage"
msgstr ""
#: ../../guides/database.rst:324
-# 51f11a222568416fb07c3f1bab8ede31
msgid "A system log row is stored whenever an event concerning an object whose class implements the :doc:`/design/loggable` interface is triggered. ``ElggEntity`` and ``ElggExtender`` implement :doc:`/design/loggable`, so a system log row is created whenever an event is performed on all objects, users, groups, sites, metadata and annotations."
msgstr ""
#: ../../guides/database.rst:326
-# c6750b0041be449f956c19021ec24340
msgid "Common events include:"
msgstr ""
#: ../../guides/database.rst:328
-# 40afe417542046c385b73a4797972fbe
msgid "create"
msgstr ""
#: ../../guides/database.rst:329
-# 40308fed1dca4352ab0e03c6b2686f33
msgid "update"
msgstr ""
#: ../../guides/database.rst:330
-# de4a04fb200044bdaa4e49aa3f6d9e8f
msgid "delete"
msgstr ""
#: ../../guides/database.rst:331
-# d4afa61dd48c4742a0b5e2949b8503f1
msgid "login"
msgstr ""
#: ../../guides/database.rst:334
-# 347531551f554e2baf9ad2ec452b9783
msgid "Creating your own system log"
msgstr ""
#: ../../guides/database.rst:336
-# 435213ceaf58407794d1462361c656df
msgid "There are some reasons why you might want to create your own system log. For example, you might need to store a full copy of entities when they are updated or deleted, for auditing purposes. You might also need to notify an administrator when certain types of events occur."
msgstr ""
#: ../../guides/database.rst:338
-# f97e58320c5044c18dfe06a2aaddecdd
msgid "To do this, you can create a function that listens to all events for all types of object:"
msgstr ""
#: ../../guides/database.rst:344
-# 362db4d33663421fb6d2909dc97cc69f
msgid "Your function can then be defined as:"
msgstr ""
#: ../../guides/database.rst:354
-# 69c290365a734f00a2672fba02b4d701
msgid "You can then use the extra methods defined by :doc:`/design/loggable` to extract the information you need."
msgstr ""
#: ../../guides/dont-modify-core.rst:2
-# 7a416c02e1f244c1acfe89e95ac9722e
msgid "Don't Modify Core"
msgstr ""
#: ../../guides/dont-modify-core.rst:6
-# a87ed2d0c4d143cda283a14dff08d219
msgid "Don't modify any non-config files that come with Elgg."
msgstr ""
#: ../../guides/dont-modify-core.rst:8
-# 4d1b61caf6654697b12613c349f1cc9b
msgid "Instead, create a :doc:`custom plugin` and alter behavior through the rich Elgg plugin API."
msgstr ""
#: ../../guides/dont-modify-core.rst:10
-# 221001a2db1c4f5e84ee3d883a50ea6e
msgid "Here are the main reasons not to modify the core of Elgg, or of any other third party software that offers better extensibility routes through plugins."
msgstr ""
#: ../../guides/dont-modify-core.rst:13
-# fcff68c4d9384b0488f0cec4f3bbe54e
msgid "It makes it hard to get help"
msgstr ""
#: ../../guides/dont-modify-core.rst:15
-# 253d0bef134847189659ac4f1383fdf9
msgid "When you don't share the same codebase as everyone else, it's impossible for others to know what is going on in your system and whether your changes are to blame. This can frustrate those who offer help because it can add considerable noise to the support process."
msgstr ""
#: ../../guides/dont-modify-core.rst:18
-# 540c6c29f42940f88808affb42a66886
msgid "It makes upgrading tricky and potentially disastrous"
msgstr ""
#: ../../guides/dont-modify-core.rst:20
-# a8c3582ee117430391c07d9607eba201
msgid "You will certainly want or need to upgrade Elgg to take advantage of security patches, new features, new plugin APIs, new stability and performance improvements. If you've modified core files, then you must be very careful when upgrading that your changes are not overwritten and that they are compatible with the new Elgg code. If your changes are lost or incompatible, then the upgrade may remove features you've added or even completely break your site."
msgstr ""
#: ../../guides/dont-modify-core.rst:22
-# ea5e0b7e696044ebb329d5f7fcd96d41
msgid "This can also be a slippery slope. Lots of modifications can lead you to an upgrade process so complex that it's practically impossible. There are lots of sites stuck running old versions software due to taking this path."
msgstr ""
#: ../../guides/dont-modify-core.rst:25
-# 216e6d72f3c048fc804b2451f6c0cfea
msgid "It may break plugins"
msgstr ""
#: ../../guides/dont-modify-core.rst:27
-# 7d9d04d3859c4b5e8ecbd190b2843243
msgid "You may not realize until much later that your \"quick fix\" broke seemingly unrelated functionality that plugins depended on."
msgstr ""
#: ../../guides/dont-modify-core.rst:30
-# 6597943e22e140da84d4955fd2924e98
msgid "Summary"
msgstr ""
#: ../../guides/dont-modify-core.rst:32
-# 876f22eb3cf247caa77b8a9a648f0b6f
msgid "Resist the temptation"
msgstr ""
#: ../../guides/dont-modify-core.rst:33
-# dbe5f772d5454c22a035e83bbdb05b5b
msgid "Editing existing files is quick and easy, but doing so heavily risks the maintainability, security, and stability of your site."
msgstr ""
#: ../../guides/dont-modify-core.rst:34
-# 37c5302cf0484b66b434c024c2c75b6e
msgid "When receiving advice, consider if the person telling you to modify core will be around to rescue you if you run into trouble later!"
msgstr ""
#: ../../guides/dont-modify-core.rst:35
-# a2fc7f484b3d4918bad0e40401fea1a0
msgid "Apply these principle to software in general."
msgstr ""
#: ../../guides/dont-modify-core.rst:36
-# 43c70da710e3411ba5898a88b9ec9ea8
msgid "If you can avoid it, don't modify third party plugins either, for many of the same reasons: Plugin authors release new versions, too, and you will want those updates."
msgstr ""
#: ../../guides/events-list.rst:2
-# 89f6a59f9f004e10986dc7f23f8e3ed2
msgid "List of events in core"
msgstr ""
#: ../../guides/events-list.rst:9
-# 2a4ba6e5bc7d422e8c7fbb56684c2915
msgid "System events"
msgstr ""
#: ../../guides/events-list.rst:12
-# d748c5f660094f77a8c6488fb96d264d
msgid "**boot, system**"
msgstr ""
#: ../../guides/events-list.rst:12
-# 9012e79286724cc18e844d2644bf471f
msgid "First event triggered. Triggered before plugins have been loaded."
msgstr ""
#: ../../guides/events-list.rst:15
-# 055a77be6abd40af9ab3ed2b45469e6c
msgid "**plugins_boot, system**"
msgstr ""
#: ../../guides/events-list.rst:15
-# b8ecaeefcbbd406db8a87b2d2daccef2
msgid "Triggered just after the plugins are loaded. Rarely used. init, system is used instead."
msgstr ""
#: ../../guides/events-list.rst:18
-# 3b0b92a004c647548da7ee41d237c75e
msgid "**init, system**"
msgstr ""
#: ../../guides/events-list.rst:18
-# 893f059daddc4472ab20c5956588fdd6
msgid "Plugins tend to use this event for initialization (extending views, registering callbacks, etc.)"
msgstr ""
#: ../../guides/events-list.rst:22
-# dc96894b9514441d8609c7a68c48b7ad
msgid "**ready, system**"
msgstr ""
#: ../../guides/events-list.rst:21
-# a773e64aa8474699ba46d51a91dc25e0
msgid "Triggered after the ``init, system`` event. All plugins are fully loaded and the engine is ready to serve pages."
msgstr ""
#: ../../guides/events-list.rst:25
-# abb5a87fc4594b0594b6d5e7c423cd57
msgid "**pagesetup, system**"
msgstr ""
#: ../../guides/events-list.rst:25
-# e2f12b8aa4d84fa19850d33af7aeb2b7
msgid "Called just before the first content is produced. Is triggered by ``elgg_view()``."
msgstr ""
#: ../../guides/events-list.rst:29
-# b98443b55af84751abe5c207764d286b
msgid "**shutdown, system**"
msgstr ""
#: ../../guides/events-list.rst:28
-# 7cb9dd2370df46648407c9105cd802fb
msgid "Triggered after the page has been sent to the user. Expensive operations could be done here and not make the user wait."
msgstr ""
#: ../../guides/events-list.rst:31
-# 91e107e17e8340f193f4ec1eb1d35b6a
msgid "Depending upon your server configuration the PHP output might not be shown until after the process is completed. This means that any long-running processes will still delay the page load."
msgstr ""
#: ../../guides/events-list.rst:37
-# 212d2f8db2fc4d8e952584697f64edd2
msgid "**log, systemlog**"
msgstr ""
#: ../../guides/events-list.rst:36
-# 1634ea05186a4075b23e1f64df084e78
msgid "Called for all triggered events. Used internally by ``system_log_default_logger()`` to populate the ``system_log`` table."
msgstr ""
#: ../../guides/events-list.rst:41
-# 7a308e4edce14c6faaa373402e971122
msgid "**upgrade, system**"
msgstr ""
#: ../../guides/events-list.rst:40
-# 46e06f0592db4df4876fe6a8e689b211
msgid "Triggered after a system upgrade has finished. All upgrade scripts have run, but the caches are not cleared."
msgstr ""
#: ../../guides/events-list.rst:46
-# a70f503920dd41b282f7cddb34d35592
msgid "**upgrade, upgrade**"
msgstr ""
#: ../../guides/events-list.rst:46
-# 6ea48acd004e45dea3bd5be950ab85cc
msgid "A single upgrade script finished executing. Handlers are passed a ``stdClass`` object with the properties"
msgstr ""
#: ../../guides/events-list.rst:45
-# 5df843ba7fdc49938b487bb38a6a306a
msgid "from - The version of Elgg upgrading from."
msgstr ""
#: ../../guides/events-list.rst:46
-# 9516b8ea0f9e46a5848e7acfe3525469
msgid "to - The version just upgraded to."
msgstr ""
#: ../../guides/events-list.rst:49
-# 25e022e1860c4f3fac124ca74a4c6c54
msgid "**activate, plugin**"
msgstr ""
#: ../../guides/events-list.rst:49
-# 5fcac11f512f4aa39d3535906aadf477
msgid "Return false to prevent activation of the plugin."
msgstr ""
#: ../../guides/events-list.rst:52
-# 963288e74c11420896b7f6825c104079
msgid "**deactivate, plugin**"
msgstr ""
#: ../../guides/events-list.rst:52
-# a5adc8a6ca8a4b99a6edbf2f60e08d54
msgid "Return false to prevent deactivation of the plugin."
msgstr ""
#: ../../guides/events-list.rst:55
-# d484d2ca5a174cde9c77eabeec4993cd
msgid "**init:cookie, **"
msgstr ""
#: ../../guides/events-list.rst:55
-# fd59da9dc5224d3288c84fe13223d883
msgid "Return false to override setting a cookie."
msgstr ""
#: ../../guides/events-list.rst:58
-# 1418ff93b56a47bcaee77bb40dbf696a
msgid "User events"
msgstr ""
#: ../../guides/events-list.rst:61
-# ab500280ebec4899b79b3529df6b7cc7
msgid "**login:before, user**"
msgstr ""
#: ../../guides/events-list.rst:61
-# 4be942c277c94d0b85d16bd6299cd6eb
msgid "Triggered during login. Returning false prevents the user from logging"
msgstr ""
#: ../../guides/events-list.rst:64
-# db14121101a04cc8848369c62df1f7f4
msgid "**login:after, user**"
msgstr ""
#: ../../guides/events-list.rst:64
-# a4686f83607047e08d4e5b831fac8c7e
msgid "Triggered after the user logs in."
msgstr ""
#: ../../guides/events-list.rst:67
-# 5de3dd172b5e4e519b3f87d2a32c6527
msgid "**logout:before, user**"
msgstr ""
#: ../../guides/events-list.rst:67
-# 0082c33e2c4a48a5a05e51c11336deb8
msgid "Triggered during logout. Returning false should prevent the user from logging out."
msgstr ""
#: ../../guides/events-list.rst:70
-# 77a19bf6c02d4b94854d87912957e5a3
msgid "**logout:after, user**"
msgstr ""
#: ../../guides/events-list.rst:70
-# bb0da4303d2244bd88bdc3457d418fa4
msgid "Triggered after the user logouts."
msgstr ""
#: ../../guides/events-list.rst:75
-# 2efb369bc6e44cacb9cf04e6f563d928
msgid "**validate, user**"
msgstr ""
#: ../../guides/events-list.rst:73
-# 33951576fccb477fa29b516f3a4de2c7
msgid "When a user registers, the user's account is disabled. This event is triggered to allow a plugin to determine how the user should be validated (for example, through an email with a validation link)."
msgstr ""
#: ../../guides/events-list.rst:78
-# a349fc4cd3cf4465ac7c5f73cbba4c93
msgid "**profileupdate, user**"
msgstr ""
#: ../../guides/events-list.rst:78
-# 5d487720816a4ccc856f4da6fd81541d
msgid "User has changed profile"
msgstr ""
#: ../../guides/events-list.rst:81
-# 690964c1bc734afa92fcfad90c69dedf
msgid "**profileiconupdate, user**"
msgstr ""
#: ../../guides/events-list.rst:81
-# 6d6e2ece7f7b428f8b47d1a16f3377aa
msgid "User has changed profile icon"
msgstr ""
#: ../../guides/events-list.rst:84
-# def310037cc14f268102ffca54226b77
msgid "**ban, user**"
msgstr ""
#: ../../guides/events-list.rst:84
-# 448befb30ed34ffaa34d9c253e7f8b43
msgid "Triggered before a user is banned. Return false to prevent."
msgstr ""
#: ../../guides/events-list.rst:87
-# 19bc1ca445a141518d197936b1ae981e
msgid "**unban, user**"
msgstr ""
#: ../../guides/events-list.rst:87
-# d798e937cdb1416d91063ec4a07eecd4
msgid "Triggered before a user is unbanned. Return false to prevent."
msgstr ""
#: ../../guides/events-list.rst:90
-# c8d1f6de764c48b7ab45d6b620a6706e
msgid "**make_admin, user**"
msgstr ""
#: ../../guides/events-list.rst:90
-# 5fd88e7dea0c4cf88b660bc147fc40a1
msgid "Triggered before a user is promoted to an admin. Return false to prevent."
msgstr ""
#: ../../guides/events-list.rst:93
-# 538c52abf25a4a78a8755f837d5ecd35
msgid "**remove_admin, user**"
msgstr ""
#: ../../guides/events-list.rst:93
-# ab5e0ca1ea7c4527a3c3d07e8d191a20
msgid "Triggered before a user is demoted from an admin. Return false to prevent."
msgstr ""
#: ../../guides/events-list.rst:96
-# 779a56bf4127476ba45669523fb2bfeb
msgid "Relationship events"
msgstr ""
#: ../../guides/events-list.rst:100
-# 8869ba62d5224fecaf1989402a0ba2eb
msgid "**create, **"
msgstr ""
#: ../../guides/events-list.rst:99
-# 0bc501a9e9fc4168bf432b24cce252df
msgid "Triggered after a relationship has been created. Returning false deletes the relationship that was just created."
msgstr ""
#: ../../guides/events-list.rst:104
-# 7bdb65c1ff8e4f7bbcadcbdcbb1f4b5f
msgid "**delete, **"
msgstr ""
#: ../../guides/events-list.rst:103
-# e3bba941489c4e0eb6a3c53123b99499
msgid "Triggered before a relationship is deleted. Return false to prevent it from being deleted."
msgstr ""
#: ../../guides/events-list.rst:107
-# c019cd3792794d4888366f60355bed3a
msgid "**join, group**"
msgstr ""
#: ../../guides/events-list.rst:107
-# f852a97fec3d4010813fd1ac881ef556
msgid "Triggered after the user ``$params['user']`` has joined the group ``$params['group']``."
msgstr ""
#: ../../guides/events-list.rst:110
-# 93a959d51dd84ae5a347040b4116af1d
msgid "**leave, group**"
msgstr ""
#: ../../guides/events-list.rst:110
-# 76c1b63d99dd42faafa4af0539eba8bf
msgid "Triggered before the user ``$params['user']`` has left the group ``$params['group']``."
msgstr ""
#: ../../guides/events-list.rst:113
-# 59d502177d184392b61263968ec48158
msgid "Entity events"
msgstr ""
#: ../../guides/events-list.rst:116
-# 90cbc81f24fa4d2e97bbb021255cb9b1
msgid "**create, **"
msgstr ""
#: ../../guides/events-list.rst:116
-# e1c731542ca74bc29fd6c7f64e7fa8da
msgid "Triggered for user, group, object, and site entities after creation. Return false to delete entity."
msgstr ""
#: ../../guides/events-list.rst:119
-# c2e6ec6d4a48400fb0073b581f343c29
msgid "**update, **"
msgstr ""
#: ../../guides/events-list.rst:119
-# c79307be698441d8b8ffc6dd41a1e711
msgid "Triggered before an update for the user, group, object, and site entities. Return false to prevent update."
msgstr ""
#: ../../guides/events-list.rst:122
-# bdb70ba5dd524c6e8a95373d9e70e6ae
msgid "**delete, **"
msgstr ""
#: ../../guides/events-list.rst:122
-# c45be1f34b064a03b7eed661abdfcb8d
msgid "Triggered before entity deletion. Return false to prevent deletion."
msgstr ""
#: ../../guides/events-list.rst:125
-# e99aa5f4e7e940c48ef11e496c67af6d
msgid "**disable, **"
msgstr ""
#: ../../guides/events-list.rst:125
-# 03b8458585db4d609b081fc2cba901e3
msgid "Triggered before the entity is disabled. Return false to prevent disabling."
msgstr ""
#: ../../guides/events-list.rst:128
-# e4de4459ee5d4fb6ac4889592a9b398e
msgid "**disable:after, **"
msgstr ""
#: ../../guides/events-list.rst:128
-# 148da300181044c582c808fb3d744305
msgid "Triggered after the entity is disabled."
msgstr ""
#: ../../guides/events-list.rst:131
-# e812b60b81424053bde36037caea4898
msgid "**enable, **"
msgstr ""
#: ../../guides/events-list.rst:131
-# e3b5f329b3fb43ada073ae6bf56aa88f
msgid "Return false to prevent enabling."
msgstr ""
#: ../../guides/events-list.rst:134
-# 907241f993f04c9f88ab93db653554d2
msgid "**enable:after, **"
msgstr ""
#: ../../guides/events-list.rst:134
-# 6d5d3ed7893540c78e4e8a839e1ecccd
msgid "Triggered after the entity is enabled."
msgstr ""
#: ../../guides/events-list.rst:137
-# 2d5340f79c684dfb869da464105697bd
msgid "Metadata events"
msgstr ""
#: ../../guides/events-list.rst:141
-# caabbd7fb8774c6987ede40bfa919899
msgid "**create, metadata**"
msgstr ""
#: ../../guides/events-list.rst:140
-# dbc3fcf526fd4c65899c86513111b556
msgid "Called after the metadata has been created. Return false to delete the metadata that was just created."
msgstr ""
#: ../../guides/events-list.rst:144
-# ca4b709686e84141950c519ffd58590b
msgid "**update, metadata**"
msgstr ""
#: ../../guides/events-list.rst:144
-# 619d5794666245d1a41d93e6efdc236d
msgid "Called after the metadata has been updated. Return false to *delete the metadata.*"
msgstr ""
#: ../../guides/events-list.rst:147
-# 03d04a2ec7a74fbabb04b6551a820b9c
msgid "**delete, metadata**"
msgstr ""
#: ../../guides/events-list.rst:147
-# dd26784b39aa4b6f8a204ea8f702be76
msgid "Called before metadata is deleted. Return false to prevent deletion."
msgstr ""
#: ../../guides/events-list.rst:150
-# 5c66b994a51046bd9fe87590e18e7de8
msgid "**enable, metadata**"
msgstr ""
#: ../../guides/events-list.rst:150
-# d73573824d714a1c90f8e7f04879e8ff
msgid "Called when enabling metadata. Return false to prevent enabling."
msgstr ""
#: ../../guides/events-list.rst:153
-# 0bc926c14da749518b3945dd7b5f7ff8
msgid "**disable, metadata**"
msgstr ""
#: ../../guides/events-list.rst:153
-# cb510fe1034443dc9a0f3b0f23cd7d36
msgid "Called when disabling metadata. Return false to prevent disabling."
msgstr ""
#: ../../guides/events-list.rst:156
-# 6352d6ae3c714f6ebb00b22df79f6710
msgid "Annotation events"
msgstr ""
#: ../../guides/events-list.rst:160
-# 64aaac4057b144479e5ec375e3edcdf8
msgid "**annotate, **"
msgstr ""
#: ../../guides/events-list.rst:159
-# 63de8354210f404caf3bce1141fadc40
msgid "Called before the annotation has been created. Return false to prevent annotation of this entity."
msgstr ""
#: ../../guides/events-list.rst:164
-# 5b4b309a87ba4b09a927788b73036f49
msgid "**create, annotation**"
msgstr ""
#: ../../guides/events-list.rst:163
-# 5f9059cbd1b8457b8c031beeb7ad8442
msgid "Called after the annotation has been created. Return false to delete the annotation."
msgstr ""
#: ../../guides/events-list.rst:167
-# e94c9c03a9e94989a4018c2527668be3
msgid "**update, annotation**"
msgstr ""
#: ../../guides/events-list.rst:167
-# b213b193f06b4ff48dd8143e78627962
msgid "Called after the annotation has been updated. Return false to *delete the annotation.*"
msgstr ""
#: ../../guides/events-list.rst:170
-# ff7919917ed547b19c455055dc369484
msgid "**delete, annotation**"
msgstr ""
#: ../../guides/events-list.rst:170
-# 3fa42f556aec4966a11444408df06b95
msgid "Called before annotation is deleted. Return false to prevent deletion."
msgstr ""
#: ../../guides/events-list.rst:173
-# ce658f7030374ba9ae7c6a76e2413441
msgid "**enable, annotation**"
msgstr ""
#: ../../guides/events-list.rst:173
-# f76f94c0664e4b9d8d776d3064d8cab3
msgid "Called when enabling annotations. Return false to prevent enabling."
msgstr ""
#: ../../guides/events-list.rst:176
-# e35fcdd989f4494098081d14e1b57b9e
msgid "**disable, annotations**"
msgstr ""
#: ../../guides/events-list.rst:176
-# dc9f13dbdfb34ef0afa276d82811b998
msgid "Called when disabling annotations. Return false to prevent disabling."
msgstr ""
#: ../../guides/events-list.rst:179
-# d3c5c107572849168daefb96348b370a
msgid "River events"
msgstr ""
#: ../../guides/events-list.rst:182
-# 8300aa7730cf4283901570444c5c94c3
msgid "**created, river**"
msgstr ""
#: ../../guides/events-list.rst:182
-# f72ca31abba241e487fdaa3e12167908
msgid "Called after a river item is created."
msgstr ""
#: ../../guides/events-list.rst:185
-# 1369ed01d8e64112979b88e102f1c0a3
msgid "Notes"
msgstr ""
#: ../../guides/events-list.rst:187
-# 3b87841a84d2443aa1f958c2ffeab95e
msgid "Because of bugs in the Elgg core, some events may be thrown more than once on the same action. For example, ``update, object`` is thrown twice."
msgstr ""
#: ../../guides/gatekeeper.rst:2
-# 38d5097a911f43bd8f25cade619dd0d9
msgid "Gatekeeper"
msgstr ""
#: ../../guides/gatekeeper.rst:4
-# 329918b08aaf4415ad37453f74164c38
msgid "Gatekeeper functions allow you to manage how code gets executed by applying access control rules."
msgstr ""
#: ../../guides/gatekeeper.rst:9
-# b164d87857884818b516f33cd9a509c9
msgid "elgg_gatekeeper()"
msgstr ""
#: ../../guides/gatekeeper.rst:11
-# 8f64e804e3ad47f687b10902f26b036c
msgid "This function will forward a user to the front page if the current viewing user is not logged in."
msgstr ""
#: ../../guides/gatekeeper.rst:13
-# a8cfd9191df345ca991f718d4bc5b12f
msgid "This can be used in your plugin's pages to protect them from being viewed by non-logged in users."
msgstr ""
#: ../../guides/gatekeeper.rst:17
-# 6e2b6718e3014bea8502c978e3771979
msgid "In versions of Elgg prior to 1.9 this function was called ``gatekeeper()``"
msgstr ""
#: ../../guides/gatekeeper.rst:20
-# 4209b4c627f24dcfac30a8c570111098
msgid "elgg_admin_gatekeeper()"
msgstr ""
#: ../../guides/gatekeeper.rst:22
-# be88e996d4c34253b87574bd2aa794c0
msgid "Same as :ref:`elgg-gatekeeper` , but ensures that only admin users can view the page."
msgstr ""
#: ../../guides/gatekeeper.rst:26
-# 96f094d9b0b84748b51a432a7df902e7
msgid "In versions of Elgg prior to 1.9 this function was called ``admin_gatekeeper()``"
msgstr ""
#: ../../guides/gatekeeper.rst:29
-# 192a92dfc21e4287844457957571fd77
msgid "action_gatekeeper()"
msgstr ""
#: ../../guides/gatekeeper.rst:31
-# 85eae994752f4762bad765be79d9ab54
msgid "This function should be used in :doc:`actions` , and helps protect the action from certain forms of attack."
msgstr ""
#: ../../guides/gatekeeper.rst:35
-# 4c769ecac4154b08b2c1b62b4eeab587
msgid "As of Elgg version 1.8 this function is called for all registered actions. There is no longer a need to call this function in your own actions. If you wish to protect other pages with action tokens then you can call this function."
msgstr ""
#: ../../guides/guidelines.rst:2
-# 004fb176139c4b2da642e696da97e5dc
msgid "Plugin coding guidelines"
msgstr ""
#: ../../guides/guidelines.rst:4
-# 11d00b19aaab4f8a8072f48c92e4cb37
msgid "In addition to the Elgg Coding Standards, these are guidelines for creating plugins. Core plugins are being updated to this format and all plugin authors should follow these guidelines in their own plugins."
msgstr ""
#: ../../guides/guidelines.rst:8
-# a8da056c81554c01bee864d3aa865668
msgid "Be sure to follow the :doc:`plugins/plugin-skeleton` for your plugin's layout."
msgstr ""
#: ../../guides/guidelines.rst:12
-# 8ae94e85a65a437d898e843adec6ea83
msgid ":doc:`dont-modify-core`"
msgstr ""
#: ../../guides/guidelines.rst:19
#: ../../guides/upgrading.rst:409
-# f07c7fd4f2fd448fa6a725ecaa8d21da
-# 89a5d4306e7d4e90a13c507367d32b6e
msgid "Use standardized routing with page handlers"
msgstr ""
#: ../../guides/guidelines.rst:21
#: ../../guides/guidelines.rst:50
#: ../../guides/guidelines.rst:61
-# 8c572da8b28a49b78e5056d672be455b
-# 812d36127b7a48178a3ab5e2f1b58824
-# 45d7a387db2646418d9e354ff5cfacbd
msgid "Example: Bookmarks plugin"
msgstr ""
#: ../../guides/guidelines.rst:38
-# ac886c868c9044d3a3386cac74e4b804
msgid "Page handlers should accept the following standard URLs:"
msgstr ""
#: ../../guides/guidelines.rst:24
#: ../../guides/guidelines.rst:69
-# 869465116a504b1ab5479d46cd18ee27
-# cf7353c80458429aa27849ed9791d59e
msgid "Purpose"
msgstr ""
#: ../../guides/guidelines.rst:24
#: ../../guides/guidelines.rst:69
-# 00ac461b52364caca150380c5dccde66
-# fe4567a235004176925d9fab20cd133a
msgid "URL"
msgstr ""
#: ../../guides/guidelines.rst:26
-# 604674510f0f449cb12c53aacefeb07e
msgid "All"
msgstr ""
#: ../../guides/guidelines.rst:26
-# 1d54fe83a1fa453db1ebd75ad5485409
msgid "page_handler/all"
msgstr ""
#: ../../guides/guidelines.rst:28
-# 4cdfb94408c343b08b7c621ed45a1016
msgid "User"
msgstr ""
#: ../../guides/guidelines.rst:28
-# 03e0787d96b74e3f880a3d4a984ca907
msgid "page_handler/owner/"
msgstr ""
#: ../../guides/guidelines.rst:30
-# 3e47d4a7ddc54c52804293604cd34b70
msgid "User friends’"
msgstr ""
#: ../../guides/guidelines.rst:30
-# 705a9c5b5f9147b69ab133f22c4f9933
msgid "page_handler/friends/"
msgstr ""
#: ../../guides/guidelines.rst:32
-# 67804ccdeb294205921748bca239f7d7
msgid "Single entity"
msgstr ""
#: ../../guides/guidelines.rst:32
-# bccd7a360c6145759578bb90b1579a90
msgid "page_handler/view//"
msgstr ""
#: ../../guides/guidelines.rst:34
#: ../../guides/guidelines.rst:71
-# dee10c3775ae47eeac18ce4d553e3070
-# e29c7f89d7244157b10e94ecff03e4c0
msgid "Add"
msgstr ""
#: ../../guides/guidelines.rst:34
-# 6f73a1109a1844079141dc9df5229241
msgid "page_handler/add/"
msgstr ""
#: ../../guides/guidelines.rst:36
#: ../../guides/guidelines.rst:73
-# 2f358df57a034adcbad37767fe6e14a5
-# 7a79a345b2ce4458b0f87d6e30971ad9
msgid "Edit"
msgstr ""
#: ../../guides/guidelines.rst:36
-# b6524863c0db41ad9b8dce665471ec86
msgid "page_handler/edit/"
msgstr ""
#: ../../guides/guidelines.rst:38
-# a514b44504dd44ea8c9230fbc552b3fb
msgid "Group list"
msgstr ""
#: ../../guides/guidelines.rst:38
-# 2327ab61d8444fecb1fe5a7e514e3538
msgid "page_handler/group//owner"
msgstr ""
#: ../../guides/guidelines.rst:40
-# a32fe5f6a8d34781982423256b7ff4cb
msgid "Include page handler scripts from the page handler. Almost every page handler should have a page handler script. (Example: ``bookmarks/all`` => ``mod/bookmarks/pages/bookmarks/all.php``)"
msgstr ""
#: ../../guides/guidelines.rst:41
#: ../../guides/upgrading.rst:424
-# a954526b7c0648da823eb95bacdaca7c
-# 47c7428002e745fa8f4f24ecadc13b41
msgid "Call ``set_input()`` for entity guids in the page handler and use ``get_input()`` in the page handler scripts."
msgstr ""
#: ../../guides/guidelines.rst:42
-# 6067c31f1f204af59575fa4fd5527e93
msgid "Call ``elgg_gatekeeper()`` and ``elgg_admin_gatekeeper()`` in the page handler function if required."
msgstr ""
#: ../../guides/guidelines.rst:43
-# 0ec7ef1b0b5e4a5f98d93eff2a8b60b2
msgid "The group URL should use the ``pages//owner.php`` script."
msgstr ""
#: ../../guides/guidelines.rst:44
#: ../../guides/upgrading.rst:427
-# a5e7f70c71ba4e31bf72103277e6f935
-# 44ca07f6da6f46adbf93adc5b14304c1
msgid "Page handlers should not contain HTML."
msgstr ""
#: ../../guides/guidelines.rst:45
-# 7f5700f3d03d45d09c9cd7a37c256930
msgid "If upgrading a 1.7 plugin, update the URLs throughout the plugin. (Don’t forget to remove ``/pg/``!)"
msgstr ""
#: ../../guides/guidelines.rst:48
#: ../../guides/upgrading.rst:432
-# a7fbd54215b347089094ed52c669a0f6
-# 0c4b75b8886a450fa1262de7acba5169
msgid "Use standardized page handlers and scripts"
msgstr ""
#: ../../guides/guidelines.rst:51
-# fdfe0bd90a234a6fa405ed040ec5cde8
msgid "Store page handler scripts in ``mod//pages//``"
msgstr ""
#: ../../guides/guidelines.rst:52
-# 96d377fc2c264c91afb13680f402de8d
msgid "Use the content page layout in page handler scripts: ``$content = elgg_view_layout('content', $options);``"
msgstr ""
#: ../../guides/guidelines.rst:53
-# 5a4884ff000547f1ac1342e2b97bb842
msgid "Page handler scripts should not contain HTML"
msgstr ""
#: ../../guides/guidelines.rst:54
#: ../../guides/upgrading.rst:441
-# 9be7ad4dc70f4c62b170953047a139f2
-# 3468b132dae54c5e80b1f9dc38ad3a59
msgid "Call ``elgg_push_breadcrumb()`` in the page handler scripts."
msgstr ""
#: ../../guides/guidelines.rst:55
-# 8049af73a75f49ca832f68da1dc01248
msgid "No need to worry about setting the page owner if the URLs are in the standardized format"
msgstr ""
#: ../../guides/guidelines.rst:56
-# 067ca4cae56b4a4cbf9408e6b835f064
msgid "For group content, check the ``container_guid`` by using ``elgg_get_page_owner_entity()``"
msgstr ""
#: ../../guides/guidelines.rst:59
-# d5009a2146994a7b8fa6e00a42220f86
msgid "The object/ view"
msgstr ""
#: ../../guides/guidelines.rst:62
-# d0c184ef4f0840d4a2bef1aeecd599cd
msgid "Make sure there are views for ``$vars[‘full’] == true`` and ``$vars[‘full’] == false``"
msgstr ""
#: ../../guides/guidelines.rst:63
-# 2f7fe62c122d4ae7b3b9e99ba48d8b7c
msgid "Check for the object in ``$vars[‘entity’]`` . Use ``elgg_instance_of()`` to make sure it’s the type entity you want. Return ``true`` to short circuit the view if the entity is missing or wrong."
msgstr ""
#: ../../guides/guidelines.rst:64
-# 14606fa09d2f4053a4ce0d2ad70d292e
msgid "Use the new list body and list metadata views to help format. You should use almost no markup in these views."
msgstr ""
#: ../../guides/guidelines.rst:65
-# 84148244ff1a4cbb808d291847e72a5d
msgid "Update action structure - Example: Bookmarks plugin."
msgstr ""
#: ../../guides/guidelines.rst:66
#: ../../guides/upgrading.rst:456
-# 3b09ff8da0af465b9558e1835526a636
-# 9d7b492961cc4c3cb796e3fc5f184fb0
msgid "Namespace action files and action names (example: ``mod/blog/actions/blog/save.php`` => ``action/blog/save``)"
msgstr ""
#: ../../guides/guidelines.rst:75
#: ../../guides/upgrading.rst:457
-# bc1157b8a19847219d3577698c144d54
-# 3511f8ae1aee4edb94fe0efaebaeca7c
msgid "Use the following action URLs:"
msgstr ""
#: ../../guides/guidelines.rst:71
#: ../../guides/guidelines.rst:73
-# fbab380a56f545b7aa15b6672fad1259
-# f20fd9f7ea61427eb17a0d3c1a33c811
msgid "action/plugin/save"
msgstr ""
#: ../../guides/guidelines.rst:75
-# dcc2e9422a954f82b4d1eeeed952c4df
msgid "Delete"
msgstr ""
#: ../../guides/guidelines.rst:75
-# 8fe9182a91284d4f9fd7d3abfac77be2
msgid "action/plugin/delete"
msgstr ""
#: ../../guides/guidelines.rst:77
-# 579ef258b5484dd0a6706c6b3a4985c0
msgid "Make the delete action accept ``action//delete?guid=`` so the metadata entity menu has the correct URL by default"
msgstr ""
#: ../../guides/guidelines.rst:78
-# 1f7515c8f8ff4170a1b4300696d75f8a
msgid "If updating a 1.7 plugin, replace calls to functions deprecated in 1.7 because these will produce visible errors on every load in 1.8"
msgstr ""
#: ../../guides/guidelines.rst:81
#: ../../guides/plugins/plugin-skeleton.rst:82
-# b5779eb2018c488595b985a2717d3097
-# 530dc5256aa945ef9df1d41aee0ba07d
msgid "Actions"
msgstr ""
#: ../../guides/guidelines.rst:83
-# 7279b4d681ef4b5d99cd0150be655cf3
msgid "Actions are transient states to perform an action such as updating the database or sending a notification to a user. Used correctly, actions are secure and prevent against CSRF and XSS attacks."
msgstr ""
#: ../../guides/guidelines.rst:87
-# 0b72eeb490be490aa511ce6691d72766
msgid "As of Elgg 1.7 all actions require action tokens."
msgstr ""
#: ../../guides/guidelines.rst:90
-# ed30679f9c9649959862bca283b1104a
msgid "Action best practices"
msgstr ""
#: ../../guides/guidelines.rst:92
-# db1c201b17634ce891aa809ca05de54a
msgid "Never call an action directly by saying:"
msgstr ""
#: ../../guides/guidelines.rst:98
-# 176302fb76334acf91501af9c74cb9a7
msgid "This circumvents the security systems in Elgg."
msgstr ""
#: ../../guides/guidelines.rst:100
-# deacd34173ee425599bfdb3a6c818df5
msgid "There is no need to include the ``engine/start.php`` file in your actions. Actions should never be called directly, so the engine will be started automatically when called correctly."
msgstr ""
#: ../../guides/guidelines.rst:102
-# a835cfb5f7054ff4a2ca78f5f92fc2b8
msgid "Because actions are time-sensitive they are not suitable for links in emails or other delayed notifications. An example of this would be invitations to join a group. The clean way to create an invitation link is to create a page handler for invitations and email that link to the user. It is then the page handler's responsibility to create the action links for a user to join or ignore the invitation request."
msgstr ""
#: ../../guides/guidelines.rst:105
-# 83ff106dccf949bfa104c9c38c054af6
msgid "Directly calling a file"
msgstr ""
#: ../../guides/guidelines.rst:107
-# 2e42de75817f442ab594d915249a41c4
msgid "This is an easy one: **Don't do it**. With the exception of 3rd party application integration, there is not a reason to directly call a file in mods directory."
msgstr ""
#: ../../guides/guidelines.rst:110
-# 50d57d674c854706bd22c9c39efd7a95
msgid "Recommended"
msgstr ""
#: ../../guides/guidelines.rst:112
-# c9764b61e958409bb9b6121026d7dda5
msgid "These points are good ideas, but are not yet in the official guidelines. Following these suggestions will help to keep your plugin consistent with Elgg core."
msgstr ""
#: ../../guides/guidelines.rst:114
-# 7702d63fd0ba4f8eb6c8d38ff5acf340
msgid "Update the widget views (see the blog or file widgets)"
msgstr ""
#: ../../guides/guidelines.rst:115
-# eb185a6ee39e46dcb0060457c1d7d5bc
msgid "Update the group profile “widget” using blog or file plugins as example"
msgstr ""
#: ../../guides/guidelines.rst:119
-# e77b9496ee2e4517a2abddd24ee778c5
msgid "Update the forms"
msgstr ""
#: ../../guides/guidelines.rst:117
-# 6d8c8b4bb21a41efb2ac283ec354285b
msgid "Move form bodies to ``/forms//`` to use Evan’s new ``elgg_view_form()``"
msgstr ""
#: ../../guides/guidelines.rst:118
-# 450067713ba2459688e079b3403b6e8b
msgid "Use input views in form bodies rather than html"
msgstr ""
#: ../../guides/guidelines.rst:119
-# c129e195a868404d8efba7411c95ab90
msgid "Add a function that prepares the form (see ``mod/file/lib/file.php`` for example)"
msgstr ""
#: ../../guides/guidelines.rst:120
-# de7fe31d309c460595c4be897b537404
msgid "Integrate sticky forms (see the file plugin’s upload action and form prepare function)"
msgstr ""
#: ../../guides/guidelines.rst:121
#: ../../guides/upgrading.rst:500
-# 2ace3640118f48069e9ecebac3ddeac7
-# d908f70f171c4294b4da67e66675f644
msgid "Clean up CSS/HTML"
msgstr ""
#: ../../guides/guidelines.rst:122
-# 20abd48370584c1092231d0f6b510002
msgid "Should be able to remove almost all CSS (look for patterns that can be moved into core if you need CSS)"
msgstr ""
#: ../../guides/guidelines.rst:123
-# f4a99fc685de4c08b4037b3aaf6762c6
msgid "Use hyphens rather than underscores in classes/ids"
msgstr ""
#: ../../guides/guidelines.rst:124
-# b2c761f154164709920c6c18846909ec
msgid "Update the ``manifest.xml`` file to the 1.8 format. Use http://el.gg/manifest17to18 to automate this"
msgstr ""
#: ../../guides/guidelines.rst:125
-# da39619a82f34700aa585752972382e4
msgid "Do not use the ``bundled`` category with your plugins. That is for plugins distributed with Elgg"
msgstr ""
#: ../../guides/guidelines.rst:127
-# 7e2a90de53d64f858a78e01fbf87f96f
msgid "Update functions deprecated in 1.8."
msgstr ""
#: ../../guides/guidelines.rst:127
-# 32c33480d1fe4fbe9136908d7e29ce14
msgid "Many registration functions simply added an ``elgg_`` prefix for consistency"
msgstr ""
#: ../../guides/guidelines.rst:128
-# 1d23148f28cb41d1899584b976f24b9b
msgid "See ``/engine/lib/deprecated-1.8.php`` for the full list. You can also set the debug level to warning to get visual reminders of deprecated functions"
msgstr ""
#: ../../guides/helpers.rst:5
-# 8fe5d24b39cb48e5bab7ac2d0d3517a2
msgid "Input and output"
msgstr ""
#: ../../guides/helpers.rst:7
-# 2f4e7c6aeff64e81b322e7301869c758
msgid "``get_input($name)`` Grabs information from a form field (or any variable passed using GET or POST). Also sanitises input, stripping Javascript etc."
msgstr ""
#: ../../guides/helpers.rst:8
-# 1722d9e1d33a4da1b71f27c84c7fec94
msgid "``set_input($name, $value)`` Forces a value to a particular variable for subsequent retrieval by ``get_input()``"
msgstr ""
#: ../../guides/helpers.rst:11
-# a0bb0be74fdc452ba5f5848b03074b58
msgid "Entity methods"
msgstr ""
#: ../../guides/helpers.rst:13
-# 1e0e6f50a0f84e33960d39f32887b4d0
msgid "``$entity->getURL()`` Returns the URL of any entity in the system"
msgstr ""
#: ../../guides/helpers.rst:14
-# 854e0b845ca647efab8cae0b3a499e2c
msgid "``$entity->getGUID()`` Returns the GUID of any entity in the system"
msgstr ""
#: ../../guides/helpers.rst:15
-# 73abfdac202740d685a4a41e4964ba84
msgid "``$entity->canEdit()`` Returns whether or not the current user can edit the entity"
msgstr ""
#: ../../guides/helpers.rst:16
-# c3e21e56ef104766b8128e78a0f8c8b4
msgid "``$entity->getOwnerEntity()`` Returns the ElggUser owner of a particular entity"
msgstr ""
#: ../../guides/helpers.rst:19
-# eb92fb602d7c4136b33124c59ddfec75
msgid "Entity and context retrieval"
msgstr ""
#: ../../guides/helpers.rst:21
-# dae9219e1735417786fd51836372bbea
msgid "``elgg_get_loggedin_user_entity()`` Returns the ElggUser for the current user"
msgstr ""
#: ../../guides/helpers.rst:22
-# fce48617e5b24b90ab59305aa3a463d0
msgid "``elgg_get_loggedin_user_guid()`` Returns the GUID of the current user"
msgstr ""
#: ../../guides/helpers.rst:23
-# a78ad2b64c8b44839fd2eaedd15b3282
msgid "``elgg_is_logged_in()`` Is the viewer logged in"
msgstr ""
#: ../../guides/helpers.rst:24
-# d0855818e58740dbb919df6fb0c4052e
msgid "``elgg_is_admin_logged_in()`` Is the view an admin and logged in"
msgstr ""
#: ../../guides/helpers.rst:25
-# c5cc25363e1d4a7aa48be94658dd7ff8
msgid "``elgg_gatekeeper()`` Shorthand for checking if a user is logged in. Forwards user to front page if not"
msgstr ""
#: ../../guides/helpers.rst:26
-# 34460136c6a14daab0f46b78fd19a3a8
msgid "``elgg_admin_gatekeeper()`` Shorthand for checking the user is logged in and is an admin. Forwards user to front page if not"
msgstr ""
#: ../../guides/helpers.rst:27
-# d6f846aa3bc445eb9979033d27c54035
msgid "``get_user($user_guid)`` Given a GUID, returns a full ElggUser entity"
msgstr ""
#: ../../guides/helpers.rst:28
-# 2e518d4a74e9489ebd28c5c373957d09
msgid "``elgg_get_page_owner_guid()`` Returns the GUID of the current page owner, if there is one"
msgstr ""
#: ../../guides/helpers.rst:29
-# 6b268d6cf2e840669a9fd37436fc1a76
msgid "``elgg_get_page_owner_entity()`` Like elgg_get_page_owner_guid() but returns the full entity"
msgstr ""
#: ../../guides/helpers.rst:30
-# 7568196bcf134ad19cbe56ff35c87d8b
msgid "``get_context()`` Returns the current page's context - eg \"blog\" for the blog plugin, \"thewire\" for the wire, etc. Returns \"main\" as default"
msgstr ""
#: ../../guides/helpers.rst:31
-# 1739d89081f64e35bb60e2d4227a77ce
msgid "``set_context($context)`` Forces the context to be a particular value"
msgstr ""
#: ../../guides/helpers.rst:32
-# 4662ee28d2a948759e80b05647cf8b74
msgid "``elgg_push_context($context)`` Adds a context to the stack"
msgstr ""
#: ../../guides/helpers.rst:33
-# 97c46586d6054a2896032b6f09103ea3
msgid "``elgg_pop_context()`` Removes the top context from the stack"
msgstr ""
#: ../../guides/helpers.rst:34
-# 5720e9fb37544322845ebc56af397514
msgid "``elgg_in_context($context)`` Checks if you're in a context (this checks the complete stack, eg. 'widget' in 'groups')"
msgstr ""
#: ../../guides/helpers.rst:37
#: ../../guides/hooks-list.rst:419
#: ../../guides/plugins.rst:2
-# 9993c6f9baaa4e6b92ced9e41517c98f
-# 72f4afba02614f2d8f5651b1bfc5cf7b
-# 895dcc987d5d4a5f998895d2d512e805
msgid "Plugins"
msgstr ""
#: ../../guides/helpers.rst:39
-# fa412f0e2fa54e1c933274ecc3ce46bb
msgid "``elgg_is_active_plugin($plugin_id)`` Check if a plugin is installed and enabled"
msgstr ""
#: ../../guides/helpers.rst:42
-# a6bbec237a654d6793e915c05a44dd0a
msgid "Interface and annotations"
msgstr ""
#: ../../guides/helpers.rst:44
-# ea8cab8160a44ac38e745eb4d4abcf36
msgid "``elgg_view_image_block($icon, $info)`` Return the result in a formatted list"
msgstr ""
#: ../../guides/helpers.rst:45
-# 119fe40ebbb742d9b226955c5c838a87
msgid "``elgg_view_comments($entity)`` Returns any comments associated with the given entity"
msgstr ""
#: ../../guides/helpers.rst:46
-# 12bc1bb635614f13bdcf774239b19cde
msgid "``elgg_get_friendly_time($unix_timestamp)`` Returns a date formatted in a friendlier way - \"18 minutes ago\", \"2 days ago\", etc."
msgstr ""
#: ../../guides/helpers.rst:47
-# 401acf5759354959b9706c742bcc14c8
msgid "You can pass ``'use_hover' => false`` to the user icon view if you don't want the avatar drop down menu to appear e.g."
msgstr ""
#: ../../guides/hooks-list.rst:2
-# b619d8ac998c4be7b2523fc7e320a2bd
msgid "List of plugin hooks in core"
msgstr ""
#: ../../guides/hooks-list.rst:9
-# f98b92020f6f4fb9bf996d78323e0755
msgid "System hooks"
msgstr ""
#: ../../guides/hooks-list.rst:20
-# d0d906de80ec4ea1af11642cf3a1bbb7
msgid "**email, system**"
msgstr ""
#: ../../guides/hooks-list.rst:12
-# e8df6ad56e6a4febae513eb4f0eaa49c
msgid "Triggered when sending email. ``$params`` contains:"
msgstr ""
#: ../../guides/hooks-list.rst:14
-# 13abd4bbe3ee48c6a1bb68d9dc2c00f4
msgid "to"
msgstr ""
#: ../../guides/hooks-list.rst:15
-# 0f01086279b54b7c840e60d445ad4ef9
msgid "from"
msgstr ""
#: ../../guides/hooks-list.rst:16
-# 866d6a2b5beb455385ad618260ead9d1
msgid "subject"
msgstr ""
#: ../../guides/hooks-list.rst:17
-# 5a190494e3ce43a98f410391c80792eb
msgid "body"
msgstr ""
#: ../../guides/hooks-list.rst:18
-# 43967b139d2c4ad098d8deca2ea2e9a8
msgid "headers"
msgstr ""
#: ../../guides/hooks-list.rst:19
-# 35fba97789c14ba4b078263f47ac7ee5
msgid "params"
msgstr ""
#: ../../guides/hooks-list.rst:23
-# a9cd18fa8fbe4868bd67826e519b53f9
msgid "**page_owner, system**"
msgstr ""
#: ../../guides/hooks-list.rst:23
-# 20e2d319aee84c819b78fc0bdf3dfd91
msgid "Filter the page_owner for the current page. No options are passed."
msgstr ""
#: ../../guides/hooks-list.rst:25
-# 621f98b075194787a312401246276858
msgid "**siteid, system**"
msgstr ""
#: ../../guides/hooks-list.rst:28
-# afa5dc3af23a4c999bd45ed05a97cf56
msgid "**gc, system**"
msgstr ""
#: ../../guides/hooks-list.rst:28
-# bffd85277d014721934ff7aa8931dece
msgid "Allows plugins to run garbage collection for ``$params['period']``."
msgstr ""
#: ../../guides/hooks-list.rst:31
-# fecd5008610f41dfaa747ad7ba74083a
msgid "**unit_test, system**"
msgstr ""
#: ../../guides/hooks-list.rst:31
-# 13e75138332f42d2ae6780a2eebbdda4
msgid "Add a Simple Test test. (Deprecated.)"
msgstr ""
#: ../../guides/hooks-list.rst:34
#: ../../guides/hooks-list.rst:48
-# e05c4e8eeea24cfbba1da814992c33aa
-# 78fdcbf262ef4a12baa0ed1ea9b81195
msgid "**diagnostics:report, system**"
msgstr ""
#: ../../guides/hooks-list.rst:34
-# 364920faa21d44c18704801737d6512e
msgid "Filter the output for the diagnostics report download."
msgstr ""
#: ../../guides/hooks-list.rst:36
#: ../../guides/hooks-list.rst:480
-# 467fa8592a7448c1ae3acd19c75fa705
-# b4dba50c61984063a0644985a82658d9
msgid "**search_types, get_types**"
msgstr ""
#: ../../guides/hooks-list.rst:39
-# e2a3bb7c09cd408cb6a482d44e9e705e
msgid "**cron, **"
msgstr ""
#: ../../guides/hooks-list.rst:39
-# 527c18cc02114760acb7e9d201388be6
msgid "Triggered by cron for each period."
msgstr ""
#: ../../guides/hooks-list.rst:42
-# 2366d448587e4f6f990f1edef55f6ddf
msgid "**validate, input**"
msgstr ""
#: ../../guides/hooks-list.rst:42
-# ba1df3d29b20466f807616211427bacd
msgid "Filter GET and POST input. This is used by ``get_input()`` to sanitize user input."
msgstr ""
#: ../../guides/hooks-list.rst:45
-# a3b151e042df4c8487b7562e556ac5c4
msgid "**geocode, location**"
msgstr ""
#: ../../guides/hooks-list.rst:45
-# 8408766f81f84897b35ea853aa5e98ff
msgid "Deprecated as of 1.9."
msgstr ""
#: ../../guides/hooks-list.rst:48
-# 2f2a8211863044a78a3c74c84a7d8622
msgid "Filters the output for a diagnostic report."
msgstr ""
#: ../../guides/hooks-list.rst:60
-# 8a4bffc5bb1e4e5691792a2466dc918e
msgid "**debug, log**"
msgstr ""
#: ../../guides/hooks-list.rst:51
-# dd4d0629f7f04ee486cac07df89a943b
msgid "Triggered by the Logger. Return false to stop the default logging method. ``$params`` includes:"
msgstr ""
#: ../../guides/hooks-list.rst:57
-# fd1504cf42594b1c92c0e235229a8179
msgid "level - The debug level. One of:"
msgstr ""
#: ../../guides/hooks-list.rst:54
-# 83d43f284daa49de94459a73d6437b26
msgid "``Elgg_Logger::OFF``"
msgstr ""
#: ../../guides/hooks-list.rst:55
-# bd5f8fcbb49a4597a3b2e687e19c3f71
msgid "``Elgg_Logger::ERROR``"
msgstr ""
#: ../../guides/hooks-list.rst:56
-# a6dd9e142a2b44bfa901c995c0d282db
msgid "``Elgg_Logger::WARNING``"
msgstr ""
#: ../../guides/hooks-list.rst:57
-# e666234909c84badb68105c94e6ba3d0
msgid "``Elgg_Logger::NOTICE``"
msgstr ""
#: ../../guides/hooks-list.rst:58
-# ac6f03935e5d486eabbed89825e6e099
msgid "``Elgg_Logger::INFO``"
msgstr ""
#: ../../guides/hooks-list.rst:59
-# 896c0ec156574ba6ae66f9dc6f888cdc
msgid "msg - The message"
msgstr ""
#: ../../guides/hooks-list.rst:60
-# 3b8726ade6fa4f4c880647a9a9c5baf8
msgid "display - Should this message be displayed?"
msgstr ""
#: ../../guides/hooks-list.rst:63
-# 8e3786a4af934b9095382123ff8dd65d
msgid "**format, friendly:title**"
msgstr ""
#: ../../guides/hooks-list.rst:63
-# ed58eb71f4434bdcbb5d2c7b43fa7196
msgid "Formats the \"friendly\" title for strings. This is used for generating URLs."
msgstr ""
#: ../../guides/hooks-list.rst:66
-# 3d6dd244720a4e3cadbba7ca580797ed
msgid "**format, friendly:time**"
msgstr ""
#: ../../guides/hooks-list.rst:66
-# 3566dcc1327e4d818fdc1e6fc304f41a
msgid "Formats the \"friendly\" time for the timestamp ``$params['time']``."
msgstr ""
#: ../../guides/hooks-list.rst:70
-# 3c996f91f56e4254a21e53a479de727d
msgid "**format, strip_tags**"
msgstr ""
#: ../../guides/hooks-list.rst:69
-# 74f06a1cdd0c4953a05423e8da526748
msgid "Filters a string to remove tags. The original string is passed as ``$params['original_string']`` and an optional set of allowed tags is passed as ``$params['allowed_tags']``."
msgstr ""
#: ../../guides/hooks-list.rst:75
-# 4ea999a47e2f42ab9c420183ae57c837
msgid "**output:before, page**"
msgstr ""
#: ../../guides/hooks-list.rst:73
-# 82f250a28143412ba09d2ac41d119d8e
msgid "In ``elgg_view_page()``, this filters ``$vars`` before it's passed to the page shell view (``page/``). To stop sending the X-Frame-Options header, unregister the handler ``_elgg_views_send_header_x_frame_options()`` from this hook."
msgstr ""
#: ../../guides/hooks-list.rst:78
-# 3c2c460bf2f04393b0553a41ff55d8d1
msgid "**output, page**"
msgstr ""
#: ../../guides/hooks-list.rst:78
-# 4d39c01c489a4053aedd9848f1c02ed7
msgid "In ``elgg_view_page()``, this filters the output return value."
msgstr ""
#: ../../guides/hooks-list.rst:81
-# 33ea7fa45de04e3684a694b59e206ecf
msgid "**output:before, layout**"
msgstr ""
#: ../../guides/hooks-list.rst:81
-# cadf3b3102714ed1ba92691d46a52c7e
msgid "In ``elgg_view_layout()``, filters ``$params`` before it's passed to the layout view."
msgstr ""
#: ../../guides/hooks-list.rst:84
-# 2525ae86c28540b29c4ac8d6a8b7a6ce
msgid "**output:after, layout**"
msgstr ""
#: ../../guides/hooks-list.rst:84
-# d387b8ef900b4d2f9399a9580f5c92ba
msgid "In ``elgg_view_layout()``, filters the return value of the layout view."
msgstr ""
#: ../../guides/hooks-list.rst:88
-# 6809631888024fdeb0d63e7ee17eb763
msgid "**output, ajax**"
msgstr ""
#: ../../guides/hooks-list.rst:87
-# 1f34977c293b4507a51ee2fb0414fa13
msgid "Triggered in the ajax forward hook that is called for ajax requests. Allows plugins to alter the output returned, including the forward URL, system messages, and errors."
msgstr ""
#: ../../guides/hooks-list.rst:91
-# 87747d6788054461a92a61bdf4a2aa3d
msgid "**register, menu:**"
msgstr ""
#: ../../guides/hooks-list.rst:91
-# b06e5900353548cdb452818ba8707c4f
msgid "Triggered by ``elgg_view_menu()``. Used to add dynamic menu items."
msgstr ""
#: ../../guides/hooks-list.rst:94
-# c7b1963e3ee14fb5bb387d68baf90212
msgid "**prepare, menu:**"
msgstr ""
#: ../../guides/hooks-list.rst:94
-# b26ca8fe8c374290a06be6b778fbd65a
msgid "Trigger by ``elgg_view_menu()``. Used to sort, add, remove, and modify menu items."
msgstr ""
#: ../../guides/hooks-list.rst:97
-# 45819af49a6a4ccd9d71c73b99145c80
msgid "**creating, river**"
msgstr ""
#: ../../guides/hooks-list.rst:97
-# 1ae551cf9ef2485983256fef9dbb5919
msgid "Triggered before a river item is created. Return false to prevent river item from being created."
msgstr ""
#: ../../guides/hooks-list.rst:100
-# dfb89c9dba9f449f869e2bf5d63ffee2
msgid "**simplecache:generate, **"
msgstr ""
#: ../../guides/hooks-list.rst:100
-# d8c28c9cd4bc4ae4967cf26d53bdf7ad
msgid "Triggered when generating the cached content of a view."
msgstr ""
#: ../../guides/hooks-list.rst:104
-# 4824af98833247c48093f4cb8e3da53d
msgid "**get, subscriptions**"
msgstr ""
#: ../../guides/hooks-list.rst:103
-# 16d5f14c2a9a4834ad2c5d41b2a6c5a5
msgid "Filter notification subscriptions for users for the Elgg_Notifications_Event ``$params['event']``. Return an array like:"
msgstr ""
#: ../../guides/hooks-list.rst:115
-# a1f16a9d30fa4c5e97d0af244846d04a
msgid "User hooks"
msgstr ""
#: ../../guides/hooks-list.rst:119
-# e116510e646140ec904151c9e8e934ea
msgid "**usersettings:save, user**"
msgstr ""
#: ../../guides/hooks-list.rst:118
-# 509b261e4a7f4806b824b50ada069da5
msgid "Triggered in the aggregate action to save user settings. Return false prevent sticky forms from being cleared."
msgstr ""
#: ../../guides/hooks-list.rst:123
#: ../../guides/hooks-list.rst:223
-# 6fd12b544a794975bfb06be29439d5d0
-# 58ee047c2f634068aa7becd5d5ed3bad
msgid "**access:collections:write, user**"
msgstr ""
#: ../../guides/hooks-list.rst:122
-# 7c862155f05e4b14b17277fb4959a20c
msgid "Filters an array of access permissions that the user ``$params['user_id']`` is allowed to save content with. Permissions returned are of the form (id => 'Human Readable Name')."
msgstr ""
#: ../../guides/hooks-list.rst:126
-# a572aca928d6491aa60b4caad3b1df1f
msgid "**registeruser:validate:username, all**"
msgstr ""
#: ../../guides/hooks-list.rst:126
-# f47173727d784624843cb42b0175a8db
msgid "Return boolean for if the string in ``$params['username']`` is valid for a username."
msgstr ""
#: ../../guides/hooks-list.rst:129
-# 66854927edde436d876806271b8d1185
msgid "**registeruser:validate:password, all**"
msgstr ""
#: ../../guides/hooks-list.rst:129
-# 2c286e97be8b45788109bf6781c345e8
msgid "Return boolean for if the string in ``$params['password']`` is valid for a password."
msgstr ""
#: ../../guides/hooks-list.rst:132
-# 4529177184974faab39749282932de4f
msgid "**registeruser:validate:email, all**"
msgstr ""
#: ../../guides/hooks-list.rst:132
-# f182a2634dd745b2a2251b6ac4a911f7
msgid "Return boolean for if the string in ``$params['email']`` is valid for an email address."
msgstr ""
#: ../../guides/hooks-list.rst:135
-# 6789e36f81c34e1fb29b7685343018e1
msgid "**register, user**"
msgstr ""
#: ../../guides/hooks-list.rst:135
-# b67a9be188784df9a16299d224e1272f
msgid "Triggered after user registers. Return false to delete the user."
msgstr ""
#: ../../guides/hooks-list.rst:138
-# 4f56ddcdf95642e4b1294271b0e2d310
msgid "**login:forward, user**"
msgstr ""
#: ../../guides/hooks-list.rst:138
-# cf12b128df3143dc9228f1ed083bdd8c
msgid "Filters the URL to which the user will be forwarded after login."
msgstr ""
#: ../../guides/hooks-list.rst:141
-# 475353f4d16a411dac415892d1940d25
msgid "**find_active_users, system**"
msgstr ""
#: ../../guides/hooks-list.rst:141
-# 333e90e4529b49c4a3f47aa15854cf93
msgid "Return the number of active users."
msgstr ""
#: ../../guides/hooks-list.rst:144
-# 51de0143d72b468687b27fdbc1cd921a
msgid "**status, user**"
msgstr ""
#: ../../guides/hooks-list.rst:144
-# c0b999760d5040e3b56b4aade13eaff2
msgid "Triggered by The Wire when adding a post."
msgstr ""
#: ../../guides/hooks-list.rst:147
-# e1b688e4e51b4b6680c7d71be9b0f503
msgid "Object hooks"
msgstr ""
#: ../../guides/hooks-list.rst:151
-# 90c4b1192cff4eb9a2150c0a1e0d01d0
msgid "**comments, **"
msgstr ""
#: ../../guides/hooks-list.rst:150
-# 05584e88aeb14a11b09b9a1915de5fc9
msgid "Triggered in ``elgg_view_comments()``. If returning content, this overrides the ``page/elements/comments`` view."
msgstr ""
#: ../../guides/hooks-list.rst:154
-# d7d3fa19bf9a4372bcff51c6147fc8e9
msgid "**comments:count, **"
msgstr ""
#: ../../guides/hooks-list.rst:154
-# 732a2fd83e574223ae17af93899a7ae5
msgid "Return the number of comments on ``$params['entity']``."
msgstr ""
#: ../../guides/hooks-list.rst:157
-# c693f8f94695434b9c4fb532fec57ff3
msgid "**likes:count, **"
msgstr ""
#: ../../guides/hooks-list.rst:157
-# e1c404ffb20640abb0deda9a70a63dd9
msgid "Return the number of likes for ``$params['entity']``."
msgstr ""
#: ../../guides/hooks-list.rst:160
-# 3bd5671518084aabbb6fc4c86709dc10
msgid "Action hooks"
msgstr ""
#: ../../guides/hooks-list.rst:163
-# 0fba56a62d654968b5636641e7530cbd
msgid "**action, **"
msgstr ""
#: ../../guides/hooks-list.rst:163
-# 90e05952c3914249b7cac39da58f3690
msgid "Triggered before executing action scripts. Return false to abort action."
msgstr ""
#: ../../guides/hooks-list.rst:166
-# 5e1e1ef700c14c43abf36c2781a56120
msgid "**action_gatekeeper:permissions:check, all**"
msgstr ""
#: ../../guides/hooks-list.rst:166
-# a245ee1d9e1449b3bfbed512781f065c
msgid "Triggered after a CSRF token is validated. Return false to prevent validation."
msgstr ""
#: ../../guides/hooks-list.rst:170
-# 8c0104d7d58f49bd8603f1260fd139dc
msgid "**action_gatekeeper:upload_exceeded_msg, all**"
msgstr ""
#: ../../guides/hooks-list.rst:169
-# 9721d29fa29548e2b2c2b4132017f73a
msgid "Triggered when a POST exceeds the max size allowed by the server. Return an error message to display."
msgstr ""
#: ../../guides/hooks-list.rst:173
-# 88e5f4285b4b4e44a6d724d39496b133
msgid "**forward, **"
msgstr ""
#: ../../guides/hooks-list.rst:173
-# 00383707e70d4b6ba986c60b824a3d4f
msgid "Filter the URL to forward a user to when ``forward($url, $reason)`` is called."
msgstr ""
#: ../../guides/hooks-list.rst:178
-# 0d175ed1e3ba423681b2296d4563723e
msgid "Permission hooks"
msgstr ""
#: ../../guides/hooks-list.rst:182
-# 1d7aac98ba1f4c46b3276ab08a786072
msgid "**container_permissions_check, **"
msgstr ""
#: ../../guides/hooks-list.rst:181
-# 985b4dbcf6f24a6ea7cc57e87f6f581b
msgid "Return boolean for if the user ``$params['user']`` can use the entity ``$params['container']`` as a container for an entity of and subtype ``$params['subtype']``."
msgstr ""
#: ../../guides/hooks-list.rst:185
-# d7099dbb69174a638e5e7d40b4d37c60
msgid "**permissions_check, **"
msgstr ""
#: ../../guides/hooks-list.rst:185
-# b86bdaf73855463da1995139ae8d1daf
msgid "Return boolean for if the user ``$params['user']`` can edit the entity ``$params['entity']``."
msgstr ""
#: ../../guides/hooks-list.rst:189
-# c153d8203e214adfa18dae251f64ec51
msgid "**permissions_check, widget_layout**"
msgstr ""
#: ../../guides/hooks-list.rst:188
-# 00fa842c6899450eb741fd216475e2b9
msgid "Return boolean for if ``$params['user']`` can edit the widgets in the context passed as ``$params['context']`` and with a page owner of ``$params['page_owner']``."
msgstr ""
#: ../../guides/hooks-list.rst:193
-# aedbfe7543fd4d9d99286686cf8d9fbc
msgid "**permissions_check:metadata, **"
msgstr ""
#: ../../guides/hooks-list.rst:192
-# 857e50302e9842ec931a6c1726471795
msgid "Return boolean for if the user ``$params['user']`` can edit the metadata ``$params['metadata']`` on the entity ``$params['entity']``."
msgstr ""
#: ../../guides/hooks-list.rst:196
-# bfe3280bdb9f4714833aee70c908e4e1
msgid "**permissions_check:comment, **"
msgstr ""
#: ../../guides/hooks-list.rst:196
-# a167b088d8a64feebb14fbf4d43d8672
msgid "Return boolean for if the user ``$params['user']`` can comment on the entity ``$params['entity']``."
msgstr ""
#: ../../guides/hooks-list.rst:202
-# fd3be5cfca3a41a49b310174d58ef551
msgid "**permissions_check:annotate**"
msgstr ""
#: ../../guides/hooks-list.rst:199
-# 65e0485b9d16452ca2c2b3de88b4e01f
msgid "Return boolean for if the user ``$params['user']`` can create an annotation with the name ``$params['annotation']`` on the entity ``$params['entity']``."
msgstr ""
#: ../../guides/hooks-list.rst:202
-# a4609f76c3d3480b83e3ecf176707ff6
msgid "This is functions differently than the ``permissions_check:metadata`` hook by passing the annotation name instead of the metadata object."
msgstr ""
#: ../../guides/hooks-list.rst:206
-# 9c05ae7e471943ce959424905315fc17
msgid "**permissions_check:annotation**"
msgstr ""
#: ../../guides/hooks-list.rst:205
-# fa8df342fd934a26987610babf8400de
msgid "Return boolean for if the user in ``$params['user']`` can edit the annotation ``$params['annotation']`` on the entity ``$params['entity']``. The user can be null."
msgstr ""
#: ../../guides/hooks-list.rst:210
-# e7c4786f5bfd4e3c90c6c54619b2c1f1
msgid "**fail, auth**"
msgstr ""
#: ../../guides/hooks-list.rst:209
-# facbd5de9e9441ee8561318b506c8337
msgid "Return the failure message if authentication failed. An array of previous PAM failure methods is passed as ``$params``."
msgstr ""
#: ../../guides/hooks-list.rst:213
-# ce313fd04b0c498da60cc87b49a90d21
msgid "**api_key, use**"
msgstr ""
#: ../../guides/hooks-list.rst:213
-# 8aa5046192784f6d9dc59f472583f422
msgid "Triggered by ``api_auth_key()``. Returning false prevents the key from being authenticated."
msgstr ""
#: ../../guides/hooks-list.rst:218
-# c457ad1a38b748329fc9e4d1198fca4f
msgid "**access:collections:read, user**"
msgstr ""
#: ../../guides/hooks-list.rst:216
-# 0b6825cfbe4148da8ef8a27ef7c92be9
msgid "Filters an array of access IDs that the user ``$params['user_id']`` can see."
msgstr ""
#: ../../guides/hooks-list.rst:218
#: ../../guides/hooks-list.rst:223
-# 9cbc88bbaf234cde972217e128766298
-# 77a782b6ec1a43b1a20aa11cc1ed0aa7
msgid "The handler needs to either not use parts of the API that use the access system (triggering the hook again) or to ignore the second call. Otherwise, an infinite loop will be created."
msgstr ""
#: ../../guides/hooks-list.rst:221
-# b4a24c5094bb4a78bc88dc5a9ac45f31
msgid "Filters an array of access IDs that the user ``$params['user_id']`` can write to."
msgstr ""
#: ../../guides/hooks-list.rst:226
-# 6e1f3b3b04e14f9baf74ee2e11a9d4a3
msgid "**access:collections:addcollection, collection**"
msgstr ""
#: ../../guides/hooks-list.rst:226
-# 2cb8de2bbf9c4d0680117e47b6e063ae
msgid "Triggered after an access collection ``$params['collection_id']`` is created."
msgstr ""
#: ../../guides/hooks-list.rst:230
-# e1fdaa2f7e3944c49388559e3702eb99
msgid "**access:collections:deletecollection, collection**"
msgstr ""
#: ../../guides/hooks-list.rst:229
-# 73b9dd3a3f4342b395dce9c2b8126047
msgid "Triggered before an access collection ``$params['collection_id']`` is deleted. Return false to prevent deletion."
msgstr ""
#: ../../guides/hooks-list.rst:234
-# 251a93c101be4f71ad5b975580c176df
msgid "**access:collections:add_user, collection**"
msgstr ""
#: ../../guides/hooks-list.rst:233
-# 15f4e90e55fa458a9e208f76d954dc82
msgid "Triggered before adding user ``$params['user_id']`` to collection ``$params['collection_id']``. Return false to prevent adding."
msgstr ""
#: ../../guides/hooks-list.rst:238
-# 636746bbeacd4a678b848e8ae5accc07
msgid "**access:collections:remove_user, collection**"
msgstr ""
#: ../../guides/hooks-list.rst:237
-# 6b173d8c45d04ae880a5851a2daabcac
msgid "Triggered before removing user ``$params['user_id']`` to collection ``$params['collection_id']``. Return false to prevent removal."
msgstr ""
#: ../../guides/hooks-list.rst:241
-# e41f31087ef941df981927f44f27b507
msgid "**get_sql, access**"
msgstr ""
#: ../../guides/hooks-list.rst:241
-# 86babec9ef184051b3b55ef4c3f05bdc
msgid "Filters the SQL clauses used in ``_elgg_get_access_where_sql()``."
msgstr ""
#: ../../guides/hooks-list.rst:246
#: ../../guides/plugins/plugin-skeleton.rst:152
#: ../../guides/views.rst:2
-# b366f2e0d850477f8f9a12ec164e47a2
-# fb8a8a2adf0c45b1b23c8bdfe78dc317
-# 1c815c1995994d65914411f36fa9eb77
msgid "Views"
msgstr ""
#: ../../guides/hooks-list.rst:249
-# 5145225116cf4c578e71723aa5dee559
msgid "**view, **"
msgstr ""
#: ../../guides/hooks-list.rst:249
-# e48c2d05a19b4eec8303a5faefcc43d9
msgid "Filters the returned content of views"
msgstr ""
#: ../../guides/hooks-list.rst:252
-# bb523ce90e1a4ab2a143ca1456a42fdd
msgid "**layout, page**"
msgstr ""
#: ../../guides/hooks-list.rst:252
-# 1eccdc76947a4744a1b7efcfee8c74ee
msgid "In ``elgg_view_layout()``, filters the layout name"
msgstr ""
#: ../../guides/hooks-list.rst:255
-# 96a9b2c12e43448ca52f71f1cc6fe229
msgid "**shell, page**"
msgstr ""
#: ../../guides/hooks-list.rst:255
-# c12aa4234db840d89cbd9d4091d023ac
msgid "In ``elgg_view_page()``, filters the page shell name"
msgstr ""
#: ../../guides/hooks-list.rst:258
-# 6460b8ecce3947e78d24f9a357e7862c
msgid "**head, page**"
msgstr ""
#: ../../guides/hooks-list.rst:258
-# bf14e23d040241f091194dcd4cf8b2e4
msgid "In ``elgg_view_page()``, filters ``$vars['head']``"
msgstr ""
#: ../../guides/hooks-list.rst:263
-# 181e6fc87db742a5babe1c03ff52908c
msgid "Other"
msgstr ""
#: ../../guides/hooks-list.rst:266
-# 54a089f8c2bf4243ac4f0de0eff953b3
msgid "**default, access**"
msgstr ""
#: ../../guides/hooks-list.rst:266
-# 9e0d0caa3c944d42b885db9de6eeb9f5
msgid "In ``get_default_access()``, filters the return value."
msgstr ""
#: ../../guides/hooks-list.rst:281
-# 4ceda9812a4e471cb332eb3ac7002b57
msgid "**entity:icon:url, **"
msgstr ""
#: ../../guides/hooks-list.rst:269
-# 3570440652934161a6c2a0728aa6a928
msgid "Triggered when entity icon URL is requested, see :ref:`entity icons `. Callback should return URL for the icon of size ``$params['size']`` for the entity ``$params['entity']``. Following parameters are available through the ``$params`` array:"
msgstr ""
#: ../../guides/hooks-list.rst:273
-# 666a40454ae149d99e12f3d8ac99f93d
msgid "entity"
msgstr ""
#: ../../guides/hooks-list.rst:274
-# 4461b9b49ac641039850fda4da16215c
msgid "Entity for which icon url is requested."
msgstr ""
#: ../../guides/hooks-list.rst:275
-# 997b96d453c548e898592b84003b0d48
msgid "viewtype"
msgstr ""
#: ../../guides/hooks-list.rst:276
-# 35d5f035448b432d96e0e0f449efe6fc
msgid "The type of :ref:`view ` e.g. ``'default'`` or ``'json'``."
msgstr ""
#: ../../guides/hooks-list.rst:278
-# f88b7fe1bcdd49a589a73ac04b48c96f
msgid "size"
msgstr ""
#: ../../guides/hooks-list.rst:278
-# e2876d57cc6c4161b260cb5e1733e9c5
msgid "Size requested, see :ref:`entity icons ` for possible values."
msgstr ""
#: ../../guides/hooks-list.rst:280
-# 89b4a68f33db4c66b2ff1a8896e0f246
msgid "Example on how one could default to a Gravatar icon for users that have not yet uploaded an avatar:"
msgstr ""
#: ../../guides/hooks-list.rst:317
-# 78707441e423475e98de2a05a6234540
msgid "**entity:url, **"
msgstr ""
#: ../../guides/hooks-list.rst:315
-# 5771fc640f344e5ba5ccc9471ae06dcc
msgid "Return the URL for the entity ``$params['entity']``. Note: Generally it is better to override the ``getUrl()`` method of ElggEntity. This hook should be used when it's not possible to subclass (like if you want to extend a bundled plugin without overriding many views)."
msgstr ""
#: ../../guides/hooks-list.rst:321
-# c26f5284591f4c7db133d5831fc3e456
msgid "**to:object, **"
msgstr ""
#: ../../guides/hooks-list.rst:320
-# 3114ca52eb3a42d78a41744bde7ebf11
msgid "Converts the entity ``$params['entity']`` to a StdClass object. This is used mostly for exporting entity properties for portable data formats like JSON and XML."
msgstr ""
#: ../../guides/hooks-list.rst:324
-# 6784cd8e40034fa68b5e32ab210c9216
msgid "**extender:url, **"
msgstr ""
#: ../../guides/hooks-list.rst:324
-# cfbd58efa5ec4d29a3ed4297cca47db0
msgid "Return the URL for the annotation or metadatum ``$params['extender']``."
msgstr ""
#: ../../guides/hooks-list.rst:327
-# 2c9d8cadb60349ec83c1521feefde896
msgid "**file:icon:url, override**"
msgstr ""
#: ../../guides/hooks-list.rst:327
-# 3d3a5e721680448fba310fb15d930386
msgid "Override a file icon URL."
msgstr ""
#: ../../guides/hooks-list.rst:331
-# 3cdb85c13f864f479062b82f8c8fd813
msgid "**mime_type, file**"
msgstr ""
#: ../../guides/hooks-list.rst:330
-# d6297802a024438086c9375e259d0fb2
msgid "Return the mimetype for the filename ``$params['filename']`` with original filename ``$params['original_filename']`` and with the default detected mimetype of ``$params['default']``."
msgstr ""
#: ../../guides/hooks-list.rst:334
-# d848e11c50b0464485273625f17ca4e5
msgid "**is_member, group**"
msgstr ""
#: ../../guides/hooks-list.rst:334
-# 886022e33aa34518aef4d90e2a2c0f11
msgid "Return boolean for if the user ``$params['user']`` is a member of the group ``$params['group']``."
msgstr ""
#: ../../guides/hooks-list.rst:338
-# 282f1c58b9404e88881af2cbbba7a783
msgid "**entity:annotate, **"
msgstr ""
#: ../../guides/hooks-list.rst:337
-# 2591863eefde430e964b6d4bc7fe055e
msgid "Triggered in ``elgg_view_entity_annotations()``, which is called by ``elgg_view_entity()``. Can be used to add annotations to all full entity views."
msgstr ""
#: ../../guides/hooks-list.rst:347
-# a1ffa42a51474af3859a6983e0939c3e
msgid "**usersetting, plugin**"
msgstr ""
#: ../../guides/hooks-list.rst:341
-# 4ba8cc10e98949eda762200abf9bdb5c
msgid "Filter user settings for plugins. ``$params`` contains:"
msgstr ""
#: ../../guides/hooks-list.rst:343
-# 30a9e7ba63374e5eb1686263c0b94360
msgid "``user`` - An ElggUser instance"
msgstr ""
#: ../../guides/hooks-list.rst:344
#: ../../guides/hooks-list.rst:352
-# 3095d4e404774144b65094b6e4408862
-# 85bb99f852804757b325ca822bf7757b
msgid "``plugin`` - An ElggPlugin instance"
msgstr ""
#: ../../guides/hooks-list.rst:345
#: ../../guides/hooks-list.rst:353
-# 0802306f23d040a291ee33f0ceba0783
-# 5af2da7fb5ba4f48b007a0c26cf4be2c
msgid "``plugin_id`` - The plugin ID"
msgstr ""
#: ../../guides/hooks-list.rst:346
#: ../../guides/hooks-list.rst:354
-# 1b0ece57c4eb41e0ba4b526be5847685
-# 1c49082e29c04c84909894f1e2082448
msgid "``name`` - The name of the setting"
msgstr ""
#: ../../guides/hooks-list.rst:347
#: ../../guides/hooks-list.rst:355
-# d3b48551262a4702b16c3f2ba877e8d5
-# 4372695cb3884558a999f27990ca4965
msgid "``value`` - The value to set"
msgstr ""
#: ../../guides/hooks-list.rst:355
-# 6198741952ae4e578aa7730938947b38
msgid "**setting, plugin**"
msgstr ""
#: ../../guides/hooks-list.rst:350
-# f1a61aec691647e291ca61b8414f9e49
msgid "Filter plugin settings. ``$params`` contains:"
msgstr ""
#: ../../guides/hooks-list.rst:358
-# 5e623adb6b054cc3b924d5534cf662c9
msgid "**relationship:url, **"
msgstr ""
#: ../../guides/hooks-list.rst:358
-# 9ad951c9875f4bba940328e89e9327b5
msgid "Filter the URL for the relationship object ``$params['relationship']``."
msgstr ""
#: ../../guides/hooks-list.rst:362
-# ef0ce63ba3c04d00a72ac979c1b0879a
msgid "**profile:fields, group**"
msgstr ""
#: ../../guides/hooks-list.rst:361
#: ../../guides/hooks-list.rst:372
-# 46a2b5c201cf45c995ebea747465645d
-# 90786ad7130240e0b617076bfe4845fb
msgid "Filter an array of profile fields. The result should be returned as an array in the format ``name => input view name``. For example:"
msgstr ""
#: ../../guides/hooks-list.rst:373
-# a31c68cfca8f47299d2acf4b43618364
msgid "**profile:fields, profile**"
msgstr ""
#: ../../guides/hooks-list.rst:383
-# 90826dd52f0b47a199c044166539a646
msgid "**widget_settings, **"
msgstr ""
#: ../../guides/hooks-list.rst:382
-# 342a69081baa4bf3b707f492e996211a
msgid "Triggered when saving a widget settings ``$params['params']`` for widget ``$params['widget']``. If handling saving the settings, the handler should return true to prevent the default code from running."
msgstr ""
#: ../../guides/hooks-list.rst:387
-# 970fa7d38c0e4cef94776a4566cf2165
msgid "**get_list, default_widgets**"
msgstr ""
#: ../../guides/hooks-list.rst:386
-# 13193c3c33ef44f88eb3d8a737168952
msgid "Filters a list of default widgets to add for newly registered users. The list is an array of arrays in the format:"
msgstr ""
#: ../../guides/hooks-list.rst:400
-# 265d7a06ea4046a089bc14732832f4b9
msgid "**rest, init**"
msgstr ""
#: ../../guides/hooks-list.rst:399
-# f6a4c8efd49e4c088b72cef0ef675ef4
msgid "Triggered by the web services rest handler. Plugins can set up their own authentication handlers, then return true to prevent the default handlers from being registered."
msgstr ""
#: ../../guides/hooks-list.rst:404
-# d59e3264298b49bf9f25735115534003
msgid "**public_pages, walled_garden**"
msgstr ""
#: ../../guides/hooks-list.rst:403
-# 18bee9172fea4ab0870d1af4742963e4
msgid "Filter the URLs that are can be seen by logged out users if Walled Garden is enabled. ``$value`` is an array of regex strings that will allow access if matched."
msgstr ""
#: ../../guides/hooks-list.rst:409
-# 9c60688d5b774f11844b2bad86b73ff0
msgid "**volatile, metadata**"
msgstr ""
#: ../../guides/hooks-list.rst:407
-# 03690cfe82394fe2afd321a0881b59aa
msgid "Triggered when exporting an entity through the export handler. This is rare. This allows handler to handle any volatile (non-persisted) metadata on the entity. It's preferred to use the ``to:object, `` hook."
msgstr ""
#: ../../guides/hooks-list.rst:413
-# d5a4880fa46e4ad991ae70c4d32143f2
msgid "**maintenance:allow, url**"
msgstr ""
#: ../../guides/hooks-list.rst:413
-# f33843933cb04049aa7dc5bea336c8d7
msgid "Return boolean if the URL ``$params['current_url']`` and the path ``$params['current_path']``"
msgstr ""
#: ../../guides/hooks-list.rst:413
-# 560fae0be4db481e9bc0621bf2024143
msgid "is allowed during maintenance mode."
msgstr ""
#: ../../guides/hooks-list.rst:416
-# f15a19d3700b4bb28e1d24b7e65e2d9e
msgid "**robots.txt, site**"
msgstr ""
#: ../../guides/hooks-list.rst:416
-# cd17c29900204f059523b08b8882d7db
msgid "Filter the robots.txt values for ``$params['site']``."
msgstr ""
#: ../../guides/hooks-list.rst:422
-# 6e951af93a3d4e1cb8f1532cb004582c
msgid "File"
msgstr ""
#: ../../guides/hooks-list.rst:425
-# bbe1620c83ef43ea8eb1cd3ce8c38877
msgid "**simple_type, file**"
msgstr ""
#: ../../guides/hooks-list.rst:425
-# f191fe646e2f4f69b353f9225e15d379
msgid "In ``file_get_simple_type()``, filters the return value for the file type."
msgstr ""
#: ../../guides/hooks-list.rst:428
-# bf4b853a694b4281bd6f32b9e0977bfa
msgid "HTMLawed"
msgstr ""
#: ../../guides/hooks-list.rst:431
-# 487372b1ef7949edbb14f51eac823e7c
msgid "**allowed_styles, htmlawed**"
msgstr ""
#: ../../guides/hooks-list.rst:431
-# 1153a9572eee4240abd195395a1742f9
msgid "Filter the HTMLawed allowed style array."
msgstr ""
#: ../../guides/hooks-list.rst:434
-# 746d8eecbf06479d9492f67cd0f3eb6c
msgid "**config, htmlawed**"
msgstr ""
#: ../../guides/hooks-list.rst:434
-# 34858ff2ba4b46a18f6008a5a43f79d6
msgid "Filter the HTMLawed config array."
msgstr ""
#: ../../guides/hooks-list.rst:437
-# 847700df9f7a476e8405175e603b14d1
msgid "Members"
msgstr ""
#: ../../guides/hooks-list.rst:440
-# 9ebb808e02f64d5cab11eaa47c588352
msgid "**members:list, **"
msgstr ""
#: ../../guides/hooks-list.rst:440
-# c9182d2491e141769b902108ffe3d00d
msgid "To handle the page ``/members/$page_segment``, register for this hook and return the HTML of the list."
msgstr ""
#: ../../guides/hooks-list.rst:444
-# 14757197f491480ab86df7e260a90900
msgid "**members:config, tabs**"
msgstr ""
#: ../../guides/hooks-list.rst:443
-# 2bf41f1e0138457c929ef1efa6ce63a8
msgid "This hook is used to assemble an array of tabs to be passed to the navigation/tabs view for the members pages."
msgstr ""
#: ../../guides/hooks-list.rst:447
-# a854a2e26e1a4447bf4071f8bcb5e19d
msgid "Twitter API"
msgstr ""
#: ../../guides/hooks-list.rst:451
-# ce411dd1f7474a3f8388562357edbe77
msgid "**authorize, twitter_api**"
msgstr ""
#: ../../guides/hooks-list.rst:450
-# 0a2fb5ae83834c18a9eff9f4e7bf5afc
msgid "Triggered when a user is authorizes Twitter for a login. ``$params['token']`` contains the Twitter authorization token."
msgstr ""
#: ../../guides/hooks-list.rst:454
-# 6d0570329e9b47e4b2e2aa0a3fc31239
msgid "Reported Content"
msgstr ""
#: ../../guides/hooks-list.rst:457
-# ded7d283b1ae486aa7665f4cedbb335d
msgid "**reportedcontent:add, system**"
msgstr ""
#: ../../guides/hooks-list.rst:457
-# f663e9d4ebd444f0a096d6189f09adf3
msgid "Triggered after adding the reported content object ``$params['report']``. Return false to delete report."
msgstr ""
#: ../../guides/hooks-list.rst:460
-# a57e23a8618b4b0b949f77680141fe06
msgid "**reportedcontent:archive, system**"
msgstr ""
#: ../../guides/hooks-list.rst:460
-# 632429a93e864d4b9f5c37c24429796f
msgid "Triggered before archiving the reported content object ``$params['report']``. Return false to prevent archiving."
msgstr ""
#: ../../guides/hooks-list.rst:463
-# db18167fb52440708f42d697204f01ed
msgid "**reportedcontent:delete, system**"
msgstr ""
#: ../../guides/hooks-list.rst:463
-# b95f5140c8de44d283939587e3377ff3
msgid "Triggered before deleting the reported content object ``$params['report']``. Return false to prevent deleting."
msgstr ""
#: ../../guides/hooks-list.rst:466
-# 6e7821a058e04bcfbf46b377a02a69a1
msgid "Search"
msgstr ""
#: ../../guides/hooks-list.rst:470
-# 50f728a2bdbf438db99e55c38d7eb60b
msgid "**search, :**"
msgstr ""
#: ../../guides/hooks-list.rst:469
-# fc42645ed9614020900ddd2e348e7f49
msgid "Filter more granular search results than searching by type alone. Must return an array with ``count`` as the total count of results and ``entities`` an array of ElggUser entities."
msgstr ""
#: ../../guides/hooks-list.rst:472
-# e6cb44db9a8c4729a04bbeed63aaf62e
msgid "**search, tags**"
msgstr ""
#: ../../guides/hooks-list.rst:476
-# 05afff37d0934c779f874ff7d2b43a14
msgid "**search, **"
msgstr ""
#: ../../guides/hooks-list.rst:475
-# 719ebd45e4394192bebd5823377536d0
msgid "Filter the search for entities for type ``$type``. Must return an array with ``count`` as the total count of results and ``entities`` an array of ElggUser entities."
msgstr ""
#: ../../guides/hooks-list.rst:479
-# ff698d5a3b97402f971cbe2e34c593c7
msgid "Filter an array of search types. This allows plugins to add custom types that don't correspond directly to entities."
msgstr ""
#: ../../guides/hooks-list.rst:483
-# 8baed9932bad4542901260a88998c0ed
msgid "**search_types, get_queries**"
msgstr ""
#: ../../guides/hooks-list.rst:483
-# 5ae220928dcd4e609b0b7531523aa0e1
msgid "Before a search this filters the types queried. This can be used to reorder the display of search results."
msgstr ""
#: ../../guides/i18n.rst:2
-# 7a7736e4d72748d18bc6239d8c0f363d
msgid "Internationalization"
msgstr ""
#: ../../guides/i18n.rst:4
-# 56e1bf1cf67c44a4912338784c58deef
msgid "Make your UI translatable into many different languages."
msgstr ""
#: ../../guides/i18n.rst:6
-# 32074c9a76204de6a6848e949bcb0b0f
msgid "If you’d like to contribute translations to Elgg, see :doc:`the contributors' guide `."
msgstr ""
#: ../../guides/i18n.rst:11
-# b2be989ac241456aa7e573ef040a917b
msgid "Translations are stored in PHP files in the ``/languages`` directory of your plugin. Each file corresponds to a language. The format is ``/languages/{language-code}.php`` where ``{language-code}`` is the ISO 639-1 short code for the language. For example:"
msgstr ""
#: ../../guides/i18n.rst:22
-# 4e403dbb7ff845f89717ef5e225c1002
msgid "The default language is “en” for English."
msgstr ""
#: ../../guides/i18n.rst:24
-# df214d0ee26943b5a6026702e0e1622e
msgid "To change the wording of any phrase, provide a new mapping in your plugin’s ``{language}.php`` file for the associated key:"
msgstr ""
#: ../../guides/i18n.rst:36
-# baa07c1f3dc14b11b480b63029658f9d
msgid "Unless you are overriding core’s or another plugin’s language strings, it is good practice for the language keys to start with your plugin name. For example: “yourplugin:success,” “yourplugin:title,” etc. This helps avoid conflicts with other language keys."
msgstr ""
#: ../../guides/i18n.rst:40
-# d883ca1dfbb2407da24a09be8c7b4a97
msgid "Server-side API"
msgstr ""
#: ../../guides/i18n.rst:42
-# 8b2d0e2bc4d24db69c87b3e78db5f185
msgid "``elgg_echo($key, $args, $language)``"
msgstr ""
#: ../../guides/i18n.rst:44
-# 10948dda32e74c659ccce9637c6d1ff3
msgid "Output the translation of the key in the current language."
msgstr ""
@@ -3592,2458 +2849,1957 @@ msgstr ""
#: ../../guides/notifications.rst:167
#: ../../guides/notifications.rst:191
#: ../../guides/notifications.rst:246
-# 16ce63941f564c6384c22138921d6f69
-# b7ee19ee259745b8bb602968e76b5b3e
-# b9e1124e3ff341459de44ce4dc178662
-# a16e12319fad43caa75b75f80eb6c410
-# a77b2d1f54754171915f040455d19ca8
msgid "Example:"
msgstr ""
#: ../../guides/i18n.rst:52
-# da60179f81a64cb59e877b57cc5e0ff2
msgid "It also supports variable replacement using sprintf syntax:"
msgstr ""
#: ../../guides/i18n.rst:62
-# a3e8045c6bad44a4aa19318f5a8ab29f
msgid "To force which language should be used for translation, set the third parameter:"
msgstr ""
#: ../../guides/i18n.rst:71
-# 2decd18b2c5e419a948e499bc897f6d5
msgid "Javascript API"
msgstr ""
#: ../../guides/i18n.rst:73
-# 4cbb5fd2577742b79dea986c0b7004d2
msgid "``elgg.echo(key, args, language)``"
msgstr ""
#: ../../guides/i18n.rst:75
-# 2dee79e009a8478ca67c2b4385f1dd69
msgid "This function is the exact counterpart to ``elgg_echo`` in PHP."
msgstr ""
#: ../../guides/i18n.rst:77
-# 4d83d86f942a4289b078d72b4d0c6c25
msgid "Client-side translations are loaded asynchronously. Ensure translations are available by requiring the \"elgg\" AMD module:"
msgstr ""
#: ../../guides/i18n.rst:87
-# 577ac1d481f446f9be74661cacc6a7d0
msgid "Translations are also available after the ``init, system`` JavaScript event."
msgstr ""
#: ../../guides/index.rst:2
-# cdfd7a5ba0cf4f5983d956085152685f
msgid "Developer Guides"
msgstr ""
#: ../../guides/index.rst:4
-# 1e54c1156580440dbc87e559e36baa0b
msgid "Customize Elgg's behavior with plugins."
msgstr ""
#: ../../guides/javascript.rst:2
-# 12eded67d88d40ab8b12f0a58f48639d
msgid "JavaScript"
msgstr ""
#: ../../guides/javascript.rst:4
-# a0256634aaac4721b7ee4251f3fc4d8b
msgid "As of Elgg 1.9, we encourage all developers to adopt the `AMD (Asynchronous Module Definition) `_ standard for writing JavaScript code in Elgg. The 1.8 version is still functional and is :ref:`described below<1.8-js>`."
msgstr ""
#: ../../guides/javascript.rst:13
-# 1c955010a7e34864ac8b5934fa8298d6
msgid "AMD"
msgstr ""
#: ../../guides/javascript.rst:15
-# 9a350f267d634409ba0f82c353aed3a8
msgid "Defining and loading a module in Elgg 1.9 takes two steps:"
msgstr ""
#: ../../guides/javascript.rst:17
-# 6cb8d5fbe6f7411688fbf4ff86635466
msgid "Define your module as asynchronous JavaScript."
msgstr ""
#: ../../guides/javascript.rst:18
-# 28d8bf71aa924367bdeadfd143b2d560
msgid "Tell Elgg to asynchronously execute your module in the current page."
msgstr ""
#: ../../guides/javascript.rst:21
-# b934e3d59763499eba137091cab5312e
msgid "1. Define your module as asynchronous JavaScript"
msgstr ""
#: ../../guides/javascript.rst:23
-# 3dd29a0249fa4beda1efc5e392bcbbf2
msgid "You can define a module by creating a view or registering a URL."
msgstr ""
#: ../../guides/javascript.rst:26
-# ea931a18399e485992342fa261df7def
msgid "Defining modules as a view"
msgstr ""
#: ../../guides/javascript.rst:28
-# f1256a76324a4aeeb3c2a1b44fbfc0bd
msgid "Modules defined by creating views are immediately available for use and require no registration. To register a module named ``my/module``, create the view ``views/default/js/my/module.js``."
msgstr ""
#: ../../guides/javascript.rst:33
-# d59a7e74ff8a40439d066bff819f834a
msgid "A basic module could look like this:"
msgstr ""
#: ../../guides/javascript.rst:47
-# 1f862aad5ab041339415c56cfa6a5bd4
msgid "Define your module via a URL"
msgstr ""
#: ../../guides/javascript.rst:49
-# 08a26c9e915b4a1aa820da42c52774be
msgid "You can define an existing AMD module using ``elgg_define_js()``. Traditional (browser-globals) JavaScript files can also be defined as AMD modules if you shim them by setting ``exports`` and optionally ``deps``."
msgstr ""
#: ../../guides/javascript.rst:53
-# b926e413995c43e8a58f7d31c866e49e
msgid "Calls to ``elgg_define_js()`` must be in an ``init, system`` event handler."
msgstr ""
#: ../../guides/javascript.rst:79
-# 426f4871d37d4a489c3c302d0a194fc1
msgid "Some things to note"
msgstr ""
#: ../../guides/javascript.rst:81
-# d88e51347dbe49ea9f39d68ba5904dec
msgid "Do not use ``elgg.provide()`` or ``elgg.require()`` anymore. They are fully replaced by ``define()`` and ``require()`` respectively."
msgstr ""
#: ../../guides/javascript.rst:82
-# 0ba4383ed6b8475099ff8cabc63d058c
msgid "Return the value of the module instead of adding to a global variable."
msgstr ""
#: ../../guides/javascript.rst:83
-# e7eb7c97f32d400fa27160a10b91f35f
msgid "Static views (.css, .js) are automatically minified and cached by Elgg's simplecache system."
msgstr ""
#: ../../guides/javascript.rst:87
-# a9a0e8c6201e4accb49b6d1d25ec143f
msgid "2. Tell Elgg to asynchronously execute your module in the current page"
msgstr ""
#: ../../guides/javascript.rst:88
-# f2f550c8e2d24291a63d2945baef8cfc
msgid "Once an AMD module is defined, you can use ``require([\"my/module\"])`` from JavaScript to access its \"exported\" value."
msgstr ""
#: ../../guides/javascript.rst:91
-# 1e3da6ff8f804796b51bffb338793c4b
msgid "Also, calling ``elgg_require_js(\"my/module\")`` from PHP tells Elgg to execute the module code on the current page."
msgstr ""
#: ../../guides/javascript.rst:96
-# 08a80799de574f569926bc84ddef7cf4
msgid "Migrating JS from Elgg 1.8 to AMD / 1.9"
msgstr ""
#: ../../guides/javascript.rst:97
-# c283bcc59289463c99e78be5b40ff24e
msgid "**Current 1.8 JavaScript modules will continue to work with Elgg**."
msgstr ""
#: ../../guides/javascript.rst:99
-# 4fd8ce0811594a60a81cf7217c5d96c6
msgid "We do not anticipate any backwards compatibility issues with this new direction and will fix any issues that do come up. The old system will still be functional in Elgg 1.9, but developers are encouraged to begin looking to AMD as the future of JS in Elgg."
msgstr ""
#: ../../guides/javascript.rst:106
-# 9e7fac264b6741fbb677506c2a20d9e0
msgid "Traditional JavaScript (1.8)"
msgstr ""
#: ../../guides/javascript.rst:109
-# f3866938a5a84099b5ea6db3b5ebf487
msgid "Register third-party libraries with ``elgg_register_js``:"
msgstr ""
#: ../../guides/javascript.rst:115
-# 8fa88cd1c32e4a3a8a3478b9d39ab39c
msgid "This will override any URLs previously registered under this name."
msgstr ""
#: ../../guides/javascript.rst:117
-# 2900ec0f54f34d6fb3d17afd0ed7a7e9
msgid "Load a library on the current page with ``elgg_load_js``:"
msgstr ""
#: ../../guides/javascript.rst:123
-# 4b4860d26727486c92bd731da57cfbb9
msgid "This will include and execute the linked code."
msgstr ""
#: ../../guides/javascript.rst:130
-# 095655faaf07475aa0d444ceec49637f
msgid "Using inline scripts is strongly discouraged because:"
msgstr ""
#: ../../guides/javascript.rst:128
-# 52456273894d42ff8420f1ed605a708c
msgid "They are not testable (maintainability)"
msgstr ""
#: ../../guides/javascript.rst:129
-# e8bca2534e684d77bdd4bf2bf5511587
msgid "They are not cacheable (performance)"
msgstr ""
#: ../../guides/javascript.rst:130
-# a243ee77b5d2494f887f1c369afe4a74
msgid "Doing so forces some scripts to be loaded in ```` (performance)"
msgstr ""
#: ../../guides/javascript.rst:132
-# 3177638266c64260aff2b5a25e6cac77
msgid "Inline scripts in core or bundled plugins are considered legacy bugs."
msgstr ""
#: ../../guides/javascript.rst:135
-# 10954fe075594163815ef76b30e1510a
msgid "Core functions available in JS"
msgstr ""
#: ../../guides/javascript.rst:137
-# 68149ab8dd014a4fa6cc90179550051c
msgid "``elgg.echo()``"
msgstr ""
#: ../../guides/javascript.rst:139
-# d52de3b2ab7247bfbe12b7c8786aefe2
msgid "Translate interface text"
msgstr ""
#: ../../guides/javascript.rst:146
-# 892b4b5fae624484aff1050d1b6fae92
msgid "``elgg.system_message()``"
msgstr ""
#: ../../guides/javascript.rst:148
-# 96c0e1fadef84607992138f1b5fdb2c9
msgid "Display a status message to the user."
msgstr ""
#: ../../guides/javascript.rst:155
-# cbef61d6473e4cc0bb8866214d55de89
msgid "``elgg.register_error()``"
msgstr ""
#: ../../guides/javascript.rst:157
-# 1247f88db965477eb70bbde210494a97
msgid "Display an error message to the user."
msgstr ""
#: ../../guides/javascript.rst:164
-# fdb1fc5cde0e421f964d5978e8927dab
msgid "``elgg.forward()``"
msgstr ""
#: ../../guides/javascript.rst:166
-# b11eddf6d35442ad86a57f8a337cbd58
msgid "``elgg.normalize_url()``"
msgstr ""
#: ../../guides/javascript.rst:168
-# 722aad47a8dc481ea656a2a0e525bc87
msgid "Normalize a URL relative to the elgg root:"
msgstr ""
#: ../../guides/javascript.rst:177
-# 09ee35129daf4ee9852a1e3a8a0e7949
msgid "Redirect to a new page."
msgstr ""
#: ../../guides/javascript.rst:183
-# 66999d4a21774e2795396dc597d9f039
msgid "This function automatically normalizes the URL."
msgstr ""
#: ../../guides/javascript.rst:186
-# 45d2f15479114a71b334b4c5ee7bd985
msgid "``elgg.parse_url()``"
msgstr ""
#: ../../guides/javascript.rst:188
-# 6ef9b3a1d9314c55a2eb63da2bcfcf58
msgid "Parse a URL into its component parts:"
msgstr ""
#: ../../guides/javascript.rst:202
-# be6a5829e2c44af5a33f0feae4c2ebd8
msgid "``elgg.get_page_owner_guid()``"
msgstr ""
#: ../../guides/javascript.rst:204
-# b49a2c677bec4ca2b1d0cfe8a894b447
msgid "Get the GUID of the current page's owner."
msgstr ""
#: ../../guides/javascript.rst:207
-# a9eea97815cd40b2aecd84e9710a0196
msgid "``elgg.register_hook_handler()``"
msgstr ""
#: ../../guides/javascript.rst:209
-# 60e6758c1ead4b01aeab777665eea4a4
msgid "Register a hook handler with the event system."
msgstr ""
#: ../../guides/javascript.rst:224
-# c0c8f1d6cc5b46f7881694ee893c044a
msgid "``elgg.trigger_hook()``"
msgstr ""
#: ../../guides/javascript.rst:226
-# 54055cee1ec340f7a3e3402eec102632
msgid "Emit a hook event in the event system."
msgstr ""
#: ../../guides/javascript.rst:234
-# 0170a85dd8dd4b0c90adb3822c8bc261
msgid "``elgg.security.refreshToken()``"
msgstr ""
#: ../../guides/javascript.rst:236
-# a489d6c456fe4eb4a95762efd6cb081c
msgid "Force a refresh of all XSRF tokens on the page."
msgstr ""
#: ../../guides/javascript.rst:238
-# a4b9665c714b4d78ad9ad7ef180edaf7
msgid "This is automatically called every 5 minutes by default."
msgstr ""
#: ../../guides/javascript.rst:240
-# 3ae3f85ab0f34fea91acca128214b533
msgid "This requires a valid security token in 1.8, but not in 1.9."
msgstr ""
#: ../../guides/javascript.rst:242
-# 11d8a8373b3644a0b3d947e67ec8da09
msgid "The user will be warned if their session has expired."
msgstr ""
#: ../../guides/javascript.rst:245
-# 8a587ab6afde4e8bb39a0fd3b44c4636
msgid "``elgg.security.addToken()``"
msgstr ""
#: ../../guides/javascript.rst:247
-# 65a362b16c2a49f0aa9709ac08e77dd6
msgid "Add a security token to an object, URL, or query string:"
msgstr ""
#: ../../guides/javascript.rst:265
-# 4a644f56c343432583ff5254cb504955
msgid "``elgg.get_logged_in_user_entity()``"
msgstr ""
#: ../../guides/javascript.rst:267
-# ba851399847247cea24cdc1957631021
msgid "Returns the logged in user as an JS ElggUser object."
msgstr ""
#: ../../guides/javascript.rst:270
-# b42c74d06a2f41238e6d684f65cd13cd
msgid "``elgg.get_logged_in_user_guid()``"
msgstr ""
#: ../../guides/javascript.rst:272
-# edfcac4018094ccd820e63d698d2eb66
msgid "Returns the logged in user's guid."
msgstr ""
#: ../../guides/javascript.rst:275
-# 798c78ac14314c0a898aafb2271d84c5
msgid "``elgg.is_logged_in()``"
msgstr ""
#: ../../guides/javascript.rst:277
-# a760d89294ac42c5baf4e4cb6a601c25
msgid "True if the user is logged in."
msgstr ""
#: ../../guides/javascript.rst:280
-# dc33b32500084375be525aa2c652b537
msgid "``elgg.is_admin_logged_in()``"
msgstr ""
#: ../../guides/javascript.rst:282
-# fc1b8248c12e40a689a5d127c2f52f9c
msgid "True if the user is logged in and is an admin."
msgstr ""
#: ../../guides/javascript.rst:285
-# 58efc0e8646f4536869ee2593d1f2c75
msgid "``elgg.config.get_language()``"
msgstr ""
#: ../../guides/javascript.rst:287
-# b5dcb9cd12c549328dfa2b1566bb1dce
msgid "Get the current page's language."
msgstr ""
#: ../../guides/javascript.rst:290
-# 02f4a14e9ef4440980e0db4ee5b17707
msgid "There are a number of configuration values set in the elgg object:"
msgstr ""
#: ../../guides/javascript.rst:306
-# 942ef226440c4cd492de9a45a8fbbe55
msgid "Ajax helper functions"
msgstr ""
#: ../../guides/javascript.rst:308
-# b272bc3db17b4f25af7f863206ed856f
msgid "The JS engine includes many features related to AJAX. Some are specific to Elgg, and some extend jQuery's native AJAX features."
msgstr ""
#: ../../guides/javascript.rst:310
-# 10f11059ba744e129924357f28f2b052
msgid "``elgg.get()``"
msgstr ""
#: ../../guides/javascript.rst:312
-# a4408eb80cbd460db18186d1b1f3bdfb
msgid "Wrapper for jQuery's ``$.ajax()``, but forces GET and does URL normalization. Accepts all standard jQuery options."
msgstr ""
#: ../../guides/javascript.rst:323
-# fd04e8ab99d44de8b96c3c2a082e0ece
msgid "``elgg.post()``"
msgstr ""
#: ../../guides/javascript.rst:325
-# d89f3bb745514646a0e49f5565fa2e3f
msgid "Wrapper for jQuery's $.ajax(), but forces POST and does URL normalization. Accepts all standard jQuery options."
msgstr ""
#: ../../guides/javascript.rst:327
-# 3786fe5c432545c59481f984166692b3
msgid "``elgg.action()``"
msgstr ""
#: ../../guides/javascript.rst:329
-# 5496d23f6a1543dbbc8cb7b06af43e24
msgid "Calls an Elgg action with the data passed. This handles outputting of system messages and errors."
msgstr ""
#: ../../guides/javascript.rst:343
-# 7b629cc843954c4898e7d7bc177fa41e
msgid "Hooks"
msgstr ""
#: ../../guides/javascript.rst:345
-# 8ec8daab8b9b49009f4d0ae57e2ee6bf
msgid "The JS engine has a hooks system similar to the PHP engine's plugin hooks: hooks are triggered and plugins can register callbacks to react or alter information. There is no concept of Elgg events in the JS engine; everything in the JS engine is implemented as a hook."
msgstr ""
#: ../../guides/javascript.rst:348
-# f1276a456d5143fbaa5b383c0f3d6731
msgid "Registering a callback to a hook"
msgstr ""
#: ../../guides/javascript.rst:350
-# 2d50fe48b9cb4ab192062097ff020501
msgid "Callbacks are registered using ``elgg.register_hook_handler()``. Multiple callbacks can be registered for the same hook."
msgstr ""
#: ../../guides/javascript.rst:352
-# 4eed698962e041e7a8a745574ad681c5
msgid "The following example registers the ``elgg.ui.initDatePicker`` callback for the *init*, *system* event. Note that a difference in the JS engine is that instead of passing a string you pass the function itself to ``elgg.register_hook_handler()`` as the callback."
msgstr ""
#: ../../guides/javascript.rst:362
-# 3736bde65cfe4b71b408a694f0bd8b18
msgid "The callback"
msgstr ""
#: ../../guides/javascript.rst:364
-# 3973961e851c4bc0a72387b3b132bcbb
msgid "The callback accepts 4 arguments:"
msgstr ""
#: ../../guides/javascript.rst:366
-# ff260ee5d613440f93f812723e5e2357
msgid "**hook** - The hook name"
msgstr ""
#: ../../guides/javascript.rst:367
-# 99340fe18dc044f996d1964438dbb19f
msgid "**type** - The hook type"
msgstr ""
#: ../../guides/javascript.rst:368
-# d390dd1cac5a43ae83e0c446ae620fac
msgid "**params** - An object or set of parameters specific to the hook"
msgstr ""
#: ../../guides/javascript.rst:369
-# 03787546b9d145bc859a8413a38db1d4
msgid "**value** - The current value"
msgstr ""
#: ../../guides/javascript.rst:371
-# 68bb7eff67334dbd8761ee953a352008
msgid "The ``value`` will be passed through each hook. Depending on the hook, callbacks can simply react or alter data."
msgstr ""
#: ../../guides/javascript.rst:374
-# a2d305618e334ccd82dfeae6600c481a
msgid "Triggering custom hooks"
msgstr ""
#: ../../guides/javascript.rst:376
-# 7a13e6e3b80547b38a6a31b8ad031d91
msgid "Plugins can trigger their own hooks:"
msgstr ""
#: ../../guides/javascript.rst:383
-# 693f4160054940c0b5c2df385772f8a5
msgid "Available hooks"
msgstr ""
#: ../../guides/javascript.rst:386
-# 85e5b800800c45928351d0ffdb18dbde
msgid "init, system"
msgstr ""
#: ../../guides/javascript.rst:386
-# ca58389d059945a0a9dc42cd31933441
msgid "This hook is fired when the JS system is ready. Plugins should register their init functions for this hook."
msgstr ""
#: ../../guides/javascript.rst:389
-# 23f12695b4bc4159a5a50bc4af7d0454
msgid "ready, system"
msgstr ""
#: ../../guides/javascript.rst:389
-# de3881984f92435b8dcbe60396a7ad34
msgid "This hook is fired when the system has fully booted."
msgstr ""
#: ../../guides/javascript.rst:391
-# a80b967464354ce0bc4ab2c454daead0
msgid "getOptions, ui.popup"
msgstr ""
#: ../../guides/javascript.rst:392
-# d2054d910c7f4645b3c0b19ae5127f89
msgid "This hook is fired for pop up displays (\"rel\"=\"popup\") and allows for customized placement options."
msgstr ""
#: ../../guides/menus.rst:2
-# 38747d8320734d6c959aada167029edb
msgid "Menus"
msgstr ""
#: ../../guides/menus.rst:4
-# abb338b1ec9b4f998e4328e621c412e1
msgid "Elgg contains helper code to build menus throughout the site."
msgstr ""
#: ../../guides/menus.rst:6
-# 14f3bfc0af684e4b81c31dfd34a89938
msgid "Every single menu requires a name, as does every single menu item. These are required in order to allow easy overriding and manipulation, as well as to provide hooks for theming."
msgstr ""
#: ../../guides/menus.rst:15
-# bd0d284fc21147ac94fa065daaad663e
msgid "Basic usage"
msgstr ""
#: ../../guides/menus.rst:17
-# 3f4b570fec1443aa8196a9a11101d56f
msgid "Basic functionalities can be achieved through these two functions:"
msgstr ""
#: ../../guides/menus.rst:19
-# 3580a6e5b9b44c0aab1dcf57059db445
msgid "`elgg_register_menu_item()`__ to add an item to a menu"
msgstr ""
#: ../../guides/menus.rst:20
-# 091ffea9c26f4bd28c39152c6d5560cb
msgid "`elgg_unregister_menu_item()`__ to remove an item from a menu"
msgstr ""
#: ../../guides/menus.rst:22
-# 38a1954251b346f5a9f7dc2910e2b2b5
msgid "You normally want to call them from your plugin's init function."
msgstr ""
#: ../../guides/menus.rst:28
#: ../../guides/menus.rst:65
-# 3267208d495149f5be96dc60c0529461
-# 405392fb34af4ad19b34e7d234897150
msgid "Examples"
msgstr ""
#: ../../guides/menus.rst:45
-# b10c6e588a51495db59c09e04a1074ec
msgid "Advanced usage"
msgstr ""
#: ../../guides/menus.rst:47
-# 44374f6456bc45f09bba055bbac9db04
msgid "You can get more control over menus by using :doc:`plugin hooks ` and the public methods provided by the ElggMenuItem__ class."
msgstr ""
#: ../../guides/menus.rst:52
-# 1baa8032e15f493a93833d4dcfecddc8
msgid "There are two hooks that can be used to modify a menu:"
msgstr ""
#: ../../guides/menus.rst:51
-# 47eb4cc164024789b745f329f7d86db5
msgid "``'register', 'menu:'`` to add or modify items (especially in dynamic menus)"
msgstr ""
#: ../../guides/menus.rst:52
-# 3aa90a46fee34b6a960bc8d1f30dfe44
msgid "``'prepare', 'menu:'`` to modify the structure of the menu before it is displayed"
msgstr ""
#: ../../guides/menus.rst:54
-# c7c49d19925a4ff88e72ea944963db70
msgid "When you register a plugin hook handler, replace the ```` part with the internal name of the menu."
msgstr ""
#: ../../guides/menus.rst:57
-# 8db04b6561cb4376bc0ed61f76116f18
msgid "The third parameter passed into a menu handler contains all the menu items that have been registered so far by Elgg core and other enabled plugins. In the handler we can loop through the menu items and use the class methods to interact with the properties of the menu item."
msgstr ""
#: ../../guides/menus.rst:67
-# 7b435547821742608a7dcb8c29228360
msgid "**Example 1:** Change the URL for menu item called \"albums\" in the ``owner_block`` menu:"
msgstr ""
#: ../../guides/menus.rst:109
-# 4a69021fda684b83b6b6df95c5bbdda2
msgid "**Example 2:** Modify the ``entity`` menu for the ``ElggBlog`` objects"
msgstr ""
#: ../../guides/menus.rst:108
-# 0accff190940415ca10b1db1802c478b
msgid "Remove the thumb icon"
msgstr ""
#: ../../guides/menus.rst:109
-# bc0c7b41b58c486cb106c8f5918ffb06
msgid "Change the \"Edit\" text into a custom icon"
msgstr ""
#: ../../guides/menus.rst:151
-# 80460f58737146198eca090d0e31ea43
msgid "Creating a new menu"
msgstr ""
#: ../../guides/menus.rst:153
-# 753e843e80534231b989e390905e527e
msgid "Elgg provides multiple different menus by default. Sometimes you may however need some menu items that don't fit in any of the existing menus. If this is the case, you can create your very own menu with the `elgg_view_menu()`__ function. You must call the function from the view, where you want to menu to be displayed."
msgstr ""
#: ../../guides/menus.rst:161
-# 2120a7ba1f314a918e5611dd08edec23
msgid "**Example:** Display a menu called \"my_menu\" that displays it's menu items in alphapetical order:"
msgstr ""
#: ../../guides/menus.rst:168
-# 2b98aee99cf0422fa1fd67d8896abaa1
msgid "You can now add new items to the menu like this:"
msgstr ""
#: ../../guides/menus.rst:178
-# 75b8b668017342a7a9721993775f4753
msgid "Furthermore it is now possible to modify the menu using the hooks ``'register', 'menu:my_menu'`` and ``'prepare', 'menu:my_menu'``."
msgstr ""
#: ../../guides/menus.rst:182
-# 25b181ec09014905b13a0400b4389679
msgid "Theming"
msgstr ""
#: ../../guides/menus.rst:184
-# 61ca8601335240ec8ec4460302484cab
msgid "The menu name, section names, and item names are all embedded into the HTML as CSS classes (normalized to contain only hyphens, rather that underscores or colons). This increases the size of the markup slightly but provides themers with a high degree of control and flexibility when styling the site."
msgstr ""
#: ../../guides/menus.rst:189
-# 80d7bd7bb8474cb5b8aee4945c308f70
msgid "**Example:** The following would be the output of the ``foo`` menu with sections ``alt`` and ``default`` containing items ``baz`` and ``bar`` respectively."
msgstr ""
#: ../../guides/notifications.rst:2
#: ../../guides/upgrading.rst:121
-# 23bbe4cbccf44af3ad863a53ea5939d1
-# 87d234178d7b4c80a98f46f52cb3175f
msgid "Notifications"
msgstr ""
#: ../../guides/notifications.rst:6
-# dea03f4282c54b228d543ce319b4bb3b
msgid "There are two ways to send notifications in Elgg:"
msgstr ""
#: ../../guides/notifications.rst:5
#: ../../guides/notifications.rst:13
-# cbefc9bd595444d5b885837ee2813c46
-# d73286a774854b72ac67f18a459b7e0e
msgid "Instant notifications"
msgstr ""
#: ../../guides/notifications.rst:6
-# 97c08abf117a44a3b779801d25bf9237
msgid "Event-based notifications send using a notifications queue"
msgstr ""
#: ../../guides/notifications.rst:15
-# ba8ffe9a01644a80b9582717b62a2a2a
msgid "The generic method to send a notification to a user is via the function `notify_user()`__. It is normally used when we want to notify only a single user. Notification like this might for example inform that someone has liked or commented the user's post."
msgstr ""
#: ../../guides/notifications.rst:19
-# dd5350257a424d7b96ee377af1f5e8c1
msgid "The function usually gets called in an :doc:`action ` file."
msgstr ""
#: ../../guides/notifications.rst:26
-# e2cf4f0e5e5b4407a291a0025db86746
msgid "In this example a user (``$user``) is triggering an action to rate a post created by another user (``$owner``). After saving the rating (``ElggAnnotation $rating``) to database, we could use the following code to send a notification about the new rating to the owner."
msgstr ""
#: ../../guides/notifications.rst:57
-# 92f45a9226554a80a0f57c012a86fe90
msgid "The language used by the recipient isn't necessarily the same as the language of the person who triggers the notification. Therefore you must always remember to pass the recipient's language as the third parameter to ``elgg_echo()``."
msgstr ""
#: ../../guides/notifications.rst:63
-# 70115c09a71f40508ecfc469ae03b6db
msgid "The ``'summary'`` parameter is meant for notification plugins that only want to display a short message instead of both the subject and the body. Therefore the summary should be terse but still contain all necessary information."
msgstr ""
#: ../../guides/notifications.rst:68
-# d30f0ee52fe44429b8af9ba311b5e612
msgid "Enqueued notifications"
msgstr ""
#: ../../guides/notifications.rst:70
-# d971edf6b79249e58dd6f348903ffbcd
msgid "On large sites there may be many users who have subscribed to receive notifications about a particular event. Sending notifications immediately when a user triggers such an event might remarkably slow down page loading speed. This is why sending of such notifications shoud be left for Elgg's notification queue."
msgstr ""
#: ../../guides/notifications.rst:75
-# 7dce36e270f64ffb8f80e4df0c65ea04
msgid "New notification events can be registered with the `elgg_register_notification_event()`__ function. Notifications about registered events will be sent automatically to all subscribed users."
msgstr ""
#: ../../guides/notifications.rst:82
#: ../../guides/notifications.rst:104
-# 9ca9870e0a4c4733898e9e62cc379849
-# b8a713e864d64093873cbc5fb3e85b89
msgid "Example"
msgstr ""
#: ../../guides/notifications.rst:84
-# ee6c1ec9ee8547cdb6a348cf8905e0d9
msgid "Tell Elgg to send notifications when a new object of subtype \"photo\" is created:"
msgstr ""
#: ../../guides/notifications.rst:97
-# 1f2f285f6d504f44b811524a0fc2adb4
msgid "In order to send the event-based notifications you must have the one-minute :doc:`CRON ` interval configured."
msgstr ""
#: ../../guides/notifications.rst:100
-# d4cdcc901f114329b215ca3ea248f230
msgid "Contents of the notification message can be defined with the ``'prepare', 'notification:[action]:[type]:[subtype]'`` hook."
msgstr ""
#: ../../guides/notifications.rst:106
-# ced40db614584648aec6b7c6569c15c1
msgid "Tell Elgg to use the function ``photos_prepare_notification()`` to format the contents of the notification when a new objects of subtype 'photo' is created:"
msgstr ""
#: ../../guides/notifications.rst:154
-# cf48ba088ca74c028e6cdc6288eb150b
msgid "Make sure the notification will be in the correct language by passing the reciepient's language into the ``elgg_echo()`` function."
msgstr ""
#: ../../guides/notifications.rst:158
-# 54c8ab5765444cd89da8b5e79901a45d
msgid "Registering a new notification method"
msgstr ""
#: ../../guides/notifications.rst:160
-# bd83f5253d9f4806b4c74d77d9cf0450
msgid "By default Elgg has two notification methods: email and the bundled site_notifications plugin. You can register a new notification method with the `elgg_register_notification_method()`__ function."
msgstr ""
#: ../../guides/notifications.rst:169
-# b0bdd67781bd4af6b20c7be169ce926b
msgid "Register a handler that will send the notifications via SMS."
msgstr ""
#: ../../guides/notifications.rst:180
-# 5e1db67afc574f8ab868662f8875af5c
msgid "After registering the new method, it will appear to the notification settings page at ``www.example.com/notifications/personal/[username]``."
msgstr ""
#: ../../guides/notifications.rst:184
-# f1bda86d88514ab09903d5e44d40a9da
msgid "Sending the notifications using your own method"
msgstr ""
#: ../../guides/notifications.rst:186
-# 8d6aaec9173448f9b112b87b7dd0c659
msgid "Besides registering the notification method, you also need to register a handler that takes care of actually sending the SMS notifications. This happens with the ``'send', 'notification:[method]'`` hook."
msgstr ""
#: ../../guides/notifications.rst:230
-# ebb1ea9b8fff4c60ad707a35913e2949
msgid "Subscriptions"
msgstr ""
#: ../../guides/notifications.rst:232
-# c0eb7e4cb28542b2859b6640c5d76bfe
msgid "In most cases Elgg core takes care of handling the subscriptions, so notification plugins don't usually have to alter them."
msgstr ""
#: ../../guides/notifications.rst:237
-# c9b67ae4cecb45329b926a465dd86dba
msgid "Subscriptions can however be:"
msgstr ""
#: ../../guides/notifications.rst:236
-# b350c09bff484b5496772fcc2e09d446
msgid "Added using the `elgg_add_subscription()`__ function"
msgstr ""
#: ../../guides/notifications.rst:237
-# 7f92b973dc154b019212cbe092544678
msgid "Removed using the `elgg_remove_subscription()`__ function"
msgstr ""
#: ../../guides/notifications.rst:242
-# 21a8b89d24834aebaf8b1553d34b2b7d
msgid "It's possible to modify the recipients of a notification dynamically with the ``'get', 'subscriptions'`` hook."
msgstr ""
#: ../../guides/page-owner.rst:2
-# 2083b5c5147841de981724dee81071f1
msgid "Page ownership"
msgstr ""
#: ../../guides/page-owner.rst:4
-# 8072ee6743e243248a4684b4f42d7331
msgid "One recurring task of any plugin will be to determine the page ownership in order to decide which actions are allowed or not. Elgg has a number of functions related to page ownership and also offers plugin developers flexibility by letting the plugin handle page ownership requests as well. Determining the owner of a page can be determined with ``elgg_get_page_owner_guid()``, which will return the GUID of the owner. Alternatively, ``elgg_get_page_owner_entity()`` will retrieve the whole page owner entity. If the page already knows who the page owner is, but the system doesn't, the it be can set by passing the GUID to ``elgg_set_page_owner_guid($guid)``."
msgstr ""
#: ../../guides/page-owner.rst:8
-# b695a33d770f4ddeb1ebb8b2f5fa8c51
msgid "Custom page owner handlers"
msgstr ""
#: ../../guides/page-owner.rst:10
-# 6c59588293a342fc8bd828c794e0b021
msgid "Plugin developers can create page owner handlers, which could be necessary in certain cases, for example when integrating third party functionality. The handler will be a function which will need to get registered with ``elgg_register_plugin_hook_handler('page_owner', 'system', 'your_page_owner_function_name');`` . The handler will only need to return a value (an integer GUID) when it knows for certain who the page owner is."
msgstr ""
#: ../../guides/page-owner.rst:12
-# 41736c050a124e56b970991d8baf7744
msgid "By default, the system determines the page_owner from the following elements:"
msgstr ""
#: ../../guides/page-owner.rst:14
-# 2a9125742aa24b89bb8814e479627c39
msgid "The ``username`` URL parameter"
msgstr ""
#: ../../guides/page-owner.rst:15
-# 12fa53eb64e74a3982b88d3343957547
msgid "The ``owner_guid`` URL parameter"
msgstr ""
#: ../../guides/page-owner.rst:17
-# 3e44459192354682b6a60e0263686f2d
msgid "It then passes off to any page owner handlers defined using the :ref:`plugin hook `. If no page owner can be determined, the page owner is set to 0, which is the same as the logged out user."
msgstr ""
#: ../../guides/pagehandler.rst:2
-# 0946b49fb15b4d3d903398d9a8cd6d02
msgid "Page handler"
msgstr ""
#: ../../guides/pagehandler.rst:4
-# 8fe278e7660d444ba91a55d7c341bfb5
msgid "Elgg offers a facility to manage your plugin pages via a page handler, enabling custom urls like ``http://yoursite/your_plugin/section``. To add a page handler to a plugin, a handler function needs to be registered in the plugin's ``start.php`` file with ``elgg_register_page_handler()``:"
msgstr ""
#: ../../guides/pagehandler.rst:10
-# cc536f9aede049aa80bd49cfad4a3ee6
msgid "The plugin's page handler is passed two parameters:"
msgstr ""
#: ../../guides/pagehandler.rst:12
-# 3527571e70b3461fb9132a4f1f6662b5
msgid "an array containing the sections of the URL exploded by '/'. With this information the handler will be able to apply any logic necessary, for example loading the appropriate view and returning its contents."
msgstr ""
#: ../../guides/pagehandler.rst:13
-# 40f6c8f11bbc40bbaa16db4ce4a441ad
msgid "the handler, this is the handler that is currently used (in our example ``your_plugin``). If you don't register multiple page handlers to the same function you'll never need this."
msgstr ""
#: ../../guides/pagehandler.rst:16
-# 11dc02a76f2a40b6a81499063d0b5d98
msgid "Code flow"
msgstr ""
#: ../../guides/pagehandler.rst:18
-# ab59f49bc8d240918775cf2d8c98f47d
msgid "Pages in plugins should be served only through page handlers, stored in ``pages/`` of your plugin's directory and do not need to ``include`` or ``require`` Elgg's ``engine/start.php`` file. The purpose of these files are to knit together output from different views to form the page that the user sees. The program flow is something like this:"
msgstr ""
#: ../../guides/pagehandler.rst:20
-# d1a0ce97dd4647b099a69ffd38ed54bc
msgid "A user requests ``/plugin_name/section/entity``"
msgstr ""
#: ../../guides/pagehandler.rst:21
-# df9cb0d5c3ba4f26aac4fd8c20c91232
msgid "Elgg checks if ``plugin_name`` is registered to a page handler and calls that function, passing ``array('section', 'entity')`` as the first argument"
msgstr ""
#: ../../guides/pagehandler.rst:22
-# 03031b332bc241dd9497c77c16d288aa
msgid "The page handler function determines which page to display, optionally sets some values, and then includes the correct page under ``plugin_name/pages/plugin_name/``"
msgstr ""
#: ../../guides/pagehandler.rst:23
-# 65453b8fb7f64de38b61b948e335e4af
msgid "The included file combines many separate views, calls formatting functions like ``elgg_view_layout()`` and ``elgg_view_page()``, and then echos the final output"
msgstr ""
#: ../../guides/pagehandler.rst:24
-# 2f3670806c024475af1531c6688c0858
msgid "The user sees a fully rendered page"
msgstr ""
#: ../../guides/pagehandler.rst:26
-# 483e0c116e8047d48a24377c6527001b
msgid "There is no syntax enforced on the URLs, but Elgg's coding standards suggests a certain format."
msgstr ""
#: ../../guides/permissions-check.rst:2
-# a61c745a2c244854b2e83ae859ddda1e
msgid "Permissions Check"
msgstr ""
#: ../../guides/permissions-check.rst:6
-# b08702a877dd49dc99b65235e4b57989
msgid "As stated in the page, this method works **only** for granting **write** access to entities. You **cannot** use this method to retrieve or view entities for which the user does not have read access."
msgstr ""
#: ../../guides/permissions-check.rst:8
-# 459afbc645404cb08749812ea9050c78
msgid "Elgg provides a mechanism of overriding write permissions check through the :ref:`permissions_check plugin hook ` . This is useful for allowing plugin write to all accessible entities regardless of access settings. Entities that are hidden, however, will still be unavailable to the plugin."
msgstr ""
#: ../../guides/permissions-check.rst:11
-# ec82c1c418fa444390e58f1ec56408d5
msgid "Hooking permissions_check"
msgstr ""
#: ../../guides/permissions-check.rst:13
-# c90494585dfb438b8769479ec3fca84f
msgid "In your plugin, you must register the plugin hook for ``permissions_check``."
msgstr ""
#: ../../guides/permissions-check.rst:20
-# 369fbd78699341dd8dfcaa03ddaa0886
msgid "The override function"
msgstr ""
#: ../../guides/permissions-check.rst:22
-# 8f9cd61545e541b8b84ce12b304b55b2
msgid "Now create the function that will be called by the permissions check hook. In this function we determine if the entity (in parameters) has write access. Since it is important to keep Elgg secure, write access should be given only after checking a variety of situations including page context, logged in user, etc. Note that this function can return 3 values: true if the entity has write access, false if the entity does not, and null if this plugin doesn't care and the security system should consult other plugins."
msgstr ""
#: ../../guides/permissions-check.rst:40
-# 744251eebe6c4405b4addc252cd343fb
msgid "Full Example"
msgstr ""
#: ../../guides/permissions-check.rst:42
-# df4b961d62b44da4a0ed01fbca3d4121
msgid "This is a full example using the context to determine if the entity has write access."
msgstr ""
#: ../../guides/plugins.rst:4
-# 0b7d88a3eab648a08f4ea3f7abbeb3de
msgid "Plugins must provide a start.php and manifest.xml file in the plugin root in order to be recognized by Elgg."
msgstr ""
#: ../../guides/plugins.rst:8
-# 339d08bef1d24ab0baa6b85db616da89
msgid "start.php"
msgstr ""
#: ../../guides/plugins.rst:10
-# 4c08327efc9344e7afdafe7a9150d7e0
msgid "The start.php file bootstraps plugin by registering event listeners and plugin hooks."
msgstr ""
#: ../../guides/plugins.rst:14
-# be862a337de949dbae9abd0cdb083354
msgid "activate.php, deactivate.php"
msgstr ""
#: ../../guides/plugins.rst:16
-# 3af225f614534a338a4e222d557013d9
msgid "The activate.php and deactivate.php files contain procedural code that will run upon plugin activation and deactivation. Use these files to perform one-time events such as registering a persistent admin notice, registering subtypes, or performing garbage collection when deactivated."
msgstr ""
#: ../../guides/plugins.rst:22
-# 575f6bc5f1fc464c8072637140c8479a
msgid "manifest.xml"
msgstr ""
#: ../../guides/plugins.rst:24
-# bd8a6505e2794ed098bcf35f4fd443ab
msgid "Elgg plugins are required to have a ``manifest.xml`` file in the root of a plugin."
msgstr ""
#: ../../guides/plugins.rst:26
-# 696fe9267ce54150b95d65f0257d197e
msgid "The ``manifest.xml`` file includes information about the plugin itself, requirements to run the plugin, and optional information including where to display the plugin in the admin area and what APIs the plugin provides."
msgstr ""
#: ../../guides/plugins.rst:29
-# dc3cfd7a5cbd47b59c1456eb4b83b4ce
msgid "Syntax"
msgstr ""
#: ../../guides/plugins.rst:31
-# 3f9eb58aeb23475d85026c1a14d8ccce
msgid "The manifest file is a standard XML file in UTF-8. Everything is a child of the ```` element."
msgstr ""
#: ../../guides/plugins.rst:38
-# 21160b189b77416f8193cf6054c54a11
msgid "The manifest syntax is as follows:"
msgstr ""
#: ../../guides/plugins.rst:44
-# fdd78f4c076a45f3bdf94392aa267420
msgid "Many elements can contain children attributes:"
msgstr ""
#: ../../guides/plugins.rst:54
-# 3028d3a0c081410cb854fbe7e7b0bd76
msgid "Required Elements"
msgstr ""
#: ../../guides/plugins.rst:56
-# bbfa23225ddd4939a5d3e6878fb734d7
msgid "All plugins are required to define the following elements in their manifest files:"
msgstr ""
#: ../../guides/plugins.rst:58
-# a147136dd4ed4e19acd49024d01e0df0
msgid "id - This has the name as the directory that the plugin uses."
msgstr ""
#: ../../guides/plugins.rst:59
-# 7663f3f7b3dd4cb5890c08bef4898a7b
msgid "name - The display name of the plugin."
msgstr ""
#: ../../guides/plugins.rst:60
-# a27fd5e10da64a0d88ef63262a36886c
msgid "author - The name of the author who wrote the plugin."
msgstr ""
#: ../../guides/plugins.rst:61
-# c25a7a09331b4a00a62ebd212285bbc1
msgid "version - The version of the plugin."
msgstr ""
#: ../../guides/plugins.rst:62
-# 354a54ada3854056a6a929f9d9ec54c4
msgid "description - A description of the what the plugin provides, its features, and other relevant information"
msgstr ""
#: ../../guides/plugins.rst:63
-# acfdaf697cde4c6ca9b260c5d6ac5e8d
msgid "requires - Each plugin must specify the release of Elgg it was developed for. See the plugin Dependencies page for more information."
msgstr ""
#: ../../guides/plugins.rst:66
-# 3010ca4b609b426d8fdb8e4229782dd6
msgid "Available Elements"
msgstr ""
#: ../../guides/plugins.rst:68
-# 61a342d1131841478c89c96618db6b29
msgid "In addition to the require elements above, the follow elements are available to use:"
msgstr ""
#: ../../guides/plugins.rst:70
-# 61c97fb6b83e466192856ffae912629f
msgid "blurb - A short description of the plugin."
msgstr ""
#: ../../guides/plugins.rst:71
-# bf060947f7d24b77a838c59221ec18b5
msgid "category - The category of the plugin. It is recommended to follow the [[Plugin_Guidelines|plugin guidelines]] and use one of the defined categories. There can be multiple entries."
msgstr ""
#: ../../guides/plugins.rst:72
-# 5de942356d484ce883a35f99386fc987
msgid "conflicts - Specifies that the plugin conflicts with a certain system configuration."
msgstr ""
#: ../../guides/plugins.rst:73
-# b439515e8db5424f872804c46ae4c1e1
msgid "copyright - The plugin's copyright information."
msgstr ""
#: ../../guides/plugins.rst:74
-# c13ad8302f504d1da6660cbbbaf651ff
msgid "license - The plugin's license information."
msgstr ""
#: ../../guides/plugins.rst:75
-# 20d53cb7f5ad479ba1644b5486f54f39
msgid "provides - Specifies that this plugin provides the same functionality as another Elgg plugin or a PHP extension."
msgstr ""
#: ../../guides/plugins.rst:76
-# dd691b72683045508d3d5388d7b22919
msgid "screenshot - Screenshots of the plugin. There can be multiple entries. See the advanced example for syntax."
msgstr ""
#: ../../guides/plugins.rst:77
-# 5e2a9a03faf64226a965704b7dc61706
msgid "suggests - Parallels the requires system, but doesn't affect if the plugin can be enabled. Used to suggest other plugins that interact or build on the plugin."
msgstr ""
#: ../../guides/plugins.rst:78
-# 14f43da1fe88439e8fec1ab8223424f3
msgid "website - A link to the website for the plugin."
msgstr ""
#: ../../guides/plugins.rst:82
-# 7e7d8527036a4fc4ade529f06a020592
msgid ":doc:`plugins/dependencies`"
msgstr ""
#: ../../guides/plugins.rst:85
#: ../../guides/widgets.rst:112
-# 4f1d530e50c74bd596146b7828f59ac9
-# 141d530a6bfc4b10ababefbd47cd1230
msgid "Simple Example"
msgstr ""
#: ../../guides/plugins.rst:87
-# decdedcc88464b83bc9d3c7aea02ed01
msgid "This manifest file is the bare minimum a plugin must have."
msgstr ""
#: ../../guides/plugins.rst:105
-# 4b3084fe17d543328fb2cd426c6df67b
msgid "Advanced example"
msgstr ""
#: ../../guides/plugins.rst:107
-# 446114630759419abc4a57676c1b1f67
msgid "This example uses all of the available elements:"
msgstr ""
#: ../../guides/plugins.rst:149
#: ../../guides/views.rst:252
#: ../../guides/web-services.rst:272
-# b4194791e31746ac8b6422a04ecd35ea
-# f2172395924e4fc08c0bb662c383216f
-# 12dadb7674e940a8852752f37157b562
msgid "Related"
msgstr ""
#: ../../guides/plugins/dependencies.rst:2
-# 57d98f4e64284bd382848b129b77db93
msgid "Plugin Dependencies"
msgstr ""
#: ../../guides/plugins/dependencies.rst:4
-# 78467f32c71c4c79ab22afb53bb20c1c
msgid "In Elgg 1.8 a plugin dependencies system was introduced to prevent plugins from being used on incompatible systems."
msgstr ""
#: ../../guides/plugins/dependencies.rst:13
-# 8128a747bd1d4d30b415a0a07565675e
msgid "The dependencies system is controlled through a plugin's ``manifest.xml`` file. Plugin authors can specify that a plugin:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:15
-# 7f70e529cb3349e8a9e873e488958129
msgid "Requires certain Elgg versions, Elgg plugins, PHP extensions, and PHP settings."
msgstr ""
#: ../../guides/plugins/dependencies.rst:16
-# 89a918588ccd41c68fcbe4350a6526d0
msgid "Suggests certain Elgg versions, Elgg plugins, PHP extensions, and PHP settings."
msgstr ""
#: ../../guides/plugins/dependencies.rst:17
-# ebdce697bfa347e783d433ff1cc70fe5
msgid "Conflicts with certain Elgg versions or Elgg plugins."
msgstr ""
#: ../../guides/plugins/dependencies.rst:18
-# ea1481f4872e476798b158518affecec
msgid "Provides the equivalent of another Elgg plugin or PHP extension."
msgstr ""
#: ../../guides/plugins/dependencies.rst:20
-# 6b095c27546b476995eaa277c91312f9
msgid "The dependency system uses the four verbs above (``requires``, ``suggests``, ``conflicts``, and ``provides``) as parent elements to indicate what type of dependency is described by its children. All dependencies have a similar format with similar options:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:32
-# bc4665c49d9c4954b9dded8bc6746821
msgid "``type`` is always required"
msgstr ""
#: ../../guides/plugins/dependencies.rst:35
-# 275121070e4e4d04835ab49934af339f
msgid "Verbs"
msgstr ""
#: ../../guides/plugins/dependencies.rst:37
-# 0573e47323db402aaeaccb0258620320
msgid "With the exception of ``provides``, all verbs use the same six types with differing effects, and the type options are the same among the verbs. ``provides`` only supports ``plugin`` and ``php_extension``."
msgstr ""
#: ../../guides/plugins/dependencies.rst:40
-# 357bb8032bc842e9b0e463434e3e9eed
msgid "Requires"
msgstr ""
#: ../../guides/plugins/dependencies.rst:42
-# eec54e1d4cf3485ca8bbb7da42af94d0
msgid "Using a ``requires`` dependency means that the plugin cannot be enabled unless the dependency is exactly met."
msgstr ""
#: ../../guides/plugins/dependencies.rst:45
-# 045c30f3851148c39fca2f0b29aeaf8d
msgid "Mandatory requires: elgg_version and elgg_release"
msgstr ""
#: ../../guides/plugins/dependencies.rst:47
-# f5b03d0709af4e67ac58edd1ab328070
msgid "Every plugin must have at least one requires: the version of Elgg the plugin is developed for. This is specified either by the Elgg API ``version`` (2011010401) or the ``release`` (1.8). The default comparison ``>=``, but you can specify your own by passing the ```` element."
msgstr ""
#: ../../guides/plugins/dependencies.rst:49
-# 78bcd9dc14404c65a2da57d18a1a4f6c
msgid "Using elgg_version:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:58
-# d19401b7de3f44cbbaeaa7630ae06be0
msgid "Using elgg_release:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:68
-# 32d653d46ff04adeacfb12744911fc0a
msgid "Suggests"
msgstr ""
#: ../../guides/plugins/dependencies.rst:70
-# 70a0afe1ba874008a085f73516363722
msgid "``suggests`` dependencies signify that the plugin author suggests a specific system configuration, but it is not required to use the plugin. The suggestions can also be another plugin itself which could interact, extend, or be extended by this plugin, but is not required for it to function."
msgstr ""
#: ../../guides/plugins/dependencies.rst:72
-# 0bdd1a9b7ccc4463bddd89b8860efc03
msgid "Suggest another plugin:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:82
-# 66cb2617e0614a1a95b39ae6eced33e1
msgid "Suggest a certain PHP setting:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:94
-# 542c2dc68cf2438ebf7ebe4f60952db2
msgid "Conflicts"
msgstr ""
#: ../../guides/plugins/dependencies.rst:96
-# 4cd30029ecce4c789691eb2293efd61d
msgid "``conflicts`` dependencies mean the plugin cannot be used under a specific system configuration."
msgstr ""
#: ../../guides/plugins/dependencies.rst:98
-# f8f1227f72384b8597b94295ca8b8302
msgid "Conflict with any version of the profile plugin:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:107
-# 586e514327f2452e90c94f4c754a71af
msgid "Conflict with a specific version of Elgg:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:118
-# 95eb4f95b67d403994d2968b8a63a6cb
msgid "Provides"
msgstr ""
#: ../../guides/plugins/dependencies.rst:120
-# 8a7b11eb4ac54b2bac1dd397f8724bc3
msgid "``provides`` dependencies tell Elgg that this plugin is providing the functionality of another plugin or PHP extension. Unlike the other verbs, it only supports two types: ``plugin`` and ``php_extension``."
msgstr ""
#: ../../guides/plugins/dependencies.rst:122
-# 1ba09bed406a4f6a8ea07c04aac0ad64
msgid "The purpose of this is to provide interchangeable APIs implemented by different plugins. For example, the twitter_services plugin provides an API for other plugins to Tweet on behalf of the user via curl and Oauth. A plugin author could write a compatible plugin for servers without curl support that uses sockets streams and specify that it provides twitter_services. Any plugins that suggest or require twitter_services would then know they can work."
msgstr ""
#: ../../guides/plugins/dependencies.rst:134
-# 570b3e89b82f473797d3a65657acc105
msgid "All plugins provide themselves as their plugin id (directory name) at the version defined in the their manifest."
msgstr ""
#: ../../guides/plugins/dependencies.rst:137
-# a34b06dd6b674de6a220c753a89ab554
msgid "Types"
msgstr ""
#: ../../guides/plugins/dependencies.rst:139
-# a24dc93a6221434e8336e066c7d3b16e
msgid "Every dependency verb has a mandatory ```` element that must be one of the following six values:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:141
-# 64788ee0829a4d1491539320a31c4085
msgid "**elgg_version** - The API version of Elgg (2011010401)"
msgstr ""
#: ../../guides/plugins/dependencies.rst:142
-# b6d4cdf2ca41430cb4990c6bc1031c5b
msgid "**elgg_release** - The release version of Elgg (1.8)"
msgstr ""
#: ../../guides/plugins/dependencies.rst:143
-# aa502a89c59f488884df8cf4568432c5
msgid "**plugin** - An Elgg plugin"
msgstr ""
#: ../../guides/plugins/dependencies.rst:144
-# 797daf3b3a654596bb6781aac5250ec7
msgid "**priority** - A plugin load priority"
msgstr ""
#: ../../guides/plugins/dependencies.rst:145
-# ae1e1ce364224859a66f3852bbd912e8
msgid "**php_extension** - A PHP extension"
msgstr ""
#: ../../guides/plugins/dependencies.rst:146
-# 4d30d8b7ef8f48cebd93b60e74ca9417
msgid "**php_ini** - A PHP setting"
msgstr ""
#: ../../guides/plugins/dependencies.rst:150
-# 353bff37791449898810574fc6496a48
msgid "``provides`` only supports ``plugin`` and ``php_extension`` types."
msgstr ""
#: ../../guides/plugins/dependencies.rst:152
-# 758ccee0087a49babb3a230024f385c3
msgid "Every type is defined with a dependency verb as the parent element. Additional option elements are at the same level as the type element:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:163
-# 9a4824a2724542efbe6b88380989cd77
msgid "elgg_version and elgg_release"
msgstr ""
#: ../../guides/plugins/dependencies.rst:165
-# 46ce3072fb6746d89c6d5a5ec53200f5
msgid "These concern the API and release versions of Elgg and requires the following option element:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:167
-# 9385796443cc4fe8a8fc7a00401a3941
msgid "**version** - The API or release version"
msgstr ""
#: ../../guides/plugins/dependencies.rst:169
-# fc89f98ff15a4d8481dab6ce81090cda
msgid "The following option element is supported, but not required:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:171
#: ../../guides/plugins/dependencies.rst:183
-# e8dc7f713c974b059867811602c71817
-# b61b74dc85c34a6aa8caac8d9f54d6c1
msgid "**comparison** - The comparison operator to use. Defaults to >= if not passed"
msgstr ""
#: ../../guides/plugins/dependencies.rst:174
-# ea33b4f80b4846e28fd9354c7d169288
msgid "plugin"
msgstr ""
#: ../../guides/plugins/dependencies.rst:176
-# a6a517d3fd1d4f5e9e7ce149d5ac1a75
msgid "Specifies an Elgg plugin by its ID (directory name). This requires the following option element:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:178
-# 11b65a0ae711445ebdcb0aef99e3b2e8
msgid "**name** - The ID of the plugin"
msgstr ""
#: ../../guides/plugins/dependencies.rst:180
#: ../../guides/plugins/dependencies.rst:200
-# dbe08f4405424a0ba7d21e089ff4361d
-# 500afab4c08e46afadd2ab379c504574
msgid "The following option elements are supported, but not required:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:182
-# f5b7bd9492f54b328fe2b4f42c5794d5
msgid "**version** - The version of the plugin"
msgstr ""
#: ../../guides/plugins/dependencies.rst:186
-# 55a74a8af2fd469d841eefbd570676eb
msgid "priority"
msgstr ""
#: ../../guides/plugins/dependencies.rst:188
-# 19e95c2931c84297969edf6947235590
msgid "This requires the plugin to be loaded before or after another plugin, if that plugin exists. ``requires`` should be used to require that a plugin exists. The following option elements are required:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:190
-# 08227efd03cd4e19a806fb92faddb3a2
msgid "**plugin** - The plugin ID to base the load order on"
msgstr ""
#: ../../guides/plugins/dependencies.rst:191
-# a9706ebd24014813baf0ba652c251684
msgid "**priority** - The load order: 'before' or 'after'"
msgstr ""
#: ../../guides/plugins/dependencies.rst:194
-# e29efeb9d34c405786287ae62925c000
msgid "php_extension"
msgstr ""
#: ../../guides/plugins/dependencies.rst:196
-# 5cc3226168a74580a3ab11370c5e0704
msgid "This checks PHP extensions. The follow option element is required:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:198
-# d97013e1fa334726b1e1ace419af64a8
msgid "**name** - The name of the PHP extension"
msgstr ""
#: ../../guides/plugins/dependencies.rst:202
-# bfe961c0e09c4fc0a8266a3e3dad8a0f
msgid "**version** - The version of the extension"
msgstr ""
#: ../../guides/plugins/dependencies.rst:203
#: ../../guides/plugins/dependencies.rst:219
-# 36c9dc9ff8bf4ac0a4357932923badab
-# 9d6be8f171674b548142c081247af61b
msgid "**comparison** - The comparison operator to use. Defaults to =="
msgstr ""
#: ../../guides/plugins/dependencies.rst:207
-# 8d09757ae2154dfb8579edf785d78c3b
msgid "The format of extension versions varies greatly among PHP extensions and is sometimes not even set. This is generally worthless to check."
msgstr ""
#: ../../guides/plugins/dependencies.rst:210
-# 0a72fe9cad8649619a017595109384d9
msgid "php_ini"
msgstr ""
#: ../../guides/plugins/dependencies.rst:212
-# 23331104c33d4f51b1769dbb3563e617
msgid "This checks PHP settings. The following option elements are required:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:214
-# 5d32d5e9fa7e48c5b2793a48908cf7e7
msgid "**name** - The name of the setting to check"
msgstr ""
#: ../../guides/plugins/dependencies.rst:215
-# 292649d8ab5f4a889df59df3c4b5124f
msgid "**value** - The value of the setting to compare against"
msgstr ""
#: ../../guides/plugins/dependencies.rst:217
-# 370ce91faccb469798bf80a49b7cad7e
msgid "The following options are supported, but not required:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:222
-# 8caf64ba521b42d9a4e485d8121e5e68
msgid "Comparison Operators"
msgstr ""
#: ../../guides/plugins/dependencies.rst:224
-# fa167207a4b84ab3bbbef7eb8fdd7d1d
msgid "Dependencies that check versions support passing a custom operator via the ```` element."
msgstr ""
#: ../../guides/plugins/dependencies.rst:226
-# 1a3c24eb383d420fa6f16177b20d5872
msgid "The follow are valid comparison operators:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:228
-# 06841fda9ac44033ab58fb537a84567d
msgid "< or lt"
msgstr ""
#: ../../guides/plugins/dependencies.rst:229
-# 9da14b5d062e4f5b9b3bd4c9a2bb31d7
msgid "<= or le"
msgstr ""
#: ../../guides/plugins/dependencies.rst:230
-# ab33d78815e04fa189d7b5198102390e
msgid "=, ==, or eq"
msgstr ""
#: ../../guides/plugins/dependencies.rst:231
-# 2f76b93c719a4a4a81594d4aa1968812
msgid "!=, <>, or ne"
msgstr ""
#: ../../guides/plugins/dependencies.rst:232
-# d510a7ff76cf44fc8d41c67a1d4e0545
msgid "> or gt"
msgstr ""
#: ../../guides/plugins/dependencies.rst:233
-# 804043841ddf4a85bf75dd7c68ac1ad2
msgid ">= or ge"
msgstr ""
#: ../../guides/plugins/dependencies.rst:235
-# c7e2df1646cf4a349d735e5822db8bbd
msgid "If ```` is not passed, the follow are used as defaults, depending upon the dependency type:"
msgstr ""
#: ../../guides/plugins/dependencies.rst:237
-# 4cfbd9394b894891bd1d26f02319e376
msgid "requires->elgg_version and elgg_release: >="
msgstr ""
#: ../../guides/plugins/dependencies.rst:238
-# 0850fe0cd2824ce9bcc3d165b027e3cb
msgid "requires->plugin: >="
msgstr ""
#: ../../guides/plugins/dependencies.rst:239
-# a85ec33bec054c15b5a503f79848a30c
msgid "requires->php_extension: ="
msgstr ""
#: ../../guides/plugins/dependencies.rst:240
-# 5947787315cb497dbb410dc25afe54c8
msgid "requires->php_ini: ="
msgstr ""
#: ../../guides/plugins/dependencies.rst:241
-# 00b914e981f944769274f30d404c9c8a
msgid "all conflicts: ="
msgstr ""
#: ../../guides/plugins/dependencies.rst:245
-# 0fa301880a0f42f79797f7c700d0b7b4
msgid "You must escape < and > to ``>`` and ``<``. For comparisons that use these values, it is recommended you use the string equivalents instead!"
msgstr ""
#: ../../guides/plugins/dependencies.rst:248
-# 0ee9ef2c10774d1e8eb0d3a290215582
msgid "Quick Examples"
msgstr ""
#: ../../guides/plugins/dependencies.rst:251
-# 426ca3a07fc74f119a33f81b8ef9fc6e
msgid "Requires Elgg 1.8.2 or higher"
msgstr ""
#: ../../guides/plugins/dependencies.rst:261
-# 247cfb13b4dd4923b22fb62d3787d9d7
msgid "Requires the Groups plugin is active"
msgstr ""
#: ../../guides/plugins/dependencies.rst:271
-# 791b8288fb9643d2ac0b0802415041b1
msgid "Requires to be after the Profile plugin if Profile is active"
msgstr ""
#: ../../guides/plugins/dependencies.rst:282
-# cdf545a0dfea46298b114817aee30c9a
msgid "Conflicts with The Wire plugin"
msgstr ""
#: ../../guides/plugins/dependencies.rst:292
-# 4d69cec903514dc98d08625fc513a5f6
msgid "Requires at least 256 MB memory in PHP"
msgstr ""
#: ../../guides/plugins/dependencies.rst:304
-# b6d4df4ece14425cad225cdafb64a00b
msgid "Suggest the TidyPics plugin is loaded"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:2
-# 884e112975e1479a9fd9ebfdbe9b57b9
msgid "Plugin skeleton"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:4
-# ec3911c1e00543d2a9eac6e576046705
msgid "The following is the standard for plugin structure in Elgg as of Elgg 1.8. Plugins written for Elgg 1.7 and down are strongly encouraged to use this structure as well, though some of the benefits are not as apparent as when used in 1.8."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:7
-# 6510fe42fd9444a7a44e9e7b943cb63c
msgid "Example Structure"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:9
-# 4341e2622cbe4e2387b80d71e0202915
msgid "The following is an example of a plugin with standard structure. For further explanation of this structure, see the details in the following sections. Your plugin may not need all the files listed"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:11
-# 09511d761e9f4e5a987be9121272735d
msgid "The following files for plugin ``example`` would go in ``/mod/example/``"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:69
-# 5c43630a9c624c32b413ea6bf05e774e
msgid "Required Files"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:71
-# ceefc8255982439fae1a856aa844b2df
msgid "Plugins **must** provide a ``start.php`` and ``manifest.xml`` file in the plugin root in order to be recognized by Elgg."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:73
-# 9b2b3b08c9bd42de8ec6ae10ffdf583b
msgid "Therefore the following is the minimally compliant structure:"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:84
-# 0b5407fa68d74928b727d77713e3a5e9
msgid "Plugins *should* place scripts for actions an ``actions/`` directory, and furthermore *should* use the name of the action to determine the location within that directory."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:86
-# a67901625ccc42e2a10436567fe535ab
msgid "For example, the action ``my/example/action`` would go in ``my_plugin/actions/my/example/action.php``. This makes it very obvious which script is associated with which action."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:88
-# e26175a82b3745d5989643055cb8345f
msgid "Similarly, the body of the form that submits to this action should be located in ``forms/my/example/action.php``. Not only does this make the connection b/w action handler, form code, and action name obvious, but it allows you to use the new (as of Elgg 1.8) ``elgg_view_form()`` function easily."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:91
-# b612af9ce7be48aeb921a048a77f70f8
msgid "Text Files"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:93
-# f300a56d84644577b7a68bc7d3d772d4
msgid "Plugins *may* provide various \\*.txt as additional documentation for the plugin. These files **must** be in Markdown syntax and will generate links on the plugin management sections."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:96
-# 871d314b422f4affb1e0c22cff6629ec
msgid "README.txt"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:96
-# d6213c5f902f404faeee3e11d9609fb9
msgid "*should* provide additional information about the plugin of an unspecified nature"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:99
-# 8a8c5c02fd4f4f75a528c87ac369925e
msgid "COPYRIGHT.txt"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:99
-# 300bf463acd54ce3a3d13473b1a415c1
msgid "If included, **must** provide an explanation of the plugin's copyright, besides what is included in ``manifest.xml``"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:102
-# 0bf313574bd44c48903f4da4bf236951
msgid "LICENSE.txt"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:102
-# c9e01d3b84114caab4bdc63da07558e1
msgid "If included, **must** provide the text of the license that the plugin is released under."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:105
-# f25319f6269f40769ba2f3bad3b3646d
msgid "INSTALL.txt"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:105
-# 66d0d401e43e46368a864330f9f469a9
msgid "If included, **must** provide additional instructions for installing the plugin if the process is sufficiently complicated (e.g. if it requires installing third party libraries on the host machine, or requires acquiring an API key from a third party)."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:108
-# 73a563c3dfff495cba5105d239a1f374
msgid "CHANGES.txt"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:108
-# 6f9f37ecfdfd49fea49cd3414397e456
msgid "If included, **must** provide a list of changes for their plugin, grouped by version number, with the most recent version at the top."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:110
-# 2369bce191394c8096c1e1c73d8193be
msgid "Plugins *may* include additional \\*.txt files besides these, but no interface is given for reading them."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:113
-# 72cf38c9115e4894aab32236346c4cf1
msgid "Pages"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:115
-# b74d9bbf3677466aba1308cb723addc0
msgid "Plugins *should* put page-generating scripts in a ``pages/`` directory inside their plugin root. Furthermore, plugins *should* put page-generating scripts under a directory named for their handler. For example, the script for page ``yoursite.com/my_handler/view/1234`` *should* be located at ``mod/my_plugin/pages/my_handler/view.php``."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:117
-# ee963f7189e64ff9a9d62d27d3c9d7c8
msgid "In the past, these scripts were included directly in the plugin root. Plugins *should not* do this anymore, and if any core plugins are found to do this, that is a bug if not present solely for the sake of backwards compatibility."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:121
-# dda97f7b9edb4cea82e172ab4104333c
msgid "The reason we encourage this structure is"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:123
-# d1b65afcfd6f4e70a3e269bf709e4247
msgid "To form a logical relationship between urls and scripts, so that people examining the code can have an idea of what it does just by examining the structure."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:124
-# 429df105b6a44f70a9504ecd07b5276a
msgid "To clean up the root plugin directory, which historically has quickly gotten cluttered with the page handling scripts."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:128
-# 87f5feadebf74a70be34ada48e971890
msgid "Classes"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:130
-# 486c2683b0e2421fb6fb74be3372d007
msgid "All classes that your plugin defines *should* be included in a ``classes/`` directory. This directory has special meaning to Elgg. Classes placed in this directory are autoloaded on demand, and do not need to be included explicitly."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:134
-# 840869b9264c4270895aac3cc585fefc
msgid "Each file **must** have exactly one class defined inside it. The file name **must** match the name of the one class that the file defines (except for the \".php\" suffix)."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:139
-# 5fa1fe9267264205aacbb11b2f50f10c
msgid "Files with a \".class.php\" extension will **not** be recognized by Elgg."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:142
-# 7147fbb2836d4da3804f4fc0994792f4
msgid "Vendors"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:144
-# c36c4246cb114dbbb6aa18357dd47618
msgid "Included third-party libraries of any kind *should* be included in the ``vendors/`` folder in the plugin root. Though this folder has no special significance to the Elgg engine, this has historically been the location where Elgg core stores its third-party libraries, so we encourage the same format for the sake of consistency and familiarity."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:147
-# 2a111905dc3046f78d411deb47fbc736
msgid "Lib"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:149
-# 0d2c6d88683d4537bce9bbec010d8c7f
msgid "Procedural code defined by your plugin *should* be placed in the `lib/` directory. Though this folder has no special significance to the Elgg engine, this has historically been the location where Elgg core stores its procedural code, so we encourage the same format for the sake of consistency and familiarity."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:154
-# 0c573992948f405aa815863bf1d9d6a1
msgid "In order to override core views, a plugin's views **must** be placed in a ``views/``. This directory has special meaning to Elgg as views defined here automatically override Elgg core's version of those views. For more info, see :doc:`/guides/views`."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:157
-# 2c88ded1886b45f19caf3671ed161a71
msgid "Javascript"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:159
-# 63310cb2f1174da1bc3a522b92d06a02
msgid "Javascript that will be included on every page *should* be put in the ``plugin/js`` view and your plugin *should* extend ``js/elgg`` with this view. Javascript that does not need to be included on every page *should* be put in a static javascript file under the ``js/`` directory. For more information on Javascript in Elgg, see :doc:`/guides/javascript`."
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:162
-# 118c6e87f85148da8daac78744389416
msgid "activate.php and deactivate.php"
msgstr ""
#: ../../guides/plugins/plugin-skeleton.rst:164
-# 997d026d732242da8cbc364cc308bd19
msgid "The ``activate.php`` and ``deactivate.php`` files contain procedural code that will run respectively upon plugin activation or deactivation. Use these files to perform one-time events such as registering a persistent admin notice, registering subtypes, or performing garbage collection when deactivated."
msgstr ""
#: ../../guides/river.rst:2
-# 31d5b488f6254e1298faa3d8a1c3a365
msgid "River"
msgstr ""
#: ../../guides/river.rst:4
-# 6198ffe3877f440aa84b36c58af1c414
msgid "Elgg natively supports the \"river\", an activity stream containing descriptions of activities performed by site members. This page gives an overview of adding events to the river in an Elgg plugin."
msgstr ""
#: ../../guides/river.rst:9
-# a382dc4c92af41f580d97f6f210d9001
msgid "Pushing river items"
msgstr ""
#: ../../guides/river.rst:11
-# ba81bf33fc1a4418b799a8010d722e72
msgid "Items are pushed to the activity river through a function call, which you must include in your plugins for the items to appear."
msgstr ""
#: ../../guides/river.rst:14
-# 28f0f2ed6d0e4ab096aeca5453478d75
msgid "Here we add a river item telling that a user has created a new blog post:"
msgstr ""
#: ../../guides/river.rst:27
-# 8c555e52de7240ee8f55b6dc005f23a3
msgid "All available parameters:"
msgstr ""
#: ../../guides/river.rst:29
-# a7791172e9e04e6ab2416fa607cb854f
msgid "``view`` => STR The view that will handle the river item (must exist)"
msgstr ""
#: ../../guides/river.rst:30
-# cd99d922be03437fa9e366f2a7e38a6c
msgid "``action_type`` => STR An arbitrary string to define the action (e.g. 'create', 'update', 'vote', 'review', etc)"
msgstr ""
#: ../../guides/river.rst:31
-# 3300f643eaea4bb48bf84705976426c8
msgid "``subject_guid`` => INT The GUID of the entity doing the action"
msgstr ""
#: ../../guides/river.rst:32
-# e0ca547b2b414f3689f66af942f4d806
msgid "``object_guid`` => INT The GUID of the entity being acted upon"
msgstr ""
#: ../../guides/river.rst:33
-# a05e0a744f6d47edb285056d8dcfb8eb
msgid "``target_guid`` => INT The GUID of the the object entity's container (optional)"
msgstr ""
#: ../../guides/river.rst:34
-# a6cc4956ae5f42fe8070d8d041a6a17d
msgid "``access_id`` => INT The access ID of the river item (default: same as the object)"
msgstr ""
#: ../../guides/river.rst:35
-# bad2afb8aa8f4f97890d460f80ab194a
msgid "``posted`` => INT The UNIX epoch timestamp of the river item (default: now)"
msgstr ""
#: ../../guides/river.rst:36
-# f30d940f1add4f4a9fd457afa69aa514
msgid "``annotation_id`` => INT The annotation ID associated with this river entry (optional)"
msgstr ""
#: ../../guides/river.rst:38
-# 9213baf596854f1086382f07a5df04d9
msgid "When an item is deleted or changed, the river item will be updated automatically."
msgstr ""
#: ../../guides/river.rst:41
-# eb3443bfed70417fa0cc09773673edd0
msgid "River views"
msgstr ""
#: ../../guides/river.rst:43
-# 5bbe346eb47e467981cd1b30d5502c7a
msgid "In order for events to appear in the river you need to provide a corresponding :doc:`view ` with the name specified in the function above."
msgstr ""
#: ../../guides/river.rst:46
-# ff2fe0311f0745e4b8ed21a8f397ff2f
msgid "We recommend ``/river/{type}/{subtype}/{action}``, where:"
msgstr ""
#: ../../guides/river.rst:48
-# c17e876823c24bc8b00811b676c3243d
msgid "{type} is the entity type of the content we're interested in (``object`` for objects, ``user`` for users, etc)"
msgstr ""
#: ../../guides/river.rst:49
-# 78dc770857a5455696c3034611b3b1eb
msgid "{subtype} is the entity subtype of the content we're interested in (``blog`` for blogs, ``photo_album`` for albums, etc)"
msgstr ""
#: ../../guides/river.rst:50
-# 0da2940218d448988a139c560a4eb913
msgid "{action} is the action that took place (''create'', ''update'', etc)"
msgstr ""
#: ../../guides/river.rst:52
-# b7d2284b427b41c28471733528eec729
msgid "River item information will be passed in an object called ``$vars['item']``, which contains the following important parameters:"
msgstr ""
#: ../../guides/river.rst:54
-# 826b25069e1a4de6804e4fac3548739a
msgid "``$vars['item']->subject_guid`` The GUID of the user performing the action"
msgstr ""
#: ../../guides/river.rst:55
-# b42642b443d640ac8485362795003ac4
msgid "``$vars['item']->object_guid`` The GUID of the entity being acted upon"
msgstr ""
#: ../../guides/river.rst:57
-# 3815c2f6f55a41eeb3f89740068268c8
msgid "Timestamps etc will be generated for you."
msgstr ""
#: ../../guides/river.rst:59
-# 3e3ae86ba40646389b4c4b0f5c8532c4
msgid "For example, the blog plugin uses the following code for its river view:"
msgstr ""
#: ../../guides/routing.rst:2
-# 31af78e253ee4915834af10a651576ee
msgid "Routing"
msgstr ""
#: ../../guides/routing.rst:4
-# dc667bbc18c34e6e8bb4266636980966
msgid "Add new pages and customize URLs."
msgstr ""
#: ../../guides/settings.rst:2
-# fd743ca430404fa7ae74710c5ffd18ca
msgid "Plugin settings"
msgstr ""
#: ../../guides/settings.rst:4
-# eaec4bb3b30c45faac1faeb172b64e25
msgid "You need to perform some extra steps if your plugin needs settings to be saved and controlled via the administration panel:"
msgstr ""
#: ../../guides/settings.rst:6
-# 0134fb2eeecd47cabcf8b6e1e0b46972
msgid "Create a file in your plugin’s default view folder called ``plugins/your_plugin/settings.php``, where ``your_plugin`` is the name of your plugin’s directory in the ``mod`` hierarchy"
msgstr ""
#: ../../guides/settings.rst:7
-# ede848a1adcc4a8d92d3f1667af143de
msgid "Fill this file with the form elements you want to display together with :doc:`internationalised ` text labels"
msgstr ""
#: ../../guides/settings.rst:8
-# 89bb4ec71eea4f4ba7a2bfe1ae6defc0
msgid "Set the name attribute in your form components to ``param[`varname`]`` where ``varname`` is the name of the variable. These will be saved as private settings attached to a plugin entity. So, if your variable is called ``param[myparameter]`` your plugin (which is also passed to this view as ``$vars['entity']``) will be called ``$vars['entity']->myparameter``"
msgstr ""
#: ../../guides/settings.rst:10
-# 3edf5f93f48947988ce987a7317a5a78
msgid "An example ``settings.php`` would look like:"
msgstr ""
#: ../../guides/settings.rst:27
-# ce7fa56e6b6244e4b8ba135484d63163
msgid "You don’t need to add a save button or the form, this will be handled by the framework."
msgstr ""
#: ../../guides/settings.rst:31
-# 441958dc23da4eab8099deb523e0d7c8
msgid "You cannot use form components that send no value when \"off.\" These include radio inputs and check boxes."
msgstr ""
#: ../../guides/settings.rst:34
-# 494d7d9ba88340ebab486843226cfef2
msgid "User settings"
msgstr ""
#: ../../guides/settings.rst:36
-# 31da8c4a21ad45efade4859708069063
msgid "Your plugin might need to store per user settings too, and you would like to have your plugin's options to appear in the user's settings page. This is also easy to do and follows the same pattern as setting up the global plugin configuration explained earlier. The only difference is that instead of using a ``settings`` file you will use ``usersettings``. So, the path to the user edit view for your plugin would be ``plugins/your_plugin/usersettings.php``."
msgstr ""
#: ../../guides/settings.rst:39
-# 07a38b10c9e545b2b9af37f951722c30
msgid "Retrieving settings in your code"
msgstr ""
#: ../../guides/settings.rst:41
-# f29b5ad5e5944c7d8af5e2bda52eee8c
msgid "To retrieve settings from your code use:"
msgstr ""
#: ../../guides/settings.rst:47
-# bdc507e1fb974652ab2c287aa5cfcbe0
msgid "or for user settings"
msgstr ""
#: ../../guides/settings.rst:53
-# 986e85e2d83b4d46bb11c70f36e0505a
msgid "where:"
msgstr ""
#: ../../guides/settings.rst:55
-# 3f02fdf2d40544d5a2a6687537285679
msgid "``$name`` Is the value you want to retrieve"
msgstr ""
#: ../../guides/settings.rst:56
-# 2fede03621da45d39c116e55b8b74c89
msgid "``$user_guid`` Is the user you want to retrieve these for (defaults to the currently logged in user)"
msgstr ""
#: ../../guides/settings.rst:57
-# e0ebc5758e384b49a6d0bb0ca1dd17fb
msgid "``$plugin_name`` Is the name of the plugin (detected if run from within a plugin)"
msgstr ""
#: ../../guides/settings.rst:60
-# 2c0d9e040fee4eaaa9d2a7b925bf2e9f
msgid "Setting values while in code"
msgstr ""
#: ../../guides/settings.rst:62
-# 6d0e99b6aa254e0f9aefcb4d6b5a84f4
msgid "Values may also be set from within your plugin code, to do this use one of the following functions:"
msgstr ""
#: ../../guides/settings.rst:68
-# 384ad41e0d664632876faa07c4f4fd0c
msgid "or"
msgstr ""
#: ../../guides/settings.rst:76
-# 47a2aa936d124fa284701f0aee140a2f
msgid "The ``$plugin_id`` needs to be provided when setting plugin (user)settings."
msgstr ""
#: ../../guides/themes.rst:2
-# 04149dc41798401fba45cb2d8557b218
msgid "Themes"
msgstr ""
#: ../../guides/themes.rst:4
-# 762dd9f334114109ba5cdcfa9e0de68a
msgid "Customize the look and feel of Elgg."
msgstr ""
#: ../../guides/themes.rst:6
-# df70d2c9ff674083b2957075b0d053ba
msgid "A theme is a type of :doc:`plugin ` that overrides display aspects of Elgg."
msgstr ""
#: ../../guides/themes.rst:10
-# 1c5d7fab59354ce28a1a196193fc81eb
msgid "This guide assumes you are familiar with:"
msgstr ""
#: ../../guides/themes.rst:17
-# e8989e49e8f4443084e8976d59a176a1
msgid "Create your plugin"
msgstr ""
#: ../../guides/themes.rst:19
-# f0abf79784da4ea885ec18557d152040
msgid "Create your plugin as described in the :doc:`developer guide `."
msgstr ""
#: ../../guides/themes.rst:21
-# 22d085a08ec94341a3f8bbd55f628dab
msgid "Create a new directory under mod/"
msgstr ""
#: ../../guides/themes.rst:22
-# 182ccbdeaa074c21a3937f2b848b6bcd
msgid "Create a new start.php"
msgstr ""
#: ../../guides/themes.rst:23
-# 2de6ff6786094ac1876d6dfec8bb201e
msgid "Create a manifest.xml file describing your theme."
msgstr ""
#: ../../guides/themes.rst:26
-# 1275ca3008d0494eb3ff7ad6c8f5ccd5
msgid "Customize the CSS"
msgstr ""
#: ../../guides/themes.rst:28
-# 2c3d39a693f34e67b624868ae28e3116
msgid "As of Elgg 1.8, the css is split into several files based on what aspects of the site you're theming. This allows you to tackle them one at a time, giving you a chance to make real progress without getting overwhelmed."
msgstr ""
#: ../../guides/themes.rst:33
-# 0f449eb7ac514296899bef23bac8625c
msgid "Here is a list of the existing CSS views:"
msgstr ""
#: ../../guides/themes.rst:35
-# c3b4cfc041424fb7b678ea588cf513d6
msgid "css/elements/buttons: Provides a way to style all the different kinds of buttons your site will use. There are 5 kinds of buttons that plugins will expect to be available: action, cancel, delete, submit, and special."
msgstr ""
#: ../../guides/themes.rst:36
-# 83d0d0c25f8944df9170d97496a9f1f9
msgid "css/elements/chrome: This file has some miscellaneous look-and-feel classes."
msgstr ""
#: ../../guides/themes.rst:37
-# c8b3ef6301a44b1b8f2928177a3cfe73
msgid "css/elements/components: This file contains many “css objects” that are used all over the site: media block, list, gallery, table, owner block, system messages, river, tags, photo, and comments."
msgstr ""
#: ../../guides/themes.rst:38
-# 4f630819f3694f0e986db24e1de1057d
msgid "css/elements/forms: This file determines what your forms and input elements will look like."
msgstr ""
#: ../../guides/themes.rst:39
-# 1fd7ad22d3de4d8ba1be97c09218189c
msgid "css/elements/icons: Contains styles for the sprite icons and avatars used on your site."
msgstr ""
#: ../../guides/themes.rst:40
-# 67b19909f89f4fe09fadc72f388d47ae
msgid "css/elements/layout: Determines what your page layout will look like: sidebars, page wrapper, main body, header, footer, etc."
msgstr ""
#: ../../guides/themes.rst:41
-# 76947294c0fd4e73a5fe53f7a2ca79a6
msgid "css/elements/modules: Lots of content in Elgg is displayed in boxes with a title and a content body. We called these modules. There are a few kinds: info, aside, featured, dropdown, popup, widget. Widget styles are included in this file too, since they are a subset of modules."
msgstr ""
#: ../../guides/themes.rst:42
-# 557da66056c348c48c5c09491478d9ed
msgid "css/elements/navigation: This file determines what all your menus will look like."
msgstr ""
#: ../../guides/themes.rst:43
-# 947263cdaa0348179a559508687e950b
msgid "css/elements/typography: This file determines what the content and headings of your site will look like."
msgstr ""
#: ../../guides/themes.rst:44
-# 8a5a2d1a577748ebb8542ddb4974eb6d
msgid "css/ie6: Custom rules for ie6 and below."
msgstr ""
#: ../../guides/themes.rst:45
-# 235df31dcaae48e98e0e02c8ed11ef8c
msgid "css/ie7: Custom rules for ie7 and below."
msgstr ""
#: ../../guides/themes.rst:46
-# 173544074a9a4e88806402f039d9049b
msgid "css/rtl: Custom rules for users viewing your site in a right-to-left language."
msgstr ""
#: ../../guides/themes.rst:47
-# b9bbe04d3e934bad988d63b968bf86c0
msgid "css/admin: A completely separate theme for the admin area (usually not overridden)."
msgstr ""
#: ../../guides/themes.rst:48
-# 5952bb130b024cc29ac7bd0dd4f4e2a7
msgid "css/elgg: Compiles all the core css/elements/\\* files into one file (DO NOT OVERRIDE)."
msgstr ""
#: ../../guides/themes.rst:49
-# b673b74b45a64863ac01d51a06105b5d
msgid "css/elements/core: Contains base styles for the more complicated “css objects”. If you find yourself wanting to override this, you probably need to report a bug to Elgg core instead (DO NOT OVERRIDE)."
msgstr ""
#: ../../guides/themes.rst:50
-# 849cef507c1c44de9b88be1d4ec2a576
msgid "css/elements/reset: Contains a reset stylesheet that forces elements to have the same default"
msgstr ""
#: ../../guides/themes.rst:54
-# 3f3701b2a11c4fd19eb39bd58196c2da
msgid "View extension"
msgstr ""
#: ../../guides/themes.rst:56
-# 7d76c9ba901f42a4b767f9a3d234fb6b
msgid "There are two ways you can modify views:"
msgstr ""
#: ../../guides/themes.rst:58
-# ea2b301e5a0a44d198fd776b4b968af6
msgid "The first way is to add extra stuff to an existing view via the extend view function from within your start.php’s initialization function."
msgstr ""
#: ../../guides/themes.rst:61
-# 552f4d2db24c4dc1a93382f756e7796f
msgid "For example, the following start.php will add mytheme/css to Elgg's core css file:"
msgstr ""
#: ../../guides/themes.rst:76
-# ae3ca252446b49309124affe8824aecc
msgid "View overloading"
msgstr ""
#: ../../guides/themes.rst:78
-# 93eb8031452a458baea73cfd2496081f
msgid "Plugins can have a view hierarchy, any file that exists here will replace any files in the existing core view hierarchy... so for example, if my plugin has a file:"
msgstr ""
#: ../../guides/themes.rst:82
-# 955a1281ea354aeca149b53a00e84b5b
msgid "``/mod/myplugin/views/default/css/elements/typography.php``"
msgstr ""
#: ../../guides/themes.rst:84
-# 9370830d020c41b6b5d92aecaf6b251a
msgid "it will replace:"
msgstr ""
#: ../../guides/themes.rst:86
-# ba047554ae23475eabbaae215bf5952d
msgid "``/views/default/css/elements/typography.php``"
msgstr ""
#: ../../guides/themes.rst:88
-# f53ccf3bd0c64b509a357c6e774d881f
msgid "But only when the plugin is active."
msgstr ""
#: ../../guides/themes.rst:90
-# 0f3477ff99f2401fa9afd33de406be5e
msgid "This gives you total control over the way Elgg looks and behaves. It gives you the option to either slightly modify or totally replace existing views."
msgstr ""
#: ../../guides/themes.rst:95
-# aed201c76fb54547b981329b4d608c4c
msgid "Tools"
msgstr ""
#: ../../guides/themes.rst:97
-# c63e4c6c5f9b47d6b0fcf0d867981073
msgid "Starting in Elgg 1.8, we've provided you with some development tools to help you with theming: Turn on the “Developers” plugin and go to the “Theme Preview” page to start tracking your theme's progress."
msgstr ""
#: ../../guides/themes.rst:102
-# 07a324e786744008b170144a49c89262
msgid "Customizing the front page"
msgstr ""
#: ../../guides/themes.rst:103
-# 598d010e188e417185aba5a774b92104
msgid "The main Elgg index page runs a plugin hook called 'index,system'. If this returns true, it assumes that another front page has been drawn and doesn't display the default page."
msgstr ""
#: ../../guides/themes.rst:107
-# 6d625caa7af7475e86af419af478e056
msgid "Therefore, you can override it by registering a function to the 'index,system' plugin hook and then returning true from that function."
msgstr ""
#: ../../guides/themes.rst:110
-# 187b99705b98480aac340da4ac2a307e
msgid "Here's a quick overview:"
msgstr ""
#: ../../guides/themes.rst:112
-# 74626aad0ed449d1859988796b751648
msgid "Create your new plugin"
msgstr ""
#: ../../guides/themes.rst:114
-# daad460d0a8a46729e16c3bbac9ab5e9
msgid "In the start.php you will need something like the following:"
msgstr ""
#: ../../guides/themes.rst:136
-# 1e1c9fc8247048f98d161506d36b8a9f
msgid "Then, create an index page (/pluginname/pages/index.php) and use that to put the content you would like on the front page of your Elgg site."
msgstr ""
#: ../../guides/upgrading.rst:2
-# ee34f7c900dc4f10a734a3517883175e
msgid "Upgrading Plugins"
msgstr ""
#: ../../guides/upgrading.rst:4
-# 5b0a4cf8f0b34035936a3df597c2b699
msgid "Prepare your plugin for the next version of Elgg."
msgstr ""
#: ../../guides/upgrading.rst:6
-# ebca176214804fcea75e35f356f256aa
msgid "See the administator guides for :doc:`how to upgrade a live site `."
msgstr ""
#: ../../guides/upgrading.rst:13
-# f5c2505433ee442da6dc495530a9d268
msgid "From 1.8 to 1.9"
msgstr ""
#: ../../guides/upgrading.rst:15
-# efcce5ea59b949609fa30ddddbc9acd7
msgid "In the examples we are upgrading an imaginary \"Photos\" plugin."
msgstr ""
#: ../../guides/upgrading.rst:17
-# a15016c936dd4afab24b5a69d22427ff
msgid "Only the key changes are included. For example some of the deprecated functions are not mentioned here separately."
msgstr ""
#: ../../guides/upgrading.rst:19
-# fb464619e6a747bd95908a71bc7d59c4
msgid "Each section will include information whether the change is backwards compatible with Elgg 1.8."
msgstr ""
#: ../../guides/upgrading.rst:22
-# 8e3abf1696064740b11637c4bee0e34d
msgid "The manifest file"
msgstr ""
#: ../../guides/upgrading.rst:24
-# ef8c6a095833469da94a1bf6c8899f75
msgid "No changes are needed if your plugin is compatible with 1.8."
msgstr ""
#: ../../guides/upgrading.rst:26
-# 5ac33ec3c5e84d77997de4c62d74aa51
msgid "It's however recommended to add the ```` tag. It's value should be the name of the directory where the plugin is located inside the ``mod/`` directory."
msgstr ""
#: ../../guides/upgrading.rst:28
-# 346e9523bbda46cf950b3e8085dee2d9
msgid "If you make changes that break BC, you must update the plugin version and the required Elgg release."
msgstr ""
#: ../../guides/upgrading.rst:30
-# 663ec767adb5450faafbde0d8eb70ac4
msgid "Example of (shortened) old version:"
msgstr ""
#: ../../guides/upgrading.rst:46
-# a7dcfcb9d0f44d30ba8b3c4a591da0fa
msgid "Example of (shortened) new version:"
msgstr ""
#: ../../guides/upgrading.rst:64
-# ea7a6df2ec824a48966f5c2461146f47
msgid "$CONFIG and $vars['config']"
msgstr ""
#: ../../guides/upgrading.rst:66
-# fda8f6b494f9403f930c9eeed0e3bad8
msgid "Both the global ``$CONFIG`` variable and the ``$vars['config']`` parameter have been deprecated. They should be replaced with the ``elgg_get_config()`` function."
msgstr ""
#: ../../guides/upgrading.rst:68
-# 8104b91dda82497d942a6eb2b72bdaff
msgid "Example of old code:"
msgstr ""
#: ../../guides/upgrading.rst:79
-# 4373b551ad3f4dc090652cc5fa4651b1
msgid "Example of new code:"
msgstr ""
#: ../../guides/upgrading.rst:87
#: ../../guides/upgrading.rst:276
-# 6f3205881cb24d10bd37d2c84135de58
-# 85fdf21298244f569be4793500e83d3b
msgid "Compatible with 1.8"
msgstr ""
#: ../../guides/upgrading.rst:91
-# c2cdf0b68af34aea89315dd3ffddef5a
msgid "See how the community_plugins plugin was updated: https://github.com/Elgg/community_plugins/commit/f233999bbd1478a200ee783679c2e2897c9a0483"
msgstr ""
#: ../../guides/upgrading.rst:94
-# 7f776df20be44cb897f0550283ebd83d
msgid "Language files"
msgstr ""
#: ../../guides/upgrading.rst:96
-# e80e89fa3f3c4c99a063e9f9fc146d8d
msgid "In Elgg 1.8 the language files needed to use the ``add_translation()`` function. In 1.9 it is enough to just return the array that was previously passed to the function as a parameter. Elgg core will use the file name (e.g. en.php) to tell which language the file contains."
msgstr ""
#: ../../guides/upgrading.rst:99
-# e809992f91f8448d966516e9549862b0
msgid "Example of the old way in ``languages/en.php``:"
msgstr ""
#: ../../guides/upgrading.rst:108
-# d32c31e52fd54553a6d0041656d9a062
msgid "Example of new way:"
msgstr ""
@@ -6051,1525 +4807,1215 @@ msgstr ""
#: ../../guides/upgrading.rst:208
#: ../../guides/upgrading.rst:304
#: ../../guides/upgrading.rst:366
-# ddeaa664e0624a488afcf5342ca1578f
-# a03d5842a2c44c50b54942c02979dc57
-# 0261af98c9c24f739ab775c065522a79
-# f6877aaae0f148408607e43f5f8b0251
msgid "Not compatible with 1.8"
msgstr ""
#: ../../guides/upgrading.rst:123
-# fe8b4da64c6b4d0499a920830b3254d8
msgid "One of the biggest changes in Elgg 1.9 is the notifications system. The new system allows more flexible and scalable way of sending notifications."
msgstr ""
#: ../../guides/upgrading.rst:125
#: ../../guides/upgrading.rst:226
#: ../../guides/upgrading.rst:311
-# 8ba8b173598c4d29add94353c501eab1
-# 1dc78abb99044fa196feef379b8edd42
-# 90643074cba04e07a78abc3ac38962a2
msgid "Example of the old way:"
msgstr ""
#: ../../guides/upgrading.rst:164
#: ../../guides/upgrading.rst:246
#: ../../guides/upgrading.rst:332
-# bd2eaac8051242d394706105843301e9
-# 625b568d740d43b28e564b15d5c70c6d
-# 6f1cb3943ba84203b1aaa6b010b84e54
msgid "Example of the new way:"
msgstr ""
#: ../../guides/upgrading.rst:212
-# 42869874c8994c91bb453c5390b29a50
msgid "See how the community_plugins plugin was updated to use the new system: https://github.com/Elgg/community_plugins/commit/bfa356cfe8fb99ebbca4109a1b8a1383b70ff123"
msgstr ""
#: ../../guides/upgrading.rst:214
-# 8dc9081e1ca24d8882e09509b02a21b6
msgid "Notifications can also be sent with the ``notify_user()`` function."
msgstr ""
#: ../../guides/upgrading.rst:216
-# 9208abcb5b24413eac24d8ec6f2bb9ca
msgid "It has however been updated to support three new optional parameters passed inside an array as the fifth parameter."
msgstr ""
#: ../../guides/upgrading.rst:218
-# 79d7cff41f1942cc870929f19c4d6013
msgid "The parameters give notification plugins more control over the notifications, so they should be included whenever possible. For example the bundled site_notifications plugin won't work properly if the parameters are missing."
msgstr ""
#: ../../guides/upgrading.rst:220
-# 1811bddb24bb4a568219e8b7757cda95
msgid "Parameters:"
msgstr ""
#: ../../guides/upgrading.rst:222
-# 10d5340badb546e6a0465f2a471db7a0
msgid "**object** The object that we are notifying about (e.g. ElggEntity or ElggAnnotation). This is needed so that notification plugins can provide a link to the object."
msgstr ""
#: ../../guides/upgrading.rst:223
-# b1f9cd0e967a45b985407af1bf2852d0
msgid "**action** String that describes the action that triggered the notification (e.g. \"create\", \"update\", etc)."
msgstr ""
#: ../../guides/upgrading.rst:224
-# 68b723c6ade14c499fe17056463c5383
msgid "**summary** String that contains a summary of the notification. (It should be more informative than the notification subject but less informative than the notification body.)"
msgstr ""
#: ../../guides/upgrading.rst:279
-# f7680b1657ef4d2a8fd6db3e5124de82
msgid "Adding items to the Activity listing"
msgstr ""
#: ../../guides/upgrading.rst:294
-# 599da105573e4e5d8744bb4df90e7326
msgid "You can also add the optional ``target_guid`` parameter which tells the target of the create action."
msgstr ""
#: ../../guides/upgrading.rst:296
-# 34389f49b4ec4f9fb0665a804b923f65
msgid "If the photo would had been added for example into a photo album, we could add it by passing in also:"
msgstr ""
#: ../../guides/upgrading.rst:307
-# 12ba082982ad45999f7cf3bb095b16a2
msgid "Entity URL handlers"
msgstr ""
#: ../../guides/upgrading.rst:309
-# 522b31ff923f4fff9ef1429e358e1d93
msgid "The ``elgg_register_entity_url_handler()`` function has been deprecated. In 1.9 you should use the ``'entity:url', 'object'`` plugin hook instead."
msgstr ""
#: ../../guides/upgrading.rst:369
#: ../../guides/web-services.rst:2
-# 76e45737458d4a448755275baaf5b6e6
-# 3526a138f75348188d87cc3bdc0f19c1
msgid "Web services"
msgstr ""
#: ../../guides/upgrading.rst:371
-# 5ea1500c62184b3d83a022a6860854e1
msgid "In Elgg 1.8 the web services API was included in core and methods were exposed using ``expose_function()``. To enable the same functionality for Elgg 1.9, enable the \"Web services 1.9\" plugin and replace all calls to ``expose_function()`` with ``elgg_ws_expose_function()``."
msgstr ""
#: ../../guides/upgrading.rst:377
-# 6dac6d3f2b764dfa8cde08406e6d6ea8
msgid "From 1.7 to 1.8"
msgstr ""
#: ../../guides/upgrading.rst:378
-# 5261f12b887b4c578871e1112930a024
msgid "Elgg 1.8 is the biggest leap forward in the development of Elgg since version 1.0. As such, there is more work to update core and plugins than with previous upgrades. There were a small number of API changes and following our standard practice, the methods we deprecated have been updated to work with the new API. The biggest changes are in the standardization of plugins and in the views system."
msgstr ""
#: ../../guides/upgrading.rst:386
-# 50254a6648f34e29bb93b26dbd5fb6ae
msgid "Updating core"
msgstr ""
#: ../../guides/upgrading.rst:387
-# 7ec44062ba854fe3a8e616d907ce847e
msgid "Delete the following core directories (same level as _graphics and engine):"
msgstr ""
#: ../../guides/upgrading.rst:389
-# c578090b79e14b95960b62a9f78b755b
msgid "_css"
msgstr ""
#: ../../guides/upgrading.rst:390
-# c90b361d743e41ae825341eb241be8fc
msgid "account"
msgstr ""
#: ../../guides/upgrading.rst:391
-# 1a9f9cfc6a424befb71c1d8458b58780
msgid "admin"
msgstr ""
#: ../../guides/upgrading.rst:392
-# 8226de87cf904ccea73d684c61b44571
msgid "dashboard"
msgstr ""
#: ../../guides/upgrading.rst:393
-# d95ce78945074466a096e920f94cf9fb
msgid "entities"
msgstr ""
#: ../../guides/upgrading.rst:394
-# 8d6cf7fe2222417dae5458e5d89e55db
msgid "friends"
msgstr ""
#: ../../guides/upgrading.rst:395
-# 14603ee0f4f44e2995f4aa51c1434c04
msgid "search"
msgstr ""
#: ../../guides/upgrading.rst:396
-# bd6783b4915449dea1a8e20d9f88d75e
msgid "settings"
msgstr ""
#: ../../guides/upgrading.rst:397
-# 986d46ed06474cbc9e4d78b12d80f615
msgid "simplecache"
msgstr ""
#: ../../guides/upgrading.rst:398
-# 8f28f337f8894d2791f68802025f586c
msgid "views"
msgstr ""
#: ../../guides/upgrading.rst:402
-# 213a58c0981d49debfb147a7ef2b3705
msgid "If you do not delete these directories before an upgrade, you will have problems!"
msgstr ""
#: ../../guides/upgrading.rst:406
-# 99311f083027492f820b12be6d0d5697
msgid "Updating plugins"
msgstr ""
#: ../../guides/upgrading.rst:410
-# 3550323c165949309a75a163216fba48
msgid "All: /page_handler/all"
msgstr ""
#: ../../guides/upgrading.rst:411
-# e1df31f26bcf4978a32199e3bcbef374
msgid "User’s content: /page_handler/owner/:username"
msgstr ""
#: ../../guides/upgrading.rst:412
-# fa4a752d5ee0441ea7bd81aecff41fab
msgid "User’s friends' content: /page_handler/friends/:username"
msgstr ""
#: ../../guides/upgrading.rst:413
-# ac5e1b63f42c42ab8505b16bae668c51
msgid "Single entity: /page_handler/view/:guid/:title"
msgstr ""
#: ../../guides/upgrading.rst:414
-# 0b06420057e54ad19a109697fa8a7f2b
msgid "Added: /page_handler/add/:container_guid"
msgstr ""
#: ../../guides/upgrading.rst:415
-# bcd8e2918fd549798f146d2f9332e4f1
msgid "Editing: /page_handler/edit/:guid"
msgstr ""
#: ../../guides/upgrading.rst:416
-# 6313645f43884c4291711f1b7dba2708
msgid "Group list: /page_handler/group/:guid/all"
msgstr ""
#: ../../guides/upgrading.rst:420
-# 8a1d82261ec846f09c23287e59dddc6b
msgid "Include page handler scripts from the page handler"
msgstr ""
#: ../../guides/upgrading.rst:421
-# 807413ef4c7a4ab8a1f2cebd11341f22
msgid "Almost every page handler should have a page handler script. (Example: ``bookmarks/all => mod/bookmarks/pages/bookmarks/all.php``)"
msgstr ""
#: ../../guides/upgrading.rst:425
-# 04856b06ab134b7788b027a3cbebe893
msgid "Call ``gatekeeper()`` and ``admin_gatekeeper()`` in the page handler function if required."
msgstr ""
#: ../../guides/upgrading.rst:426
-# f6dab66f69ef4f2a83633157192e611e
msgid "The group URL should use the ``pages/:handler/owner.php`` script."
msgstr ""
#: ../../guides/upgrading.rst:428
-# c331f49f20af4c20bc9a6f3872ba5da0
msgid "Update the URLs throughout the plugin. (Don't forget to remove ``/pg/``!)"
msgstr ""
#: ../../guides/upgrading.rst:433
-# 4ad6a32dd1a74db48856d721989c3194
msgid "Store page handler scripts in ``mod/:plugin/pages/:page_handler/:page_name.php``"
msgstr ""
#: ../../guides/upgrading.rst:434
-# c18a018f78694a0b9b747801cb0459e2
msgid "Use the content page layout in page handler scripts:"
msgstr ""
#: ../../guides/upgrading.rst:440
-# 4a2bb0e4008641f7afd116fc63713c03
msgid "Page handler scripts should not contain HTML."
msgstr ""
#: ../../guides/upgrading.rst:442
-# 704f0304fdf54a95b5ac8e2a7ecbf364
msgid "No need to set page owner if the URLs are in the standardized format."
msgstr ""
#: ../../guides/upgrading.rst:443
-# 6ac0709973dd423e9cacae142a84f07a
msgid "For group content, check the container_guid by using elgg_get_page_owner_entity()."
msgstr ""
#: ../../guides/upgrading.rst:447
-# 49262190638b4e58882f31bfea048629
msgid "The ``object/:subtype`` view"
msgstr ""
#: ../../guides/upgrading.rst:448
-# 26cb2f7353424a958e860c1a061e9da1
msgid "Make sure there are views for ``$vars['full_view'] == true`` and ``$vars['full_view'] == false``. ``$vars['full_view']`` replaced ``$vars['full]``."
msgstr ""
#: ../../guides/upgrading.rst:449
-# 97b5debd44f24402ae4b6207e06a8976
msgid "Check for the object in ``$vars['entity']``. Use ``elgg_instance_of()`` to make sure it's the type of entity you want."
msgstr ""
#: ../../guides/upgrading.rst:450
-# ec66cd2bb92b428dad78df128cf871b6
msgid "Return ``true`` to short circuit the view if the entity is missing or wrong."
msgstr ""
#: ../../guides/upgrading.rst:451
-# 797b121846444752b9545a41aa6946bc
msgid "Use ``elgg_view(‘object/elements/summary’, array(‘entity’ => $entity));`` and ``elgg_view_menu(‘entity’, array(‘entity’ => $entity));`` to help format. You should use very little markup in these views."
msgstr ""
#: ../../guides/upgrading.rst:455
-# 0dd68ea6df5c42318ca28b552aa59424
msgid "Update action structure"
msgstr ""
#: ../../guides/upgrading.rst:459
-# d4ac5a615ad94fdcb5dcac671c21c52d
msgid "Add: ``action/:plugin/save``"
msgstr ""
#: ../../guides/upgrading.rst:460
-# 58d90403c4b9482fb71941a23b946304
msgid "Edit: ``action/:plugin/save``"
msgstr ""
#: ../../guides/upgrading.rst:461
-# e8d8e915360a4d12ad122bce61636d40
msgid "Delete: ``action/:plugin/delete``"
msgstr ""
#: ../../guides/upgrading.rst:463
-# 8ee875224c264be7b145fd9cf511f890
msgid "Make the delete action accept ``action/:handler/delete?guid=:guid`` so the metadata entity menu has the correct URL by default."
msgstr ""
#: ../../guides/upgrading.rst:467
-# a8359d92cb49487381defe1cddcd5063
msgid "Update deprecated functions"
msgstr ""
#: ../../guides/upgrading.rst:468
-# 8d0799d366da4f4f8471fe1e14ac909b
msgid "Functions deprecated in 1.7 will produce visible errors in 1.8."
msgstr ""
#: ../../guides/upgrading.rst:470
-# 6fd2a0ded03a41efa46e3a5d830f67d5
msgid "See ``/engine/lib/deprecated-1.7.php`` for the full list."
msgstr ""
#: ../../guides/upgrading.rst:472
-# 2619de99a3be4c95b541083cd826eb0b
msgid "You can also update functions deprecated in 1.8."
msgstr ""
#: ../../guides/upgrading.rst:474
-# 8ce6ff567c5b45e58d93da963765ca7c
msgid "Many registration functions simply added an ``elgg_`` prefix for consistency, and should be easy to update."
msgstr ""
#: ../../guides/upgrading.rst:475
-# baedd45c264548f1834ef9ecf813e99e
msgid "See ``/engine/lib/deprecated-1.8.php`` for the full list."
msgstr ""
#: ../../guides/upgrading.rst:476
-# 31855668257d4fcaa12af99f474f2741
msgid "You can set the debug level to “warning” to get visual reminders of deprecated functions."
msgstr ""
#: ../../guides/upgrading.rst:480
-# 3545fa9f536b4cc19a09e960bf04eecd
msgid "Update the widget views"
msgstr ""
#: ../../guides/upgrading.rst:481
-# 23d3b80093024eb38d3104a76f0babe0
msgid "See the blog or file widgets for examples."
msgstr ""
#: ../../guides/upgrading.rst:485
-# 1a41374bb272438d947e9c1827ea7417
msgid "Update the group profile module"
msgstr ""
#: ../../guides/upgrading.rst:486
-# f65e03eeff6a4a518f259862394efb6e
msgid "Use the blog or file plugins for examples. This will help with making your plugin themeable by the new CSS framework."
msgstr ""
#: ../../guides/upgrading.rst:490
-# 2c4defa4edf74014a131997554f386c9
msgid "Update forms"
msgstr ""
#: ../../guides/upgrading.rst:491
-# 565a0bed6e6c47d1a93053a03a52a9a4
msgid "Move form bodies to the ``forms/:action`` view to use Evan's new ``elgg_view_form``."
msgstr ""
#: ../../guides/upgrading.rst:492
-# ffc52d5971e042148a19b864432fe638
msgid "Use input views in form bodies rather than html. This helps with theming and future-proofing."
msgstr ""
#: ../../guides/upgrading.rst:493
-# 5a6408cc8ad24e879a847f18b5db6a61
msgid "Add a function that prepares the form (see ``mod/file/lib/file.php`` for an example)"
msgstr ""
#: ../../guides/upgrading.rst:494
-# ed3c4981f8aa4162a08cafca5c27e7d3
msgid "Make your forms sticky (see the file plugin's upload action and form prepare function)."
msgstr ""
#: ../../guides/upgrading.rst:496
-# 4aa180beca984b59ba9b3b9ddf42b506
msgid "The forms API is discussed in more detail in :doc:`/guides/actions`."
msgstr ""
#: ../../guides/upgrading.rst:501
-# 50dcf19d31e742bdb61d5944686a39a9
msgid "We have added many CSS patterns to the base CSS file (modules, image block, spacing primitives). We encourage you to use these patterns and classes wherever possible. Doing so should:"
msgstr ""
#: ../../guides/upgrading.rst:503
-# 1c3046f86dfd42249fc35079414cfd77
msgid "Reduce maintenance costs, since you can delete most custom CSS."
msgstr ""
#: ../../guides/upgrading.rst:504
-# 000e1dc8ee6044d0a9b7effd7d93f496
msgid "Make your plugin more compatible with community themes."
msgstr ""
#: ../../guides/upgrading.rst:506
-# b2a03b389e144019ad9ab6a34218af35
msgid "Look for patterns that can be moved into core if you need significant CSS."
msgstr ""
#: ../../guides/upgrading.rst:508
-# 00d850f2894e4cf98adf0de565e86e25
msgid "We use hyphens rather than underscores in classes/ids and encourage you do the same for consistency."
msgstr ""
#: ../../guides/upgrading.rst:510
-# f62e08243e7840038a35355ad532b9b7
msgid "If you do need your own CSS, you should use your own namespace, rather than ``elgg-``."
msgstr ""
#: ../../guides/upgrading.rst:514
-# 9c943db6720b456f8e9a2e1609ab4fd7
msgid "Update manifest.xml"
msgstr ""
#: ../../guides/upgrading.rst:515
-# 270fafe1b404481898544f27143a76c6
msgid "Use http://el.gg/manifest17to18 to automate this."
msgstr ""
#: ../../guides/upgrading.rst:516
-# d9048f56cfa847469803f8cf20642068
msgid "Don't use the \"bundled\" category with your plugins. That is only for plugins distributed with Elgg."
msgstr ""
#: ../../guides/upgrading.rst:520
-# aaf09e74b372409196552c8f474329f5
msgid "Update settings and user settings views"
msgstr ""
#: ../../guides/upgrading.rst:521
-# b05cb575090b43c48311ef06da92a768
msgid "The view for settings is now ``plugins/:plugin/settings`` (previously ``settings/:plugin/edit``)."
msgstr ""
#: ../../guides/upgrading.rst:522
-# 7c3096f15e6a4c07bd62216207f2e2fc
msgid "The view for user settings is now ``plugins/:plugin/usersettings`` (previously ``usersettings/:plugin/edit``)."
msgstr ""
#: ../../guides/views.rst:9
-# 25c368b307fe44b5867d832cf6bc1368
msgid "Introduction"
msgstr ""
#: ../../guides/views.rst:11
-# 3b84c28a347a4b3c9e8aa5ec1da5c79a
msgid "Elgg follows a MVC pattern and Views are the V in MVC. Views are responsible for creating the output. Generally, this will be HTML sent to a web browser, but it could also be RSS, JSON or any number of other data formats."
msgstr ""
#: ../../guides/views.rst:13
-# 02c9c4beb01343dab14d097337141f5f
msgid "The Views system handles everything from the layout of pages and chunks of presentation output (like a footer or a toolbar) down to individual links and form inputs. It also allows for advanced features like automatic RSS generation, a swift-to-develop mobile interface, and the alternative interfaces suggested below."
msgstr ""
#: ../../guides/views.rst:16
-# a73d692a2e6a48f09c6b266161ca9bb2
msgid "Using views"
msgstr ""
#: ../../guides/views.rst:18
-# 9408c311ddf14c349662b3f02f7a53cb
msgid "At their most basic level, the default views are just PHP files with snippets of html. For example:"
msgstr ""
#: ../../guides/views.rst:24
-# c2d38e17d27e41c89eb19d65ab49f550
msgid "Assuming this view is located at ``/views/default/hello.php``, we could output it like so:"
msgstr ""
#: ../../guides/views.rst:30
-# 8f0c21a9e73a422c9a9d840ee5658757
msgid "For your convenience, Elgg comes with quite a lot of views by default. In order to keep things manageable, they are organized into subdirectories. Elgg handles this situation quite nicely. For example, our simple view might live in ``/views/default/hello/world.php``, in which case it would be called like so:"
msgstr ""
#: ../../guides/views.rst:36
-# e8033ed85a9e411c95c3d7ee42e980a1
msgid "Well that's easy enough to remember! The name of the view simply reflects the location of the view in the views directory."
msgstr ""
#: ../../guides/views.rst:39
-# a246d1abb2f0448d81732250959542cb
msgid "Views as templates"
msgstr ""
#: ../../guides/views.rst:41
-# 1cae1a349b304be592d81b9396efd565
msgid "Views would be pretty useless if they could only contain static information. Fortunately, you can pass arbitrary data to a view via the ``$vars`` array. Our ``hello/world`` view might be modified to accept a variable like so:"
msgstr ""
#: ../../guides/views.rst:47
-# 34c7851883b0489ca7e43e440f05b0e0
msgid "In this case, we can pass an arbitrary name parameter to the view like so:"
msgstr ""
#: ../../guides/views.rst:53
-# 5fe29c719fa54bb99bd0ebdf273927ef
msgid "which would produce the following output:"
msgstr ""
#: ../../guides/views.rst:60
-# 4a8198250582417a9fc96086bc12f0b2
msgid "Overriding views in plugins"
msgstr ""
#: ../../guides/views.rst:62
-# 5276bff414ba4da2808ad4b9d7365218
msgid "You may want to change the output or rendering strategy of a view that Elgg provides by default. Fortunately, Elgg's plugin system makes this easy. Each plugin may have its own ``/views`` directory, with its own viewtypes. Views in plugin directories always override views in the core directory, so this allows you to customize the behavior of any number of views without touching Elgg core."
msgstr ""
#: ../../guides/views.rst:64
-# 32edc215e81349dbbd8a3f0602f1b7b2
msgid "For example, if we wanted to customize the ``hello/world`` view to use an ``h2`` instead of an ``h1``, we could create a file at ``/mod/example/views/default/hello/world.php`` like this:"
msgstr ""
#: ../../guides/views.rst:70
-# 9fbda38442114e60bc7fbe06e5381f4e
msgid "While it is **not recommended**, one *could* alternatively force the location of a view using the ``set_view_location`` function:"
msgstr ""
#: ../../guides/views.rst:76
-# adaa047ac0e6499fa02c0767d39c3482
msgid "Again, the best way to override views is to place them in the appropriate place in the views hierarchy."
msgstr ""
#: ../../guides/views.rst:80
-# c4167a0f1b724785ab9ab2d5e6dfa5ec
msgid "When considering long-term maintenance, overriding views in the core and bundled plugins has a cost: Upgrades may bring changes in views, and if you have overridden them, you will not get those changes. You may want to use :ref:`post processing ` if the change you're making can be easily made with string replacement methods."
msgstr ""
#: ../../guides/views.rst:84
-# 5ff786c273b94688a229ccf16834afd1
msgid "Elgg caches view locations. This means that you should disable the system cache while working with views. When you install the changes to a production environment you mush flush the caches."
msgstr ""
#: ../../guides/views.rst:89
-# 114f7a4f625c411abef42625e08a5c03
msgid "Viewtypes"
msgstr ""
#: ../../guides/views.rst:91
-# 2e5a91a50af44f7a83ea3975a0c804f9
msgid "You might be wondering, \"what's with the 'default' in the directory structure? Why don't we just put the ``hello/world`` view at ``/views/hello/world.php``?\"."
msgstr ""
#: ../../guides/views.rst:93
-# d601e890d12e41e581f90ff3ac143bfc
msgid "Great question."
msgstr ""
#: ../../guides/views.rst:95
-# efb18e4798a84451a8c5e73da1690469
msgid "This subdirectory (the one under ``/views``) determines the *viewtype* of the views below it. It's possible that you might want your Elgg site to have several sets of interface pages. For example:"
msgstr ""
#: ../../guides/views.rst:97
-# 72bf7dd5064349efbc5bf7d2c8e29bf1
msgid "Standard HTML for desktop browsing (This is the default view)"
msgstr ""
#: ../../guides/views.rst:98
-# ad00bebfa08f4a149c2144a27b700df0
msgid "HTML optimized for Mobile devices (iPhone, Android, Blackberry, etc.)"
msgstr ""
#: ../../guides/views.rst:99
-# 08235195ce52402383cc155c4f24848a
msgid "HTML optimized Tablet devices (iPad, etc.)"
msgstr ""
#: ../../guides/views.rst:100
-# 7cd1ed202d6344718486c552b4cf8abd
msgid "RSS"
msgstr ""
#: ../../guides/views.rst:101
-# 792b80d3b19c47c9b6cda3a4615cb87d
msgid "Atom"
msgstr ""
#: ../../guides/views.rst:102
-# d2d3dfeb1b044c7b9e87a76fc251ce39
msgid "JSON"
msgstr ""
#: ../../guides/views.rst:103
-# eb11f6b903df4020887cb05cdfb7dcc4
msgid "etc..."
msgstr ""
#: ../../guides/views.rst:105
-# 5ff4b61d9e9749e692d15e12c8199ba2
msgid "In Elgg, one set of these interface pages is called a *viewtype*. You can force Elgg to use a particular viewtype to render the page simply by setting the ``$view`` input variable. For example, to get an RSS version of the home page, you would access ``http://localhost/elgg/?view=rss``."
msgstr ""
#: ../../guides/views.rst:107
-# d28695c2726b463a8d281987c026aac2
msgid "You could also write a plugin to set this automatically using the ``set_input()`` function. For example, your plugin might detect that the page was accessed with an iPhone's browser string, and set the viewtype to *handheld* by calling:"
msgstr ""
#: ../../guides/views.rst:113
-# a5e3e3cda79b42e7badc58b0a1d78210
msgid "The plugin would presumably also supply a set of views optimized for handheld devices."
msgstr ""
#: ../../guides/views.rst:116
-# e32050cdb70c4e1c9b91e143444e577e
msgid "Extending views"
msgstr ""
#: ../../guides/views.rst:118
-# f7100184a8f54450a5325f9fbe6e9da9
msgid "There may be other situations in which you don't want to override the whole view, you just want to add some more content to the end of it. In Elgg this is called *extending* a view."
msgstr ""
#: ../../guides/views.rst:120
-# 027b8c90880a426589ddab0dd6b5f11c
msgid "For example, instead of overriding the ``hello/world`` view, we could extend it like so:"
msgstr ""
#: ../../guides/views.rst:126
-# 4637561e3a38403b9a0404101d38f423
msgid "If the contents of ``/views/default/hello/greeting.php`` is:"
msgstr ""
#: ../../guides/views.rst:132
-# ad92ba53c8e44266aa14ee9bfefd640b
msgid "Then every time we call ``elgg_view('hello/world');``, we'll get:"
msgstr ""
#: ../../guides/views.rst:139
-# f6116a33e2474eea8ca94d344072365a
msgid "You can also optionally prepend views as well by passing a value to the 3rd parameter that is less than 500:"
msgstr ""
#: ../../guides/views.rst:149
-# ce1043d3c0fe427db8a92c667817faf3
msgid "Note that if you extend the core css view like this:"
msgstr ""
#: ../../guides/views.rst:155
-# 8b14b7bb278747a98ebf2583980457d8
msgid "You **must** do so within code that is executed by engine/start.php (normally this would mean your plugin's init code). Because the core css view is loaded separately via a `` `` tag, any extensions you add will not have the same context as the rest of your page."
msgstr ""
#: ../../guides/views.rst:160
-# 538a1dd3ed374931aa9fe94b0e3296f2
msgid "Post processing views"
msgstr ""
#: ../../guides/views.rst:162
-# e3c2a0338dba4b5c80a3445b376e337b
msgid "Sometimes it is preferable to process or rewrite the output of a view instead of overriding it."
msgstr ""
#: ../../guides/views.rst:164
-# 726fd3eeb30d46cfa4be3ec47fe7c243
msgid "The output of each view is run through the :ref:`plugin hook ` ``[view, view_name]`` before being returned by ``elgg_view()``. Each registered handler function is passed these arguments:"
msgstr ""
#: ../../guides/views.rst:166
-# e77cfe40da224a4ab2742f67ac191c28
msgid "``$hook`` - the string ``\"view\"``"
msgstr ""
#: ../../guides/views.rst:167
-# d36001e451f244cb8ccc2f2e143c4cd5
msgid "``$type`` - the view name being rendered (the first argument passed to ``elgg_view()``)"
msgstr ""
#: ../../guides/views.rst:168
-# 7d09b97b377f40afa6a2c309b9aea216
msgid "``$returnvalue`` - the rendered output of the view (or the return value of the last handler)"
msgstr ""
#: ../../guides/views.rst:169
-# 871e0833c0884067afa8849606a13183
msgid "``$params`` - an array containing the key ``viewtype`` with value being the :ref:`viewtype ` being rendered"
msgstr ""
#: ../../guides/views.rst:171
-# 7333f228aba64a9cacd0b379ef53fa7b
msgid "To alter the view output, the handler just needs to alter ``$returnvalue`` and return a new string."
msgstr ""
#: ../../guides/views.rst:174
-# 22b49a691f904d9dadc3402cee2c16c6
msgid "Post pocessing view example"
msgstr ""
#: ../../guides/views.rst:176
-# bb91ba58b658424088a395ae0d82da59
msgid "Here we'll eliminate breadcrumbs that don't have at least one link."
msgstr ""
#: ../../guides/views.rst:197
-# e2ce9f38755547d9b05d7047b51d5614
msgid "If you don't know what an entity is, :doc:`check this page out first `."
msgstr ""
#: ../../guides/views.rst:199
-# c3721a55bc8944db859ad3ec698499ba
msgid "The following code will automatically display the entity in ``$entity``:"
msgstr ""
#: ../../guides/views.rst:205
-# 86b9ee5b2b2542f982dbe34ac93e225d
msgid "As you'll know from the data model introduction, all entities have a *type* (object, site, user or group), and optionally a subtype (which could be anything - 'blog', 'forumpost', 'banana'). ``elgg_view_entity`` will automatically look for a view called ``type/subtype``; if there's no subtype, it will look for ``type/type``. Failing that, before it gives up completely it tries ``type/default``. (RSS feeds in Elgg generally work by outputting the ``object/default`` view in the 'rss' viewtype.)"
msgstr ""
#: ../../guides/views.rst:207
-# 6ec2d397ce1441fabe7c503eb3ff3eeb
msgid "So for example, the view to display a blogpost might be ``object/blog``. The view to display a user is ``user/user``."
msgstr ""
#: ../../guides/views.rst:210
-# 750992750b6f41e693e595cc498c8f96
msgid "Full and partial entity views"
msgstr ""
#: ../../guides/views.rst:212
-# 14330cf8ef054f32bbc12ee4100d9006
msgid "``elgg_view_entity`` actually has a number of parameters, although only the very first one is required. The first three are:"
msgstr ""
#: ../../guides/views.rst:214
-# f8d734aeff104bbb9cca5bf7218d6d54
msgid "``$entity`` - The entity to display"
msgstr ""
#: ../../guides/views.rst:215
-# 6f7e9828eb204a009b800ac3e7690fa0
msgid "``$viewtype`` - The viewtype to display in (defaults to the one we're currently in, but it can be forced - eg to display a snippet of RSS within an HTML page)"
msgstr ""
#: ../../guides/views.rst:216
-# 6a7ce94bf0aa4c86bc66826565483235
msgid "``$full_view`` - Whether to display a *full* version of the entity. (Defaults to false.)"
msgstr ""
#: ../../guides/views.rst:218
-# 811dddf1e5034c10814f8903e51b2ee8
msgid "This last parameter is passed to the view as ``$vars['full_view']``. It's up to you what you do with it; the usual behaviour is to only display comments and similar information if this is set to true."
msgstr ""
#: ../../guides/views.rst:223
-# 6d45b09ef6534de6994d87cf1c051e19
msgid "Listing entities"
msgstr ""
#: ../../guides/views.rst:225
-# 2c9e6906c6754f1d8ccd08ed7e5d5a1c
msgid "This is then used in the provided listing functions. To automatically display a list of blog posts (:doc:`see the full tutorial `), you can call:"
msgstr ""
#: ../../guides/views.rst:234
-# 0bb2826f7ba14855a9214651cb2119d1
msgid "This function checks to see if there are any entities; if there are, it first displays the ``navigation/pagination`` view in order to display a way to move from page to page. It then repeatedly calls ``elgg_view_entity`` on each entity, before returning the result."
msgstr ""
#: ../../guides/views.rst:236
-# 37643cae9ada4e5f8736d7eb50be0d63
msgid "Because it does this, Elgg knows that it can automatically supply an RSS feed - it extends the ``metatags`` view (which is called by the header) in order to provide RSS autodiscovery, which is why you can see the orange RSS icon on those pages."
msgstr ""
#: ../../guides/views.rst:238
-# b197a73098f74e4baa510c06d7ae35cb
msgid "See also :doc:`check this page out first `."
msgstr ""
#: ../../guides/views.rst:241
-# eddacc50278e4af69364c5c598e3b5b3
msgid "Using a different templating system"
msgstr ""
#: ../../guides/views.rst:243
-# b2ff30b0415a4d609288919655245388
msgid "You can write your own templating system if you want to."
msgstr ""
#: ../../guides/views.rst:245
-# eedd590bc5cc4e96bcd01c315f8e8dc5
msgid "Before going through the motions of drawing views, Elgg checks the ``$CONFIG->template_handler`` variable to see if it contains the name of a callable function. If it does, the function will be passed the view name and template vars, and the return value of this function will be returned instead of the standard output:"
msgstr ""
#: ../../guides/views/page-structure.rst:2
-# 30c4ebaafd914648a6d6ae96d982718f
msgid "Page structure best practice"
msgstr ""
#: ../../guides/views/page-structure.rst:4
-# 6c21eef5044949a88ed2254f3e5231da
msgid "Elgg pages have an overall pageshell and a main content area. In Elgg 1.0+, we've marked out a space \\\"the canvas\\\" for items to write to the page. This means the user always has a very consistent experience, while giving maximum flexibility to plugin authors for laying out their functionality."
msgstr ""
#: ../../guides/views/page-structure.rst:6
-# c5fc99676c6d410abbd5037d084e376f
msgid "Think of the canvas area as a big rectangle that you can do what you like in. We've created a couple of standard canvases for you:"
msgstr ""
#: ../../guides/views/page-structure.rst:8
-# 1133ea518d024eb9940e1dd155982bb4
msgid "one column"
msgstr ""
#: ../../guides/views/page-structure.rst:9
-# 1b4953b01b4d4bb5a211bd05196bceec
msgid "two column"
msgstr ""
#: ../../guides/views/page-structure.rst:10
-# 37bea2ffb7a04e2f860a3e5aec0c4121
msgid "content"
msgstr ""
#: ../../guides/views/page-structure.rst:11
-# d4b217f4a12b4491a852106d1b879cf3
msgid "widgets"
msgstr ""
#: ../../guides/views/page-structure.rst:13
-# dbe91c277853445fb2075834ac66558a
msgid "are the main ones. You can access these with the function:"
msgstr ""
#: ../../guides/views/page-structure.rst:22
-# 26b0617003584161b26cdd4473bae708
msgid "The content sections are passed as an ``array`` in the second parameter. The array keys correspond to sections in the layout, the choice of layout will determine which sections to pass. The array values contain the html that should be displayed in those areas. Examples of two common layouts:"
msgstr ""
#: ../../guides/views/page-structure.rst:37
-# 6a1d79e896954a15a97ae71c87e992da
msgid "You can then, ultimately, pass this into the ``elgg_view_page`` function:"
msgstr ""
#: ../../guides/views/page-structure.rst:43
-# 2c460d2f444d4aeabae97c4ef67d3256
msgid "You may also have noticed that we've started including a standard title area at the top of each plugin page (or at least, most plugin pages). This is created using the following wrapper function, and should usually be included at the top of the plugin content:"
msgstr ""
#: ../../guides/views/page-structure.rst:49
-# 265674c35a6c440a9bcfffcf391a9dae
msgid "This will also display any submenu items that exist (unless you set the second, optional parameter to false). So how do you add submenu items?"
msgstr ""
#: ../../guides/views/page-structure.rst:51
-# 0a7d1e72948e4afaa4f92db8178158fa
msgid "In your plugin_init function, include the following call:"
msgstr ""
#: ../../guides/views/page-structure.rst:61
-# 77c6c1aa98b04597b51bd6068fc48b13
msgid "The submenu will then automatically display when your page is rendered. The 'identifier' is a machine name for the link, it should be unique per menu."
msgstr ""
#: ../../guides/views/simplecache.rst:2
-# 1fbff6355dd3411dbf23d1ab91a694d1
msgid "Simplecache"
msgstr ""
#: ../../guides/views/simplecache.rst:6
-# a00edabaee0f4fcd93974fab619c1cd4
msgid ":doc:`/admin/performance`"
msgstr ""
#: ../../guides/views/simplecache.rst:7
-# 35f6cc9b40154aae99a31bfd1c4ccfc7
msgid ":doc:`/guides/views`"
msgstr ""
#: ../../guides/views/simplecache.rst:9
-# 462da5d71251410d9fc39b62ca3f6dfb
msgid "The Simplecache is a mechanism designed to alleviate the need for certain views to be regenerated dynamically. Instead, they are generated once, saved as a static file, and served in a way that entirely bypasses the Elgg engine."
msgstr ""
#: ../../guides/views/simplecache.rst:11
-# c1732d0492e64d7e8e0f62e92c6a92d9
msgid "If Simplecache is turned off (which can be done from the administration panel), these views will be served as normal, with the exception of site CSS."
msgstr ""
#: ../../guides/views/simplecache.rst:13
-# 6ed4424512104dfbb51158957dbf8914
msgid "The criteria for whether a view is suitable for the Simplecache is as follows:"
msgstr ""
#: ../../guides/views/simplecache.rst:15
-# f44e30c2634446d28c5800a5b0ebe4fc
msgid "The view must not change depending on who or when it is being looked at"
msgstr ""
#: ../../guides/views/simplecache.rst:16
-# 90591329c4e849eda4772f93946d2f9b
msgid "The view must not depend on variables fed to it (except for global variables like site URL that never change)"
msgstr ""
#: ../../guides/views/simplecache.rst:19
-# 421bbee2eb40461592670bcf84fe208a
msgid "Regenerating the Simplecache"
msgstr ""
#: ../../guides/views/simplecache.rst:21
-# a8e5783911d4436b96d5291e957192bf
msgid "You can regenerate the Simplecache at any time by:"
msgstr ""
#: ../../guides/views/simplecache.rst:23
-# 0d578e5d1b85444b9e6578bdf215c762
msgid "Loading ``/upgrade.php``, even if you have nothing to upgrade"
msgstr ""
#: ../../guides/views/simplecache.rst:24
-# 2dd8c8d0d2ca453ebb97e6cdac1d24ce
msgid "In the admin panel click on 'Flush the caches'"
msgstr ""
#: ../../guides/views/simplecache.rst:25
-# 4f0377325ba04b599b23829dadc7a15a
msgid "Enabling or disabling a plugin"
msgstr ""
#: ../../guides/views/simplecache.rst:26
-# e965cf07085b482ca26a85a0c6a3c46b
msgid "Reordering your plugins"
msgstr ""
#: ../../guides/views/simplecache.rst:29
-# 0840064997494317bdd28babc60174b9
msgid "Using the Simplecache in your plugins"
msgstr ""
#: ../../guides/views/simplecache.rst:31
-# 44181d3234ba4e94a6753cb7396a3ed0
msgid "**Registering views with the Simplecache**"
msgstr ""
#: ../../guides/views/simplecache.rst:33
-# a26a81397dd44cca8fd6cd1a2c05c56a
msgid "You can register a view with the Simplecache with the following function at init-time:"
msgstr ""
#: ../../guides/views/simplecache.rst:39
-# d638194d1f6a432d80878ec5cfb02caa
msgid "**Accessing the cached view**"
msgstr ""
#: ../../guides/views/simplecache.rst:41
-# 88e31e6052204b6eac92734f7845a710
msgid "If you registered a JavaScript or CSS file with Simplecache and put in in the view folder ``js/your_view`` or ``css/your_view`` you can very easily the the url to this cached view by calling"
msgstr ""
#: ../../guides/views/simplecache.rst:47
-# 826068850e42457fb1412b77ceedc309
msgid "Where:"
msgstr ""
#: ../../guides/views/simplecache.rst:49
-# 9d2ec9961a594c21aaad1357f2747b07
msgid "``$type`` is js or css"
msgstr ""
#: ../../guides/views/simplecache.rst:50
-# 914024002ee94d24af0be4edb43efca2
msgid "``$view`` the view name after css/ or js/"
msgstr ""
#: ../../guides/walled-garden.rst:2
-# a8b4b0708633444a8510f8274ba774b7
msgid "Walled Garden"
msgstr ""
#: ../../guides/walled-garden.rst:4
-# 6b368829b1524cc9af0fbc6f8a5c1ca5
msgid "Elgg supports a \"Walled Garden\" mode. In this mode, almost all pages are restricted to logged in users. This is useful for sites that don't allow public registration."
msgstr ""
#: ../../guides/walled-garden.rst:7
-# 241ac6a2394642a090a00081dd30714c
msgid "Activating Walled Garden mode"
msgstr ""
#: ../../guides/walled-garden.rst:9
-# cde50921718b44639607e40bff9d2461
msgid "To activate Walled Garden mode in Elgg 1.8, go to the Administration section. On the right sidebar menu, under the \"Configure\" section, expand \"Settings,\" then click on \"Advanced.\""
msgstr ""
#: ../../guides/walled-garden.rst:11
-# 35a6f8755a634fd08d77a901d43d320c
msgid "From the Advanced Settings page, find the option labelled \"Restrict pages to logged-in users.\" Enable this option, then click \"Save\" to switch your site into Walled Garden mode."
msgstr ""
#: ../../guides/walled-garden.rst:14
-# fc9f55fb2e9147cfaea09c80a8e8dc9d
msgid "Exposing pages through Walled Gardens"
msgstr ""
#: ../../guides/walled-garden.rst:16
-# 3f7fe5e24e14489887c500e472bd8345
msgid "Many plugins extend Elgg by adding pages. Walled Garden mode will prevent these pages from being viewed by logged out users. Elgg uses :ref:`plugin hook ` to manage which pages are visible through the Walled Garden."
msgstr ""
#: ../../guides/walled-garden.rst:18
-# 182c368783df416a8493cc6d78a8e057
msgid "Plugin authors must register pages as public if they should be viewable through Walled Gardens by responding to the ``public_pages``, ``walled_garden`` plugin hook."
msgstr ""
#: ../../guides/walled-garden.rst:20
-# 57d9ffbf40b145cb80c3dd3536d24b72
msgid "The returned value is an array of regexp expressions for public pages."
msgstr ""
#: ../../guides/walled-garden.rst:22
-# 40c68b7118254c6b8e866e604932d65d
msgid "The following code shows how to expose http://example.org/my_plugin/public_page through a Walled Garden. This assumes the plugin has registered a :doc:`pagehandler` for ``my_plugin``."
msgstr ""
#: ../../guides/web-services.rst:4
-# f6761557d388445d8f08a68d5e923b07
msgid "Build an HTTP API for your site."
msgstr ""
#: ../../guides/web-services.rst:6
-# 84832011d2724a7ca64768010ffa587d
msgid "Elgg provides a powerful framework for building web services. This allows developers to expose functionality to other web sites and desktop applications along with doing integrations with third-party web applications. While we call the API RESTful, it is actually a REST/RPC hybrid similar to the APIs provided by sites like Flickr and Twitter."
msgstr ""
#: ../../guides/web-services.rst:12
-# beaf734db5b649ab96057d5a4714b17d
msgid "To create an API for your Elgg site, you need to do 4 things:"
msgstr ""
#: ../../guides/web-services.rst:14
-# 1e8eee284c394039bcc44fdf7cfa8024
msgid "enable the web services plugin"
msgstr ""
#: ../../guides/web-services.rst:15
-# e39f8eb6a1cd429c96e677661fd9163b
msgid "expose methods"
msgstr ""
#: ../../guides/web-services.rst:16
-# 5dd2d0b8db844f31a8d10d4fa8b85a7f
msgid "setup API authentication"
msgstr ""
#: ../../guides/web-services.rst:17
-# d1f1827a999043a38a19f29b8d79314a
msgid "setup user authentication"
msgstr ""
#: ../../guides/web-services.rst:19
-# 16416aee210e4ce08bf3657e8207d0c3
msgid "Additionally, you may want to control what types of authentication are available on your site. This will also be covered."
msgstr ""
#: ../../guides/web-services.rst:27
-# fe2c0035f98742abad821289f09686e3
msgid "Exposing methods"
msgstr ""
#: ../../guides/web-services.rst:29
-# eb8f1b52a4494b64b038e5bc32cd8059
msgid "The function to use to expose a method is ``elgg_ws_expose_function()``. As an example, let's assume you want to expose a function that echos text back to the calling application. The function could look like this"
msgstr ""
#: ../../guides/web-services.rst:39
-# e34cbfca63b6488796eb0b6f0d589330
msgid "Since we are providing this function to allow developers to test their API clients, we will require neither API authentication nor user authentication. This call registers the function with the web services API framework:"
msgstr ""
#: ../../guides/web-services.rst:55
-# 906ee26ed13f40fe97d91f1fcc75499c
msgid "If you add this code to a plugin and then go to http://yoursite.com/services/api/rest/xml/?method=system.api.list, you should now see your test.echo method listed as an API call. Further, to test the exposed method from a web browser, you could hit the url: http://yoursite.com/services/api/rest/xml/?method=test.echo&string=testing and you should see xml data like this:"
msgstr ""
#: ../../guides/web-services.rst:70
-# 97a47bc19edc41eeaced93c34642fb0a
msgid "Response formats"
msgstr ""
#: ../../guides/web-services.rst:72
-# 368ce02800c449a183eb6b42341c2192
msgid "The web services API framework provides three different response formats by default: xml, json, and serialized php. You can request the different formats for substituting “json” or “php” for “xml” in the above URLs. You can also add additional response formats by defining new viewtypes."
msgstr ""
#: ../../guides/web-services.rst:78
-# e5141462c90b49019798928beb01345a
msgid "API authentication"
msgstr ""
#: ../../guides/web-services.rst:80
-# 9564e1efa31d4ae299643638157e99eb
msgid "You may want to control access to some of the functions that you expose. Perhaps you are exposing functions in order to integrate Elgg with another open source platform on the same server. In that case, you only want to allow that other application access to these methods. Another possibility is that you want to limit what external developers have access to your API. Or maybe you want to limit how many calls a developer can make against your API in a single day."
msgstr ""
#: ../../guides/web-services.rst:88
-# 449f919eed684c4d9dea1fe327d324f5
msgid "In all of these cases, you can use Elgg's API authentication functions to control access. Elgg provides two built-in methods to perform API authentication: key based and HMAC signature based. You can also add your own authentication methods. The key based approach is very similar to what Google, Flickr, or Twitter. Developers can request a key (a random string) and pass that key with all calls that require API authentication. The keys are stored in the database and if an API call is made without a key or a bad key, the call is denied and an error message is returned."
msgstr ""
#: ../../guides/web-services.rst:99
-# 5b24e5cc8eba4319a3c6fa58c248351e
msgid "Key-based authentication"
msgstr ""
#: ../../guides/web-services.rst:101
-# df97038137c14859aa6b93a0914c6f81
msgid "As an example, let's write a function that returns the number of users that have viewed the site in the last x minutes."
msgstr ""
#: ../../guides/web-services.rst:112
-# 88db6e00891c45e495d4a8a850fa5bcf
msgid "Now, let's expose it and make the number of minutes an optional parameter:"
msgstr ""
#: ../../guides/web-services.rst:127
-# edd4c7b7250a4bee992cda8a0aec26e9
msgid "This function is now available and if you check ``system.api.list``, you will see that it requires API authentication. If you hit the method with a web browser, it will return an error message about failing the API authentication. To test this method, you need an API key. Fortunately, there is a plugin called apiadmin that creates keys for you. It is available in the Elgg plugin repository. It will return a public and private key and you will use the public key for this kind of API authentication. Grab a key and then do a GET request with your browser on this API method passing in the key string as the parameter ``api_key``. It might look something like this: http://yoursite.com/services/api/rest/xml/?method=users.active&api_key=1140321cb56c71710c38feefdf72bc462938f59f."
msgstr ""
#: ../../guides/web-services.rst:140
-# 965d51a15e224e038f8c3afe77863db5
msgid "Signature-based authentication"
msgstr ""
#: ../../guides/web-services.rst:142
-# e4e8ae31193e4637b4c80bb719fa05d5
msgid "The :doc:`web-services/hmac` is similar to what is used with OAuth or Amazon's S3 service. This involves both the public and private key. If you want to be very sure that the API calls are coming from the developer you think they are coming from and you want to make sure the data is not being tampered with during transmission, you would use this authentication method. Be aware that it is much more involved and could turn off developers when there are other sites out there with key-based authentication."
msgstr ""
#: ../../guides/web-services.rst:152
-# f74abfb2e6d24b3d8bdb6481bad81168
msgid "OAuth"
msgstr ""
#: ../../guides/web-services.rst:154
-# 2bf2c5e84c0845659b39f56188878576
msgid "With the addition of the OAuth plugin, Elgg also fully supports the OAuth 1.0a authorization standard. Clients can then use standard OAuth libraries to make any API calls to the site."
msgstr ""
#: ../../guides/web-services.rst:159
-# b7eddfb0da434157b4329da8bf07439c
msgid "User authentication"
msgstr ""
#: ../../guides/web-services.rst:161
-# 5f6fd8a8016d4e82aed224d1f66d19f5
msgid "So far you have been allowing developers to pull data out of your Elgg site. Now we'll move on to pushing data into Elgg. In this case, it is going to be done by a user. Maybe you have created a desktop application that allows your Users to post to the wire without going to the site. You need to expose a method for posting to the wire and you need to make sure that a user cannot post using someone else's account. Elgg provides a token-based approach for user authentication. It allows a user to submit their username and password in exchange for a token using the method ``auth.gettoken``. This token can then be used for some amount of time to authenticate all calls to the API before it expires by passing it as the parameter ``auth_token``. If you do not want to have your users trusting their passwords to 3rd-party applications, you can also extend the current capability to use an approach like OAuth."
msgstr ""
#: ../../guides/web-services.rst:175
-# 2446617bbdf14f0296921740c2bc5f8b
msgid "Let's write our wire posting function:"
msgstr ""
#: ../../guides/web-services.rst:189
-# 409b01ae69e4426bbe5766db49afb110
msgid "Exposing this function is the same as the previous except we require user authentication and we're going to make this use POST rather than GET HTTP requests."
msgstr ""
#: ../../guides/web-services.rst:204
-# d7f302fd90014a37aa2c6918965aec5a
msgid "Please note that you will not be able to test this using a web browser as you did with the other methods. You need to write some client code to do this. There is some example client code in ``/engine/lib/api.php``. Take a look at `send\\_api\\_post\\_call()`_. You can also do a search for clients that have been written for the APIs of Flickr or Twitter or any other similar API. You will find a wide variety written in almost any language you can think of."
msgstr ""
#: ../../guides/web-services.rst:213
-# fcd3d382c36a4a15bb1f0a8ef1b39325
msgid "Building out your API"
msgstr ""
#: ../../guides/web-services.rst:215
-# dd9e48e251994dd8b70158ad5fe4bb12
msgid "As soon as you feel comfortable with Elgg's web services API framework, you will want to step back and design your API. What sort of data are you trying to expose? Who or what will be API users? How do you want them to get access to authentication keys? How are you going to document your API? Be sure to take a look at the APIs created by popular Web 2.0 sites for inspiration. If you are looking for 3rd party developers to build applications using your API, you will probably want to provide one or more language-specific clients."
msgstr ""
#: ../../guides/web-services.rst:227
-# c98fe4510a9648ba9a0ae314bb3414c8
msgid "Determining the authentication available"
msgstr ""
#: ../../guides/web-services.rst:229
-# 162aa245d7c649a5b93ad9fcf33c6192
msgid "Elgg's web services API uses a type of `pluggable authentication module (PAM)`_ architecture to manage how users and developers are authenticated. This provides you the flexibility to add and remove authentication modules. Do you want to not use the default user authentication PAM but would prefer using OAuth? You can do this."
msgstr ""
#: ../../guides/web-services.rst:235
-# af87af606f58457fa0176e4bb508dd11
msgid "The first step is registering a callback function for the *rest, init* plugin hook:"
msgstr ""
#: ../../guides/web-services.rst:242
-# 085ea1d982eb484c82c09edad20e30d6
msgid "Then in the callback function, you register the PAMs that you want to use:"
msgstr ""
#: ../../guides/web-services.rst:258
-# 4bc38fc1eb8446c6a8184778fdb4d2ba
msgid "When testing, you may find it useful to register the ``pam_auth_session`` PAM so that you can easily test your methods from the browser. Be careful not to use this PAM on a production site because it could open up your users to a `CSRF attack`_."
msgstr ""
#: ../../guides/web-services.rst:263
-# d22535aa0a1845a9b1f6a83e95fa4273
msgid "Right now, the only other PAMs publicly available besides those provided by the Elgg core are the OAuth PAMs. See `Justin Richer's OAuth plugin`_ for more detail."
msgstr ""
#: ../../guides/web-services/hmac.rst:2
-# 28f5365675264cfcb26f795d9be879b1
msgid "HMAC Authentication"
msgstr ""
#: ../../guides/web-services/hmac.rst:4
-# 425f7e1cbd404cf89599ea7746dd292b
msgid "Elgg's RESTful API framework provides functions to support a `HMAC`_ signature scheme for API authentication. The client must send the HMAC signature together with a set of special HTTP headers when making a call that requires API authentication. This ensures that the API call is being made from the stated client and that the data has not been tampered with."
msgstr ""
#: ../../guides/web-services/hmac.rst:8
-# 77fa724cc3804e74876a9d6da2d3f77c
msgid "The HMAC must be constructed over the following data:"
msgstr ""
#: ../../guides/web-services/hmac.rst:10
-# 0572239ba3b04951b704f6de58f11798
msgid "The public API key identifying you to the Elgg api server as provided by the APIAdmin plugin"
msgstr ""
#: ../../guides/web-services/hmac.rst:11
-# e0fd07cd06de47ab951a075ea070e7ac
msgid "The private API Key provided by Elgg (that is companion to the public key)"
msgstr ""
#: ../../guides/web-services/hmac.rst:12
-# 8e37387bab2b45f7ab80acd6a42b4e7a
msgid "The current unix time in seconds"
msgstr ""
#: ../../guides/web-services/hmac.rst:13
-# 3592644b25694079ae99ab201dfc7844
msgid "A nonce to guarantee two requests the same second have different signatures"
msgstr ""
#: ../../guides/web-services/hmac.rst:14
-# e00490bcbcc84bdebdf2bfa80d18bf9a
msgid "URL encoded string representation of any GET variable parameters, eg ``method=test.test&foo=bar``"
msgstr ""
#: ../../guides/web-services/hmac.rst:15
-# a9a94b19297b4afda9c7aed554e0526f
msgid "If you are sending post data, the hash of this data"
msgstr ""
#: ../../guides/web-services/hmac.rst:17
-# 7c70bc7fdf5448cab0f7c4db6e3c0767
msgid "Some extra information must be added to the HTTP header in order for this data to be correctly processed:"
msgstr ""
#: ../../guides/web-services/hmac.rst:19
-# 3818839396984a5aa0f794058969a3bf
msgid "**X-Elgg-apikey** - The public API key"
msgstr ""
#: ../../guides/web-services/hmac.rst:20
-# 509521bf1078470caaffa5e04139aa0c
msgid "**X-Elgg-time** - Unix time used in the HMAC calculation"
msgstr ""
#: ../../guides/web-services/hmac.rst:21
-# 0c1dc2e32f584819b59681256456c417
msgid "**X-Elgg-none** - a random string"
msgstr ""
#: ../../guides/web-services/hmac.rst:22
-# 555d12f416c74eb8b62332d2fd4ea1d7
msgid "**X-Elgg-hmac** - The HMAC as base64 encoded"
msgstr ""
#: ../../guides/web-services/hmac.rst:23
-# 382ffca2423a48618e9899502209a6e8
msgid "**X-Elgg-hmac-algo** - The algorithm used in the HMAC calculation - eg, sha1, md5 etc."
msgstr ""
#: ../../guides/web-services/hmac.rst:25
-# 87bfe85aa10c4ffcaf0e6342a7401127
msgid "If you are sending POST data you must also send:"
msgstr ""
#: ../../guides/web-services/hmac.rst:27
-# 9b93834eafe64d6980dc3bcc911ab8c4
msgid "**X-Elgg-posthash** - The hash of the POST data"
msgstr ""
#: ../../guides/web-services/hmac.rst:28
-# b7332c5390e5418bb3aa80b231f991d1
msgid "**X-Elgg-posthash-algo** - The algorithm used to produce the POST data hash - eg, md5"
msgstr ""
#: ../../guides/web-services/hmac.rst:29
-# fe0d2b9871744c6eb2734b446ca7e6a8
msgid "**Content-type** - The content type of the data you are sending (if in doubt use application/octet-stream)"
msgstr ""
#: ../../guides/web-services/hmac.rst:30
-# 183b60b4606e40f781fc560bb962aa17
msgid "**Content-Length** - The length in bytes of your POST data"
msgstr ""
#: ../../guides/web-services/hmac.rst:32
-# e9a0ecbe320946f794ccf773b96970f2
msgid "Elgg provides a sample API client that implements this HMAC signature: send_api_call(). It serves as a good reference on how to implement it."
msgstr ""
#: ../../guides/widgets.rst:2
-# 87eaafbb4a904769b00c1d8d40b89111
msgid "Widgets"
msgstr ""
#: ../../guides/widgets.rst:4
-# d2c56de37a9f4e06bc2753c3dc5fcdc3
msgid "Widgets are content areas that users can drag around their page to customize the layout. They can typically be customized by their owner to show more/less content and determine who sees the widget. By default Elgg provides plugins for customizing the profile page and dashboard via widgets."
msgstr ""
#: ../../guides/widgets.rst:6
-# 2da41dcfd983442081f4c9441175563e
msgid "TODO: Screenshot"
msgstr ""
#: ../../guides/widgets.rst:13
-# 5c35102f9bc24bb8946ffbb279cb14f8
msgid "Structure"
msgstr ""
#: ../../guides/widgets.rst:15
-# 3f280ad4d560472f8154341343758f6c
msgid "To create a widget, create two views:"
msgstr ""
#: ../../guides/widgets.rst:17
-# fd842b0bf7554785bd5c8d76bb2548dc
msgid "``widgets/widget/edit``"
msgstr ""
#: ../../guides/widgets.rst:18
-# 0dba5f598e2e44ec95a8eb8c411538ac
msgid "``widgets/widget/content``"
msgstr ""
#: ../../guides/widgets.rst:20
-# 2472746c099248949232ad62f977c748
msgid "``content.php`` is responsible for all the content that will output within the widget. The ``edit.php`` file contains any extra edit functions you wish to present to the user. You do not need to add access level as this comes as part of the widget framework."
msgstr ""
#: ../../guides/widgets.rst:24
-# 4816871374984b90b164bc9fba97d86a
msgid "Using HTML checkboxes to set widget flags is problematic because if unchecked, the checkbox input is omitted from form submission. The effect is that you can only set and not clear flags. The \"input/checkboxes\" view will not work properly in a widget's edit panel."
msgstr ""
#: ../../guides/widgets.rst:27
-# 4c31fbd05f004a8687a69e867759e571
msgid "Initialise the widget"
msgstr ""
#: ../../guides/widgets.rst:29
-# ba4dce95608a47e8b8a2a0dffd3c7984
msgid "Once you have created your edit and view pages, you need to initialize the plugin widget. This is done within the plugins ``init()`` function."
msgstr ""
#: ../../guides/widgets.rst:38
-# a09d7b219eb64d5d82e0d4289090a547
msgid "It is possible to add multiple widgets for a plugin. You just initialize as many widget directories as you need."
msgstr ""
#: ../../guides/widgets.rst:52
-# 969c9537149b487abc4ddb42258f41ec
msgid "Multiple widgets"
msgstr ""
#: ../../guides/widgets.rst:54
-# 927111ae25974fa291544b7356edcea8
msgid "Make sure you have the corrosponding directories within your plugin views structure:"
msgstr ""
#: ../../guides/widgets.rst:74
-# c003f40b6d774ffa9db64ce8d50d8bae
msgid "Elgg 1.8: Default widgets"
msgstr ""
#: ../../guides/widgets.rst:76
-# 6aac34c209c04330a410103aee1dc30f
msgid "If your plugin uses the widget canvas, you can register default widget support with Elgg core, which will handle everything else."
msgstr ""
#: ../../guides/widgets.rst:78
-# 526333d5b8dc4d32ae14956b84fc7242
msgid "To announce default widget support in your plugin, register for the ``get_list, default_widgets`` plugin hook:"
msgstr ""
#: ../../guides/widgets.rst:84
-# 0150ba287e8146eda8f30b45a0e1ac42
msgid "In the plugin hook handler, push an array into the return value defining your default widget support and when to create default widgets. Arrays require the following keys to be defined:"
msgstr ""
#: ../../guides/widgets.rst:86
-# faa6203c930f4f54b88d39e7c1c2d1cb
msgid "name - The name of the widgets page. This is displayed on the tab in the admin interface."
msgstr ""
#: ../../guides/widgets.rst:87
-# f0c00e9f72f046918a68f141f9919ac0
msgid "widget\\_context - The context the widgets page is called from. (If not explicitly set, this is your plugin's id.)"
msgstr ""
#: ../../guides/widgets.rst:88
-# 791372ca9073477c801c9c84c9796821
msgid "widget\\_columns - How many columns the widgets page will use."
msgstr ""
#: ../../guides/widgets.rst:89
-# 24916fedc8eb49d591c0a32bbe7a75a4
msgid "event - The Elgg event to create new widgets for. This is usually ``create``."
msgstr ""
#: ../../guides/widgets.rst:90
-# 53d2d22104e24bfaba5c22f4ffe7ef07
msgid "entity\\_type - The entity type to create new widgets for."
msgstr ""
#: ../../guides/widgets.rst:91
-# 7e9ede55f56046988467c3259d35ce33
msgid "entity\\_subtype - The entity subtype to create new widgets for. The can be ELGG\\_ENTITIES\\_ANY\\_VALUE to create for all entity types."
msgstr ""
#: ../../guides/widgets.rst:93
-# df235d425e654329be615cf04436398a
msgid "When an object triggers an event that matches the event, entity\\_type, and entity\\_subtype parameters passed, Elgg core will look for default widgets that match the widget\\_context and will copy them to that object's owner\\_guid and container\\_guid. All widget settings will also be copied."
msgstr ""
#: ../../guides/widgets.rst:114
-# ade436d985194536a9ec250937abb4c7
msgid "Here is a simple Flickr widget that uses Flickr's JSON output."
msgstr ""
#: ../../guides/widgets.rst:116
-# 73680bc6f52b430598d309e7ddc6f377
msgid "Widget edit page:"
msgstr ""
#: ../../guides/widgets.rst:127
-# 7287fa1696bf4ef8afb96acbfa44b2e5
msgid "Widget view page:"
msgstr ""
#: ../../guides/widgets.rst:198
-# f5d2bb5a96c447529c3f3ce933655f8b
msgid "How to restrict where widgets can be used"
msgstr ""
#: ../../guides/widgets.rst:200
-# dec0533b00354d76bf867c86dc708bac
msgid "Any plugin that has a widget must register that widget with Elgg. The widget can specify the context that it can be used in (all, just profile, just dashboard, etc.). If you want to change where your users can use a widget, you can make a quick edit to the plugin's source."
msgstr ""
#: ../../guides/widgets.rst:203
-# 6a23ced0f1b648d5a4723119e810c8b3
msgid "Find where the plugin registers the widget"
msgstr ""
#: ../../guides/widgets.rst:205
-# 1fe395b29026465ead27cea0750d9cf8
msgid "The function you are looking for is ``add_widget_type()``. It is typically used in an init function in ``start.php``. You should be able to go to ``/mod//``, open ``start.php`` in a text editor, and find the string ``add_widget_type``."
msgstr ""
#: ../../guides/widgets.rst:208
-# 1673fa16ff0e4b459b8fa60a958c76d6
msgid "Changing the function's parameters"
msgstr ""
#: ../../guides/widgets.rst:210
-# c9ba4eaed2d24af6962b8a37a68229fa
msgid "Let's use the friends plugin as an example. We want to restrict it so that it can only be used on a user's profile. Currently, the function call looks like this:"
msgstr ""
#: ../../guides/widgets.rst:214
-# 6d039b2123ed4d22831ef898bfd43cbf
msgid "Keep in mind :doc:`dont-modify-core`"
msgstr ""
#: ../../guides/widgets.rst:220
-# a413f83c46284251a204f3196cd033be
msgid "To restrict it to the profile, change it to this:"
msgstr ""
#: ../../guides/widgets.rst:226
-# cd4fdcc67b964aceaefdb2324cc3dc89
msgid "Notice that the context was not specified originally (there were only 3 parameters and we added a 4th). That means it defaulted to the \"all\" context. Besides \"all\" and \"profile\", the only other context available in default Elgg is \"dashboard\"."
msgstr ""
diff --git a/docs/locale/pot/index.pot b/docs/locale/pot/index.pot
index fcf6bc892e5..0d501464e73 100644
--- a/docs/locale/pot/index.pot
+++ b/docs/locale/pot/index.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,57 +17,46 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../index.rst:2
-# c31703b8089d4ddb99404f5632fd40e5
msgid "Elgg |version| Documentation"
msgstr ""
#: ../../index.rst:4
-# 98db4b57e02645c98702bf8bcd8fca5d
msgid "Elgg_ (:download:`pronunciation <_elgg_files/How_to_say_Elgg.mp3>`) is a rapid development framework with built-in social features. It is a great fit for building any app where users log in and share information."
msgstr ""
#: ../../index.rst:7
-# f5d987b63f0e44929d14c972a86fd91d
msgid "It has been used to build `all kinds of social apps`__:"
msgstr ""
#: ../../index.rst:11
-# 05276f21535c40cbb69c0f8f730d290a
msgid "open networks (similar to Facebook)"
msgstr ""
#: ../../index.rst:12
-# 47e16d2ae86547dd89f8ddc14c42e57c
msgid "topical (like the Elgg Community)"
msgstr ""
#: ../../index.rst:13
-# 67179d7ddbe94f3fb95a176a4c7d17f3
msgid "private intranets"
msgstr ""
#: ../../index.rst:14
-# 46fe4e263ab3488b9a979626252be96d
msgid "dating"
msgstr ""
#: ../../index.rst:15
-# 365a066d53ff4dee8ede09925709a72d
msgid "educational"
msgstr ""
#: ../../index.rst:16
-# f599695484094b7998c8ec8434c8b2f5
msgid "company blog"
msgstr ""
#: ../../index.rst:18
-# c016738f853f482481bf29658a4d06bd
msgid "There is also a `demo site`_ running a standard installation of Elgg."
msgstr ""
#: ../../index.rst:20
-# 2d0710b174b5497c99b77df509dace14
msgid "This is the canonical documentation for the Elgg_ project."
msgstr ""
diff --git a/docs/locale/pot/intro.pot b/docs/locale/pot/intro.pot
index 9444fd3cb74..9486d9fba2a 100644
--- a/docs/locale/pot/intro.pot
+++ b/docs/locale/pot/intro.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,1326 +17,1060 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../intro/development.rst:2
-# 7fd3b77e225c46a6854ebacb89548a47
msgid "Developer Overview"
msgstr ""
#: ../../intro/development.rst:4
-# b3cb9e666fc64a3bbf864660e37f40ec
msgid "This is a quick developer introduction to Elgg. It covers the basic approach to working with Elgg as a framework, and mentions some of the terms and technologies used."
msgstr ""
#: ../../intro/development.rst:7
-# 303111e856a74b48bb8da64702034d60
msgid "See the :doc:`/guides/index` for tutorials or the :doc:`/design/index` for in-depth discussion on design."
msgstr ""
#: ../../intro/development.rst:10
-# f6fb3cc40dee4b2a80e90be1d9b1200c
msgid "Database and Persistence"
msgstr ""
#: ../../intro/development.rst:12
-# fe9fac77dc344556afddaf5714335c9c
msgid "Elgg uses MySQL 5.5 or higher for data persistence, and maps database values into Entities (a representation of an atomic unit of information) and Extenders (additional information and descriptions about Entities). Elgg supports additional information such as relationships between Entities, activity streams, and various types of settings."
msgstr ""
#: ../../intro/development.rst:18
-# c5a3e50772274b5baa52fff2d11f4512
msgid "Plugins"
msgstr ""
#: ../../intro/development.rst:20
-# ac312ee009294f5aaca278064302998f
msgid "Plugins change the behavior or appearance of Elgg by overriding views, or by handling events and plugin hooks. All changes to an Elgg site should be implemented through plugins to ensure upgrading core is easy."
msgstr ""
#: ../../intro/development.rst:24
-# ac11ba9a6ba847b7ae060337899e34e8
msgid "Actions"
msgstr ""
#: ../../intro/development.rst:26
-# cbe91e184f0c4f3eb308c09716100bf8
msgid "Actions are the primary way users interact with an Elgg site. Actions are registered by plugins."
msgstr ""
#: ../../intro/development.rst:29
-# 60a73e1bfafd497d81969639d303e5ea
msgid "Events and Plugin Hooks"
msgstr ""
#: ../../intro/development.rst:31
-# fc3c1babadf047d9ad1c93b02f940d53
msgid "Events and Plugin Hooks are used in Elgg Plugins to interact with the Elgg engine under certain circumstances. Events and hooks are triggered at strategic times throughout Elgg's boot and execution process, and allows plugins to modify or cancel the default behavior."
msgstr ""
#: ../../intro/development.rst:36
-# e6a52ba6c49f454f86b0dec96e590a14
msgid "Views"
msgstr ""
#: ../../intro/development.rst:38
-# 661e46550c68453983aa3cbc90738c62
msgid "Views are the primary presentation layer for Elgg. Views can be overridden or extended by Plugins. Views are categories into a Viewtype, which hints at what sort of output should be expected by the view."
msgstr ""
#: ../../intro/development.rst:43
-# e7af20fb3d3144e7a7032daeafcaafb1
msgid "JavaScript"
msgstr ""
#: ../../intro/development.rst:45
-# f6b96a10e627403084670c971946e3c4
msgid "Elgg uses an AMD-compatible JavaScript system provided by require.js. Bundled with Elgg are jQuery 1.11.0, jQuery UI 1.10.4, jQuery Form v20140304, jQuery jeditable, and jQuery UI Autocomplete."
msgstr ""
#: ../../intro/development.rst:48
-# 8532eb4e7bf341b18b9a50a3a8d63161
msgid "Plugins can load their own JS libs."
msgstr ""
#: ../../intro/development.rst:51
#: ../../intro/features.rst:13
-# bc0c8306bcaa4695b00211296a894a07
-# 43160dd5e6ad4a4e918268a6bdcbf741
msgid "Internationalization"
msgstr ""
#: ../../intro/development.rst:53
-# f717b50f09704bbd9b0fdffeef874dde
msgid "Elgg's interface supports multiple languages, and uses `Transifex`_ for translation."
msgstr ""
#: ../../intro/development.rst:56
-# 5b3ec8c2bc5547e59855104af878a287
msgid "Caching"
msgstr ""
#: ../../intro/development.rst:58
-# 4bcfcf4ab76e4d0687d4d31d623ef167
msgid "Elgg uses two caches to improve performance: a system cache and SimpleCache."
msgstr ""
#: ../../intro/features.rst:2
-# 2fc6c654b33f499eb5c6c9de699a47ca
msgid "Features"
msgstr ""
#: ../../intro/features.rst:4
-# 9f6c1d0c876d4d5ab7ea9a729f744c76
msgid "Demo: http://demo.elgg.org/"
msgstr ""
#: ../../intro/features.rst:6
-# 2f23f1a5544e4e98abd769cef58eb23d
msgid "Showcases: https://community.elgg.org/showcase"
msgstr ""
#: ../../intro/features.rst:9
-# eaa802107bc547dc8062fffd169ed7d8
msgid "For developers"
msgstr ""
#: ../../intro/features.rst:11
-# 6d4e57fc44ab443e82e65e58a7119298
msgid "Permissive license"
msgstr ""
#: ../../intro/features.rst:12
-# 2590a9366e6c463680b2fcbd83960db8
msgid "Theme framework"
msgstr ""
#: ../../intro/features.rst:14
-# 1c6611d02e754102b754dcc359e87498
msgid "Templating engine"
msgstr ""
#: ../../intro/features.rst:15
-# b2a96ca02314402caa7f8c8bb874c724
msgid "Widgets framework"
msgstr ""
#: ../../intro/features.rst:16
-# 17c81af162ed4467afb37676cb2ade23
msgid "Plugin APIs"
msgstr ""
#: ../../intro/features.rst:17
-# 16b9bfdbaa4b451a860601d1da436ad0
msgid "Social graph"
msgstr ""
#: ../../intro/features.rst:18
-# 4060603190d94dbfab01f8bdb31e5af7
msgid "Web services API"
msgstr ""
#: ../../intro/features.rst:19
-# e703cb7ee0174edaae41155abaf93d17
msgid "jQuery-based JS framework"
msgstr ""
#: ../../intro/features.rst:20
-# ae407606eec1417e91e7e810ef182a32
msgid "Session management"
msgstr ""
#: ../../intro/features.rst:21
-# e3a7885a906a4eafb689c1ac0b910772
msgid "Custom URL routing"
msgstr ""
#: ../../intro/features.rst:24
-# a852b5326047457db231092a44f25e88
msgid "For admins"
msgstr ""
#: ../../intro/features.rst:26
-# b8c7df1206444a09872218a130e0a449
msgid "User profiles and avatars"
msgstr ""
#: ../../intro/features.rst:27
-# a3c10de04de54066be250407c3063333
msgid "Fine-grained access control lists"
msgstr ""
#: ../../intro/features.rst:28
-# facea6352481406c95b52c73d3c183a5
msgid "Friends and friends lists (ala G+ circles)"
msgstr ""
#: ../../intro/features.rst:29
-# 44254d36df4b481aadcfd73b7b3442ec
msgid "Responsive, mobile-friendly design"
msgstr ""
#: ../../intro/features.rst:30
-# faa6627d23ed4b7cbc2df03a53d64047
msgid "RSS support"
msgstr ""
#: ../../intro/features.rst:31
-# 1b0e1ade6f054dabb19850699570676f
msgid "Activity stream"
msgstr ""
#: ../../intro/features.rst:32
-# cc900574d9674d24a568c6628cdbf3ea
msgid "Plugins for common content types like blogs, bookmarks, files, microblogging, private messages, documents, message boards, discussion"
msgstr ""
#: ../../intro/features.rst:33
-# 617c91a8ce2b4dcbbdcc841fb0cb9221
msgid "User authentication and administration"
msgstr ""
#: ../../intro/features.rst:35
-# 61c44a2ca00944e598ae83e788572627
msgid "If you need more functionality than what Elgg offers out-of-the-box there are a couple of options:"
msgstr ""
#: ../../intro/features.rst:37
-# b9760498ad9c44c380db6ed3ba1a4895
msgid "Add more by :doc:`installing plugins ` - for example, blogs, forums, social bookmarks"
msgstr ""
#: ../../intro/features.rst:38
-# da8b2b76a95b481db3db6422d2536614
msgid "Develop your own features via plugins"
msgstr ""
#: ../../intro/features.rst:39
-# 574cf1e307ba4fe2b433a8cccb6bb3c6
msgid "Hire someone to do the above for you"
msgstr ""
#: ../../intro/index.rst:2
-# fd0c7eb0449241a8afaae57703d9ed84
msgid "Getting Started"
msgstr ""
#: ../../intro/index.rst:4
-# f7213771803f457d9d010bb46eee39a0
msgid "Discover if Elgg is right for your community."
msgstr ""
#: ../../intro/install.rst:2
-# 0af07c460cc743f1bfe6391c1d3af953
msgid "Installation"
msgstr ""
#: ../../intro/install.rst:4
-# eb46fb9f3b80427f90ced7a5a7aa76ad
msgid "Get your own instance of Elgg running in no time."
msgstr ""
#: ../../intro/install.rst:0
-# 5c335c1f27ec46dbadc2e87852915184
msgid "Contents"
msgstr ""
#: ../../intro/install.rst:11
-# 98b009cc4a774de1a1eaef6f84ae9331
msgid "Requirements"
msgstr ""
#: ../../intro/install.rst:13
-# 83ab917b340048b1b62c09ef555ddf63
msgid "MySQL 5+"
msgstr ""
#: ../../intro/install.rst:14
-# 8c1a5ee692314784972fedbc9492e9b8
msgid "PHP 5.2+ with the following extensions:"
msgstr ""
#: ../../intro/install.rst:16
-# 54d23b6b5fe3406791e27ff5e95d495f
msgid "GD (for graphics processing)"
msgstr ""
#: ../../intro/install.rst:17
-# a9b0343922b6438ba23a9b1b0f1fe146
msgid "`Multibyte String support`_ (for i18n)"
msgstr ""
#: ../../intro/install.rst:18
-# 45639ade5e2e45e5a8653d2e8d2b72ab
msgid "Proper configuration and ability to send email through an MTA"
msgstr ""
#: ../../intro/install.rst:20
-# 5b0db41a4b0748b6b1f1da19b22f98c8
msgid "Web server with support for URL rewriting"
msgstr ""
#: ../../intro/install.rst:22
-# 7611008952734d8dbae51fa91180c72f
msgid "Official support is provided for the following configuration:"
msgstr ""
#: ../../intro/install.rst:24
-# 75df1d9f5d0f4b5da35ecf9ad20ae35d
msgid "Apache with the `rewrite module`_ enabled"
msgstr ""
#: ../../intro/install.rst:25
-# bb5baa975778474686d95a060a9cd0f0
msgid "PHP running as an Apache module"
msgstr ""
#: ../../intro/install.rst:27
-# f868cf141ecb4ea0a371af0abf43c95c
msgid "By \"official support\", we mean that:"
msgstr ""
#: ../../intro/install.rst:29
-# c0d63920f833472c91a061c7267eb06d
msgid "Most development and testing is performed with this configuration"
msgstr ""
#: ../../intro/install.rst:30
-# a6825b4ef66d459d80439c07941d4a56
msgid "Much of the installation documentation is written assuming Apache is used"
msgstr ""
#: ../../intro/install.rst:31
-# 25ff609a52684e17bf47d23dd00703dd
msgid "Priority on bug reports is given to Apache users if the bug is web server specific (but those are rare)."
msgstr ""
#: ../../intro/install.rst:35
-# f29e0ec69d0941549bbb4c26081f1240
msgid "Overview"
msgstr ""
#: ../../intro/install.rst:38
-# b01d7f7f13574b009419204e4d304012
msgid "Upload Elgg"
msgstr ""
#: ../../intro/install.rst:40
-# da929e8ea96b4785b8e8662d91188781
msgid "Download the `latest version of Elgg`_"
msgstr ""
#: ../../intro/install.rst:41
-# bb7ea3226891410481c67e269821ed72
msgid "Upload the ZIP file with an FTP client to your server"
msgstr ""
#: ../../intro/install.rst:42
-# 13fe6ac21f0f4d8480334ba7ee9c40dc
msgid "Unzip the files in your domain's document root (/home/username/www)."
msgstr ""
#: ../../intro/install.rst:47
-# 025cf4cc44e0455d8f7fa0d405ff839f
msgid "Create a data folder"
msgstr ""
#: ../../intro/install.rst:49
-# b291ba2e1fa24621b77036b3720cc6f1
msgid "Elgg needs a special folder to store uploaded files including profile icons and photos. You will need to create this directory."
msgstr ""
#: ../../intro/install.rst:54
-# 965c161c66194606a1875d70d3932fd6
msgid "For security reasons, this folder MUST be stored outside of your document root. If you created it under /www/ or /public_html/, you're doing it wrong."
msgstr ""
#: ../../intro/install.rst:58
-# 197e8b4df1c84f11b1b40007667c13a1
msgid "Once this folder has been created, you'll need to make sure the web server Elgg is running on has permission to write to and create directories in it. This shouldn't be a problem on Windows-based servers, but if your server runs Linux, Mac OS X or a UNIX variant, you'll need to `set the permissions on the directory`_."
msgstr ""
#: ../../intro/install.rst:66
-# 7da33a9e02d0401eba85b4abd75033bd
msgid "If you are using a graphical FTP client to upload files, you can usually set permissions by right clicking on the folder and selecting 'properties' or 'Get Info'."
msgstr ""
#: ../../intro/install.rst:72
-# 215822f677b5442b92a09f3d5cb46db7
msgid "Directories must be executable to be read and written to. The suggested permissions depend upon the exact server and user configuration. If the data directory is owned by the web server user, the recommended permissions are 770."
msgstr ""
#: ../../intro/install.rst:77
-# 95eb3b3f43db4058b4337c1a457b21c4
msgid "Setting your data directory to 777 will work, but it is insecure and is not recommended. If you are unsure how to correctly set permissions, contact your host for more information."
msgstr ""
#: ../../intro/install.rst:82
-# fa3967f55caa4d9fa3b32b1baf87bae2
msgid "Create a MySQL database"
msgstr ""
#: ../../intro/install.rst:84
-# 368727b128264cd481bc23cf78a08d5e
msgid "Using your database administration tool of choice (if you're unsure about this, ask your system administrator), create a new MySQL database for Elgg. You can create a MySQL database with any of the following tools:"
msgstr ""
#: ../../intro/install.rst:89
-# 34b1dc3198634953acd2a6d02722c5fc
msgid "Make sure you add a user to the database with all privileges and record the database name, username and password. You will need this information when installing Elgg."
msgstr ""
#: ../../intro/install.rst:94
-# 251de2cd5d734f9e88812e38c37ce9e1
msgid "Visit your Elgg site"
msgstr ""
#: ../../intro/install.rst:96
-# 117fea129e93400e8a6106bde81ab7df
msgid "Once you've performed these steps, visit your Elgg site in your web browser. Elgg will take you through the rest of the installation process from there. The first account that you create at the end of the installation process will be an administrator account."
msgstr ""
#: ../../intro/install.rst:103
-# c096064d34574416801c8b1fb4f2d511
msgid "A note on settings.php and .htaccess"
msgstr ""
#: ../../intro/install.rst:105
-# dc7a032fc5ad4654aa71c59b5c0b772a
msgid "The Elgg installer will try to create two files for you:"
msgstr ""
#: ../../intro/install.rst:107
-# f11db8f32d4841d99b8b5d6aa666fc8e
msgid "engine/settings.php, which contains the database settings for your installation"
msgstr ""
#: ../../intro/install.rst:109
-# 4d49dce579264e67af671a5e043b8090
msgid ".htaccess, which allows Elgg to generate dynamic URLs"
msgstr ""
#: ../../intro/install.rst:111
-# 2343252970154b34b3a63d7a14411523
msgid "If these files can't be automatically generated, for example because the web server doesn't have write permissions in the directories, Elgg will tell you how to create them. You could also temporarily change the permissions on the root directory and the engine directory. Set the permissions on those two directories so that the web server can write those two files, complete the install process, and them change the permissions back to their original settings. If, for some reason, this won't work, you will need to:"
msgstr ""
#: ../../intro/install.rst:120
-# 18224cc7c64a4ca89b2cf40aae1a2ba6
msgid "Copy engine/settings.example.php to engine/settings.php, open it up in a text editor and fill in your database details"
msgstr ""
#: ../../intro/install.rst:122
-# e2164e73229c4d91b16a77447577b735
msgid "Copy /htaccess\\_dist to /.htaccess"
msgstr ""
#: ../../intro/install.rst:125
-# b281e61d386c4c04949a3c5ea41e2b0c
msgid "Other Configurations"
msgstr ""
#: ../../intro/install.rst:128
-# c7f9595e408c4315a50a2e17db6bd076
msgid "Lighttpd"
msgstr ""
#: ../../intro/install.rst:129
-# f30388ffc85a4796b9122f6bbb358ea9
msgid "Have you installed Elgg on a server running lighttpd? We are looking for someone to share any configuration and installation steps involved in setting this up."
msgstr ""
#: ../../intro/install.rst:134
-# 7df27d4317244387887cc382ac7fe96f
msgid "Nginx"
msgstr ""
#: ../../intro/install.rst:135
-# 5347c575f58740b090cad352dac1dc27
msgid "To run Elgg on Nginx, you will need to:"
msgstr ""
#: ../../intro/install.rst:137
-# 3912139e48f547c6b00fb5819fae6c96
msgid "configure Nginx to talk to a PHP process in either CGI or FPM mode"
msgstr ""
#: ../../intro/install.rst:138
-# cf257e450a9c42e59fe555312c7f20f1
msgid "Port the rewrite rules"
msgstr ""
#: ../../intro/install.rst:140
-# 3e6251b7823d4935bdd364457755c33f
msgid "TODO: Add the rewrite rules from the community site."
msgstr ""
#: ../../intro/install.rst:143
-# 3ba80cf1d7364b7489950c37a5df1c6d
msgid "IIS"
msgstr ""
#: ../../intro/install.rst:145
-# 93521eb1386b40f287f24bf9cb4ce968
msgid "When installing on IIS, the problem is that the Apache mod\\_rewrite rules will not be recognized, and this breaks the application. You need to convert the mod\\_rewrite rules to the `IIS URL Rewrite`_ module format."
msgstr ""
#: ../../intro/install.rst:150
-# 67973d805ac146cdb52b5323c6e0cf25
msgid "You can do this using the IIS 7+ management console, and the \"Import Rules\" feature that will do the conversion, as describe in the tutorial \"`importing Apache mod\\_rewrite rules`_\\ \"."
msgstr ""
#: ../../intro/install.rst:158
-# a820dcffb3204e36aebffb611f78dd0c
msgid "MariaDB"
msgstr ""
#: ../../intro/install.rst:160
-# ca818f20881941aaacee5a5f0dcf9a4e
msgid "This DBMS should be a drop-in replacement for MySQL, if you prefer it."
msgstr ""
#: ../../intro/install.rst:162
-# 54369dc3bf0846c5ba678e0c5a385111
msgid "http://community.elgg.org/discussion/view/1455994/alternative-dbmss"
msgstr ""
#: ../../intro/install.rst:165
-# 643a8cf9203f49fc876cbe3b1f894ded
msgid "Virtual host (e.g. Rackspace, Amazon EC2)"
msgstr ""
#: ../../intro/install.rst:167
-# fea497e367b94868952bfb5108a1d587
msgid "For installation to proceed successfully, modify the .htaccess file in the root, and uncomment::"
msgstr ""
#: ../../intro/install.rst:172
-# f79805af3edc4a21a7ee43f8ccd35534
msgid "To be::"
msgstr ""
#: ../../intro/install.rst:177
-# 6c8f90b1b5f24e4381470a215ae25fd8
msgid "MAMP"
msgstr ""
#: ../../intro/install.rst:179
-# 8177b43265f74edcba2448a0d5eae428
msgid "On certain versions of MAMP, Elgg will either fail to install or have intermittent problems while running."
msgstr ""
#: ../../intro/install.rst:182
-# 61d1cf38c8ce486c9a65541160efae93
msgid "This is a known issue with MAMP and is related to the Zend Optimizer. Until Zend/MAMP have resolved this issue it is recommended that you turn off the Zend Optimizer in your PHP settings."
msgstr ""
#: ../../intro/install.rst:187
-# 04c2f671657946b3a10dbfe22576d2ec
msgid "XAMPP"
msgstr ""
#: ../../intro/install.rst:189
-# 7871dbde3e9a490f88b352980840e9f5
msgid "These intructions are provided in case you want to test your Elgg installation on your local computer running Windows."
msgstr ""
#: ../../intro/install.rst:192
-# 6ae2e00d3e61466ba3299529c3e78715
msgid "Download and install XAMPP to your computer from http://www.apachefriends.org/en/xampp.html"
msgstr ""
#: ../../intro/install.rst:194
-# f621312ea2934989acf18dd11294a30f
msgid "Once the installation is completed, it will prompt you to start the XAMPP controller panel. Leave it for now."
msgstr ""
#: ../../intro/install.rst:196
-# a8d64f46ffb746dd8c088e79c8aca14e
msgid "Open ``C:\\xampp\\apache\\conf\\httpd.conf`` file with notepad and uncomment these lines::"
msgstr ""
#: ../../intro/install.rst:202
-# 2472921b1b5c400fa291f39d0cb05f6c
msgid "Edit the php.ini file and change ``arg_separator.output = &`` to ``arg_separator.output = &``"
msgstr ""
#: ../../intro/install.rst:204
-# 0f50a165d6a244d6b3ddabcbc3289b9d
msgid "Go to ``C:\\xampp`` and double click on the xampp_start application"
msgstr ""
#: ../../intro/install.rst:205
-# 732c5e8e89d34f38a633105a498770e5
msgid "Go to http://localhost/"
msgstr ""
#: ../../intro/install.rst:206
-# c380bcce5b8d44378b7f0e7fdc51911c
msgid "Change your server's password in the security option"
msgstr ""
#: ../../intro/install.rst:207
-# 2c93cd3599994f34aba8cff57f822e73
msgid "Go to http://localhost/phpmyadmin and login with the username and the password of your server"
msgstr ""
#: ../../intro/install.rst:209
-# eebaed99010546a0b149ae853a95f8c4
msgid "Create a database called \"elgg\" in your phpmyadmin panel"
msgstr ""
#: ../../intro/install.rst:210
-# dc9dec05f39241cb999cd3b01333bd27
msgid "Now download Elgg. Unzip it and extract to ``C:\\xampp\\htdocs\\sites\\elgg``"
msgstr ""
#: ../../intro/install.rst:211
-# 0c5db1606a1b47cda0f9326e398b9ddc
msgid "Create the Elgg data folder as ``C:\\xampp\\htdocs\\sites\\data``"
msgstr ""
#: ../../intro/install.rst:212
-# 6fd7500146054f3b817dc81bad7ca590
msgid "Go to http://localhost/sites/elgg"
msgstr ""
#: ../../intro/install.rst:213
-# 05f448f14d89440b888a886e30aa6f1f
msgid "You will be taken to the Elgg installation steps. Install it and enjoy."
msgstr ""
#: ../../intro/install.rst:215
-# 919946b8a4bb4153ada76475728cb66e
msgid "**A note on XAMPP 1.7.4 and eAccelerator**"
msgstr ""
#: ../../intro/install.rst:217
-# 415fec8e10324333951cfe33ca80db18
msgid "Elgg is compatible with opcode caches and it is highly recommended that you enable a PHP opcode caching tool for a faster experience. XAMPP comes with support for eAccelerator out of the box, but unfortunately, the 1.7.4 build of XAMPP leaves out the DLL that's required. To get eAccelerator working, follow these steps:"
msgstr ""
#: ../../intro/install.rst:223
-# 6395042211554c9581c2451d03db5d3d
msgid "Download the DLL from http://eac.qme.nl/eAccelerator_v1_0_svn427_for_v5_3_5-VC6.zip"
msgstr ""
#: ../../intro/install.rst:224
-# 81d11f8f149646b5907d326a90c4b246
msgid "Copy eAccelerator_ts.dll to ``C:\\xampp\\php\\ext\\php_eaccelerator.dll``"
msgstr ""
#: ../../intro/install.rst:225
-# 6f85384c5ad74878b570211d611f6070
msgid "Uncomment this line in ``C:\\xampp\\php\\php.ini``::"
msgstr ""
#: ../../intro/install.rst:229
-# 3dbd5031e5cb4a1e94a8648a1d1f1e55
msgid "Restart apache"
msgstr ""
#: ../../intro/install.rst:231
-# 0bdba643ecb24e73ae914d18d6e339b7
msgid "To verify that it is on:"
msgstr ""
#: ../../intro/install.rst:233
-# e3e0a541964444dabee90fd13435b29a
msgid "Go to localhost/xampp"
msgstr ""
#: ../../intro/install.rst:234
-# 888c3ce70c7b48e291505fe75fea0c04
msgid "Click on phpinfo() from the left sidebar"
msgstr ""
#: ../../intro/install.rst:235
-# 6ed03b52bed243e4a39e7ec0caf5ef35
msgid "Ctrl+F for eaccelerator. If you get no results, eAccelerator is not active"
msgstr ""
#: ../../intro/install.rst:239
-# c64f52f812d744c8b9a2407507a03560
msgid "EasyPHP"
msgstr ""
#: ../../intro/install.rst:241
-# 7b70d04de1e84fc794c11bc8cbe3c6e6
msgid "Assuming no MySQL, PHP or Apache installations exist already."
msgstr ""
#: ../../intro/install.rst:242
-# 4f8a235bc66f4c809170ca7fed5713a6
msgid "Best run as a development/test server"
msgstr ""
#: ../../intro/install.rst:244
-# ef66f9f8b29e4e4a93a5c65482c8637c
msgid "Stop IIS running if installed"
msgstr ""
#: ../../intro/install.rst:246
-# 5f10dc5bff414ea1a57e9833e4c57679
msgid "Download and install the latest Easy PHP from http://www.easyphp.org (16MB download)"
msgstr ""
#: ../../intro/install.rst:248
-# ada48ae8cf8f43ab924c0418565b8627
msgid "Set up the database and point the web server to your Elgg folder (all done from the EasyPHP tray icon) - Right click EasyPHP tray icon, select \"Administration\" - A new tab is created in your browser for managing Easy PHP - Add your Elgg folder to Apache in \"Alias\" section - Click \"Manage MySQL with PhpMyAdmin\", create a database and account for Elgg"
msgstr ""
#: ../../intro/install.rst:254
-# a4e8419d8de64acd9d2918a12f6d35da
msgid "(Ignore this step for v5.3 or later) From the tray icon go Configuration/Apache and uncomment this line::"
msgstr ""
#: ../../intro/install.rst:259
-# 2c2821386d46403ba0ec90453932ab90
msgid "(Ignore this step for v5.3 or later) Change ``AllowOverride None`` to ``AllowOverride All`` in the relevant directory entry in Configuration/Apache"
msgstr ""
#: ../../intro/install.rst:262
-# 2af82723f3e34b1f89c7ee9cef8a00f7
msgid "(Ignore this step for v5.3 or later) From the tray icon fo Configuration/PHP and uncomment this line::"
msgstr ""
#: ../../intro/install.rst:267
-# a6cd3f1180eb4c01b26c940f79f80fbf
msgid "A reboot is best Elgg should run via http://127.0.0.1"
msgstr ""
#: ../../intro/install.rst:271
-# 033391aedb5149929cdbf65c9fcae4b6
msgid "Ubuntu Linux"
msgstr ""
#: ../../intro/install.rst:273
-# 6b5dde831faf44cfac77c9510328c74a
msgid "Install the dependencies::"
msgstr ""
#: ../../intro/install.rst:281
-# 0f87e1f08c67430f8660377d66854e24
msgid "Edit ``/etc/apache2/sites_available/default`` to enable .htaccess processing (set AllowOverride to All)"
msgstr ""
#: ../../intro/install.rst:282
-# 1efe432b42484322888b6e03c6bbf5fa
msgid "Restart Apache: ``sudo /etc/init.d/apache2 restart``"
msgstr ""
#: ../../intro/install.rst:283
-# 023b81718d044ce583bd1ae97705f781
msgid "Follow the standard installation instructions above"
msgstr ""
#: ../../intro/install.rst:286
-# 4fd6fffaff4644efb4499b0a73110f5d
msgid "Cloud9IDE"
msgstr ""
#: ../../intro/install.rst:288
-# 27722270c7e84a51a496b0b755f91461
msgid "**1. Create a c9 workspace**"
msgstr ""
#: ../../intro/install.rst:290
-# 3968a0b5006d4d4293be4a64c710a15d
msgid "Go to http://c9.io"
msgstr ""
#: ../../intro/install.rst:291
-# d70bb8d9f7d74e309bee58dcba1b9bf0
msgid "Login with GitHub"
msgstr ""
#: ../../intro/install.rst:292
-# f02ec8bb11c8491e97b1a135d5375621
msgid "On the Dashboard, click \"Create new workspace\" => \"Create a new workspace\""
msgstr ""
#: ../../intro/install.rst:294
-# 4c80f93a146a4fdf8a4b2e8acfcc5682
msgid "Choose a project name (e.g. \"elgg\")"
msgstr ""
#: ../../intro/install.rst:295
-# d33ae4d81e60409ca3ef29aa3251d1cb
msgid "Choose \"PHP\" for project type"
msgstr ""
#: ../../intro/install.rst:296
-# 5a97652bf7334ae49149a4d4f89ff187
msgid "Click \"Create\""
msgstr ""
#: ../../intro/install.rst:297
-# 4e24b43a5568467baa4d3f8613456900
msgid "Wait... (~1 min for c9 workspace to be ready)"
msgstr ""
#: ../../intro/install.rst:298
-# 6b7137539ee34baeb5628b589a847a0d
msgid "Click \"Start editing\" for the workspace"
msgstr ""
#: ../../intro/install.rst:300
-# c203b1e5329347ce843e98f3b635df00
msgid "**2. Set up the workspace for Elgg**"
msgstr ""
#: ../../intro/install.rst:302
-# ef89de4fda634225ae7cee33ba4f2d96
msgid "Run the following in cloud9's terminal:"
msgstr ""
#: ../../intro/install.rst:313
-# a16b59634e7c42369fc16e7cd6d7e93e
msgid "Configure ``engine/settings.php`` to be like so:"
msgstr ""
#: ../../intro/install.rst:325
-# cdafaf5e25804766b6788abfc6b2865c
msgid "**3. Complete the install process from Elgg's UI**"
msgstr ""
#: ../../intro/install.rst:327
-# 61ba31f022064acbb8f73b9230c42abf
msgid "Hit \"Run\" at the top of the page to start Apache."
msgstr ""
#: ../../intro/install.rst:328
-# b28e9494e9ae4636bdcec59e71bf5e38
msgid "Go to ``http://your-workspace.your-username.c9.io/install.php?step=database``"
msgstr ""
#: ../../intro/install.rst:329
-# 35c97fb90c904735bd4bbcd17091edbe
msgid "Change Site URL to ``http://your-workspace.your-username.c9.io/``"
msgstr ""
#: ../../intro/install.rst:330
-# 678b5cc00e8f40febff433ebe0d8f0eb
msgid "Put in the data directory path. Should be something like ``/var/..../app-root/data/elgg-data/``."
msgstr ""
#: ../../intro/install.rst:332
-# 1949cdd2412b4953932584dfa1dbcff6
msgid "Click \"Next\""
msgstr ""
#: ../../intro/install.rst:333
-# a8d55e5707974eb9b09dce8dd2eca258
msgid "Create the admin account"
msgstr ""
#: ../../intro/install.rst:334
-# 155c15ab9b654770bd43eddf1117eaf0
msgid "Click \"Go to site\""
msgstr ""
#: ../../intro/install.rst:335
-# 9752900195c248efa1ca10978c1d42a9
msgid "You may have to manually visit http://your-workspace.your-username.c9.io/ and login with the admin credentials you just configured."
msgstr ""
#: ../../intro/install.rst:342
-# 84338b0119dc42069cf35b4f1ab83a0a
msgid "Troubleshooting"
msgstr ""
#: ../../intro/install.rst:345
-# f2466d57f936415c923398026001a3cc
msgid "Help! I'm having trouble installing Elgg"
msgstr ""
#: ../../intro/install.rst:347
-# 4bf2279809cc41be99d2d29cb807e007
msgid "First:"
msgstr ""
#: ../../intro/install.rst:349
-# dccd8f46cb3b4749a95b76cde36ab7bb
msgid "Recheck that your server meets the technical requirements for Elgg."
msgstr ""
#: ../../intro/install.rst:350
-# 1f3530ed563d47a7a3cc97b09459d42f
msgid "Follow the environment-specific instructions if need be"
msgstr ""
#: ../../intro/install.rst:351
-# 2e63c2fdbd4b40f0887efa91fd07a879
msgid "Have you verified that ``mod_rewrite`` is being loaded?"
msgstr ""
#: ../../intro/install.rst:352
-# 5a3c8910b8bb423faffae5acaa92b5ed
msgid "Is the mysql apache being loaded?"
msgstr ""
#: ../../intro/install.rst:354
-# 749ed6ab4b134731821407a60ee53968
msgid "Keep notes on steps that you take to fix the install. Sometimes changing some setting or file to try to fix a problem may cause some other problem later on. If you need to start over, just delete all the files, drop your database, and begin again."
msgstr ""
#: ../../intro/install.rst:360
-# 2fc201daab544309882adedb8b9f3bc3
msgid "I can't save my settings on installation (I get a 404 error when saving settings)"
msgstr ""
#: ../../intro/install.rst:362
-# bf89686829a74d9bb3525d738121c437
msgid "Elgg relies on the ``mod_rewrite`` Apache extension in order to simulate certain URLs. For example, whenever you perform an action in Elgg, or when you visit a user's profile, the URL is translated by the server into something Elgg understands internally. This is done using rules defined in an ``.htaccess`` file, which is Apache's standard way of defining extra configuration for a site."
msgstr ""
#: ../../intro/install.rst:369
-# 4a513a76f0f641829516d4a0e57d1c54
msgid "This error suggests that the ``mod_rewrite`` rules aren't being picked up correctly. This may be for several reasons. If you're not comfortable implementing the solutions provided below, we strongly recommend that you contact your system administrator or technical support and forward this page to them."
msgstr ""
#: ../../intro/install.rst:375
-# cd77468509224bf79a9e7fb0f1f1ed35
msgid "The ``.htaccess``, if not generated automatically (that happens when you have problem with ``mod_rewrite``), you can create it by renaming ``htaccess_dist`` file you find with elgg package to ``.htaccess``. Also if you find a ``.htaccess`` file inside the installation path, but you are still getting 404 error, make sure the contents of ``.htaccess`` are same as that of ``htaccess_dist``."
msgstr ""
#: ../../intro/install.rst:382
-# 2d102b38a4e7403286c6f956ec6af5d4
msgid "**``mod_rewrite`` isn't installed.**"
msgstr ""
#: ../../intro/install.rst:384
-# 1166f485a88b4535823896a500c1409c
msgid "Check your ``httpd.conf`` to make sure that this module is being loaded by Apache. You may have to restart Apache to get it to pick up any changes in configuration. You can also use `PHP info`_ to check to see if the module is being loaded."
msgstr ""
#: ../../intro/install.rst:389
-# 14abfe2390ee4251a8bfef3554804df6
msgid "**The rules in ``.htaccess`` aren't being obeyed.**"
msgstr ""
#: ../../intro/install.rst:393
-# 278b021bda2341de956a6d9cb4e8b79b
msgid "In your virtual host configuration settings (which may be contained within ``httpd.conf``), change the AllowOverride setting so that it reads:"
msgstr ""
#: ../../intro/install.rst:397
-# 381106ea4e1f40688f678278f909d4a3
msgid "``AllowOverride all``"
msgstr ""
#: ../../intro/install.rst:399
-# a5c3564a49094635bdae53674263c9bc
msgid "This will tell Apache to pick up the ``mod_rewrite`` rules from ``.htaccess``."
msgstr ""
#: ../../intro/install.rst:402
-# de0ab2129d5246728a076c7bf539c6e9
msgid "**Elgg is not installed in the root of your web directory (ex: http://example.org/elgg/ instead of http://example.org/)**"
msgstr ""
#: ../../intro/install.rst:406
-# 09867e7cece748e581605a9c44deb5c2
msgid "The install script redirects me to \"action\" when it should be \"actions\""
msgstr ""
#: ../../intro/install.rst:408
-# 2ceeef5e234143a3937aed34b4c7cac5
msgid "This is a problem with your ``mod_rewrite`` setup. DO NOT, REPEAT, DO NOT change any directory names!"
msgstr ""
#: ../../intro/install.rst:412
-# 01761020241848e487aaff17880a3f23
msgid "I installed in a subdirectory and my install action isn't working!"
msgstr ""
#: ../../intro/install.rst:414
-# 49dd9184caba4692849da492ed6597b8
msgid "If you installed Elgg so that it is reached with an address like http://example.org/mysite/ rather than http://example.org/, there is a small chance that the rewrite rules in .htaccess will not be processed correctly. This is usually due to using an alias with Apache. You may need to give mod\\_rewrite a pointer to where your Elgg installation is."
msgstr ""
#: ../../intro/install.rst:420
-# 501a01a76d584d83b78c95a28670c289
msgid "Open up .htaccess in a text editor"
msgstr ""
#: ../../intro/install.rst:422
-# 5edec6eb9e7a43da8f89f918e432968a
msgid "Where prompted, add a line like ``RewriteBase /path/to/your/elgg/installation/`` (Don't forget the trailing slash)"
msgstr ""
#: ../../intro/install.rst:425
-# 48ab827dabd8422c920c95bb907a72fb
msgid "Save the file and refresh your browser."
msgstr ""
#: ../../intro/install.rst:427
-# 8baf6d122a5649fdb91a8a3129d250ad
msgid "Please note that the path you are using is the **web** path, minus the host."
msgstr ""
#: ../../intro/install.rst:430
-# 266c4fa2ee57497db0370e494956a765
msgid "For example, if you reach your elgg install at http://example.org/elgg/, you would set the base like this:"
msgstr ""
#: ../../intro/install.rst:433
-# a10f1a996fb84d74b1fc9624eb915adf
msgid "``RewriteBase /elgg/``"
msgstr ""
#: ../../intro/install.rst:435
-# ce9bba44a6514ae5bef61c41eba261e7
msgid "Please note that installing in a subdirectory does not require using RewriteBase. There are only some rare circumstances when it is needed due to the set up of the server."
msgstr ""
#: ../../intro/install.rst:440
-# e2ce29845d434eea90172e2cc8085c87
msgid "I did everything! mod\\_rewrite is working fine, but still the 404 error"
msgstr ""
#: ../../intro/install.rst:442
-# 6fe7133c1ce24d129bc053ed950db151
msgid "Maybe there is a problem with the file .htaccess. Sometimes the elgg install routine is unable to create one and unable to tell you that. If you are on this point and tried everything that is written above:"
msgstr ""
#: ../../intro/install.rst:446
-# 9a7284fa6edb4e77951b7af47774b2e1
msgid "check if it is really the elgg-created .htaccess (not only a dummy provided from the server provider)"
msgstr ""
#: ../../intro/install.rst:449
-# b9906d43b582455e8ccdc2c56d252a2f
msgid "if it is not the elgg provided htaccess file, use the htaccess\\_dist (rename it to .htaccess)"
msgstr ""
#: ../../intro/install.rst:453
-# 4fd79eae796242a1967d3f73bd14bedb
msgid "I get an error message that the rewrite test failed after the requirements check page"
msgstr ""
#: ../../intro/install.rst:455
-# 78385665bdff451aad2d6f3c3315d71a
msgid "I get the following messages after the requirements check step (step 2) of the install:"
msgstr ""
#: ../../intro/install.rst:457
-# 2f6c7acedf6f4edcb1b719d6a711a588
msgid "We think your server is running the Apache web server."
msgstr ""
#: ../../intro/install.rst:459
-# 9969f35090f4493b8f22df65d502d347
msgid "The rewrite test failed and the most likely cause is that AllowOverride is not set to All for Elgg's directory. This prevents Apache from processing the .htaccess file which contains the rewrite rules."
msgstr ""
#: ../../intro/install.rst:462
-# ab1630f01e2d4f38aac6141d354c1fde
msgid "A less likely cause is Apache is configured with an alias for your Elgg directory and you need to set the RewriteBase in your .htaccess. There are further instructions in the .htaccess file in your Elgg directory."
msgstr ""
#: ../../intro/install.rst:465
-# 3f53c08487f348f7bb5c882bd9ded03d
msgid "After this error, everinteraction with the web interface results in a error 500 (Internal Server Error)"
msgstr ""
#: ../../intro/install.rst:467
-# 6857c9562cd14ed18da9fbe4690d02ba
msgid "This is likely caused by not loading the \"filter module by un-commenting the"
msgstr ""
#: ../../intro/install.rst:469
-# 15932c6ad8f54007bbf48da708871dd6
msgid "#LoadModule filter_module modules/mod_filter.so"
msgstr ""
#: ../../intro/install.rst:471
-# ea2666120787400d84697c50e9ca79c5
msgid "line in the \"httpd.conf\" file."
msgstr ""
#: ../../intro/install.rst:473
-# 8bad4b4bce204ffb8d0f693a387f33fd
msgid "the Apache \"error.log\" file will contain an entry similar to:"
msgstr ""
#: ../../intro/install.rst:475
-# cb19a378916646c288019389304b075c
msgid "... .htaccess: Invalid command 'AddOutputFilterByType', perhaps misspelled or defined by a module not included in the server configuration"
msgstr ""
#: ../../intro/install.rst:479
-# 0829b5c5bf744452bd73fc12e9884882
msgid "There is a white page after I submit my database settings"
msgstr ""
#: ../../intro/install.rst:481
-# 0c656950a83a42d7988c9ca55c4f18d0
msgid "Check that the Apache mysql module is installed and is being loaded."
msgstr ""
#: ../../intro/install.rst:484
-# 4d48babcf25c4b9eb9c5180f2ac60fe2
msgid "I'm getting a 404 error with a really long url"
msgstr ""
#: ../../intro/install.rst:486
-# 100f87fdd89f4d9e8002ed8419e2d7e8
msgid "If you see a 404 error during the install or on the creation of the first user with a url like: ``http://example.com/homepages/26/d147515119/htdocs/elgg/action/register`` that means your site url is incorrect in your sites\\_entity table in your database. This was set by you on the second page of the install. Elgg tries to guess the correct value but has difficulty with shared hosting sites. Use phpMyAdmin to edit this value to the correct base url."
msgstr ""
#: ../../intro/install.rst:496
-# 460cfb15b60d463db83703201d95de9d
msgid "I am having trouble setting my data path"
msgstr ""
#: ../../intro/install.rst:498
-# 6787e8726b514b71add1abd25a809e33
msgid "This is highly server specific so it is difficult to give specific advice. If you have created a directory for uploading data, make sure your http server can access it. The easiest (but least secure) way to do this is give it permissions 777. It is better to give the web server ownership of the directory and limit the permissions."
msgstr ""
#: ../../intro/install.rst:504
-# d75a99b7fcd049c0ae2b594a7ed44c1c
msgid "The top cause of this issue is PHP configured to prevent access to most directories using `open\\_basedir`_. You may want to check with your hosting provider on this."
msgstr ""
#: ../../intro/install.rst:508
-# 6ed619626edf467f96f97d87ff776c3e
msgid "Make sure the path is correct and ends with a /. You can check the path in your database in the datalists table."
msgstr ""
#: ../../intro/install.rst:511
-# 62544f0d2dca470a9a95b7b5ad340cc2
msgid "If you only have ftp access to your server and created a directory but do not know the path of it, you might be able to figure it out from the www file path set in your datalists database table. Asking for help from your hosting help team is recommended at this stage."
msgstr ""
#: ../../intro/install.rst:520
-# 7b02a47af80b464c937646441d8217ae
msgid "I can't validate my admin account because I don't have an email server!"
msgstr ""
#: ../../intro/install.rst:522
-# ca5d8e8782314ee8ba972f99283da11c
msgid "While it's true that normal accounts (aside from those created from the admin panel) require their email address to be authenticated before they can log in, the admin account does not."
msgstr ""
#: ../../intro/install.rst:526
-# 79b402f5d24a4dc4a1899f0f3e3257a5
msgid "Once you have registered your first account you will be able to log in using the credentials you have provided!"
msgstr ""
#: ../../intro/install.rst:530
-# b054a82b6e6444c18448b71305d11051
msgid "I have tried all of these suggestions and I still cannot install Elgg"
msgstr ""
#: ../../intro/install.rst:532
-# 969dcceb23cb4635ad8a374c80b2f4d1
msgid "It is possible that during the process of debugging your install you have broken something else. Try doing a clean install:"
msgstr ""
#: ../../intro/install.rst:535
-# 8bac86d3aa604c3a8acd31d079e6438e
msgid "drop your elgg database"
msgstr ""
#: ../../intro/install.rst:536
-# 545bfa56285d477f8753cf1b6148b116
msgid "delete your data directory"
msgstr ""
#: ../../intro/install.rst:537
-# f73a3ef0321640c896a6523120675066
msgid "delete the Elgg source files"
msgstr ""
#: ../../intro/install.rst:538
-# 770c025a39484f3291c93e53d1ca2759
msgid "start over"
msgstr ""
#: ../../intro/install.rst:540
-# dc55723ea8c14536872b32ef2d9d2570
msgid "If that fails, seek the help of the `Elgg community`_. Be sure to mention what version of Elgg you are installing, details of your server platform, and any error messages that you may have received including ones in the error log of your server."
msgstr ""
#: ../../intro/license.rst:2
-# 62b5e9695e3746e6af793320baa23419
msgid "License"
msgstr ""
#: ../../intro/license.rst:5
-# f7e19b6e2b8e4469be2a5c140357278d
msgid "MIT or GPLv2"
msgstr ""
#: ../../intro/license.rst:6
-# a236838609b2452781ac3fb344cc713e
msgid "A full Elgg package that includes the framework and a core set of plugins is available under version 2 of the `GNU General Public License`__ (GPLv2). We also make the framework (without the plugins) available under the MIT license."
msgstr ""
#: ../../intro/license.rst:13
-# abd6409d1fdd47378eb7f648e80d861f
msgid "FAQ"
msgstr ""
#: ../../intro/license.rst:14
-# 990ca7af120c4587b2fda996c66f60a2
msgid "The following answers are provided as a convenience to you; they are not legal counsel. Consult with a lawyer to be sure about the answers to these questions. The Elgg Foundation cannot be held responsible for decisions you make based on what you read on this page."
msgstr ""
#: ../../intro/license.rst:18
-# 9fc9f5489ec942a291c3b6c524574590
msgid "For questions not answered here, please refer to the `official FAQ for the GPLv2`__."
msgstr ""
#: ../../intro/license.rst:24
-# 8dc1b744b05b4351b81a2dd0f51f2e30
msgid "How much does Elgg cost?"
msgstr ""
#: ../../intro/license.rst:25
-# 849042fb7ab74ae1be9891ad39c33562
msgid "Elgg is free to download, install, and use. If you’d like to donate, we do appreciate our `financial supporters`__!"
msgstr ""
#: ../../intro/license.rst:31
-# d4a2919122aa4bee91bad0cf94bd81a2
msgid "Can I remove the Elgg branding/links?"
msgstr ""
#: ../../intro/license.rst:32
#: ../../intro/license.rst:43
-# dd14e1b8dcf945019a987d166d21e1dc
-# ad86a792325940cc9c7abe8dde4dfc61
msgid "Yes."
msgstr ""
#: ../../intro/license.rst:36
-# 355c499e03894e75b774b5f4090fd3d2
msgid "Can I modify the source code?"
msgstr ""
#: ../../intro/license.rst:37
-# c641e5b5da9e42db8142bb0d999b661b
msgid "Yes, but in general we recommend you make your modifications as plugins so that when a new version of Elgg is released, the upgrade process is as painless as possible."
msgstr ""
#: ../../intro/license.rst:42
-# b0dcbde2baf8406787abab16bb49dbfc
msgid "Can I charge my users membership fees?"
msgstr ""
#: ../../intro/license.rst:47
-# 2a77f0944a5e4fac951a9fddf56463c0
msgid "If I modify Elgg, do I have to make the changes available?"
msgstr ""
#: ../../intro/license.rst:48
-# c33da728a098481484b5d574a1048b6d
msgid "No, if you are using Elgg to provide a service, you do not have to make the source available. If you distribute a modified version of Elgg, then you must include the source code for the changes."
msgstr ""
#: ../../intro/license.rst:53
-# ce81ece514344dd3810e598e5b6f84e2
msgid "If I use Elgg to host a network, does The Elgg Foundation have any rights over my network?"
msgstr ""
#: ../../intro/license.rst:54
-# 29c0a5b9080546ceac1e73a056c18f29
msgid "No."
msgstr ""
#: ../../intro/license.rst:58
-# ef1970417b184867a9e2968d5a0a54e7
msgid "What’s the difference between the MIT and GPL versions?"
msgstr ""
#: ../../intro/license.rst:59
-# 331f3b8eef0a43f39435e95283dc7d45
msgid "Plugins are not included with the MIT version."
msgstr ""
#: ../../intro/license.rst:61
-# 4c1f7ce4beef4f8591368ac79f4493cb
msgid "You can distribute a commercial product based on Elgg using the MIT version without making your modifications available."
msgstr ""
#: ../../intro/license.rst:63
-# 5c5a1e5b615f4eedbd4b8d57572c2c40
msgid "With the GPL licensed version, you have to include make your modifications of the framework public if you redistribute the framework."
msgstr ""
#: ../../intro/license.rst:67
-# 1b2855eb77254f20af9be21193551cd6
msgid "Why are plugins missing from the MIT version?"
msgstr ""
#: ../../intro/license.rst:68
-# 7ae07a0fd11d4248b71c64ee1f88b64a
msgid "The plugins were developed under the GPL license, so they cannot be released under an MIT license. Also, some plugins include external dependencies that are not compatible with the MIT license."
msgstr ""
#: ../../intro/license.rst:73
-# 7095ed581abd495282f638772be91c09
msgid "May I distribute a plugin for Elgg under a commercial license?"
msgstr ""
#: ../../intro/license.rst:74
-# 7977f2dbb4f049b3a554c4f97099e160
msgid "We believe you can, since plugins typically depend only the core framework and the framework is available under the MIT license. That said, we really recommend you consult with a lawyer on this particular issue to be absolutely sure."
msgstr ""
#: ../../intro/license.rst:77
-# 0cad225a5d10460b93c92d83174c6799
msgid "Note that plugins released via the community site repository must be licensed under a GPLv2-compatible license. They do not necessarily have to be GPLv2, just compatible (like MIT)."
msgstr ""
#: ../../intro/license.rst:82
-# 6cd76591ce934703954b4fcd4daf6dbf
msgid "Can we build our own tool that uses Elgg and sell that tool to our clients?"
msgstr ""
#: ../../intro/license.rst:83
-# f7f12ba35e734c1aa6280b12d73b29dc
msgid "Yes, but then your clients will be free to redistribute that tool under the terms of the GPLv2."
msgstr ""
diff --git a/docs/locale/pot/plugins.pot b/docs/locale/pot/plugins.pot
index 83637313660..1dc7d98566e 100644
--- a/docs/locale/pot/plugins.pot
+++ b/docs/locale/pot/plugins.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,547 +17,438 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../plugins/blog.rst:2
-# 836ef1c35c834e84b84a88a0f0e2288e
msgid "Blog"
msgstr ""
#: ../../plugins/blog.rst:4
-# d0aa18d1c42643afab9dc4f23c4f5800
msgid "A weblog, or blog, is arguably one of the fundamental DNA pieces of most types of social networking site. The simplest form of personal publishing, it allows for text-based notes to be published in reverse-chronological order. Commenting is also an important part of blogging, turning an individual act of publishing into a conversation."
msgstr ""
#: ../../plugins/blog.rst:6
-# e0cc3ef26937415cbd3d51e2ac9e88f7
msgid "Elgg's blog expands this model by providing per-entry access controls and cross-blog tagging. You can control exactly who can see each individual entry, as well as find other entries that people have written on similar topics. You can also see entries written by your friends (that you have access to)."
msgstr ""
#: ../../plugins/blog.rst:10
-# ee0f0b702e27444b914fa529aeaa0423
msgid "`Blogging on Wikipedia `_"
msgstr ""
#: ../../plugins/dashboard.rst:2
-# 9912c840b1694ce8b79fb036ee82b79e
msgid "Dashboard"
msgstr ""
#: ../../plugins/dashboard.rst:10
-# 675ebf6ab3b14da8b18382a3d3e47d2f
msgid "An typical Elgg dashboard"
msgstr ""
#: ../../plugins/dashboard.rst:12
-# b2a1b964eb82479a816157afd7c8ba53
msgid "The dashboard is bundled with both the full and core-only Elgg packages. This is a users portal to activity that is important to them both from within the site and from external sources. Using Elgg's powerful widget API, it is possible to build widgets that pull out relevant content from within an Elgg powered site as well as grab information from third party sources such as Twitter or Flickr (providing those widgets exist). A users dashboard is not the same as their profile, whereas the profile is for consumption by others, the dashboard is a space for users to use for their own needs."
msgstr ""
#: ../../plugins/diagnostics.rst:2
-# 0cb5ac32955e40b6bf1517ef8fcc844a
msgid "Diagnostics"
msgstr ""
#: ../../plugins/diagnostics.rst:4
-# 7b083f2539014bcebf49f881282aa1ee
msgid "For the technically savvy user, system diagnostics enables you to quickly evaluate the server environment, Elgg code, and plugins of an Elgg install. System diagnostics is a core plugin that comes turned on by default with Elgg. To download the diagnostics file, follow the steps below. The file is a dump of all sorts of useful information."
msgstr ""
#: ../../plugins/diagnostics.rst:6
-# 002330e20b664b8c92a6768b951f2a4b
msgid "To use:"
msgstr ""
#: ../../plugins/diagnostics.rst:8
-# 6a658b8bdf9a4f388a944052cb6e5135
msgid "Log in as Administrator"
msgstr ""
#: ../../plugins/diagnostics.rst:9
-# c3b56dfa522246d6bbc0c52a8d82a5a0
msgid "Go to Administration -> Administer -> Utilities ->System diagnostics"
msgstr ""
#: ../../plugins/diagnostics.rst:10
-# b3569efbc2c84d5398f6ed2e6afa8c52
msgid "Click 'Download'"
msgstr ""
#: ../../plugins/diagnostics.rst:12
-# f4f69ce154bb4eeeba668a3f48ee58f7
msgid "System diagnostics dump file contents:"
msgstr ""
#: ../../plugins/diagnostics.rst:14
-# 502de21cc6d24e45b6e72c8f8a69688e
msgid "List of all Elgg files along with a hash for each file"
msgstr ""
#: ../../plugins/diagnostics.rst:15
-# 908e7349540d4dc4816d0d82a74d1057
msgid "List of all the plugins"
msgstr ""
#: ../../plugins/diagnostics.rst:16
-# 0877ab8004b64769b46d05fc0644a8ce
msgid "PHP superglobals"
msgstr ""
#: ../../plugins/diagnostics.rst:17
-# d42073927d144ea99d50e3e669885abd
msgid "PHP settings"
msgstr ""
#: ../../plugins/diagnostics.rst:18
-# d72a9a368aff467196c9976a27892b35
msgid "Apache settings"
msgstr ""
#: ../../plugins/diagnostics.rst:26
-# b45c172566bc4ec998c24e897878ac9a
msgid "Elgg CONFIG values"
msgstr ""
#: ../../plugins/diagnostics.rst:20
-# 939fdb8ff6e24c2cb4860c415f193e54
msgid "language strings"
msgstr ""
#: ../../plugins/diagnostics.rst:21
-# 87b35b889d2948d2b5bf28d0d9c6842e
msgid "site settings"
msgstr ""
#: ../../plugins/diagnostics.rst:22
-# e75f3ae4ea384eeab3aec12e7ff4684b
msgid "database settings"
msgstr ""
#: ../../plugins/diagnostics.rst:23
-# d5e1c9221eed498d94f0bfc2b59f2358
msgid "plugin hooks"
msgstr ""
#: ../../plugins/diagnostics.rst:24
-# 22602ba7f7154a8299ac83a433ac81f2
msgid "actions"
msgstr ""
#: ../../plugins/diagnostics.rst:25
-# c86f592e7b41466e9c6bb2c36389601c
msgid "views"
msgstr ""
#: ../../plugins/diagnostics.rst:26
-# 58af84e577ad4f05adb4fb6069764ec4
msgid "page handlers"
msgstr ""
#: ../../plugins/diagnostics.rst:27
-# a30b903da41e4535897d87415c626859
msgid "much more"
msgstr ""
#: ../../plugins/file.rst:2
-# a464a63b687b4f4dba5a2ad5e4c2ce46
msgid "File repository"
msgstr ""
#: ../../plugins/file.rst:10
-# dd6511e470234f19b035ef89f11e4cc1
msgid "A file in an Elgg file repository"
msgstr ""
#: ../../plugins/file.rst:12
-# a5a0e6f3b521453e9b1adec886b1a5d6
msgid "The file repository allows users to upload any kind of file. As with everything in an Elgg system, you can filter uploaded files by tag and restrict access so that they're only visible by the people you want them to be. Each file may also have comments attached to it."
msgstr ""
#: ../../plugins/file.rst:14
-# 4ec2908751214ddaaf814318157aa60e
msgid "There are a number of different uses for this functionality"
msgstr ""
#: ../../plugins/file.rst:17
-# 3b20ee74ac9b4e55a6a93e18533cd0c5
msgid "Photo gallery"
msgstr ""
#: ../../plugins/file.rst:19
-# 70197d55e145488b821e756cfad5a192
msgid "When a user uploads photographs or other pictures, they are automatically collated into an Elgg photo gallery that can be browsed through. Users can also see pictures that their friends have uploaded, or see pictures attached to a group. Clicking into an individual file shows a larger version of the photo."
msgstr ""
#: ../../plugins/file.rst:22
-# 5212aca84a7d4676a60f471874ee6bfe
msgid "Podcasting"
msgstr ""
#: ../../plugins/file.rst:24
-# a33283ba92654835b768ea94df1dd58f
msgid "An Elgg file repository RSS feed automatically doubles as an RSS feed, so you can subscribe to new audio content using programs like iTunes. Using the ``zaudio`` plugin, supplied in the default Elgg package, MP3 audio files are also directly playable in the page."
msgstr ""
#: ../../plugins/file.rst:27
-# 00a8e6044fa9471d9690c7edf72b83b6
msgid "Special content"
msgstr ""
#: ../../plugins/file.rst:29
-# ce950f5099364cd9b5235c8de5d707ab
msgid "It is possible for other plugins to add to the players available for different content types. It's possible for a plugin author to embed a viewer for Word documents, for example."
msgstr ""
#: ../../plugins/file.rst:32
-# 6190b40e55ff4596a6f7358c6a5a05fb
msgid "Note for developers"
msgstr ""
#: ../../plugins/file.rst:34
-# ca51aa9193f249b593dc34421af01271
msgid "To add a special content type player, create a plugin with views of the form ``file/specialcontent/mime/type``. For example, to create a special viewer for Word documents, you would create a view called ``file/specialcontent/application/msword``, because ``application/msword`` is the MIME-type for Word documents. Within this view, the ``ElggEntity`` version of the file will be referenced as ``$vars['entity']``. Therefore, the URL of the downloadable file is:"
msgstr ""
#: ../../plugins/file.rst:41
-# 8b57cd1187b64bc8a33b7618bb5f4962
msgid "Using this, it should be possible to develop most types of embeddable viewers."
msgstr ""
#: ../../plugins/groups.rst:2
-# b1837748cc104a21a792ecb6b3e324ff
msgid "Groups"
msgstr ""
#: ../../plugins/groups.rst:10
-# d7293487574f4a3692ef14bf5b6d5948
msgid "A typical group profile"
msgstr ""
#: ../../plugins/groups.rst:12
-# 599f3fcef6624e088f821bd42312fbcb
msgid "Once you have found others with similar interests - or perhaps you are part of a research groups or a course/class - you may want to have a more structured setting to share content and discuss ideas. This is where Elgg's powerful group building can be used. You can create and moderate as many groups as you like"
msgstr ""
#: ../../plugins/groups.rst:15
-# 4a725854c005446b83b7028e6ca8145a
msgid "You can keep all group activity private to the group or you can use the 'make public' option to disseminate work to the wider public."
msgstr ""
#: ../../plugins/groups.rst:16
-# 371221cf83dd48519cf02e39ae0b1738
msgid "Each group produces granular RSS feeds, so it is easy to follow group developments"
msgstr ""
#: ../../plugins/groups.rst:17
-# a4a44d8968cc460b9c6af0b395cf8e57
msgid "Each group has its own URL and profile"
msgstr ""
#: ../../plugins/groups.rst:18
-# 062ef97e82e747d6b689c46b0718c9fc
msgid "Each group comes with a :doc:`file`, forum, pages and messageboard"
msgstr ""
#: ../../plugins/index.rst:2
-# e8690f2b99a84edfb644c2d302a6f73a
msgid "Bundled plugins"
msgstr ""
#: ../../plugins/index.rst:4
-# 991cb4179e5a4e02b8f982cb281d1686
msgid "Elgg comes with a set of plugins. These provide the basic functionality for your social network."
msgstr ""
#: ../../plugins/index.rst:20
-# cd4e61a0be494584ac4f7f50bed3030f
msgid "The following plugins are also bundled with Elgg, but are not (yet) documented"
msgstr ""
#: ../../plugins/index.rst:22
-# 3e6087f21cb44215a4cf55a4689506d6
msgid "aalborg_theme"
msgstr ""
#: ../../plugins/index.rst:23
-# e838a8c878ca475485fa535a001e18e8
msgid "bookmarks"
msgstr ""
#: ../../plugins/index.rst:24
-# 9b94a3bfcc6e4afaa10d98e3629f24a0
msgid "categories"
msgstr ""
#: ../../plugins/index.rst:25
-# 1ba514a26e624017a30796f88e04d37c
msgid "ckeditor"
msgstr ""
#: ../../plugins/index.rst:26
-# f1dc4f0dc9b943b6ae800af979a8c413
msgid "custom_index"
msgstr ""
#: ../../plugins/index.rst:27
-# 216332f009354a1caae8e3894892eb49
msgid "developers"
msgstr ""
#: ../../plugins/index.rst:28
-# d208b0e82c8341ff80f0a97ceca59135
msgid "embed"
msgstr ""
#: ../../plugins/index.rst:29
-# bd21f785aba1453d810b3dff2fd6ec63
msgid "externalpages"
msgstr ""
#: ../../plugins/index.rst:30
-# b30e4221864f4d2ba9ea9d0da680a740
msgid "garbagecollector"
msgstr ""
#: ../../plugins/index.rst:31
-# 8581afe29f4c44bca17980add89c3853
msgid "htmlawed"
msgstr ""
#: ../../plugins/index.rst:32
-# 219598f36dc34eeab15eb2da153463ab
msgid "invitefriends"
msgstr ""
#: ../../plugins/index.rst:33
-# 45cbb47cdc1b4789bebc67c49d6d8f50
msgid "legacy_urls"
msgstr ""
#: ../../plugins/index.rst:34
-# ae1441609773407d98ecbb1f400c659d
msgid "likes"
msgstr ""
#: ../../plugins/index.rst:35
-# e3939669f5dd42918f4d1cf9801c7ef7
msgid "logbrowser"
msgstr ""
#: ../../plugins/index.rst:36
-# c1d1756ec0114ef4a9221d05d97d71f0
msgid "logrotate"
msgstr ""
#: ../../plugins/index.rst:37
-# bd9537edc57d47c3a8462460bf3e3152
msgid "members"
msgstr ""
#: ../../plugins/index.rst:38
-# 1e6f14cb57114e32a7b8e073855d7aaa
msgid "notifications"
msgstr ""
#: ../../plugins/index.rst:39
-# b07b3c9eeff341509d0c25f18b1f8785
msgid "reportedcontent"
msgstr ""
#: ../../plugins/index.rst:40
-# e7b1976710a64d50b90835d6bc25b6bd
msgid "search"
msgstr ""
#: ../../plugins/index.rst:41
-# 83692cd38bc14db585b0ed4f27abc78e
msgid "site_notifications"
msgstr ""
#: ../../plugins/index.rst:42
-# 1bdba0f9bd76438eb88fa6d6d3892c72
msgid "tagcloud"
msgstr ""
#: ../../plugins/index.rst:43
-# b453adccf6b4481eb67d89db36c2ff32
msgid "twitter_api"
msgstr ""
#: ../../plugins/index.rst:44
-# 977926014f72425bae7d752f8ea2e7c8
msgid "uservalidationbyemail"
msgstr ""
#: ../../plugins/index.rst:45
-# 8ba6285fadc84cf890a53477c5d2c51b
msgid "web_services"
msgstr ""
#: ../../plugins/index.rst:46
-# 262d07f3946a476e95519f99bc126b0d
msgid "zaudio"
msgstr ""
#: ../../plugins/messageboard.rst:2
-# c8a192e825464fcd8f3e1b6955141428
msgid "Messageboard"
msgstr ""
#: ../../plugins/messageboard.rst:9
-# 588707fa46b3414f85d63adaf82ff114
msgid "A sample messageboard placed on the profile"
msgstr ""
#: ../../plugins/messageboard.rst:11
-# 101ec6d0f3cb4ba1a42f8cd4c3ade79a
msgid "The messageboard - similar to 'The Wall' in Facebook or a comment wall in other networks is a plugin that lets users put a messageboard widget on their profile. Other users can then post messages that will appear on the messageboard. You can then reply directly to any message and view the history between yourself and the person posting the message."
msgstr ""
#: ../../plugins/messages.rst:2
-# 07e7379e69bf4045a77041270d411175
msgid "Messages"
msgstr ""
#: ../../plugins/messages.rst:9
-# 47e120ef98b14aca81ec991e677c430a
msgid "Message notification"
msgstr ""
#: ../../plugins/messages.rst:11
-# 406366c8ea2643b193c436b670ada00d
msgid "Private messaging can be sent to users by clicking on their avatar or profile link, providing you have permission. Then, using the built in :doc:`WYSIWYG editor `, it is possible to format the message. Each user has their own inbox and sentbox. It is possible to be notified via email of new messages."
msgstr ""
#: ../../plugins/messages.rst:13
-# 66b6d5cbf34d49c18a9ef0da70a2128c
msgid "When users first login, they will be notified about any new message by the messages notification mechanism in their top toolbar."
msgstr ""
#: ../../plugins/pages.rst:2
-# c8a1961e2f8d4772945f48a6228fd7a8
msgid "Pages"
msgstr ""
#: ../../plugins/pages.rst:9
-# be453d36f84d4c23947fc4bf88d93b0b
msgid "An Elgg Page"
msgstr ""
#: ../../plugins/pages.rst:11
-# 6936caa240d64f5a981d5051c4fd36f0
msgid "The pages plugin allows you to save and store hierarchically-organized pages of text, and restrict both reading and writing privileges to them. This means that you can collaboratively create a set of documents with a loose collection of people, participate in a writing process with a formal group, or simply use the functionality to write a document that only you can see, and only choose to share it once it's done. The easy navigation menu allows you to see the whole document structure from any page. You can create as many of these structures as you like; each individual page has its own access controls, so you can reveal portions of the structure while keeping others hidden. In keeping with all other elements in Elgg, you can add comments on a page, or search for pages by tag."
msgstr ""
#: ../../plugins/pages.rst:15
-# d9dbffc0a4834efcb12a2c689e21f681
msgid "Usage"
msgstr ""
#: ../../plugins/pages.rst:17
-# d62d6a7c50234f0ab229138894733eab
msgid "Pages really come into their own in two areas, firstly as a way for users to build up things such as a resume, reflective documentation and so on. The second thing is in the area of collaboration, especially when in the context of groups. With the powerful access controls on both read and write, this plugin is ideal for collaborative document creation."
msgstr ""
#: ../../plugins/pages.rst:21
-# 1ba3ef81de0c4bb2b21c0e51aed77942
msgid "Developers should note that there are actually 2 types of pages:"
msgstr ""
#: ../../plugins/pages.rst:23
-# 525892c875ce4dcdbfb31a7cfd97e694
msgid "Top-level pages (with subtype ``page_top``)"
msgstr ""
#: ../../plugins/pages.rst:24
-# 8c342807d2e1477fa882020d434609f4
msgid "Normal pages (with subtype ``page``)"
msgstr ""
#: ../../plugins/profile.rst:2
-# c04235634ec34f95b9ede4a804e9c8fc
msgid "Profile"
msgstr ""
#: ../../plugins/profile.rst:9
-# f44c31a52f614d3e8240857f1e58c162
msgid "An Elgg profile"
msgstr ""
#: ../../plugins/profile.rst:11
-# 20ba49c38126468484f744b0b3844335
msgid "The profile plugin is bundled with both the full and core-only Elgg packages. The intention is that it can be disabled and replaced with another profile plugin if you wish. It provides a number of pieces of functionality which many consider fundamental to the concept of a social networking site, and is unique within the plugins because the profile icon it defines is referenced as standard from all over the system."
msgstr ""
#: ../../plugins/profile.rst:15
-# 2c7ae7c6e35e46ee889e37b1d4a2f5ba
msgid "User details"
msgstr ""
#: ../../plugins/profile.rst:17
-# 376316e8a12e4d60b3c42206fc7de144
msgid "This provides information about a user, which is configurable from within the plugin's start.php file. You can change the available profile fields form the admin panel. Each profile field has its own access restriction, so users can choose exactly who can see each individual element. Some of the fields contain tags (for example *skills*) limiting access to a field will also limit who can find you by that tag."
msgstr ""
#: ../../plugins/profile.rst:21
-# cd877fed682a412899b0fe834c4751da
msgid "User avatar"
msgstr ""
#: ../../plugins/profile.rst:28
-# 309fe2243d8a404597372ec6173b6133
msgid "The Elgg context menu"
msgstr ""
#: ../../plugins/profile.rst:30
-# ec569ed106f04d8aa4f51ae305d121b3
msgid "The user avatar represents a user (or a group) throughout the site. By default, this includes a context-sensitive menu that allows you to perform actions on the user it belongs to wherever you see their avatar. For example, you can add them as a friend, send an internal message, and more. Each plugin can add to this context menu, so its full contents will vary depending on the functionality active in the current Elgg site."
msgstr ""
#: ../../plugins/profile.rst:33
-# d494e41c795a4ef69b99c871cc021404
msgid "Notes for developers"
msgstr ""
#: ../../plugins/profile.rst:36
-# 24a5f8bf17e34678a3b555f89a9be18e
msgid "Using a different profile icon"
msgstr ""
#: ../../plugins/profile.rst:36
-# d008b1fc1b804f2a9f1b654546d09cb4
msgid "To replace the profile icon, or provide more content, extend the ``icon/user/default`` view."
msgstr ""
#: ../../plugins/profile.rst:43
-# 8014ea04ae01459ba909b595f5c20683
msgid "Adding to the context menu"
msgstr ""
#: ../../plugins/profile.rst:39
-# 130ed8dc34a74963ab331854373a9027
msgid "The context menu can be expanded by registering a :ref:`plugin hook ` for 'register' 'menu:user_hover', the following sections have special meaning:"
msgstr ""
#: ../../plugins/profile.rst:41
-# faba4d2cdffe4610a38f477481caf048
msgid "**default** for non-active links (eg to read a blog)"
msgstr ""
#: ../../plugins/profile.rst:42
-# 55751901c831456d983f40d585e69821
msgid "**admin** for links accessible by administrators only"
msgstr ""
#: ../../plugins/profile.rst:44
-# 3ace815570cc435397c29541963a9167
msgid "In each case, the user in question will be passed as ``$params['entity']``."
msgstr ""
#: ../../plugins/thewire.rst:2
-# 9673a048a81a42a78009202a3fad04aa
msgid "The Wire"
msgstr ""
#: ../../plugins/thewire.rst:4
-# eebc56ef25ce4808b8cc385828bd5c53
msgid "Elgg wire plugin \"The Wire\" is Twitter-style microblogging plugin that allows users to post notes to the wire."
msgstr ""
diff --git a/docs/locale/pot/tutorials.pot b/docs/locale/pot/tutorials.pot
index 4740e58127f..07524453950 100644
--- a/docs/locale/pot/tutorials.pot
+++ b/docs/locale/pot/tutorials.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Elgg 1.9\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-12-14 06:42-0800\n"
+"POT-Creation-Date: 2015-01-11 19:33-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,658 +17,525 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../tutorials/blog.rst:2
-# 43c73ad69a1b4bb39d162791b314a672
msgid "Building a Blog Plugin"
msgstr ""
#: ../../tutorials/blog.rst:4
-# 74f1467d1986471a801cfefe3ad64c5d
msgid "Build a simple blogging plugin using Elgg."
msgstr ""
#: ../../tutorials/blog.rst:6
-# c0053af94a004b10b40211167370679c
msgid "This duplicates features in the bundled blog plugin, so be sure to disable that while working on your own version."
msgstr ""
#: ../../tutorials/blog.rst:0
#: ../../tutorials/widget.rst:0
-# 2d149fa9296149b484837ac3558810bc
-# d29ee835a79a460c9f7f14182eed4637
msgid "Contents"
msgstr ""
#: ../../tutorials/blog.rst:14
-# bb5bc9424e074b60ba9328c1b0f550fc
msgid "Create the plugin skeleton"
msgstr ""
#: ../../tutorials/blog.rst:16
-# 399c42ba04a249b7b18350370083784a
msgid "The name of the directory under \"mod\" becomes the id of your plugin::"
msgstr ""
#: ../../tutorials/blog.rst:22
-# d30a8acb447e4528b450234825b620ae
msgid "You'll need to add a manifest file in ``/mod/my_blog/manifest.xml``. This file stores basic information about the plugin. See :doc:`/guides/plugins` for the template. You can also just copy the manifest file from another plugin and then change the values to fit your new plugin. Be sure to change the author and website, and remove the “bundled” category!"
msgstr ""
#: ../../tutorials/blog.rst:28
-# 931be9f7ffec42639c605f9b0d6a9c73
msgid "Create a page for composing the blogs"
msgstr ""
#: ../../tutorials/blog.rst:30
-# 4037b14518104c6bae7a198226a0ff3a
msgid "Create the file ``add.php`` in ``/mod/my_blog/pages/my_blog/``."
msgstr ""
#: ../../tutorials/blog.rst:61
-# b391a74d219345a99f7747b859a2c6d3
msgid "Create the form for creating a new my\\_blog post"
msgstr ""
#: ../../tutorials/blog.rst:63
-# c9c4d0e8e227475cacda873a50a1f9b3
msgid "Create a file at ``/mod/my_blog/views/default/forms/my_blog/save.php`` that contains the form body. This corresponds to view that is called above: ``elgg_view_form(\"my_blog/save\")``."
msgstr ""
#: ../../tutorials/blog.rst:67
-# 7689040d74604f38be0c1847e7190f8d
msgid "The form should have input fields for the title, body and tags. Because you used ``elgg_view_form()``, you do not need to include form tag markup. The view will be automatically wrapped with:"
msgstr ""
#: ../../tutorials/blog.rst:71
-# 6fd5bc3557b74277a76936b199599de8
msgid "a ``
Si vous avez encore cette erreur, vérifiez le contenu du log d\'erreurs du serveur. Vous pouvez chercher de l\'aide sur cette erreur dans le groupe de support technique de la communauté Elgg.',
// Strings specific for the comments upgrade
- 'admin:upgrades:comments' => 'Commentaires mis à jour',
+ 'admin:upgrades:comments' => 'Mise à jour des commentaires',
'upgrade:comment:create_failed' => 'Impossible de convertir le commentaire id %s en une entité.',
// Strings specific for the datadir upgrade
@@ -1139,7 +1127,7 @@
* Welcome
*/
- 'welcome' => "Bienvenu",
+ 'welcome' => "Bienvenue",
'welcome:user' => 'Bienvenue %s',
/**
@@ -1154,7 +1142,7 @@
'email:settings' => "Paramètres e-mail",
'email:address:label' => "Votre adresse e-mail",
- 'email:save:success' => "New email address saved.",
+ 'email:save:success' => "Nouvelle adresse e-mail enregistrée. Une vérification a été envoyée.",
'email:save:fail' => "Votre nouvelle adresse e-mail n'a pas pu être enregistrée.",
'friend:newfriend:subject' => "%s vous a ajouté comme contact !",
@@ -1166,7 +1154,7 @@
Vous ne pouvez pas répondre à cet e-mail.",
- 'email:changepassword:subject' => "Mot de passe modifié!",
+ 'email:changepassword:subject' => "Mot de passe modifié !",
'email:changepassword:body' => "Bonjour %s,
Votre mot de passe a été modifié.",
@@ -1176,7 +1164,7 @@
Votre nouveau mot de passe est : %s",
- 'email:changereq:subject' => "Demande de changement de mot de passe.",
+ 'email:changereq:subject' => "Demander un nouveau mot de passe.",
'email:changereq:body' => "Bonjour %s,
Quelqu'un (à partir de l'adresse IP %s) a demandé un changement de mot de passe pour son compte.
@@ -1190,10 +1178,10 @@
* user default access
*/
- 'default_access:settings' => "Votre niveau d'accés par défaut",
- 'default_access:label' => "Accés par défaut",
- 'user:default_access:success' => "Votre nouveau niveau d'accés par défaut a été enregistré.",
- 'user:default_access:failure' => "Votre nouveau niveau d'accés par défaut n'a pu être enregistré.",
+ 'default_access:settings' => "Votre niveau d'accès par défaut",
+ 'default_access:label' => "Accès par défaut",
+ 'user:default_access:success' => "Votre nouveau niveau d'accès par défaut a été enregistré.",
+ 'user:default_access:failure' => "Votre nouveau niveau d'accès par défaut n'a pu être enregistré.",
/**
* Comments
@@ -1202,24 +1190,24 @@
'comments:count' => "%s commentaire(s)",
'item:object:comment' => 'Commentaires',
- 'river:comment:object:default' => '%s commenté sur %s',
+ 'river:comment:object:default' => '%s a commenté %s',
'generic_comments:add' => "Laisser un commentaire",
'generic_comments:edit' => "Editer le commentaire",
'generic_comments:post' => "Poster un commentaire",
'generic_comments:text' => "Commentaire",
'generic_comments:latest' => "Derniers commentaires",
- 'generic_comment:posted' => "Votre commentaire a été publié avec succés.",
- 'generic_comment:updated' => "Le commentaire a été correctement mis à jour.",
+ 'generic_comment:posted' => "Votre commentaire a été publié avec succès.",
+ 'generic_comment:updated' => "Le commentaire a été mis à jour.",
'generic_comment:deleted' => "Votre commentaire a été correctement supprimé.",
- 'generic_comment:blank' => "Désolé; vous devez remplir votre commentaire avant de pouvoir l'enregistrer.",
- 'generic_comment:notfound' => "Désolé; l'élément recherché n'a pas été trouvé.",
+ 'generic_comment:blank' => "Désolé ; vous devez écrire un commentaire avant de pouvoir l'enregistrer.",
+ 'generic_comment:notfound' => "Désolé ; l'élément recherché n'a pas été trouvé.",
'generic_comment:notdeleted' => "Désolé; le commentaire n'a pu être supprimé.",
'generic_comment:failure' => "Une erreur inattendue a eu lieu pendant la sauvegarde du commentaire.",
- 'generic_comment:none' => 'Pas de commentaires',
- 'generic_comment:title' => 'Commentaire par %s',
+ 'generic_comment:none' => 'Pas de commentaire',
+ 'generic_comment:title' => 'Commentaire de %s',
'generic_comment:on' => '%s sur %s',
- 'generic_comments:latest:posted' => 'posté un',
+ 'generic_comments:latest:posted' => 'publié un',
'generic_comment:email:subject' => 'Vous avez un nouveau commentaire !',
'generic_comment:email:body' => "Vous avez un nouveau commentaire sur l'élément '%s' de %s. Voici son contenu :
@@ -1244,7 +1232,7 @@
'byline' => 'Par %s',
'entity:default:strapline' => 'Créé le %s par %s',
- 'entity:default:missingsupport:popup' => 'Cette entité ne peut pas être affichée correctement. C\'est peut-être du à un plugin qui a été supprimé.',
+ 'entity:default:missingsupport:popup' => 'Cette entité ne peut pas être affichée correctement. C\'est peut-être dû à un plugin qui a été supprimé.',
'entity:delete:success' => 'L\'entité %s a été effacée',
'entity:delete:fail' => 'L\'entité %s n\'a pas pu être effacée',
@@ -1257,28 +1245,27 @@
'actiongatekeeper:tokeninvalid' => "The page you were using had expired. Please try again.",
'actiongatekeeper:timeerror' => 'La page a expiré, rafraichissez et recommencez à nouveau.',
'actiongatekeeper:pluginprevents' => 'Une extension a empêché ce formulaire d\'être envoyé',
- 'actiongatekeeper:uploadexceeded' => 'The size of file(s) uploaded exceeded the limit set by your site administrator',
- 'actiongatekeeper:crosssitelogin' => "Sorry, logging in from a different domain is not permitted. Please try again.",
+ 'actiongatekeeper:uploadexceeded' => 'La taille du fichier dépasse la limite définie par l\'administrateur du site',
+ 'actiongatekeeper:crosssitelogin' => "Désolé, il n'est pas permis de se connecter depuis un autre nom de domaine. Veuillez réessayer.",
/**
* Word blacklists
*/
- 'word:blacklist' => 'and, the, then, but, she, his, her, him, one, not, also, about, now, hence, however, still, likewise, otherwise, therefore, conversely, rather, consequently, furthermore, nevertheless, instead, meanwhile, accordingly, this, seems, what, whom, whose, whoever, whomever',
+ 'word:blacklist' => 'et, le alors, elle, il, son, sa lui, un, une, pas, aussi, maintenant, malgré, cependant, toutefois, mais, plutôt, au, pendant, ce, cette, ces, quel, qui, que',
/**
* Tag labels
*/
'tag_names:tags' => 'Tags',
- 'tags:site_cloud' => 'Nuage de tag du site',
/**
* Javascript
*/
- 'js:security:token_refresh_failed' => 'Failed to contact %s. You may experience problems saving content. Please refresh this page.',
- 'js:security:token_refreshed' => 'La connexion à %s est restaurée !',
+ 'js:security:token_refresh_failed' => 'Impossible de contacter %s. Vous risquez de ne pas pouvoir enregistrer le contenu. Veuillez rafraîchir cette page.',
+ 'js:security:token_refreshed' => 'La connexion à %s est rétablie !',
'js:lightbox:current' => "image %s de %s",
/**
diff --git a/languages/ja.php b/languages/ja.php
index 3711a2a8d5a..468f9192916 100644
--- a/languages/ja.php
+++ b/languages/ja.php
@@ -40,7 +40,7 @@
'actionloggedout' => "ログアウトのままですと、アクションを実行できません。",
'actionunauthorized' => 'あなたの権限では、このアクションを実行することはできません。',
- 'PluginException:MisconfiguredPlugin' => "%s (guid: %s) は、設定にミスがあるプラグインですので、起動を無効にしました。起こり得る原因についてはElgg wikiにて検索してみてください。(http://docs.elgg.org/wiki/)",
+ 'PluginException:MisconfiguredPlugin' => "%s (guid: %s) は、設定に間違いのあるプラグインですので、起動不可となっています。 原因に当たっては、Elgg wiki (http://learn.elgg.org/) を参考にしてください。 ",
'PluginException:CannotStart' => '%s (guid: %s) は起動できず停止状態のままです。理由: %s',
'PluginException:InvalidID' => "%s は、不正なプラグインIDです。",
'PluginException:InvalidPath' => "%s は、不正なプラグインのpathです",
@@ -158,6 +158,7 @@
'widgets:add' => 'ウィジェットを追加',
'widgets:add:description' => "下のウィジェットボタンをクリックして、ページに追加してみてください。",
+ 'widgets:panel:close' => "ウィジェットパネルを閉じる",
'widgets:position:fixed' => '(固定した位置)',
'widget:unavailable' => 'すでに、このウィジェットを追加済みです。',
'widget:numbertodisplay' => '表示するアイテムの数',
@@ -448,6 +449,7 @@
'admin:configuration:success' => "設定を保存しました。",
'admin:configuration:fail' => "設定を保存できませんでした。",
'admin:configuration:dataroot:relative_path' => '「 %s 」をデータルートとして仕様出来ません:絶対パスを使用してください。',
+ 'admin:configuration:default_limit' => '項目の数は、1ページ当たり最低でも1つ以上にしてください。',
'admin:unknown_section' => '不正な管理セクションです',
@@ -609,7 +611,7 @@
'admin:plugins:warning:elgg_version_unknown' => 'このプラグインは、旧のマニフェストファイルを使用していますので互換性のあるElggバージョンを記載していません。おそらく、うまく作動しないでしょう。',
'admin:plugins:warning:unmet_dependencies' => 'このプラグインは依存関係が不適切なので起動できません。詳細情報で依存関係をチェックしてください。',
'admin:plugins:warning:invalid' => 'このプラグインは正しくありません: %s',
- 'admin:plugins:warning:invalid:check_docs' => '問題解決には the Elgg documentation をチェックしてみてください。',
+ 'admin:plugins:warning:invalid:check_docs' => '問題解決のヒントは、 the Elgg documentation にあるかもしれません。',
'admin:plugins:cannot_activate' => '起動できません',
'admin:plugins:set_priority:yes' => "%s を並べ直しました。",
@@ -1049,6 +1051,7 @@
'installation:view' => "あなたのサイトのデフォルトで使用するviewを入力してください。デフォルトviewを使用する場合は、空欄のままにしておいてください。(よくわからない場合は、そのままにしておいてください)",
'installation:siteemail' => "サイトの電子メールアドレス(システムメールを送信するときに使用します):",
+ 'installation:default_limit' => "1ページ当たりの項目数の既定値",
'admin:site:access:warning' => "ユーザが新しくコンテントを作成する際に示されるプライバシー・セッティングです。これを変更しても、すでにあるコンテントへのアクセス権は変更されません。",
'installation:allow_user_default_access:description' => "チェックすると、各ユーザがそれぞれののプライバシー・セッティングを設定することができます。この場合、システムのプライバシー・セッティングは上書きされます。",
@@ -1081,13 +1084,11 @@
'upgrade:unlock:success' => "アップグレードのロックを解除しました。",
'upgrade:unable_to_upgrade' => 'アップグレードできませんでした',
'upgrade:unable_to_upgrade_info' =>
- '今回のインストールではアップグレードできませんでした。旧バージョンのviewがElggコアviewディレクトリにあるためです。
- これらの旧viewは廃止または削除されたので、そのまま残っていると新Elggが正常に作動しなくなります。
- もし、Elggコアに手を加えていないなら、単純にviewディレクトリを削除して最新のElggのと置き換えてください。
- 最新のElggは、elgg.org よりダウンロードできます。
+ 'Elggコアディレクトリに古いタイプのviewsが見つかったため、このインストレーションは、アップグレードできません。
- 手順の詳細は、Upgrading Elgg documentation をご覧ください。
- その他なにかお困りでしたら、遠慮無くCommunity Support Forums に投稿してみてください。',
+このようなviewsは廃止予定にされており、Elggが正しく機能するためには削除しなければなりません。あなたがElggコアに独自に変更をしていなければ、そのviewsディレクトリを削除して、elgg.org からダウンロードした最新のElggパッケージのものに差し替えるだけでよいでしょう。
+
+手順の詳細は、 Upgrading Elgg documentation をご覧ください。また、Community Support Forums に投稿すれば、きっと誰かが助けてくれるでしょう。',
'update:twitter_api:deactivated' => 'Twitter API(旧称Twitter Service)はアップグレード中に停止しました。必要なら、手動でプラグインを再起動させてください。',
'update:oauth_api:deactivated' => 'OAuth API(旧称 OAuth LIb)はアップグレード中に停止しました。必要なら、手動でプラグインを再起動させてください。',
diff --git a/languages/nl.php b/languages/nl.php
index b39c0bff350..93a2daef378 100644
--- a/languages/nl.php
+++ b/languages/nl.php
@@ -40,7 +40,7 @@
'actionloggedout' => "Sorry, je kunt deze actie niet uitvoeren als je bent afgemeld.",
'actionunauthorized' => 'Je bent niet geautoriseerd om deze actie uit te voeren',
- 'PluginException:MisconfiguredPlugin' => "%s (guid: %s) is een verkeerd geconfigureerde plugin. Hij is uitgeschakeld. In de Elgg-wiki kun je mogelijke oorzaken vinden (http://docs.elgg.org/wiki/).",
+ 'PluginException:MisconfiguredPlugin' => "%s (guid: %s) is een verkeerd geconfigureerde plugin. Hij is uitgeschakeld. In de Elgg documentatie kun je mogelijke oorzaken vinden (http://learn.elgg.org/).",
'PluginException:CannotStart' => '%s (guid: %s) kan niet starten. Reden: %s',
'PluginException:InvalidID' => "%s is een ongeldige plugin-ID.",
'PluginException:InvalidPath' => "%s is een ongeldig plugin-pad.",
@@ -159,6 +159,7 @@
'widgets:add' => 'Voeg widgets toe',
'widgets:add:description' => "Klik op een widgetknop om de widget aan jouw pagina toe te voegen.",
+ 'widgets:panel:close' => "Sluit widgets paneel",
'widgets:position:fixed' => '(Vaste positie op pagina)',
'widget:unavailable' => 'Je hebt deze widget al toegevoegd',
'widget:numbertodisplay' => 'Aantal items om weer te geven',
@@ -455,6 +456,7 @@
'admin:configuration:success' => "Je instellingen zijn opgeslagen.",
'admin:configuration:fail' => "Je instellingen zijn niet opgeslagen.",
'admin:configuration:dataroot:relative_path' => 'Kan \'%s\' niet als datamap opslaan, omdat het geen absoluut pad is.',
+ 'admin:configuration:default_limit' => 'Het aantal items per pagina moet minstens 1 zijn.',
'admin:unknown_section' => 'Ongeldige beheersectie.',
@@ -616,7 +618,7 @@
'admin:plugins:warning:elgg_version_unknown' => 'Deze plugin gebruikt een oud manifestbestand en heeft geen Elggversie gedefinieerd. Hij zal waarschijnlijk niet werken! ',
'admin:plugins:warning:unmet_dependencies' => 'Deze plugin heeft onvervulde afhankelijkheden en kan niet worden geactiveerd. Controleer de afhankelijkheden onder \'meer info\'.',
'admin:plugins:warning:invalid' => '%s is geen geldige plugin voor Elgg. Controleer de Elgg-documentatie voor handige tips.',
- 'admin:plugins:warning:invalid:check_docs' => 'Controleer de Elgg-documentatie voor tips met betrekking tot foutopsporing.',
+ 'admin:plugins:warning:invalid:check_docs' => 'Controleer de Elgg documentatie voor tips met betrekking tot foutopsporing.',
'admin:plugins:cannot_activate' => 'kan niet activeren',
'admin:plugins:set_priority:yes' => "%s herordend.",
@@ -1054,6 +1056,7 @@
'installation:view' => "Geeft de view op die standaard wordt gebruikt binnen de site, of laat het leeg voor de standaardview. Bij twijfel, laat de standaard staan!",
'installation:siteemail' => "Site e-mailadres (dit wordt gebruikt voor het verzenden van systeem e-mails):",
+ 'installation:default_limit' => "Standaard aantal items per pagina",
'admin:site:access:warning' => "Het wijzigen van de toegangsinstellingen is alleen van toepassing op nieuwe content.",
'installation:allow_user_default_access:description' => "Als je dit aanvinkt hebben individuele gebruikers de mogelijkheid om hun eigen standaard toegangsniveau in te stellen. Dit kan anders zijn dan de standaardinstelling van de site.",
@@ -1088,7 +1091,7 @@
'upgrade:unable_to_upgrade_info' =>
'Deze installatie kan niet worden geüpgrade omdat er \'legacy views\' zijn ontdekt in de Elgg \'core views\' map. Deze views zijn verouderd en moeten worden verwijderd om Elgg correct te laten functioneren. Als je geen wijzigingen hebt gemaakt aan de Elgg-core kun je de map verwijderen en vervangen met de inhoud uit de laatste versie van Elgg, die je kunt vinden op elgg.org .
-Als je meer gedetailleerde instructie wilt, ga je naar de documentatie \'Upgrading Elgg\' . Als je hulp nodig hebt, plaats je je vraag op de Community Support Forums .',
+Als je meer gedetailleerde instructie wilt, ga je naar de documentatie \'Upgrading Elgg\' . Als je hulp nodig hebt, plaats je je vraag op de Community Support Forums .',
'update:twitter_api:deactivated' => 'Twitter API (voorheen Twitter Service) is uitgeschakeld tijdens de upgrade. Activeer deze zelf weer als het nodig is.',
'update:oauth_api:deactivated' => 'OAuth API (voorheen OAuth Lib) is uitgeschakeld tijdens de upgrade. Activeer deze zelf weer als het nodig is.',
diff --git a/mod/blog/languages/es.php b/mod/blog/languages/es.php
index 1cecd6cdaea..64f7efe9b62 100644
--- a/mod/blog/languages/es.php
+++ b/mod/blog/languages/es.php
@@ -2,7 +2,7 @@
return array(
'blog' => 'Blogs',
'blog:blogs' => 'Blogs',
- 'blog:revisions' => 'Revisione',
+ 'blog:revisions' => 'Revisiones',
'blog:archives' => 'Archivos',
'blog:blog' => 'Blog',
'item:object:blog' => 'Blogs',
diff --git a/mod/blog/languages/nl.php b/mod/blog/languages/nl.php
index fde09c940e7..2fe7a724128 100644
--- a/mod/blog/languages/nl.php
+++ b/mod/blog/languages/nl.php
@@ -5,14 +5,14 @@
'blog:revisions' => 'Revisies',
'blog:archives' => 'Archieven',
'blog:blog' => 'Blog',
- 'item:object:blog' => 'Blog berichten',
+ 'item:object:blog' => 'Blogberichten',
- 'blog:title:user_blogs' => '%s\'s blogs',
- 'blog:title:all_blogs' => 'Alle site blogs',
+ 'blog:title:user_blogs' => 'Blogs van %s',
+ 'blog:title:all_blogs' => 'Alle blogs van de site',
'blog:title:friends' => 'Blogs van vrienden',
- 'blog:group' => 'Groep blog',
- 'blog:enableblog' => 'Groep blog inschakelen',
+ 'blog:group' => 'Groepsblog',
+ 'blog:enableblog' => 'Groepsblog inschakelen',
'blog:write' => 'Schrijf een blog',
// Editing
@@ -29,38 +29,45 @@
'blog:message:saved' => 'Blog opgeslagen',
'blog:error:cannot_save' => 'Blog kon niet worden opgeslagen.',
'blog:error:cannot_auto_save' => 'De blog kon niet automatisch worden opgeslagen',
- 'blog:error:cannot_write_to_container' => 'Onvoldoende rechten om de blog op te slaan in de groep.',
- 'blog:messages:warning:draft' => 'Er is een niet opgeslagen concept voor deze blog!',
+ 'blog:error:cannot_write_to_container' => 'Je hebt onvoldoende rechten om de blog in de groep op te slaan.',
+ 'blog:messages:warning:draft' => 'Er is een niet-opgeslagen concept voor deze blog!',
'blog:edit_revision_notice' => '(Oude versie)',
'blog:message:deleted_post' => 'Blog verwijderd.',
'blog:error:cannot_delete_post' => 'Kan blog niet verwijderen.',
'blog:none' => 'Geen blogs',
- 'blog:error:missing:title' => 'Geef een blog titel op!',
- 'blog:error:missing:description' => 'Geef een bericht op bij je blog!',
- 'blog:error:cannot_edit_post' => 'Deze blog bestaat niet of je hebt onvoldoende rechten om deze te mogen bewerken.',
- 'blog:error:post_not_found' => 'Deze blog is verwijderd, ongeldig, of je hebt onvoldoende rechten om het te mogen zien.',
+ 'blog:error:missing:title' => 'Geef een titel aan de blog!',
+ 'blog:error:missing:description' => 'Vertel iets in je blog!',
+ 'blog:error:cannot_edit_post' => 'Deze blog bestaat niet, of je hebt onvoldoende rechten om deze te mogen bewerken.',
+ 'blog:error:post_not_found' => 'Deze blog is verwijderd, ongeldig, of je hebt onvoldoende rechten om hem te mogen zien.',
'blog:error:revision_not_found' => 'Kan deze revisie niet vinden.',
// river
- 'river:create:object:blog' => '%s publiceerde een blog %s',
- 'river:comment:object:blog' => '%s reageerde op de blog %s',
+ 'river:create:object:blog' => '%s plaatste een blog: \'%s\'',
+ 'river:comment:object:blog' => '%s reageerde op de blog \'%s\'',
// notifications
- 'blog:notify:summary' => 'Nieuwe blog met de titel %s',
+ 'blog:notify:summary' => 'Nieuwe blog met de titel \'%s\'',
'blog:notify:subject' => 'Nieuwe blog: %s',
'blog:notify:body' =>
'
-%s schreef een nieuwe blog: %s
+Hallo!
+
+%s schreef een nieuwe blog: \'%s\'
-%s
+%s
+
+Je kunt de blog hier lezen en erop reageren:
-Bekijk en reageer op de blog:
%s
+
+----
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op antwoorden.
',
// widget
- 'blog:widget:description' => 'Deze widget toont je laatste blog berichten',
- 'blog:moreblogs' => 'Meer blog berichten',
- 'blog:numbertodisplay' => 'Aantal blog berichten om te tonen',
+ 'blog:widget:description' => 'Deze widget toont je laatste blogberichten',
+ 'blog:moreblogs' => 'Meer blogberichten',
+ 'blog:numbertodisplay' => 'Aantal blogberichten om te tonen:',
'blog:noblogs' => 'Geen blogs'
);
\ No newline at end of file
diff --git a/mod/bookmarks/languages/es.php b/mod/bookmarks/languages/es.php
index 1645b97738d..116570992a3 100644
--- a/mod/bookmarks/languages/es.php
+++ b/mod/bookmarks/languages/es.php
@@ -44,7 +44,7 @@
'river:create:object:bookmarks' => '%s ha marcado %s',
'river:comment:object:bookmarks' => '%s ha comentado en el marcador %s',
'bookmarks:river:annotate' => 'ha comentado este marcador',
- 'bookmarks:river:item' => 'un item',
+ 'bookmarks:river:item' => 'un artículo',
'item:object:bookmarks' => 'Marcadores',
diff --git a/mod/bookmarks/languages/nl.php b/mod/bookmarks/languages/nl.php
index b21c61b6e43..8f0f285ed6c 100644
--- a/mod/bookmarks/languages/nl.php
+++ b/mod/bookmarks/languages/nl.php
@@ -7,31 +7,36 @@
'bookmarks' => "Favorieten",
'bookmarks:add' => "Favoriet toevoegen",
'bookmarks:edit' => "Bewerk favoriet",
- 'bookmarks:owner' => "%s's favorieten",
+ 'bookmarks:owner' => "Favorieten van %s",
'bookmarks:friends' => "Favorieten van vrienden",
- 'bookmarks:everyone' => "Alle Site favorieten",
+ 'bookmarks:everyone' => "Alle sitefavorieten",
'bookmarks:this' => "Voeg favoriet toe",
- 'bookmarks:this:group' => "Favoriet in %s",
- 'bookmarks:bookmarklet' => "Browser plugin",
- 'bookmarks:bookmarklet:group' => "Verkrijg groeps bookmarklet",
- 'bookmarks:inbox' => "Favorieten inbox",
+ 'bookmarks:this:group' => "Favoriet in '%s'",
+ 'bookmarks:bookmarklet' => "Browser-plugin",
+ 'bookmarks:bookmarklet:group' => "Verkrijg groeps-bookmarklet",
+ 'bookmarks:inbox' => "Favorieteninbox",
'bookmarks:with' => "Deel met",
'bookmarks:new' => "Een nieuwe favoriet",
'bookmarks:address' => "Adres van de favoriet",
'bookmarks:none' => 'Geen favorieten',
- 'bookmarks:notify:summary' => 'Nieuwe favoriet genoemd %s',
+ 'bookmarks:notify:summary' => 'Nieuwe favoriet genaamd \'%s\'',
'bookmarks:notify:subject' => 'Nieuwe favoriet: %s',
'bookmarks:notify:body' =>
-'%s voegde een nieuwe favoriet toe: %s
+'Hallo!
-Adres: %s
+%s voegde een nieuwe favoriet toe: %s
+
+De favoriet kun je hier vinden: %s
%s
-Bekijk en reageer op de favoriet:
+Hier kun je de favoriet bekijken en erop reageren:
%s
-',
+
+----
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op antwoorden.',
'bookmarks:delete:confirm' => "Weet je zeker dat je deze favoriet wilt verwijderen?",
@@ -48,8 +53,8 @@
'item:object:bookmarks' => 'Favorieten',
- 'bookmarks:group' => 'Groeps favorieten',
- 'bookmarks:enablebookmarks' => 'Schakel groeps favorieten in',
+ 'bookmarks:group' => 'Groepsfavorieten',
+ 'bookmarks:enablebookmarks' => 'Schakel groepsfavorieten in',
'bookmarks:nogroup' => 'Deze groep heeft nog geen favorieten',
/**
@@ -58,10 +63,10 @@
'bookmarks:widget:description' => "Deze widget is ontworpen voor je Dashboard en laat je de laatste favorieten in de Inbox zien.",
'bookmarks:bookmarklet:description' =>
- "De favorieten Browser plugin maakt het mogelijk om iedere willekeurige pagina te delen met je vrienden, of om gewoon voor jezelf om te onthouden. Om het te gebruiken sleep je de Browser plugin naar je Links balk van je browser: ",
+ "De favorieten browser-plugin maakt het mogelijk om iedere willekeurige pagina te delen met je vrienden, of om gewoon voor jezelf om te onthouden. Om hem te gebruiken sleep je de browser-plugin naar de favorietenbalk van je browser (deze kan ook de bladwijzerbalk heten):",
'bookmarks:bookmarklet:descriptionie' =>
- "Als je Internet Explorer gebruikt moet je met de rechter muisknop op de Browser plugin klikken en dan kiezen voor 'toevoegen aan favorieten' en dan de Links balk.",
+ "Als je Internet Explorer gebruikt moet je met de rechter muisknop op de browser-plugin klikken. Kies daarna voor 'toevoegen aan favorieten', en vervolgens de \"Links-balk\".",
'bookmarks:bookmarklet:description:conclusion' =>
"Je kunt dan iedere pagina die je bezoekt markeren door op de link te klikken.",
diff --git a/mod/categories/languages/nl.php b/mod/categories/languages/nl.php
index 271bbe9e571..253913e5440 100644
--- a/mod/categories/languages/nl.php
+++ b/mod/categories/languages/nl.php
@@ -1,9 +1,9 @@
'Categorieën',
- 'categories:settings' => 'Stel Site categorieën in',
- 'categories:explanation' => 'Om een aantal voorgedefinieerde categorieën in te stellen, die door over hele site kunnen worden gebruik, geeft ze hieronder in. Door een komma gescheiden. Geschikte plugins zullen ze dan weer geven als een gebruiker content bewerkt of aanmaakt.',
- 'categories:save:success' => 'Site categorieën zijn succesvol opgeslagen.',
- 'categories:results' => "Resultaten voor de Site categorie: %s",
- 'categories:on_activate_reminder' => "Site categorieën zal niet werken totdat je enkele categorieën toevoegt. Voeg categorieën toe .",
+ 'categories:settings' => 'Stel de site-categorieën in',
+ 'categories:explanation' => 'Je kunt een aantal voorgedefinieerde categorieën instellen. Deze kunnen vervolgens door over hele site worden gebruikt. Je kunt ze hieronder invoeren, geschieden door een komma. Geschikte plugins zullen deze categorieën dan weer geven als een gebruiker content bewerkt of aanmaakt.',
+ 'categories:save:success' => 'De site-categorieën zijn succesvol opgeslagen.',
+ 'categories:results' => "Resultaten voor de site-categorie: %s",
+ 'categories:on_activate_reminder' => "Site-categorieën zullen niet werken totdat je enkele categorieën toevoegt. Voeg categorieën toe .",
);
\ No newline at end of file
diff --git a/mod/categories/languages/pt_BR.php b/mod/categories/languages/pt_BR.php
index 317a160a7e2..14d2cbea6ed 100644
--- a/mod/categories/languages/pt_BR.php
+++ b/mod/categories/languages/pt_BR.php
@@ -1,9 +1,9 @@
'Categorias',
- 'categories:settings' => 'Definir categorias no site',
- 'categories:explanation' => 'Para definir algumas categorias pré-definidas que serão utilizadas em todo o site, em todo o sistema, insira-os abaixo, separadas por vírgulas. Ferramentas compatíveis, então, apresentadas quando o usuário cria ou edita conteúdo.',
- 'categories:save:success' => 'As categorias definidas no site foram salvas com sucesso.',
+ 'categories:settings' => 'Definir as categorias do Site',
+ 'categories:explanation' => 'Para definir algumas categorias geais que serão utilizadas no sistema, digite-as abaixo, separadas por vírgulas. Ferramentas compatíveis exibirão as categorias quando o usuário criar ou editar conteúdos.',
+ 'categories:save:success' => 'Categorias foram salvas com sucesso.',
'categories:results' => "Resultados para a categoria do site: %s",
- 'categories:on_activate_reminder' => "Categorias em todo o site não funcionará até que você adicione categorias. Adicionar categorias agora. ",
+ 'categories:on_activate_reminder' => "As categorias não funcionam enquanto não adicionar categorias . Adicione as categorias agora.",
);
\ No newline at end of file
diff --git a/mod/ckeditor/languages/fr.php b/mod/ckeditor/languages/fr.php
index c757b5758c1..9fa370eb861 100644
--- a/mod/ckeditor/languages/fr.php
+++ b/mod/ckeditor/languages/fr.php
@@ -1,5 +1,6 @@
"Editer l'HTML",
+ 'ckeditor:html' => "Éditer le HTML",
'ckeditor:visual' => "Éditeur visuel",
+ 'ckeditor:blockimagepaste' => "Il n'est pas permis de coller directement une image.",
);
diff --git a/mod/ckeditor/languages/nl.php b/mod/ckeditor/languages/nl.php
index 619afff0a52..e15b8f70f6c 100644
--- a/mod/ckeditor/languages/nl.php
+++ b/mod/ckeditor/languages/nl.php
@@ -2,4 +2,5 @@
return array(
'ckeditor:html' => "Bewerk HTML",
'ckeditor:visual' => "Visuele editor",
+ 'ckeditor:blockimagepaste' => "Direct plakken van afbeeldingen is niet toegestaan.",
);
diff --git a/mod/ckeditor/languages/pl.php b/mod/ckeditor/languages/pl.php
index f47f0d6ecb9..55e11d9c7d5 100644
--- a/mod/ckeditor/languages/pl.php
+++ b/mod/ckeditor/languages/pl.php
@@ -2,4 +2,5 @@
return array(
'ckeditor:html' => "Edytuj HTML",
'ckeditor:visual' => "Edytor graficzny",
+ 'ckeditor:blockimagepaste' => "Bezpośrednie wstawianie obrazów jest zablokowane.",
);
diff --git a/mod/ckeditor/languages/pt_BR.php b/mod/ckeditor/languages/pt_BR.php
index e9c0a80e924..c05fd606f0b 100644
--- a/mod/ckeditor/languages/pt_BR.php
+++ b/mod/ckeditor/languages/pt_BR.php
@@ -2,4 +2,5 @@
return array(
'ckeditor:html' => "Editar HTML",
'ckeditor:visual' => "Editor visual",
+ 'ckeditor:blockimagepaste' => "Não é permitida colagem de fotos.",
);
diff --git a/mod/developers/languages/de.php b/mod/developers/languages/de.php
index 0fa66e03993..11c1c5235ef 100644
--- a/mod/developers/languages/de.php
+++ b/mod/developers/languages/de.php
@@ -4,6 +4,7 @@
'admin:develop_tools' => 'Entwickler-Werkzeuge',
'admin:develop_tools:sandbox' => 'Theme-Sandbox',
'admin:develop_tools:inspect' => 'Prüfen',
+ 'admin:inspect' => 'Prüfen',
'admin:develop_tools:unit_tests' => 'Modultests',
'admin:developers' => 'Entwickler',
'admin:developers:settings' => 'Einstellungen',
@@ -36,6 +37,20 @@
// inspection
'developers:inspect:help' => 'Konfiguration des Elgg-Frameworks prüfen.',
+ 'developers:inspect:actions' => 'Actions',
+ 'developers:inspect:events' => 'Events',
+ 'developers:inspect:menus' => 'Menüs',
+ 'developers:inspect:pluginhooks' => 'Plugin-Hooks',
+ 'developers:inspect:priority' => 'Priorität',
+ 'developers:inspect:simplecache' => 'Simple-Cache',
+ 'developers:inspect:views' => 'Views',
+ 'developers:inspect:views:all_filtered' => "Zu beachten! Die gesamte View-Ausgabe wird durch diese Plugin-Hooks gefiltert:",
+ 'developers:inspect:views:filtered' => "(gefiltert durch Plugin-Hook: %s)",
+ 'developers:inspect:widgets' => 'Widgets',
+ 'developers:inspect:webservices' => 'Webservices',
+ 'developers:inspect:widgets:context' => 'Kontext',
+ 'developers:inspect:functions' => 'Funktionen',
+ 'developers:inspect:file_location' => 'Dateipfad relativ zum Elgg-Root-Verzeichnis',
// event logging
'developers:event_log_msg' => "%s: '%s, %s' in %s",
diff --git a/mod/developers/languages/fi.php b/mod/developers/languages/fi.php
index afeadb85eb9..55671b31b5e 100644
--- a/mod/developers/languages/fi.php
+++ b/mod/developers/languages/fi.php
@@ -4,6 +4,7 @@
'admin:develop_tools' => 'Työkalut',
'admin:develop_tools:sandbox' => 'Teemojen kehittäminen',
'admin:develop_tools:inspect' => 'Tekninen rakenne',
+ 'admin:inspect' => 'Tekninen rakenne',
'admin:develop_tools:unit_tests' => 'Yksikkötestit',
'admin:developers' => 'Kehittäjät',
'admin:developers:settings' => 'Asetukset',
@@ -36,6 +37,20 @@
// inspection
'developers:inspect:help' => 'Tarkastele sivuston teknistä rakennetta.',
+ 'developers:inspect:actions' => 'Actions',
+ 'developers:inspect:events' => 'Events',
+ 'developers:inspect:menus' => 'Menus',
+ 'developers:inspect:pluginhooks' => 'Plugin hooks',
+ 'developers:inspect:priority' => 'Tärkeysjärjestys',
+ 'developers:inspect:simplecache' => 'Simple cache',
+ 'developers:inspect:views' => 'Views',
+ 'developers:inspect:views:all_filtered' => "Huom! Kaikki näkymät ajetaan seuraavien hookkien läpi:",
+ 'developers:inspect:views:filtered' => "(ajettu läpi plugin-hookista: %s)",
+ 'developers:inspect:widgets' => 'Vimpaimet',
+ 'developers:inspect:webservices' => 'Webservices',
+ 'developers:inspect:widgets:context' => 'Context',
+ 'developers:inspect:functions' => 'Functions',
+ 'developers:inspect:file_location' => 'Tiedostopolku Elggin juuresta',
// event logging
'developers:event_log_msg' => "%s: '%s, %s' in %s",
diff --git a/mod/developers/languages/fr.php b/mod/developers/languages/fr.php
index 378e475d72a..d4293ac3acd 100644
--- a/mod/developers/languages/fr.php
+++ b/mod/developers/languages/fr.php
@@ -4,6 +4,7 @@
'admin:develop_tools' => 'Outils',
'admin:develop_tools:sandbox' => 'Thème bac à sable',
'admin:develop_tools:inspect' => 'Inspecter',
+ 'admin:inspect' => 'Inspecter',
'admin:develop_tools:unit_tests' => 'Tests unitaires',
'admin:developers' => 'Les développeurs',
'admin:developers:settings' => 'Paramètres développeurs',
@@ -36,6 +37,20 @@
// inspection
'developers:inspect:help' => 'Inspecter la configuration système d\'Elgg.',
+ 'developers:inspect:actions' => 'Actions',
+ 'developers:inspect:events' => 'Evénements',
+ 'developers:inspect:menus' => 'Menus',
+ 'developers:inspect:pluginhooks' => 'Hooks des plugins',
+ 'developers:inspect:priority' => 'Priorité',
+ 'developers:inspect:simplecache' => 'Cache simple',
+ 'developers:inspect:views' => 'Vues',
+ 'developers:inspect:views:all_filtered' => "Note ! Toutes les sorties des vues sont filtrées par les hooks de plugins suivants :",
+ 'developers:inspect:views:filtered' => "(filtré par le hook de plugin : %s)",
+ 'developers:inspect:widgets' => 'Widget',
+ 'developers:inspect:webservices' => 'Services web',
+ 'developers:inspect:widgets:context' => 'Contexte',
+ 'developers:inspect:functions' => 'Fonctions',
+ 'developers:inspect:file_location' => 'Chemin à partir de la racine Elgg',
// event logging
'developers:event_log_msg' => "%s : '%s, %s' dans %s",
diff --git a/mod/developers/languages/ja.php b/mod/developers/languages/ja.php
index 0ae68c1c74d..af3da4c70c8 100644
--- a/mod/developers/languages/ja.php
+++ b/mod/developers/languages/ja.php
@@ -4,6 +4,7 @@
'admin:develop_tools' => 'ツール',
'admin:develop_tools:sandbox' => 'テーマの見本',
'admin:develop_tools:inspect' => '内部を見る',
+ 'admin:inspect' => '内部を見る',
'admin:develop_tools:unit_tests' => 'ユニットテスト',
'admin:developers' => '開発者',
'admin:developers:settings' => 'セッティング',
@@ -35,6 +36,20 @@
// inspection
'developers:inspect:help' => 'Elggフレームワークの構築設定を覗いてみる',
+ 'developers:inspect:actions' => 'Actions(アクション)',
+ 'developers:inspect:events' => 'Events(イベント)',
+ 'developers:inspect:menus' => 'Menus(メニュー)',
+ 'developers:inspect:pluginhooks' => 'Plugin Hooks(プラグイン・フック)',
+ 'developers:inspect:priority' => '優先度',
+ 'developers:inspect:simplecache' => 'Simple Cache(シンプル・キャッシュ)',
+ 'developers:inspect:views' => 'Views(ビュー)',
+ 'developers:inspect:views:all_filtered' => "注意! 全てのviewの出力結果は、以下の Plugin Hooks によってフィルタされています:",
+ 'developers:inspect:views:filtered' => "(plugin hook「 %s 」によってフィルタされています)",
+ 'developers:inspect:widgets' => 'Widgets(ウィジェット)',
+ 'developers:inspect:webservices' => 'ウェブサービス',
+ 'developers:inspect:widgets:context' => 'Context(コンテキスト)',
+ 'developers:inspect:functions' => 'Functions(関数)',
+ 'developers:inspect:file_location' => 'Elgg ルートディレクトリからのパス',
// event logging
'developers:event_log_msg' => "%s: '%s, %s' in %s",
diff --git a/mod/developers/languages/nl.php b/mod/developers/languages/nl.php
index f3bebbf8328..48228b264b0 100644
--- a/mod/developers/languages/nl.php
+++ b/mod/developers/languages/nl.php
@@ -4,28 +4,29 @@
'admin:develop_tools' => 'Tools',
'admin:develop_tools:sandbox' => 'Theme Sandbox',
'admin:develop_tools:inspect' => 'Inspecteer',
+ 'admin:inspect' => 'Inspecteer',
'admin:develop_tools:unit_tests' => 'Unittesten',
'admin:developers' => 'Ontwikkelaars',
'admin:developers:settings' => 'Instellingen',
// settings
- 'elgg_dev_tools:settings:explanation' => 'Beheer je ontwikkel- en debuginstellingen hieronden. Sommige van de instellingen zijn ook beschikbaar op andere beheer pagina\'s.',
+ 'elgg_dev_tools:settings:explanation' => 'Beheer je ontwikkel- en debuginstellingen hieronder. Sommige van de instellingen zijn ook beschikbaar op andere beheerpagina\'s.',
'developers:label:simple_cache' => 'Gebruik simple cache',
'developers:help:simple_cache' => 'Zet file cache uit tijdens het ontwikkelen. Anders zullen wijzigingen in je views (inclusief CSS) worden genegeerd.',
'developers:label:system_cache' => 'Gebruik systeem cache',
'developers:help:system_cache' => 'Zet dit uit tijdens ontwikkeling. Zo niet, dan zullen de wijzigingen niet geregistreerd worden.',
'developers:label:debug_level' => "Trace-niveau",
- 'developers:help:debug_level' => "Dit beheerd hoeveel informatie er gelogd wordt. Zie elgg_log() voor meer informatie",
+ 'developers:help:debug_level' => "Hiermee beheer je de hoeveel informatie er gelogd wordt. Zie elgg_log() voor meer informatie.",
'developers:label:display_errors' => 'Toon PHP fatale fouten',
- 'developers:help:display_errors' => "Standaard verbergt de .htaccess van Elgg het weergeven van fatale fouten",
+ 'developers:help:display_errors' => "Standaard verbergt de .htaccess van Elgg het weergeven van fatale fouten.",
'developers:label:screen_log' => "Log naar het scherm",
'developers:help:screen_log' => "Dit toont het resultaat van elgg_log en elgg_dump() op de webpagina.",
- 'developers:label:show_strings' => "Toon vertaling sleutels",
- 'developers:help:show_strings' => "Dit toont de vertaling sleutels die gebruikt worden door elgg_echo().",
+ 'developers:label:show_strings' => "Toon vertaalsleutels",
+ 'developers:help:show_strings' => "Dit toont de vertaalsleutels die gebruikt worden door elgg_echo().",
'developers:label:wrap_views' => "Omcirkel views",
- 'developers:help:wrap_views' => "Dit omcirkeld bijna alle views met HTML commentaar. Handig om erachter te komen uit welke view een stuk HTML komt.",
- 'developers:label:log_events' => "Log events en plugin hooks",
- 'developers:help:log_events' => "Schrijf events en plugin hook naar de log. Waarschuwing: dit zijn er veel per pagina.",
+ 'developers:help:wrap_views' => "Dit omcirkelt bijna alle views met HTML-commentaar. Handig om erachter te komen uit welke view een stuk HTML komt.",
+ 'developers:label:log_events' => "Log-events en plugin-hooks",
+ 'developers:help:log_events' => "Schrijf events- en plugin-hook naar de log. Waarschuwing: dit zijn er veel per pagina.",
'developers:debug:off' => 'Uit',
'developers:debug:error' => 'Fout',
@@ -34,7 +35,21 @@
'developers:debug:info' => 'Informatie',
// inspection
- 'developers:inspect:help' => 'Inspecteer de configuratie van het Elgg framewerk',
+ 'developers:inspect:help' => 'Inspecteer de configuratie van het Elgg framework.',
+ 'developers:inspect:actions' => 'Acties',
+ 'developers:inspect:events' => 'Events',
+ 'developers:inspect:menus' => 'Menu\'s',
+ 'developers:inspect:pluginhooks' => 'Plugin Hooks',
+ 'developers:inspect:priority' => 'Prioriteit',
+ 'developers:inspect:simplecache' => 'Simple Cache',
+ 'developers:inspect:views' => 'Views',
+ 'developers:inspect:views:all_filtered' => "Opmerking! Alle view output word gefilterd door deze Plugin Hooks:",
+ 'developers:inspect:views:filtered' => "(gefilterd op plugin hook: %s)",
+ 'developers:inspect:widgets' => 'Widgets',
+ 'developers:inspect:webservices' => 'Webservices',
+ 'developers:inspect:widgets:context' => 'Context',
+ 'developers:inspect:functions' => 'Functies',
+ 'developers:inspect:file_location' => 'Pad van het bestand vanaf de Elgg root map',
// event logging
'developers:event_log_msg' => "%s: '%s, %s' in %s",
@@ -50,14 +65,14 @@
'theme_sandbox:javascript' => 'JavaScript',
'theme_sandbox:layouts' => 'Lay-outs',
'theme_sandbox:modules' => 'Modules',
- 'theme_sandbox:navigation' => 'Pagina navigatie',
+ 'theme_sandbox:navigation' => 'Paginanavigatie',
'theme_sandbox:typography' => 'Typografie',
- 'theme_sandbox:icons:blurb' => 'Gebruik elgg_view_icon($name) of de class elgg-icon-$name om iconen weer te geven.',
+ 'theme_sandbox:icons:blurb' => 'Gebruik elgg_view_icon($name) of de klasse elgg-icon-$name om iconen weer te geven.',
// unit tests
- 'developers:unit_tests:description' => 'Elgg heeft unit en integratie testen voor het detecteren van bugs in de core classes en functies.',
- 'developers:unit_tests:warning' => 'Waarschuwing: Doe deze testen niet op een productie site. Deze kan de database beschadigen.',
+ 'developers:unit_tests:description' => 'Elgg bevat unit- en integratietesten voor het detecteren van bugs in de core classes en functies.',
+ 'developers:unit_tests:warning' => 'Waarschuwing: doe deze testen niet op een productiesite! Deze kunnen de database beschadigen.',
'developers:unit_tests:run' => 'Uitvoeren',
// status messages
diff --git a/mod/diagnostics/languages/nl.php b/mod/diagnostics/languages/nl.php
index 114b660ba42..07c06e2c3fe 100644
--- a/mod/diagnostics/languages/nl.php
+++ b/mod/diagnostics/languages/nl.php
@@ -1,29 +1,35 @@
'Systeemdiagnose',
- 'diagnostics' => 'Systeem diagnose',
- 'diagnostics:report' => 'Diagnose rapport',
- 'diagnostics:description' => 'Het volgende diagnostische rapport is nuttig voor de diagnose van problemen met Elgg, en moet worden bijgevoegd aan een bug report die je indient.',
- 'diagnostics:header' => '========================================================================
- Elgg Diagnostic Report
- Generated %s by %s
- ========================================================================',
- 'diagnostics:report:basic' => 'Elgg Release %s, version %s
-
- ------------------------------------------------------------------------',
- 'diagnostics:report:php' => 'PHP info:
- %s
- ------------------------------------------------------------------------',
- 'diagnostics:report:plugins' => 'Installed plugins and details:
-
- %s
- ------------------------------------------------------------------------',
- 'diagnostics:report:md5' => 'Installed files and checksums:
-
- %s
- ------------------------------------------------------------------------',
- 'diagnostics:report:globals' => 'Global variables:
-
- %s
- ------------------------------------------------------------------------',
+ 'diagnostics' => 'Systeemdiagnose',
+ 'diagnostics:report' => 'Diagnostisch rapport',
+ 'diagnostics:description' => 'Het volgende diagnostische rapport is nuttig voor de diagnose van problemen met Elgg, en moet worden bijgevoegd aan een bugreport die je indient.',
+ 'diagnostics:header' => '========================================================================
+ Elgg diagnostisch rapport
+ Gegenereerd %s door %s
+========================================================================
+',
+ 'diagnostics:report:basic' => '
+Elgg-release %s, versie %s
+
+------------------------------------------------------------------------',
+ 'diagnostics:report:php' => '
+PHP-informatie:
+%s
+------------------------------------------------------------------------',
+ 'diagnostics:report:plugins' => '
+Geïnstalleerde plugins en details:
+
+%s
+------------------------------------------------------------------------',
+ 'diagnostics:report:md5' => '
+Geïnstalleerde bestanden en checksums:
+
+%s
+------------------------------------------------------------------------',
+ 'diagnostics:report:globals' => '
+Algemene variabelen:
+
+%s
+------------------------------------------------------------------------',
);
\ No newline at end of file
diff --git a/mod/embed/languages/nl.php b/mod/embed/languages/nl.php
index bc78d15b8d0..14c6397b4fd 100644
--- a/mod/embed/languages/nl.php
+++ b/mod/embed/languages/nl.php
@@ -1,14 +1,14 @@
'Embed',
- 'embed:media' => 'Integreer media',
- 'embed:instructions' => 'Klik op een bestand om het te integreren in je content.',
+ 'embed:embed' => 'Toevoegen',
+ 'embed:media' => 'Bijlage toevoegen',
+ 'embed:instructions' => 'Klik op een bestand om het aan je content toe te voegen.',
'embed:upload' => 'Upload media',
'embed:upload_type' => 'Upload type:',
// messages
- 'embed:no_upload_content' => 'Geen upload media!',
+ 'embed:no_upload_content' => 'Er is niets om te uploaden!',
'embed:no_section_content' => 'Geen items gevonden',
- 'embed:no_sections' => 'Geen ondersteunde embed plugins gevonden. Vraag de site beheerde om een plugin te activeren met embed ondersteuning.',
+ 'embed:no_sections' => 'Er is geen plugin geactiveerd die het mogelijk maakt om bijlagen toe te voegen. Je kunt aan de sitebeheerder vragen om dit wel mogelijk te maken.',
);
\ No newline at end of file
diff --git a/mod/externalpages/languages/nl.php b/mod/externalpages/languages/nl.php
index e4bad24efa3..6db494f7487 100644
--- a/mod/externalpages/languages/nl.php
+++ b/mod/externalpages/languages/nl.php
@@ -7,7 +7,7 @@
'expages' => "Externe pagina's",
'admin:appearance:expages' => "Externe pagina's",
'expages:about' => "Over ons",
- 'expages:terms' => "Algemene Voorwaarden",
+ 'expages:terms' => "Algemene voorwaarden",
'expages:privacy' => "Privacy",
'expages:contact' => "Contact",
diff --git a/mod/file/languages/nl.php b/mod/file/languages/nl.php
index 02058523e4b..c043eb6efe8 100644
--- a/mod/file/languages/nl.php
+++ b/mod/file/languages/nl.php
@@ -5,28 +5,28 @@
* Menu items and titles
*/
'file' => "Bestanden",
- 'file:user' => "%s's bestanden",
+ 'file:user' => "Bestanden van %s",
'file:friends' => "Bestanden van vrienden",
- 'file:all' => "Alle Site bestanden",
+ 'file:all' => "Alle bestanden op de site",
'file:edit' => "Bewerk bestand",
'file:more' => "Meer bestanden",
- 'file:list' => "lijst weergave",
- 'file:group' => "Groeps bestanden",
- 'file:gallery' => "galerij weergave",
- 'file:gallery_list' => "galerij of lijst weergave",
+ 'file:list' => "lijstweergave",
+ 'file:group' => "Groepsbestanden",
+ 'file:gallery' => "galerijweergave",
+ 'file:gallery_list' => "Galerij- of lijstweergave",
'file:num_files' => "Aantal bestanden om weer te geven",
- 'file:user:gallery'=>'Bekijk %s galerij',
+ 'file:user:gallery'=>'Bekijk de galerij van %s',
'file:upload' => "Upload een bestand",
- 'file:replace' => 'Vervang bestandsinhoud (leeg laten om bestand niet te vervangen)',
- 'file:list:title' => "%s's %s %s",
+ 'file:replace' => 'Vervang bestandsinhoud (laat dit leeg om het bestand niet te vervangen)',
+ 'file:list:title' => "Van %s: %s en %s",
'file:title:friends' => "Vrienden",
'file:add' => 'Upload een bestand',
'file:file' => "Bestand",
- 'file:list:list' => 'Toon in lijst weergave',
- 'file:list:gallery' => 'Toon in galerij weergave',
+ 'file:list:list' => 'Toon in lijstweergave',
+ 'file:list:gallery' => 'Toon in galerijweergave',
'file:types' => "Geplaatste bestandstypen",
@@ -34,32 +34,32 @@
'file:type:all' => "Alle bestanden",
'file:type:video' => "Video's",
'file:type:document' => "Documenten",
- 'file:type:audio' => "Audio",
- 'file:type:image' => "Plaatjes",
+ 'file:type:audio' => "Geluidsbestanden",
+ 'file:type:image' => "Afbeeldingen",
'file:type:general' => "Algemeen",
- 'file:user:type:video' => "%s's video's",
- 'file:user:type:document' => "%s's documenten",
- 'file:user:type:audio' => "%s's audio",
- 'file:user:type:image' => "%s's plaatjes",
- 'file:user:type:general' => "%s's algemene bestanden",
+ 'file:user:type:video' => "Video's van %s",
+ 'file:user:type:document' => "Documenten van %s",
+ 'file:user:type:audio' => "Geluidsbestanden van %s",
+ 'file:user:type:image' => "Afbeeldingen van %s",
+ 'file:user:type:general' => "Algemene bestanden van %s",
'file:friends:type:video' => "Video's van je vrienden",
'file:friends:type:document' => "Documenten van je vrienden",
- 'file:friends:type:audio' => "Audio van je vrienden",
- 'file:friends:type:image' => "Plaatjes van je vrienden",
+ 'file:friends:type:audio' => "Geluidsbestanden van je vrienden",
+ 'file:friends:type:image' => "Afbeeldingen van je vrienden",
'file:friends:type:general' => "Algemene bestanden van je vrienden",
- 'file:widget' => "Bestanden widget",
- 'file:widget:description' => "Laat je laatste bestanden zien",
+ 'file:widget' => "Bestandenwidget",
+ 'file:widget:description' => "Laat je laatst geüploade bestanden zien",
- 'groups:enablefiles' => 'Activeer groep bestanden',
+ 'groups:enablefiles' => 'Activeer groepsbestanden',
'file:delete:confirm' => "Weet je zeken dat je dit bestand wilt verwijderen?",
'file:upload_limit' => 'Maximaal toegestane bestandsgrootte is %s',
- 'file:tagcloud' => "Tag cloud",
+ 'file:tagcloud' => "Tag-cloud",
'file:display:number' => "Aantal bestanden om weer te geven",
@@ -71,12 +71,19 @@
'file:notify:summary' => 'Nieuw bestand met de titel %s',
'file:notify:subject' => 'Nieuw bestand: %s',
'file:notify:body' =>
-'%s laadde een nieuw bestand op: %s
+'Hallo!
+%s heeft een nieuw bestand geüpload.
+
+%s
%s
-Bekijk en reageer op het bestand:
+Je kunt het bestand hier bekijken:
%s
+
+-----
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op reageren.
',
/**
@@ -94,6 +101,6 @@
'file:uploadfailed' => "Sorry, we konden het bestand niet opslaan.",
'file:downloadfailed' => "Sorry, dit bestand is op dit moment niet beschikbaar.",
'file:deletefailed' => "Je bestand kon op dit moment niet worden verwijderd.",
- 'file:noaccess' => "Je hebt geen toegang om dit bestand aan te passen",
- 'file:nofile' => "Je moet een bestand selecteren",
+ 'file:noaccess' => "Je hebt onvoldoende rechten om dit bestand aan te passen",
+ 'file:nofile' => "Selecteer een bestand",
);
diff --git a/mod/garbagecollector/languages/nl.php b/mod/garbagecollector/languages/nl.php
index 5e69fa22721..9bc0b1a090a 100644
--- a/mod/garbagecollector/languages/nl.php
+++ b/mod/garbagecollector/languages/nl.php
@@ -1,6 +1,6 @@
'Hoe vaak moet de Elgg garbage collector draaien?',
+ 'garbagecollector:period' => 'Hoe vaak wil je dat Elgg de garbage collector draait?',
'garbagecollector:weekly' => 'Eens per week',
'garbagecollector:monthly' => 'Eens per maand',
@@ -13,5 +13,5 @@
'garbagecollector:error' => "FOUT",
'garbagecollector:ok' => "OK",
- 'garbagecollector:gc:metastrings' => 'Opruimen van niet gelinkte metastrings: ',
+ 'garbagecollector:gc:metastrings' => 'Opruimen van niet-gelinkte metastrings:',
);
\ No newline at end of file
diff --git a/mod/groups/languages/de.php b/mod/groups/languages/de.php
index 4f6b00de5bf..f2bc11d5164 100644
--- a/mod/groups/languages/de.php
+++ b/mod/groups/languages/de.php
@@ -175,6 +175,8 @@
'discussion:reply:error:notfound' => 'Die ausgewählte Antwort im Diskussionsbeitrag ist nicht auffindbar.',
'discussion:reply:error:notdeleted' => 'Die Antwort im Diskussionsbeitrag konnte nicht gelöscht werden.',
+ 'discussion:search:title' => 'Antwort im Diskussionsbeitrag: %s',
+
'admin:groups' => 'Gruppen',
'reply:this' => 'Antwort schreiben',
diff --git a/mod/groups/languages/ja.php b/mod/groups/languages/ja.php
index 227c763931d..278a0fb4d61 100644
--- a/mod/groups/languages/ja.php
+++ b/mod/groups/languages/ja.php
@@ -64,7 +64,7 @@
'groups:featuredon' => '%s は、クローズアップ欄に表示されます',
'groups:unfeatured' => '%s は、クローズアップ欄から外されました',
'groups:featured_error' => '不正なグループです。',
- 'groups:nofeatured' => 'No featured groups',
+ 'groups:nofeatured' => 'クローズアップされたグループはありません',
'groups:joinrequest' => '参加希望',
'groups:join' => '参加',
'groups:leave' => '脱退',
@@ -175,6 +175,8 @@
'discussion:reply:error:notfound' => '議論の返答は見つかりませんでした。',
'discussion:reply:error:notdeleted' => '返答を削除することができませんでした。',
+ 'discussion:search:title' => '議題「 %s 」に返答する',
+
'admin:groups' => 'グループ',
'reply:this' => '返答する',
diff --git a/mod/groups/languages/nl.php b/mod/groups/languages/nl.php
index be01ee23895..325d4562b25 100644
--- a/mod/groups/languages/nl.php
+++ b/mod/groups/languages/nl.php
@@ -6,45 +6,45 @@
*/
'groups' => "Groepen",
'groups:owned' => "Groepen beheren",
- 'groups:owned:user' => 'Groepen van %s',
- 'groups:yours' => "Jouw groepen",
- 'groups:user' => "%s's groepen",
- 'groups:all' => "Alle site groepen",
+ 'groups:owned:user' => 'Groepen waar %s beheerder van is',
+ 'groups:yours' => "Mijn groepen",
+ 'groups:user' => "Groepen waarvan %s lid is",
+ 'groups:all' => "Alle groepen op de site",
'groups:add' => "Maak een nieuwe groep",
'groups:edit' => "Bewerk groep",
'groups:delete' => 'Verwijder groep',
- 'groups:membershiprequests' => 'Beheer lidmaatschap aanvragen',
- 'groups:membershiprequests:pending' => 'Beheer lidmaatschap aanvragen (%s)',
+ 'groups:membershiprequests' => 'Beheer van lidmaatschapsaanvragen',
+ 'groups:membershiprequests:pending' => 'Beheer van lidmaatschapsaanvragen (%s)',
'groups:invitations' => 'Groepsuitnodigingen',
'groups:invitations:pending' => 'Groepsuitnodigingen (%s)',
- 'groups:icon' => 'Groep icoon (laat leeg voor huidige)',
- 'groups:name' => 'Groep naam',
- 'groups:username' => 'Korte groepsnaam (voor URLs, alleen alfanumerieke tekens)',
+ 'groups:icon' => 'Groepsicoon (laat leeg om het huidige icoon te behouden)',
+ 'groups:name' => 'Groepsnaam',
+ 'groups:username' => 'Korte groepsnaam (voor URLs, alleen alfanumerieke tekens: letters van het alfabet en de cijfers 0 tot en met 9)',
'groups:description' => 'Omschrijving',
'groups:briefdescription' => 'Korte omschrijving',
- 'groups:interests' => 'Interesses',
+ 'groups:interests' => 'Tags',
'groups:website' => 'Website',
'groups:members' => 'Groepsleden',
'groups:my_status' => 'Mijn status',
- 'groups:my_status:group_owner' => 'Jij bent eigenaar van deze groep',
+ 'groups:my_status:group_owner' => 'Jij bent eigenaar/beheerder van deze groep',
'groups:my_status:group_member' => 'Je bent lid van deze groep',
- 'groups:subscribed' => 'Groep notificaties aan',
- 'groups:unsubscribed' => 'Groep notificaties uit',
+ 'groups:subscribed' => 'Groepsnotificaties aan',
+ 'groups:unsubscribed' => 'Groepsnotificaties uit',
'groups:members:title' => 'Leden van %s',
'groups:members:more' => "Bekijk alle leden",
'groups:membership' => "Lidmaatschap",
- 'groups:content_access_mode' => "Toegangsrechten van de groepsinhoud",
- 'groups:content_access_mode:warning' => "Opgelet: Het veranderen van deze instelling heeft geen invloed op de toegangsrechten van de bestaande groepsinhoud.",
- 'groups:content_access_mode:unrestricted' => "Geen restricties. Toegang hangt af van de instelling van de content.",
+ 'groups:content_access_mode' => "Toegangsrechten voor de groepsinhoud",
+ 'groups:content_access_mode:warning' => "Let op! Als je deze instelling verandert heeft dat geen invloed op de toegangsrechten van de reeds bestaande groepsinhoud!",
+ 'groups:content_access_mode:unrestricted' => "Geen beperkingen. Toegang hangt af van de instelling van de content.",
'groups:content_access_mode:membersonly' => "Alleen voor leden - Niet-leden kunnen nooit de inhoud van de groep zien.",
- 'groups:access' => "Toegangs rechten",
+ 'groups:access' => "Toegangsrechten",
'groups:owner' => "Eigenaar",
'groups:owner:warning' => "Opgelet: als je deze waarde aanpast ben je niet meer de eigenaar van deze groep",
'groups:widget:num_display' => 'Aantal groepen om weer te geven',
'groups:widget:membership' => 'Groepslidmaatschap',
- 'groups:widgets:description' => 'Laat je groepslidmaatschap zien op je profiel',
+ 'groups:widgets:description' => 'Laat de groepen waarvan je lid bent zien op je profiel',
'groups:widget:group_activity:title' => 'Groep activiteit',
'groups:widget:group_activity:description' => 'Bekijk de activiteit in één van jouw groepen',
@@ -55,7 +55,7 @@
'groups:noaccess' => 'Geen toegang tot de groep',
'groups:permissions:error' => 'Je hebt hier geen toegang toe',
'groups:ingroup' => 'in de groep',
- 'groups:cantcreate' => 'Je mag geen groep aanmaken. Dit is voorbehouden aan beheerders',
+ 'groups:cantcreate' => 'Alleen sitebeheerders mogen nieuwe groepen aanmaken.',
'groups:cantedit' => 'Je kunt deze groep niet bewerken',
'groups:saved' => 'Groep opgeslagen',
'groups:featured' => 'Aangeraden groepen',
@@ -65,67 +65,78 @@
'groups:unfeatured' => '%s is verwijderd van de aangeraden groepen',
'groups:featured_error' => 'Ongeldige groep.',
'groups:nofeatured' => 'Geen aangeraden groepen',
- 'groups:joinrequest' => 'Verzoek lidmaatschap',
- 'groups:join' => 'Wordt lid',
- 'groups:leave' => 'Verlaat groep',
+ 'groups:joinrequest' => 'Lidmaatschap van deze groep aanvragen',
+ 'groups:join' => 'Word lid van deze groep',
+ 'groups:leave' => 'Verlaat deze groep',
'groups:invite' => 'Nodig vrienden uit',
'groups:invite:title' => 'Nodig vrienden uit in deze groep',
'groups:inviteto' => "Nodig vrienden uit voor '%s'",
- 'groups:nofriends' => "Je hebt geen vrienden meer die niet al lid zijn van deze groep.",
+ 'groups:nofriends' => "Al jouw vrienden zijn al lid van deze groep.",
'groups:nofriendsatall' => 'Je hebt geen vrienden om uit te nodigen!',
'groups:viagroups' => "via groepen",
'groups:group' => "Groep",
'groups:search:tags' => "tag",
- 'groups:search:title' => "Zoek naar groepen met de tag '%s'",
+ 'groups:search:title' => "Zoek naar groepen met het trefwoord '%s'",
'groups:search:none' => "Geen overeenkomende groepen gevonden",
'groups:search_in_group' => "Zoek in deze groep",
'groups:acl' => "Groep: %s",
- 'discussion:topic:notify:summary' => 'Nieuw discussie onderwerp met de titel %s',
- 'discussion:topic:notify:subject' => 'Nieuw discussie onderwerp: %s',
+ 'discussion:topic:notify:summary' => 'Nieuw discussieonderwerp met de titel \'%s\'',
+ 'discussion:topic:notify:subject' => 'Nieuw discussieonderwerp: %s',
'discussion:topic:notify:body' =>
-'%s voegde een nieuw discussie onderwerp toe aan de groep %s:
+'Hallo!
-Titel: %s
+%s heeft een nieuw discussie-onderwerp in %s gepost.
+%s
%s
-Bekijk en reageer op het discussie onderwerp:
+Je kunt het onderwerp hier lezen en erop reageren:
%s
+
+-----
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op reageren.
',
- 'discussion:reply:notify:summary' => 'Nieuwe reactie in onderwerp: %s',
- 'discussion:reply:notify:subject' => 'Nieuwe reactie in onderwerp: %s',
+ 'discussion:reply:notify:summary' => 'Nieuwe reactie in onderwerp \'%s\'',
+ 'discussion:reply:notify:subject' => 'Nieuwe reactie in onderwerp \'%s\'',
'discussion:reply:notify:body' =>
-'%s reageerde op het onderwerp %s in in de groep %s:
+'Hallo!
+
+%s reageerde op het forumonderwerp %s in de groep %s:
%s
-Bekijk en reageer op de discussie:
+Je kunt het forumonderwerp hier bekijken en erop reageren:
%s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op reageren.
',
- 'groups:activity' => "Groep activiteit",
- 'groups:enableactivity' => 'Schakel groep activiteit in',
- 'groups:activity:none' => "Er is nog geen groep activiteit",
+ 'groups:activity' => "Groepsactiviteit",
+ 'groups:enableactivity' => 'Schakel groepsactiviteit in',
+ 'groups:activity:none' => "Er is nog geen groepsactiviteit",
'groups:notfound' => "Groep niet gevonden",
- 'groups:notfound:details' => "De gevraagde groep bestaat niet of je hebt hiertoe geen toegang",
+ 'groups:notfound:details' => "De gevraagde groep bestaat niet, of je hebt er geen toegang toe",
- 'groups:requests:none' => 'Er zijn geen openstaande lidmaatschapsaanvragen op dit moment.',
+ 'groups:requests:none' => 'Er zijn op dit moment geen openstaande lidmaatschapsaanvragen.',
- 'groups:invitations:none' => 'Er zijn geen openstaande uitnodigingen op dit moment',
+ 'groups:invitations:none' => 'Er zijn op dit moment geen openstaande uitnodigingen.',
- 'item:object:groupforumtopic' => "Forum onderwerpen",
+ 'item:object:groupforumtopic' => "Forumonderwerpen",
'item:object:discussion_reply' => "Reacties op discussie",
- 'groupforumtopic:new' => "Nieuw forum bericht",
+ 'groupforumtopic:new' => "Nieuw forumbericht",
'groups:count' => "groepen aangemaakt",
'groups:open' => "open groep",
'groups:closed' => "besloten groep",
'groups:member' => "leden",
- 'groups:searchtag' => "Zoek naar groepen op tag",
+ 'groups:searchtag' => "Zoek naar groepen op trefwoord",
'groups:more' => 'Meer groepen',
'groups:none' => 'Geen groepen',
@@ -133,136 +144,152 @@
/**
* Access
*/
- 'groups:access:private' => 'Gesloten - Gebruikers moeten lidmaatschap aanvragen',
- 'groups:access:public' => 'Open - Iedere gebruiker kan lid worden',
- 'groups:access:group' => 'Allen voor groepsleden',
- 'groups:closedgroup' => "Deze groep is besloten. Om lid te worden klik op de \"Verzoek lidmaatschap\" link in het menu.",
- 'groups:closedgroup:request' => 'Om lid te worden, klik op de "lidmaatschap aanvragen" menu link',
+ 'groups:access:private' => 'Gesloten: gebruikers moeten lidmaatschap aanvragen',
+ 'groups:access:public' => 'Open: iedere gebruiker kan lid worden',
+ 'groups:access:group' => 'Alleen voor groepsleden',
+ 'groups:closedgroup' => "Deze groep is besloten.",
+ 'groups:closedgroup:request' => 'Om lid te worden klik je op de link "Lidmaatschap van deze groep aanvragen". Deze link vind je in het menu.',
'groups:closedgroup:membersonly' => "Het lidmaatschap van deze groep is gesloten en de inhoud is enkel toegankelijk door leden.",
- 'groups:opengroup:membersonly' => "De inhoud van deze groep is enkel toegankelijk voor leden.",
- 'groups:opengroup:membersonly:join' => 'Om lid te worden, klik op de "word lid" menu link.',
+ 'groups:opengroup:membersonly' => "De inhoud van deze groep is alleen toegankelijk voor leden.",
+ 'groups:opengroup:membersonly:join' => 'Om lid te worden klik je op de "Word lid" link in het menu.',
'groups:visibility' => 'Wie kan deze groep zien?',
/**
* Group tools
*/
- 'groups:enableforum' => 'Activeer groep forum',
- 'groups:lastupdated' => 'Laatst bijgewerkte %s door %s',
- 'groups:lastcomment' => 'Laatste reactie %s door %s',
+ 'groups:enableforum' => 'Activeer groepsforum',
+ 'groups:lastupdated' => 'Laatst bijgewerkt: %s door %s',
+ 'groups:lastcomment' => 'Laatste reactie: %s door %s',
/**
* Group discussion
*/
'discussion' => 'Discussie',
- 'discussion:add' => 'Nieuwe discussie',
+ 'discussion:add' => 'Nieuw discussieonderwerp',
'discussion:latest' => 'Laatste discussie',
- 'discussion:group' => 'Groep discussies',
+ 'discussion:group' => 'Groepsdiscussies',
'discussion:none' => 'Geen discussies',
'discussion:reply:title' => 'Reactie door %s',
- 'discussion:topic:created' => 'Het discussie onderwerp is aangemaakt.',
- 'discussion:topic:updated' => 'Het discussie onderwerp is bijgewerkt.',
- 'discussion:topic:deleted' => 'Het discussie onderwerp is verwijderd.',
+ 'discussion:topic:created' => 'Het discussieonderwerp is aangemaakt.',
+ 'discussion:topic:updated' => 'Het discussieonderwerp is bijgewerkt.',
+ 'discussion:topic:deleted' => 'Het discussieonderwerp is verwijderd.',
- 'discussion:topic:notfound' => 'Discussie onderwerp niet gevonden',
+ 'discussion:topic:notfound' => 'Het discussieonderwerp kan niet gevonden worden',
'discussion:error:notsaved' => 'Fout tijdens het opslaan van dit onderwerp',
'discussion:error:missing' => 'Zowel titel als bericht zijn verplichte velden',
- 'discussion:error:permissions' => 'Je hebt geen rechten om deze actie uit te mogen voeren',
- 'discussion:error:notdeleted' => 'Het discussie onderwerp kon niet worden verwijderd',
+ 'discussion:error:permissions' => 'Je hebt onvoldoende rechten om deze actie uit te mogen voeren',
+ 'discussion:error:notdeleted' => 'Het discussieonderwerp kon niet worden verwijderd',
'discussion:reply:edit' => 'Bewerk reactie',
'discussion:reply:deleted' => 'Reactie op de discussie is verwijderd.',
- 'discussion:reply:error:notfound' => 'Reactie op discussie niet gevonden',
+ 'discussion:reply:error:notfound' => 'Reactie op discussie kon niet gevonden worden',
'discussion:reply:error:notdeleted' => 'De reactie op de discussie kon niet worden verwijderd',
+ 'discussion:search:title' => 'Reactie op onderwerp: %s',
+
'admin:groups' => 'Groepen',
'reply:this' => 'Reageer hierop',
'group:replies' => 'Reacties',
- 'groups:forum:created' => '%s aangemaakt met %d reacties',
- 'groups:forum:created:single' => '%s aangemaakt met %d reacties',
- 'groups:forum' => 'Groep forum',
+ 'groups:forum:created' => '%s is aangemaakt. Er zijn %d reacties.',
+ 'groups:forum:created:single' => '%s is aangemaakt. Er zijn %d reacties.',
+ 'groups:forum' => 'Groepsforum',
'groups:addtopic' => 'Nieuw onderwerp',
- 'groups:forumlatest' => 'Forum laatste',
+ 'groups:forumlatest' => 'Laatste discussie',
'groups:latestdiscussion' => 'Laatste discussie',
'groupspost:success' => 'Je reactie is succesvol geplaatst',
'groupspost:failure' => 'Er was een probleem bij het toevoegen van je reactie',
'groups:alldiscussion' => 'Laatste discussie',
'groups:edittopic' => 'Bewerk onderwerp',
- 'groups:topicmessage' => 'Onderwerp bericht',
- 'groups:topicstatus' => 'Onderwerp status',
+ 'groups:topicmessage' => 'Onderwerp van je bericht',
+ 'groups:topicstatus' => 'Onderwerpstatus',
'groups:reply' => 'Plaats een reactie',
'groups:topic' => 'Onderwerp',
'groups:posts' => 'reacties',
'groups:lastperson' => 'Laaste persoon',
'groups:when' => 'Wanneer',
- 'grouptopic:notcreated' => 'Nog geen onderwerpen aangemaakt.',
+ 'grouptopic:notcreated' => 'Er zijn nog geen onderwerpen aangemaakt.',
'groups:topicclosed' => 'Gesloten',
'grouptopic:created' => 'Je onderwerp is aangemaakt.',
- 'groups:topicsticky' => 'Sticky',
+ 'groups:topicsticky' => 'Sticky (blijft altijd bovenaan staan)',
'groups:topicisclosed' => 'Dit onderwerp is gesloten.',
- 'groups:topiccloseddesc' => 'Dit onderwerp is nu gesloten, er kunnen geen reacties meer geplaatst worden.',
- 'grouptopic:error' => 'Je groep onderwerp kon niet worden aangemaakt. Probeer het nogmaals of neem contact op met de Site Administrator.',
- 'groups:forumpost:edited' => "Je hebt het forum bericht succesvol bewerkt.",
- 'groups:forumpost:error' => "Er was een probleem tijdens het bewerken van het forum bericht.",
+ 'groups:topiccloseddesc' => 'Dit onderwerp is nu gesloten. Er kunnen geen reacties meer geplaatst worden.',
+ 'grouptopic:error' => 'Je groepsonderwerp kon niet worden aangemaakt. Probeer het nogmaals of neem contact op met de sitebeheerder.',
+ 'groups:forumpost:edited' => "Je hebt het forumbericht succesvol bewerkt.",
+ 'groups:forumpost:error' => "Er was een probleem tijdens het bewerken van het forumbericht.",
- 'groups:privategroup' => 'Deze groep is besloten, lidmaatschap wordt aangevraagd.',
+ 'groups:privategroup' => 'Deze groep is besloten. Lidmaatschap wordt aangevraagd.',
'groups:notitle' => 'Groepen moeten een titel hebben',
'groups:cantjoin' => 'Kan niet lid worden van de groep',
'groups:cantleave' => 'Kon de groep niet verlaten',
'groups:removeuser' => 'Verwijder uit groep',
- 'groups:cantremove' => 'Kan de gebruiker niet verwijderen uit de groep',
+ 'groups:cantremove' => 'Kan de gebruiker niet uit de groep verwijderen',
'groups:removed' => '%s succesvol verwijderd uit de groep',
'groups:addedtogroup' => 'Gebruiker succesvol toegevoegd aan de groep',
- 'groups:joinrequestnotmade' => 'Lidmaatschap verzoek kon niet worden gemaakt',
- 'groups:joinrequestmade' => 'Lidmaatschap verzoek succesvol aangemaakt',
- 'groups:joined' => 'Succesvol lid geworden van de groep!',
+ 'groups:joinrequestnotmade' => 'Lidmaatschapsverzoek kon niet worden gedaan',
+ 'groups:joinrequestmade' => 'Lidmaatschapsverzoek succesvol gedaan',
+ 'groups:joined' => 'Je bent lid geworden van de groep!',
'groups:left' => 'De groep succesvol verlaten',
- 'groups:notowner' => 'Sorry, je bent niet de eigenaar van de groep.',
- 'groups:notmember' => 'Sorry, je bent geen lid van deze groep',
+ 'groups:notowner' => 'Helaas, je bent geen eigenaar/beheerder van deze groep.',
+ 'groups:notmember' => 'Sorry, je bent niet lid van deze groep.',
'groups:alreadymember' => 'Je bent reeds lid van deze groep!',
'groups:userinvited' => 'Gebruiker is uitgenodigd.',
'groups:usernotinvited' => 'Gebruiker kon niet worden uitgenodigd.',
'groups:useralreadyinvited' => 'Gebruiker is al uitgenodigd',
'groups:invite:subject' => "%s je bent uitgenodigd om lid te worden van %s!",
- 'groups:updated' => "Laatste reactie door %s %s",
+ 'groups:updated' => "Laatste reactie door %s: '%s'",
'groups:started' => "Gestart door %s",
'groups:joinrequest:remove:check' => 'Weet je zeker dat je dit lidmaatschapsverzoek wilt verwijderen?',
'groups:invite:remove:check' => 'Weet je zeker dat je deze uitnodiging wilt verwijderen?',
- 'groups:invite:body' => "Beste %s,
-
-%s heeft je uitgenodigd om lid te worden van de '%s' groep.
-
-Klik op onderstaande link om je uitnodigingen te bekijken
-%s",
-
- 'groups:welcome:subject' => "Welkom bij de %s groep!",
- 'groups:welcome:body' => "Beste %s!
-
-Je bent nu lid van de '%s' groep! Klik hieronder om te beginnen met posten!
-
-%s",
+ 'groups:invite:body' => "Beste %s,
+
+%s heeft je uitgenodigd om lid te worden van de groep '%s'.
+
+Klik op onderstaande link om je uitnodigingen te zien:
+%s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op reageren.",
+
+ 'groups:welcome:subject' => "Welkom bij de groep '%s'!",
+ 'groups:welcome:body' => "Beste %s,
+
+Je bent nu lid van de groep '%s'!
+
+Klik op de link hieronder om actief deel te nemen in de groep:
+
+%s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op antwoorden.",
'groups:request:subject' => "%s wil lid worden van %s",
- 'groups:request:body' => "Beste %s,
-
-%s wil lid worden van de '%s' groep, klik hieronder om zijn/haar profiel te bekijken:
-
-%s
-
-of klik hieronder om het verzoek te accepteren:
-
-%s",
+ 'groups:request:body' => "Beste %s,
+
+%s wil lid worden van de groep '%s'. Klik hieronder om zijn/haar profiel te bekijken:
+
+%s
+
+Of klik hieronder om het verzoek direct te accepteren:
+
+%s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op antwoorden.",
/**
* Forum river items
*/
- 'river:create:group:default' => '%s heeft de groep %s gemaakt',
- 'river:join:group:default' => '%s is lid geworden van de groep %s',
- 'river:create:object:groupforumtopic' => '%s begon een nieuwe discussie %s',
- 'river:reply:object:groupforumtopic' => '%s reageerde op de discussie %s',
+ 'river:create:group:default' => '%s heeft de groep \'%s\' gemaakt',
+ 'river:join:group:default' => '%s is lid geworden van de groep \'%s\'',
+ 'river:create:object:groupforumtopic' => '%s begon een nieuwe discussie: \'%s\'',
+ 'river:reply:object:groupforumtopic' => '%s reageerde op de discussie \'%s\'',
'river:reply:view' => 'Lees de reactie',
'groups:nowidgets' => 'Er zijn geen widgets gedefinieerd voor deze groep.',
@@ -271,27 +298,27 @@
'groups:widgets:members:title' => 'Groepsleden',
'groups:widgets:members:description' => 'Lijst van groepsleden.',
'groups:widgets:members:label:displaynum' => 'Toon de groepsleden.',
- 'groups:widgets:members:label:pleaseedit' => 'Stel deze widget AUB in.',
+ 'groups:widgets:members:label:pleaseedit' => 'Stel deze widget in.',
'groups:widgets:entities:title' => "Objecten in de groep",
'groups:widgets:entities:description' => "Toon de objecten van deze groep",
'groups:widgets:entities:label:displaynum' => 'Toon de objecten van een groep.',
- 'groups:widgets:entities:label:pleaseedit' => 'Stel deze widget AUB in.',
+ 'groups:widgets:entities:label:pleaseedit' => 'Stel deze widget in.',
- 'groups:forumtopic:edited' => 'Forum onderwerp succesvol bewerkt.',
+ 'groups:forumtopic:edited' => 'Forumonderwerp succesvol bewerkt.',
- 'groups:allowhiddengroups' => 'Wil je priv� (onzichtbare) groepen toestaan?',
- 'groups:whocancreate' => 'Wie mag er nieuwe groepen aanmaken?',
+ 'groups:allowhiddengroups' => 'Wil je privégroepen toestaan? Deze zijn onzichtbaar voor wie er geen toegang toe heeft.',
+ 'groups:whocancreate' => 'Wie mag of mogen nieuwe groepen aanmaken?',
/**
* Action messages
*/
- 'group:deleted' => 'Groep en groeps berichten verwijderd',
+ 'group:deleted' => 'De groep en bijbehorende groepsberichten zijn verwijderd',
'group:notdeleted' => 'Groep kon niet worden verwijderd',
'group:notfound' => 'Kon de groep niet vinden',
- 'grouppost:deleted' => 'Groep bericht succesvol verwijderd',
- 'grouppost:notdeleted' => 'Groep bericht kon niet worden verwijderd',
+ 'grouppost:deleted' => 'Groepsbericht succesvol verwijderd',
+ 'grouppost:notdeleted' => 'Groepsbericht kon niet worden verwijderd',
'groupstopic:deleted' => 'Onderwerp verwijderd',
'groupstopic:notdeleted' => 'Onderwerp niet verwijderd',
'grouptopic:blank' => 'Geen onderwerp',
@@ -300,13 +327,13 @@
'groups:deletewarning' => "Weet je zeker dat je deze groep wilt verwijderen? Dit kan niet ongedaan worden gemaakt!",
'groups:invitekilled' => 'De uitnodiging is verwijderd',
- 'groups:joinrequestkilled' => 'Lidmaatschap verzoek verwijderd.',
+ 'groups:joinrequestkilled' => 'Lidmaatschapsverzoek verwijderd.',
'groups:error:addedtogroup' => "Kon %s niet toevoegen aan de groep",
'groups:add:alreadymember' => "%s is al lid van deze groep",
/**
* ecml
*/
- 'groups:ecml:discussion' => 'Groep discussies',
- 'groups:ecml:groupprofile' => 'Groep profielen',
+ 'groups:ecml:discussion' => 'Groepsdiscussies',
+ 'groups:ecml:groupprofile' => 'Groepsprofielen',
);
diff --git a/mod/invitefriends/languages/nl.php b/mod/invitefriends/languages/nl.php
index a8adfd6cc61..9553fb780f1 100644
--- a/mod/invitefriends/languages/nl.php
+++ b/mod/invitefriends/languages/nl.php
@@ -3,31 +3,37 @@
'friends:invite' => 'Vrienden uitnodigen',
- 'invitefriends:registration_disabled' => 'Registratie van nieuwe gebruikers is uitgeschakeld op deze site, je kunt geen nieuwe gebruikers uitnodigen.',
+ 'invitefriends:registration_disabled' => 'Registratie van nieuwe gebruikers is uitgeschakeld op deze site. Je kunt geen nieuwe gebruikers uitnodigen.',
- 'invitefriends:introduction' => 'Om vrienden uit te nodigen om lid te worden van dit netwerk, vul de e-mail adressen hieronder in (een per regel):',
+ 'invitefriends:introduction' => 'Je kunt vrienden uitnodigen om lid te worden van dit netwerk. Vul daarvoor hun e-mailadressen hieronder in (één per regel):',
'invitefriends:emails' => 'E-mail adressen (één per regel)',
- 'invitefriends:message' => 'Geeft een bericht op welke in de uitnodiging komt te staan:',
+ 'invitefriends:message' => 'Hieronder kun je een bericht kwijt dat in de uitnodiging komt te staan:',
'invitefriends:subject' => 'Uitnodiging om lid te worden van %s',
'invitefriends:success' => 'Je vrienden zijn uitgenodigd.',
'invitefriends:invitations_sent' => 'Aantal verzonden uitnodigingen: %s. De volgende problemen zijn opgetreden:',
'invitefriends:email_error' => 'De volgende adressen zijn ongeldig: %s',
- 'invitefriends:already_members' => 'De volgende zijn al lid: %s',
- 'invitefriends:noemails' => 'Geen e-mail adressen opgegeven.',
+ 'invitefriends:already_members' => 'Deze gebruikers zijn al lid: %s',
+ 'invitefriends:noemails' => 'Je hebt geen e-mailadressen opgegeven.',
- 'invitefriends:message:default' => 'Hallo,
-
-Ik wil je uitnodigen om lid te worden van mijn netwerk op %s.',
-
- 'invitefriends:email' => 'Je bent uitgenodigd om lid te worden van %s door %s. Ze hebben het volgende bericht toegevoegd:
-
-%s
-
-Om lid te worden, klik op de onderstaande link:
-
-%s
-
-Je zult ze direct als vriend hebben als je je account hebt aangemaakt.',
+ 'invitefriends:message:default' => 'Hallo!
+
+Ik wil je graag uitnodigen om lid te worden van mijn netwerk op %s.',
+
+ 'invitefriends:email' => 'Hallo!
+
+Je bent uitgenodigd om lid te worden van %s door %s. Hij of zij heeft het volgende bericht toegevoegd:
+
+%s
+
+Om lid te worden klik je op de onderstaande link:
+
+%s
+
+Je zult degene die je uitnodigde direct als vriend hebben zodra je je account hebt aangemaakt.
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op antwoorden.',
);
diff --git a/mod/legacy_urls/languages/nl.php b/mod/legacy_urls/languages/nl.php
index d957da452e4..4fe457f8992 100644
--- a/mod/legacy_urls/languages/nl.php
+++ b/mod/legacy_urls/languages/nl.php
@@ -2,7 +2,7 @@
return array(
'legacy_urls:message' => 'Deze pagina is verplaatst naar %s. Pas je favoriet/bladwijzer aan! Je kunt ook de link waar je vandaan kwam melden.',
- 'legacy_urls:instructions' => 'Selecteer de methode hoe je verouderde URL\'s wilt behandelen',
+ 'legacy_urls:instructions' => 'Selecteer de methode hoe je verkeerde URL\'s wilt behandelen:',
'legacy_urls:immediate' => 'Stuur direct door naar de nieuwe URL',
'legacy_urls:immediate_error' => 'Stuur direct door naar de nieuwe URL en toon een foutmelding',
'legacy_urls:landing' => 'Toon een pagina met de link naar de nieuwe URL',
diff --git a/mod/likes/languages/nl.php b/mod/likes/languages/nl.php
index 26ea743271f..d3a097dd945 100644
--- a/mod/likes/languages/nl.php
+++ b/mod/likes/languages/nl.php
@@ -13,22 +13,29 @@
'likes:userlikedthis' => '%s vindt dit leuk',
'likes:userslikedthis' => '%s vinden dit leuk',
'likes:river:annotate' => 'vindt leuk',
- 'likes:delete:confirm' => 'Weet je zeker dat je deze Like wit verwijderen?',
+ 'likes:delete:confirm' => 'Weet je zeker dat je deze \'like\' wilt verwijderen?',
'river:likes' => 'vindt %s leuk %s',
// notifications. yikes.
'likes:notifications:subject' => '%s vindt je item "%s" leuk',
'likes:notifications:body' =>
-'Beste %1$s,
-%2$s vindt je item "%3$s" op %4$s leuk!
-
-Bekijk je originele item hier:
-%5$s
-of bekijk %2$s\'s profiel hier:
-%6$s
-
-Bedankt,
-%4$s',
+'Beste %1$s,
+
+%2$s vindt je item "%3$s" op %4$s leuk!
+
+Bekijk je originele item hier:
+%5$s
+
+Je kunt het profiel van %2$s hier bekijken:
+%6$s
+
+Dank je wel!
+%4$s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op antwoorden.
+',
);
diff --git a/mod/logbrowser/languages/nl.php b/mod/logbrowser/languages/nl.php
index 6aaea28dd6b..a83f5eb4181 100644
--- a/mod/logbrowser/languages/nl.php
+++ b/mod/logbrowser/languages/nl.php
@@ -1,20 +1,20 @@
'Log browser',
- 'logbrowser' => 'Log browser',
- 'logbrowser:browse' => 'Bekijk systeem logboek',
+ 'admin:administer_utilities:logbrowser' => 'Logbrowser',
+ 'logbrowser' => 'Logbrowser',
+ 'logbrowser:browse' => 'Bekijk systeem-logboek',
'logbrowser:search' => 'Verfijn resultaten',
'logbrowser:user' => 'Gebruikersnaam om op te zoeken',
- 'logbrowser:starttime' => 'Begin tijd (bijvoorbeeld "last monday", "1 hour ago")',
- 'logbrowser:endtime' => 'Eind tijd',
+ 'logbrowser:starttime' => 'Begintijd (bijvoorbeeld "afgelopen maandag", "1 uur geleden")',
+ 'logbrowser:endtime' => 'Eindtijd',
'logbrowser:explore' => 'Verken logboek',
'logbrowser:date' => 'Datum en tijd',
- 'logbrowser:ip_address' => 'IP adres',
+ 'logbrowser:ip_address' => 'IP-adres',
'logbrowser:user:name' => 'Gebruiker',
'logbrowser:user:guid' => 'Gebruiker GUID',
- 'logbrowser:object' => 'Object type',
+ 'logbrowser:object' => 'Objecttype',
'logbrowser:object:guid' => 'Object GUID',
'logbrowser:action' => 'Actie',
);
\ No newline at end of file
diff --git a/mod/logrotate/languages/nl.php b/mod/logrotate/languages/nl.php
index f62160b0b8b..b408f1f76df 100644
--- a/mod/logrotate/languages/nl.php
+++ b/mod/logrotate/languages/nl.php
@@ -1,17 +1,18 @@
'Hoe vaak moet het systeem logboek worden gearchiveerd?',
+ 'logrotate:period' => 'Hoe vaak moet het systeemlogboek worden gearchiveerd?',
'logrotate:logrotated' => "Logboek gearchiveerd",
'logrotate:lognotrotated' => "Fout tijdens het archiveren van het logboek",
- 'logrotate:delete' => 'Verwijder logboek archieven ouder dan een',
+ 'logrotate:delete' => 'Verwijder logboekarchieven ouder dan een',
'logrotate:week' => 'week',
'logrotate:month' => 'maand',
'logrotate:year' => 'jaar',
'logrotate:never' => 'nooit',
- 'logrotate:logdeleted' => "Log verwijdert",
+ 'logrotate:logdeleted' => "Log verwijderd
+",
'logrotate:lognotdeleted' => "Fout tijdens het verwijderen van de log",
);
diff --git a/mod/messageboard/languages/nl.php b/mod/messageboard/languages/nl.php
index 72c864539c7..ede46bcf964 100644
--- a/mod/messageboard/languages/nl.php
+++ b/mod/messageboard/languages/nl.php
@@ -6,27 +6,27 @@
* Menu items and titles
*/
- 'messageboard:board' => "Berichten box",
- 'messageboard:messageboard' => "berichten box",
+ 'messageboard:board' => "Berichtenbox",
+ 'messageboard:messageboard' => "berichtenbox",
'messageboard:viewall' => "Alles bekijken",
'messageboard:postit' => "Plaats",
'messageboard:history:title' => "Geschiedenis",
'messageboard:none' => "Er zijn nog geen berichten geplaatst",
'messageboard:num_display' => "Aantal berichten om weer te geven",
- 'messageboard:desc' => "Dit is een berichten box die je op je profiel kunt plaatsen waar andere gebruikers op kunnen reageren.",
+ 'messageboard:desc' => "Dit is een berichtenbox die je op je profiel kunt plaatsen. Andere gebruikers kunnen via deze box een reactie aan je sturen.",
- 'messageboard:user' => "%s's berichten box",
+ 'messageboard:user' => "Berichtenbox van %s",
'messageboard:replyon' => 'antwoord op',
'messageboard:history' => "geschiedenis",
- 'messageboard:owner' => '%s\'s berichten box',
- 'messageboard:owner_history' => '%s\'s berichten op %s\'s berichten box',
+ 'messageboard:owner' => 'Berichtenbox van %s',
+ 'messageboard:owner_history' => 'Berichten van %s in de berichtenbox van %s',
/**
* Message board widget river
*/
- 'river:messageboard:user:default' => "%s plaatste op %s's berichten box",
+ 'river:messageboard:user:default' => "%s plaatste een bericht in de berichtenbox van %s",
/**
* Status messages
@@ -40,28 +40,32 @@
*/
'messageboard:email:subject' => 'Er is een nieuwe reactie op een bericht!',
- 'messageboard:email:body' => "%s heeft een reactie geplaatst op een bericht. De reactie is:
-
-%s
-
-Om de reacties te bekijken, klik hier:
-
-%s
-
-Om %s's profiel te bekijken, klik hier:
-
-%s
-
-Je kunt niet antwoorden op deze email.",
+ 'messageboard:email:body' => "Hallo!
+
+%s heeft op een bericht gereageerd. De reactie is:
+
+%s
+
+Om te antwoorden of het originele item te zien klik je hier:
+
+%s
+
+Om het profiel van %s te bekijken klik je hier:
+
+%s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op reageren.",
/**
* Error messages
*/
- 'messageboard:blank' => "Sorry, je moet wel tekst opgeven voordat we je bericht kunnen opslaan.",
+ 'messageboard:blank' => "Sorry, je moet wel iets typen voordat we je bericht kunnen opslaan!",
'messageboard:notfound' => "Sorry, we konden het opgegeven item niet vinden.",
'messageboard:notdeleted' => "Sorry, we konden het bericht niet verwijderen.",
- 'messageboard:somethingwentwrong' => "Er is een fout opgetreden tijdens het opslaan van je bericht, controlleer op je wel een bericht hebt geschreven.",
+ 'messageboard:somethingwentwrong' => "Er is een fout opgetreden tijdens het opslaan van je bericht. Heb je wel een bericht geschreven?",
'messageboard:failure' => "Er is een fout opgetreden tijdens het toevoegen van je bericht. Probeer het nogmaals.",
diff --git a/mod/messages/languages/nl.php b/mod/messages/languages/nl.php
index 494910b1405..7fa28d718a0 100644
--- a/mod/messages/languages/nl.php
+++ b/mod/messages/languages/nl.php
@@ -7,8 +7,8 @@
'messages' => "Berichten",
'messages:unreadcount' => "%s ongelezen",
'messages:back' => "terug naar berichten",
- 'messages:user' => "%s's postvak in",
- 'messages:posttitle' => "%s's berichten: %s",
+ 'messages:user' => "Postvak in van %s",
+ 'messages:posttitle' => "Berichten van %s: %s",
'messages:inbox' => "Postvak In",
'messages:sent' => "Verstuurde berichten",
'messages:message' => "Bericht",
@@ -24,7 +24,7 @@
'messages:yours' => "Jouw bericht",
'messages:toggle' => 'Selecteer alles',
'messages:markread' => 'Markeer als gelezen',
- 'messages:recipient' => 'Kies een ontvanger�',
+ 'messages:recipient' => 'Kies een ontvanger...',
'messages:to_user' => 'Aan: %s',
'messages:new' => 'Nieuw bericht',
@@ -51,19 +51,23 @@
*/
'messages:email:subject' => 'Je hebt een nieuw bericht!',
- 'messages:email:body' => "Je hebt een nieuw bericht van %s. Het bericht is:
-
-%s
-
-Om jouw berichten te bekijken, klik hier:
-
-%s
-
-Om %s een bericht te sturen, klik hier:
-
-%s
-
-Je kunt niet antwoorden op deze email.",
+ 'messages:email:body' => "Hallo!
+
+Je hebt een nieuw bericht van %s. Het bericht is:
+
+%s
+
+Om je berichten te bekijken klik je hier:
+
+%s
+
+Om %s direct een bericht te sturen klik je hier:
+
+%s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op antwoorden. ",
/**
* Error messages
@@ -71,12 +75,12 @@
'messages:blank' => "Sorry, je moet wel tekst invullen voordat we je bericht kunnen versturen.",
'messages:notfound' => "Sorry, we konden het opgegeven bericht niet vinden.",
- 'messages:notdeleted' => "Sorry we konden dit bericht niet verwijderen.",
- 'messages:nopermission' => "Je hebt geen toegang om dit bericht te mogen verwijderen.",
+ 'messages:notdeleted' => "Sorry, we konden dit bericht niet verwijderen.",
+ 'messages:nopermission' => "Je hebt onvoldoende rechten om dit bericht te kunnen verwijderen.",
'messages:nomessages' => "Er zijn geen berichten om weer te geven.",
- 'messages:user:nonexist' => "We konden de geadresseerde niet vinden in de gebruikers database.",
- 'messages:user:blank' => "Je hebt niemand geselecteerd om dit naar toe te sturen.",
- 'messages:user:self' => "Je kan geen bericht sturen naar jezelf.",
+ 'messages:user:nonexist' => "We konden de geadresseerde niet in de gebruikerslijst vinden .",
+ 'messages:user:blank' => "Je hebt niemand geselecteerd om dit naar te sturen.",
+ 'messages:user:self' => "Je kunt geen berichten aan jezelf sturen!",
'messages:deleted_sender' => 'Verwijderde gebruiker',
diff --git a/mod/notifications/languages/nl.php b/mod/notifications/languages/nl.php
index 2685d2040af..60969b5fa5c 100644
--- a/mod/notifications/languages/nl.php
+++ b/mod/notifications/languages/nl.php
@@ -4,21 +4,21 @@
'friends:all' => 'Alle vrienden',
- 'notifications:subscriptions:personal:description' => 'Ontvang een notificatie als er acties worden ondernomen op jou content',
+ 'notifications:subscriptions:personal:description' => 'Ontvang een notificatie als er acties worden ondernomen op jouw content, bijvoorbeeld als er een reactie gegeven wordt.',
'notifications:subscriptions:personal:title' => 'Persoonlijke notificatie',
'notifications:subscriptions:friends:title' => 'Vrienden',
- 'notifications:subscriptions:friends:description' => 'Het volgende is een automatische verzameling van je vrienden. Om updates te ontvangen selecteer hieronder. Dit zal invloed hebben op de betreffende gebruikers in het hoofd notificatie-instellingen overzicht aan de onderkant van deze pagina.',
- 'notifications:subscriptions:collections:edit' => 'Om je vrienden collecties aan te passen, klik hier.',
+ 'notifications:subscriptions:friends:description' => 'Hieronder staan de automatische verzamelingen van je vrienden. Je kunt selecteren van welke verzameling(en) je notificaties wilt ontvangen. Dit zal invloed hebben op de betreffende gebruikers in het kopje \'overzicht notificatie-instellingen\' aan de onderkant van deze pagina.',
+ 'notifications:subscriptions:collections:edit' => 'Klik hier om je vriendenverzameling(en) aan te passen.',
'notifications:subscriptions:changesettings' => 'Notificaties',
'notifications:subscriptions:changesettings:groups' => 'Groepsnotificaties',
'notifications:subscriptions:title' => 'Notificatie per gebruiker',
- 'notifications:subscriptions:description' => 'Om notificaties te ontvangen wanneer je vrienden nieuwe content plaatsen, vindt ze hieronder en selecteer de meldings manier die je wilt gebruiken.',
+ 'notifications:subscriptions:description' => 'Hieronder kun je aangeven op welke manier je een notificatie wilt ontvangen als vrienden van jou nieuwe content plaatsen. ',
- 'notifications:subscriptions:groups:description' => 'Om een notificatie te ontvangen wanneer er nieuwe content is in een groep waarvan je lid bent, zoek de groep hieronder op en selecteer de meldingsmanier die je wilt gebruiken.',
+ 'notifications:subscriptions:groups:description' => 'Hieronder kun je aangeven op welke manier je een notificatie wilt als er nieuwe content is in een groep waarvan je lid bent. ',
- 'notifications:subscriptions:success' => 'Je notificatie instellingen zijn opgeslagen.',
+ 'notifications:subscriptions:success' => 'Je notificatie-instellingen zijn opgeslagen.',
);
diff --git a/mod/pages/languages/nl.php b/mod/pages/languages/nl.php
index 5a072f98f16..4e4ce6728ce 100644
--- a/mod/pages/languages/nl.php
+++ b/mod/pages/languages/nl.php
@@ -6,36 +6,43 @@
*/
'pages' => "Pagina's",
- 'pages:owner' => "%s's pagina's",
+ 'pages:owner' => "Pagina's van %s",
'pages:friends' => "Pagina's van vrienden",
- 'pages:all' => "Alle site pagina's",
+ 'pages:all' => "Alle sitepagina's",
'pages:add' => "Voeg pagina toe",
- 'pages:group' => "Groep pagina's",
- 'groups:enablepages' => 'Schakel groep pagina\'s in',
+ 'pages:group' => "Groepspagina's",
+ 'groups:enablepages' => 'Schakel groepspagina\'s in',
'pages:new' => "Een nieuwe pagina",
'pages:edit' => "Bewerk deze pagina",
'pages:delete' => "Verwijder deze pagina",
- 'pages:history' => "Pagina geschiedenis",
+ 'pages:history' => "Paginageschiedenis",
'pages:view' => "Bekijk pagina",
'pages:revision' => "Revisie",
'pages:current_revision' => "Huidige revisie",
'pages:revert' => "Herstel",
- 'pages:navigation' => "Pagina navigatie",
+ 'pages:navigation' => "Paginanavigatie",
'pages:notify:summary' => 'Nieuwe pagina met de titel %s',
'pages:notify:subject' => "Een nieuwe pagina: %s",
'pages:notify:body' =>
-'%s heeft een nieuwe pagina toegevoegd: %s
+'Hallo!
+%s heeft een nieuwe pagina gemaakt.
+
+%s
%s
-Bekijk en reageer op de pagina:
+Je kunt de pagina hier lezen:
%s
+
+-----
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op reageren.
',
- 'item:object:page_top' => 'Hoofd pagina\'s',
+ 'item:object:page_top' => 'Hoofdpagina\'s',
'item:object:page' => 'Pagina\'s',
'pages:nogroup' => 'Deze groep heeft nog geen pagina\'s',
'pages:more' => 'Meer pagina\'s',
@@ -45,23 +52,23 @@
* River
**/
- 'river:create:object:page' => '%s maakte de pagina %s',
- 'river:create:object:page_top' => '%s maakte de pagina %s',
- 'river:update:object:page' => '%s bewerkte de pagina %s',
- 'river:update:object:page_top' => '%s bewerkte de pagina %s',
- 'river:comment:object:page' => '%s reageerde op de pagina %s',
- 'river:comment:object:page_top' => '%s reageerde op de pagina %s',
+ 'river:create:object:page' => '%s maakte de pagina \'%s\'',
+ 'river:create:object:page_top' => '%s maakte de pagina \'%s\'',
+ 'river:update:object:page' => '%s bewerkte de pagina \'%s\'',
+ 'river:update:object:page_top' => '%s bewerkte de pagina \'%s\'',
+ 'river:comment:object:page' => '%s reageerde op de pagina \'%s\'',
+ 'river:comment:object:page_top' => '%s reageerde op de pagina \'%s\'',
/**
* Form fields
*/
- 'pages:title' => 'Pagina titel',
+ 'pages:title' => 'Paginatitel',
'pages:description' => 'Jouw tekst',
'pages:tags' => 'Tags',
'pages:parent_guid' => 'Hoofdpagina',
'pages:access_id' => 'Toegang',
- 'pages:write_access_id' => 'Schrijf toegang',
+ 'pages:write_access_id' => 'Schrijfrechten',
/**
* Status and error messages
@@ -73,19 +80,19 @@
'pages:error:no_title' => 'Je moet een titel opgeven voor deze pagina.',
'pages:delete:success' => 'Je pagina is succesvol verwijderd.',
'pages:delete:failure' => 'De pagina kon niet worden verwijderd.',
- 'pages:revision:delete:success' => 'De pagina revisie is succesvol verwijderd',
- 'pages:revision:delete:failure' => 'De pagina revisie kon niet worden verwijderd',
+ 'pages:revision:delete:success' => 'De paginarevisie is succesvol verwijderd.',
+ 'pages:revision:delete:failure' => 'De paginarevisie kon niet worden verwijderd.',
'pages:revision:not_found' => 'Kan deze revisie niet vinden',
/**
* Page
*/
- 'pages:strapline' => 'Laatst bijgewerkt %s door %s',
+ 'pages:strapline' => 'Laatst bijgewerkt: \'%s\' door %s',
/**
* History
*/
- 'pages:revision:subtitle' => 'Revisie aangemaakt %s door %s',
+ 'pages:revision:subtitle' => 'Revisie van de pagina \'%s\' door %s',
/**
* Widget
@@ -99,15 +106,15 @@
*/
'pages:label:view' => "Bekijk pagina",
'pages:label:edit' => "Bewerk pagina",
- 'pages:label:history' => "Pagina geschiedenis",
+ 'pages:label:history' => "Paginageschiedenis",
/**
* Sidebar items
*/
'pages:sidebar:this' => "Deze pagina",
- 'pages:sidebar:children' => "Sub pagina's",
+ 'pages:sidebar:children' => "Subpagina's",
'pages:sidebar:parent' => "Hoofdpagina",
- 'pages:newchild' => "Maak een sub pagina",
+ 'pages:newchild' => "Maak een subpagina",
'pages:backtoparent' => "Terug naar '%s'",
);
diff --git a/mod/pages/languages/pt_BR.php b/mod/pages/languages/pt_BR.php
index 4a895f6bf21..3af26e8f3aa 100644
--- a/mod/pages/languages/pt_BR.php
+++ b/mod/pages/languages/pt_BR.php
@@ -5,25 +5,25 @@
* Menu items and titles
*/
- 'pages' => "Páginas",
- 'pages:owner' => "%s páginas",
- 'pages:friends' => "Páginas dos amigos",
- 'pages:all' => "Todas as páginas do site",
- 'pages:add' => "Adicionar uma página",
-
- 'pages:group' => "Páginas do grupo",
- 'groups:enablepages' => 'Ativar páginas do grupo',
-
- 'pages:new' => "Uma nova página",
- 'pages:edit' => "Editar essa página",
- 'pages:delete' => "Excluir essa página",
- 'pages:history' => "Histórico",
- 'pages:view' => "Ver página",
+ 'pages' => "Páginas (Wiki)",
+ 'pages:owner' => "páginas de %s",
+ 'pages:friends' => "páginas dos amigos",
+ 'pages:all' => "Todas páginas colaborativas (wiki) do site",
+ 'pages:add' => "Adicionar página colaborativa (wiki)",
+
+ 'pages:group' => "Páginas colaborativas (wiki)",
+ 'groups:enablepages' => 'Habilita páginas colaborativas (wiki) na comunidade',
+
+ 'pages:new' => "Nova página",
+ 'pages:edit' => "Modifique esta página colaborativa",
+ 'pages:delete' => "Apague esta página colaborativa (wiki)",
+ 'pages:history' => "Histórico desta página colaborativa (wiki)",
+ 'pages:view' => "Ver página colaborativa (wiki)",
'pages:revision' => "Revisão",
'pages:current_revision' => "Revisão atual",
'pages:revert' => "Reverter",
- 'pages:navigation' => "Navegação",
+ 'pages:navigation' => "Navegação ",
'pages:notify:summary' => 'Nova página chamada %s',
'pages:notify:subject' => "Uma nova página: %s",
@@ -35,11 +35,11 @@
Veja e comente a página:
%s
',
- 'item:object:page_top' => 'Páginas mais importantes',
- 'item:object:page' => 'Páginas',
- 'pages:nogroup' => 'Este grupo ainda não possui quaisquer páginas',
- 'pages:more' => 'Mais páginas',
- 'pages:none' => 'Ainda não foi criado páginas',
+ 'item:object:page_top' => 'Páginas colaborativas (wiki) do mais alto nível',
+ 'item:object:page' => 'Páginas colaborativas (wiki)',
+ 'pages:nogroup' => 'Esta comunidade ainda não possui páginas colaborativas (wiki)',
+ 'pages:more' => 'Mais páginas colaborativas (wiki)',
+ 'pages:none' => 'Nenhuma página colaborativa (wiki) criada ainda',
/**
* River
@@ -49,30 +49,30 @@
'river:create:object:page_top' => '%s criou a página %s',
'river:update:object:page' => '%s atualizou a página %s',
'river:update:object:page_top' => '%s atualizou a página %s',
- 'river:comment:object:page' => '%s comentou na página %s',
- 'river:comment:object:page_top' => '%s comentou na página %s',
+ 'river:comment:object:page' => '%s comentou a página denominada %s',
+ 'river:comment:object:page_top' => '%s comentou a página denominada %s',
/**
* Form fields
*/
- 'pages:title' => 'Título da página',
- 'pages:description' => 'Texto da página',
- 'pages:tags' => 'Tags',
+ 'pages:title' => 'Título da página colaborativa (wiki)',
+ 'pages:description' => 'Texto da página colaborativa (wiki)',
+ 'pages:tags' => 'Descritores (Tags)',
'pages:parent_guid' => 'Página principal',
- 'pages:access_id' => 'Acesso para leitura',
- 'pages:write_access_id' => 'Acesso para escrita',
+ 'pages:access_id' => 'Permissão de leitura',
+ 'pages:write_access_id' => 'Permissão de escrita',
/**
* Status and error messages
*/
- 'pages:noaccess' => 'Não tem acesso a página',
- 'pages:cantedit' => 'Você não pode editar essa página',
- 'pages:saved' => 'Página salva',
- 'pages:notsaved' => 'A página não pode ser salva',
- 'pages:error:no_title' => 'Você deve especificar um título para essa página.',
- 'pages:delete:success' => 'A página foi excluída com sucesso.',
- 'pages:delete:failure' => 'A página não pode ser excluída.',
+ 'pages:noaccess' => 'Nenhum acesso à página colaborativa (wiki).',
+ 'pages:cantedit' => 'Você não pode editar esta página colaborativa (wiki).',
+ 'pages:saved' => 'Página colaborativa (wiki) salva com sucesso.',
+ 'pages:notsaved' => 'Página colaborativa (wiki) não pode ser salva corretamente.',
+ 'pages:error:no_title' => 'Você deve especificar um título para esta página',
+ 'pages:delete:success' => 'Sua página colaborativa (wiki) foi apagada com sucesso.',
+ 'pages:delete:failure' => 'Página colaborativa (wiki) não pode ser apagada corretamente.',
'pages:revision:delete:success' => 'A revisão da página foi excluída com sucesso.',
'pages:revision:delete:failure' => 'A revisão da página não pode ser excluída.',
'pages:revision:not_found' => 'Não foi possível encontrar esta revisão.',
@@ -80,7 +80,7 @@
/**
* Page
*/
- 'pages:strapline' => 'Última modificação %s por %s',
+ 'pages:strapline' => 'Última atualização em %s por %s',
/**
* History
@@ -91,23 +91,23 @@
* Widget
**/
- 'pages:num' => 'Número de páginas a serem exibidas',
- 'pages:widget:description' => "Lista com suas páginas.",
+ 'pages:num' => 'Número de páginas colaborativa (wiki) para exibir',
+ 'pages:widget:description' => "Esta é uma lista de suas páginas colaborativa (wiki).",
/**
* Submenu items
*/
- 'pages:label:view' => "Ver página",
- 'pages:label:edit' => "Editar página",
- 'pages:label:history' => "Histórico da página",
+ 'pages:label:view' => "Visualizar página colaborativa (wiki)",
+ 'pages:label:edit' => "Editar página colaborativa (wiki)",
+ 'pages:label:history' => "Histórico da página colaborativa (wiki)",
/**
* Sidebar items
*/
- 'pages:sidebar:this' => "Essa página",
- 'pages:sidebar:children' => "Subpáginas",
- 'pages:sidebar:parent' => "Principal",
+ 'pages:sidebar:this' => "Esta página colaborativa (wiki)",
+ 'pages:sidebar:children' => "Sub-páginas colaborativas (wiki)",
+ 'pages:sidebar:parent' => "Página colaborativa pai",
- 'pages:newchild' => "Criar uma subpágina",
+ 'pages:newchild' => "Criar uma sub-página colaborativa (wiki)",
'pages:backtoparent' => "Voltar para '%s'",
);
diff --git a/mod/reportedcontent/languages/nl.php b/mod/reportedcontent/languages/nl.php
index 56e52b4b614..17c4d8ca6d7 100644
--- a/mod/reportedcontent/languages/nl.php
+++ b/mod/reportedcontent/languages/nl.php
@@ -16,18 +16,18 @@
'reportedcontent:archived' => 'De melding is gearchiveerd',
'reportedcontent:visit' => 'Bekijk gemelde inhoud',
'reportedcontent:by' => 'Gemeld door',
- 'reportedcontent:objecttitle' => 'Pagina titel',
- 'reportedcontent:objecturl' => 'Pagina url',
+ 'reportedcontent:objecttitle' => 'Paginatitel',
+ 'reportedcontent:objecturl' => 'Pagina-URL',
'reportedcontent:reason' => 'Reden van melding',
- 'reportedcontent:description' => 'Waarom meld je dit?',
+ 'reportedcontent:description' => 'Om welke reden wil je dit melden?',
'reportedcontent:address' => 'Locatie van het item',
- 'reportedcontent:success' => 'Je melding is verstuurd naar de Site Administrator',
+ 'reportedcontent:success' => 'Je melding is verstuurd naar de sitebeheerder',
'reportedcontent:failing' => 'Je melding kon niet worden verzonden',
'reportedcontent:report' => 'Meld aan beheerder',
'reportedcontent:instructions' => 'De melding zal worden verstuurd aan de beheerders van deze site ter controle.',
'reportedcontent:numbertodisplay' => 'Aantal meldingen om weer te geven',
'reportedcontent:widget:description' => 'Toon gemelde inhoud',
- 'reportedcontent:user' => 'Rapporteer gebruiker',
+ 'reportedcontent:user' => 'Meld deze gebruiker bij de sitebeheerder',
'reportedcontent:failed' => 'Sorry, de poging om deze inhoud te melden is mislukt.',
'reportedcontent:notarchived' => 'Het was niet mogelijk om deze melding te archiveren',
diff --git a/mod/site_notifications/languages/de.php b/mod/site_notifications/languages/de.php
index 8cac60959c0..c63939c680b 100644
--- a/mod/site_notifications/languages/de.php
+++ b/mod/site_notifications/languages/de.php
@@ -8,4 +8,7 @@
'site_notifications:no_access' => 'Du hast keine Berechtigung, auf diese Seite zuzugreifen. Vielleicht mußt Du Dich zuerst auf der Community-Seite anmelden.',
'site_notifications:no_delete' => 'Das Löschen ist fehlgeschlagen.',
'site_notifications:empty' => 'Es sind keine Benachrichtigungen vorhanden.',
+ 'site_notifications:toggle_all' => 'Alle auswählen',
+ 'site_notifications:error:notifications_not_selected' => 'Es sind keine Benachrichtigungen ausgewählt.',
+ 'site_notifications:success:delete' => 'Die Benachrichtigungen wurden gelöscht.'
);
diff --git a/mod/site_notifications/languages/es.php b/mod/site_notifications/languages/es.php
index 995a79d0939..ecef56ae98d 100644
--- a/mod/site_notifications/languages/es.php
+++ b/mod/site_notifications/languages/es.php
@@ -8,4 +8,7 @@
'site_notifications:no_access' => 'No tienes acceso a esta página. Probablemente necesitas ingresar con tu cuenta.',
'site_notifications:no_delete' => 'No se pudo eliminar',
'site_notifications:empty' => 'No hay notificaciones',
+ 'site_notifications:toggle_all' => 'Activar/desactivar todos',
+ 'site_notifications:error:notifications_not_selected' => 'No hay notificaciones selecionadas.',
+ 'site_notifications:success:delete' => 'Notificaciones eliminadas.'
);
diff --git a/mod/site_notifications/languages/fr.php b/mod/site_notifications/languages/fr.php
index 7b90ce21286..6dcbc8a5bc5 100644
--- a/mod/site_notifications/languages/fr.php
+++ b/mod/site_notifications/languages/fr.php
@@ -8,4 +8,7 @@
'site_notifications:no_access' => 'Vous n\'avez pas accès à cette page. Peut-être que vous devez vous connecter.',
'site_notifications:no_delete' => 'Impossible de supprimer',
'site_notifications:empty' => 'Pas de notifications',
+ 'site_notifications:toggle_all' => 'Tout basculer',
+ 'site_notifications:error:notifications_not_selected' => 'Pas de notifications sélectionnées',
+ 'site_notifications:success:delete' => 'Notifications supprimées'
);
diff --git a/mod/site_notifications/languages/ja.php b/mod/site_notifications/languages/ja.php
index e6d0d6c3835..b54d3055b1b 100644
--- a/mod/site_notifications/languages/ja.php
+++ b/mod/site_notifications/languages/ja.php
@@ -8,4 +8,7 @@
'site_notifications:no_access' => 'このページヘのアクセスはありませんでした。おそらくログインする必要があります。',
'site_notifications:no_delete' => '削除出来ません',
'site_notifications:empty' => '通知はありません',
+ 'site_notifications:toggle_all' => '全てを選択',
+ 'site_notifications:error:notifications_not_selected' => '通知が選択されていません。',
+ 'site_notifications:success:delete' => '通知が削除されました'
);
diff --git a/mod/site_notifications/languages/nl.php b/mod/site_notifications/languages/nl.php
index 92683599300..f0a44273e01 100644
--- a/mod/site_notifications/languages/nl.php
+++ b/mod/site_notifications/languages/nl.php
@@ -1,11 +1,14 @@
'Site Notificaties',
+ 'site_notifications' => 'Sitenotificaties',
'notification:method:site' => 'Site',
'site_notifications:topbar' => 'Notificaties',
- 'item:object:site_notification' => 'Site notificaties',
+ 'item:object:site_notification' => 'Sitenotificaties',
- 'site_notifications:no_access' => 'Je hebt geen toegang tot deze pagina. Misschien moet je je aanmelden',
+ 'site_notifications:no_access' => 'Je hebt geen toegang tot deze pagina. Misschien moet je je aanmelden.',
'site_notifications:no_delete' => 'Fout tijdens verwijderen',
'site_notifications:empty' => 'Geen notificaties',
+ 'site_notifications:toggle_all' => 'Selecteer alles',
+ 'site_notifications:error:notifications_not_selected' => 'Geen notificaties geselecteerd',
+ 'site_notifications:success:delete' => 'Notificaties verwijderd'
);
diff --git a/mod/site_notifications/languages/pl.php b/mod/site_notifications/languages/pl.php
index 139d14e6285..8a396c43f32 100644
--- a/mod/site_notifications/languages/pl.php
+++ b/mod/site_notifications/languages/pl.php
@@ -8,4 +8,7 @@
'site_notifications:no_access' => 'Nie masz uprawnień do wyświetlenia tej strony. Może potrzebujesz się zalogować.',
'site_notifications:no_delete' => 'Nie można usunąć',
'site_notifications:empty' => 'Brak powiadomień',
+ 'site_notifications:toggle_all' => 'Przełącz wszystkie',
+ 'site_notifications:error:notifications_not_selected' => 'Nie wybrano żadnych powiadomień',
+ 'site_notifications:success:delete' => 'Powiadomienia usunięte'
);
diff --git a/mod/thewire/languages/nl.php b/mod/thewire/languages/nl.php
index 6fb66b0389a..53031142cf8 100644
--- a/mod/thewire/languages/nl.php
+++ b/mod/thewire/languages/nl.php
@@ -4,55 +4,55 @@
/**
* Menu items and titles
*/
- 'thewire' => "The wire",
- 'thewire:everyone' => "Alle Wire berichten",
- 'thewire:user' => "%s's wire",
- 'thewire:friends' => "Je vrienden op The WIre",
- 'thewire:replying' => "Antwoord op %s (@%s) die schreef",
+ 'thewire' => "The Wire",
+ 'thewire:everyone' => "Alle Wire-berichten",
+ 'thewire:user' => "Wire-berichten van %s",
+ 'thewire:friends' => "Wire-berichten van je vrienden",
+ 'thewire:replying' => "Antwoord op %s (@%s), die schreef",
'thewire:thread' => "Conversatie",
'thewire:charleft' => "karakters resterend",
- 'thewire:tags' => "Wire berichten met de tag '%s'",
- 'thewire:noposts' => "Nog geen wire berichten",
- 'item:object:thewire' => "Wire berichten",
- 'thewire:by' => 'Wire bericht door %s',
+ 'thewire:tags' => "Wire-berichten met de tag '%s'",
+ 'thewire:noposts' => "Nog geen Wire-berichten",
+ 'item:object:thewire' => "Wire-berichten",
+ 'thewire:by' => 'Wire-bericht van %s',
'thewire:previous:help' => "Bekijk vorige bericht",
'thewire:hide:help' => "Verberg vorige bericht",
/**
* The wire river
*/
- 'river:create:object:thewire' => "%s plaatste op de %s",
- 'thewire:wire' => 'wire',
+ 'river:create:object:thewire' => "%s stuurde een bericht aan %s",
+ 'thewire:wire' => 'The Wire',
/**
* Wire widget
*/
- 'thewire:widget:desc' => 'Toon je laatste wire berichten',
+ 'thewire:widget:desc' => 'Toon je laatste Wire-berichten',
'thewire:num' => 'Aantal items om weer te geven',
- 'thewire:moreposts' => 'Meer wire berichten',
+ 'thewire:moreposts' => 'Meer Wire-berichten',
/**
* Status messages
*/
'thewire:posted' => "Je bericht is succesvol geplaatst op The Wire.",
'thewire:deleted' => "Je notitie is succesvol verwijderd.",
- 'thewire:blank' => "Sorry; je moet wel is in typen voordat je notitie kan worden opgeslagen.",
- 'thewire:notfound' => "Sorry; we konden de opgegeven notitie niet vinden.",
- 'thewire:notsaved' => "Sorry. We konden je wire bericht niet opslaan.",
- 'thewire:notdeleted' => "Sorry; we konden deze melding niet verwijderen.",
+ 'thewire:blank' => "Sorry, je moet wel iets intypen voordat we je bericht kunnen versturen!",
+ 'thewire:notfound' => "Sorry, we konden het gezochte Wire-bericht niet vinden.",
+ 'thewire:notsaved' => "Sorry, we konden je Wire-bericht niet opslaan.",
+ 'thewire:notdeleted' => "Sorry, we konden dit Wire-bericht niet verwijderen.",
/**
* Notifications
*/
- 'thewire:notify:summary' => 'Nieuw wire bericht: %s',
- 'thewire:notify:subject' => "Nieuw wire bericht",
- 'thewire:notify:reply' => '%s reageerde op %s op de wire:',
- 'thewire:notify:post' => '%s plaatste op de wire:',
+ 'thewire:notify:summary' => 'Nieuw Wire-bericht: %s',
+ 'thewire:notify:subject' => "Nieuw Wire-bericht van %s",
+ 'thewire:notify:reply' => '%s reageerde op %s op The Wire:',
+ 'thewire:notify:post' => '%s plaatste op The Wire:',
'thewire:notify:footer' => "Bekijk en reageer:\n%s",
/**
* Settings
*/
- 'thewire:settings:limit' => "Maximum aantal karakters voor wire berichten:",
+ 'thewire:settings:limit' => "Maximum aantal karakters voor Wire-berichten:",
'thewire:settings:limit:none' => "Geen limiet",
);
diff --git a/mod/twitter_api/languages/nl.php b/mod/twitter_api/languages/nl.php
index 853e5362463..2d674348e7a 100644
--- a/mod/twitter_api/languages/nl.php
+++ b/mod/twitter_api/languages/nl.php
@@ -2,55 +2,55 @@
return array(
'twitter_api' => 'Twitter Services',
- 'twitter_api:requires_oauth' => 'Twitter Services vereist dat de OAuth libraries plugin is ingeschakeld.',
+ 'twitter_api:requires_oauth' => 'Twitter Services vereist dat de OAuth libraries-plugin is ingeschakeld.',
'twitter_api:consumer_key' => 'Consumer Key',
'twitter_api:consumer_secret' => 'Consumer Secret',
- 'twitter_api:settings:instructions' => 'Je moet een consumer key en secret aanvragen bij Twitter . Vul het formulier in voor een nieuwe applicatie. Selecteer "Browser" voor het applicatie type en "Read & Write" voor de rechten. De callback url is %stwitter_api/authorize',
+ 'twitter_api:settings:instructions' => 'Je moet een Consumer Key en Consumer Secret aanvragen bij Twitter . Vul het formulier in voor een nieuwe applicatie. Selecteer "Browser" voor het applicatietype en "Read & Write" voor de rechten. De callback-URL is %stwitter_api/authorize',
'twitter_api:usersettings:description' => "Koppel je %s account met Twitter.",
'twitter_api:usersettings:request' => "Je moet eerst %2$s autoriseren om toegang te krijgen tot je Twitter account.",
- 'twitter_api:usersettings:cannot_revoke' => "Je kunt je account niet ontkoppelen van Twitter omdat je geen e-mail adres of wachtwoord hebt opgegeven. Vul ze nu in ",
+ 'twitter_api:usersettings:cannot_revoke' => "Je kunt je account niet ontkoppelen van Twitter omdat je geen e-mailadres of wachtwoord hebt opgegeven. Vul dit nu in! ",
'twitter_api:authorize:error' => 'Fout tijdens het autoriseren van Twitter.',
- 'twitter_api:authorize:success' => 'Twitter toegang is geautoriseerd.',
+ 'twitter_api:authorize:success' => 'Twittertoegang is geautoriseerd.',
- 'twitter_api:usersettings:authorized' => "Je hebt %s geautoriseerd om toegang te krijgen tot je Twitter account: @%s.",
+ 'twitter_api:usersettings:authorized' => "Je hebt %s geautoriseerd om toegang te krijgen tot je Twitteraccount: @%s.",
'twitter_api:usersettings:revoke' => 'Klik hier om de toegang in te trekken.',
'twitter_api:usersettings:site_not_configured' => 'Een beheerder moet Twitter eerst instellen voordat het gebruikt kan worden.',
- 'twitter_api:revoke:success' => 'Twitter toegang is ingetrokken.',
+ 'twitter_api:revoke:success' => 'Twittertoegang is ingetrokken.',
- 'twitter_api:post_to_twitter' => "Plaats Wire posts op Twiter?",
+ 'twitter_api:post_to_twitter' => "Wil je dat jouw Wire-berichten ook op je Twittertijdlijn gepost worden? ",
- 'twitter_api:login' => 'Mogen bestaande gebruikers die hun Twitter account hebben gekoppeld zich aanmelden met Twitter?',
- 'twitter_api:new_users' => 'Mogen nieuwe gebruikers zich registreren met hun Twitter account, zelfs als registratie is uitgeschakeld?',
+ 'twitter_api:login' => 'Mogen bestaande gebruikers die hun Twitteraccount hebben gekoppeld zich aanmelden met Twitter?',
+ 'twitter_api:new_users' => 'Mogen nieuwe gebruikers zich registreren met hun Twitteraccount, zelfs als registratie is uitgeschakeld?',
'twitter_api:login:success' => 'Je bent aangemeld.',
'twitter_api:login:error' => 'Aanmelden met Twitter mislukt.',
- 'twitter_api:login:email' => "Je moet een geldig e-mail adres opgeven voor je nieuwe %s account.",
+ 'twitter_api:login:email' => "Je moet een geldig e-mailadres opgeven voor je nieuwe %s account.",
'twitter_api:invalid_page' => 'Ongeldige pagina',
- 'twitter_api:deprecated_callback_url' => 'De callback URL is gewijzigd voor de Twitter API van %s. Vraag de beheerder om dit aan te passen.',
+ 'twitter_api:deprecated_callback_url' => 'De callback-URL voor de Twitter-API van %s is gewijzigd. Vraag de beheerder om dit aan te passen.',
'twitter_api:interstitial:settings' => 'Configureer je instellingen',
- 'twitter_api:interstitial:description' => 'Je bent bijna klaar om gebruik te maken van %s! We hebben nog een paar gegevens nodig voordat je verder kunt. Deze zijn optioneel, maar maken het mogelijk dat je je kunt aanmelden als Twitter niet beschikbaar is of als je de koppeling met Twitter verwijderd.',
+ 'twitter_api:interstitial:description' => 'Je bent bijna klaar om gebruik te maken van %s! We hebben echter nog een paar gegevens nodig voordat je verder kunt. Deze zijn optioneel, maar maken het mogelijk dat je je kunt aanmelden als Twitter niet beschikbaar is of als je de koppeling met Twitter verwijdert. ',
- 'twitter_api:interstitial:username' => 'Dit is je gebruikersnaam. Dit kan niet worden aangepast. Als je een wachtwoord opgeeft, kun je je aanmelden met deze gebruikersnaam of je e-mail adres.',
+ 'twitter_api:interstitial:username' => 'Dit is je gebruikersnaam. Deze kan niet worden aangepast. Als je een wachtwoord opgeeft, kun je je aanmelden met deze gebruikersnaam of je e-mailadres.',
- 'twitter_api:interstitial:name' => 'Dit is de naam die mensen zien als ze corresponderen met jou.',
+ 'twitter_api:interstitial:name' => 'Dit is de naam die mensen zien als ze via de site contact met jou hebben.',
- 'twitter_api:interstitial:email' => 'Je e-mail adres. Gebruikers kunnen deze standaard niet zien.',
+ 'twitter_api:interstitial:email' => 'Je e-mailadres. Gebruikers kunnen dit standaard niet zien.',
'twitter_api:interstitial:password' => 'Een wachtwoord om je aan te melden als Twitter niet beschikbaar is of als je accounts niet meer gekoppeld zijn.',
'twitter_api:interstitial:password2' => 'Hetzelfde wachtwoord, nogmaals',
- 'twitter_api:interstitial:no_thanks' => 'Nee bedankt',
+ 'twitter_api:interstitial:no_thanks' => 'Nee, dank je',
- 'twitter_api:interstitial:no_display_name' => 'Je moet een weergave naam hebben.',
- 'twitter_api:interstitial:invalid_email' => 'Je moet een geldig e-mail adres opgeven of niets.',
- 'twitter_api:interstitial:existing_email' => 'Dit e-mail adres is al geregistreerd op deze site.',
+ 'twitter_api:interstitial:no_display_name' => 'Je moet een weergavenaam hebben.',
+ 'twitter_api:interstitial:invalid_email' => 'Je moet óf niets, óf een geldig e-mailadres opgeven.',
+ 'twitter_api:interstitial:existing_email' => 'Dit e-mailadres is al geregistreerd op deze site.',
'twitter_api:interstitial:password_mismatch' => 'Je wachtwoorden komen niet overeen.',
- 'twitter_api:interstitial:cannot_save' => 'De account details kunnen niet worden opgeslagen.',
- 'twitter_api:interstitial:saved' => 'Account details opgeslagen!',
+ 'twitter_api:interstitial:cannot_save' => 'De accountdetails kunnen niet worden opgeslagen.',
+ 'twitter_api:interstitial:saved' => 'Accountdetails opgeslagen!',
);
diff --git a/mod/uservalidationbyemail/languages/nl.php b/mod/uservalidationbyemail/languages/nl.php
index fb42377da99..7d8febb92ff 100644
--- a/mod/uservalidationbyemail/languages/nl.php
+++ b/mod/uservalidationbyemail/languages/nl.php
@@ -2,36 +2,41 @@
return array(
'admin:users:unvalidated' => 'Ongevalideerd',
- 'email:validate:subject' => "%s bevestig aub je email adres voor %s!",
- 'email:validate:body' => "Beste %s,
-
-Voordat je gebruik kunt maken van %s, moet je je e-mail adres bevestigen.
-
-Om je e-mail adres te bevestigen moet je op onderstaande link klikken:
-%s
-
-Als je niet op de link kunt klikken, kopieer en plak deze dan handmatig in de adresbalk van je browser.
-
-%s
-%s",
- 'email:confirm:success' => "Je hebt je e-mail adres bevestigd!",
- 'email:confirm:fail' => "Je e-mail adres kon niet worden geverifieerd...",
+ 'email:validate:subject' => "%s, bevestig alsjeblieft je e-mailadres voor %s!",
+ 'email:validate:body' => "Beste %s,
+
+Voordat je gebruik kunt maken van het %s moet je je e-mailadres bevestigen.
+
+Om je e-mailadres te bevestigen klik je op onderstaande link:
+%s
+
+Lukt het niet om op de link te klikken? Kopieer deze dan, en plak hem handmatig in de adresbalk van je browser (http://nl.wikipedia.org/wiki/Adresbalk )
+
+%s
+%s
+
+---
+
+Dit is een automatisch aangemaakt bericht. Je kunt hier niet op reageren.
+",
+ 'email:confirm:success' => "Je hebt je e-mailadres bevestigd!",
+ 'email:confirm:fail' => "Je e-mailadres kon niet worden geverifieerd...",
'uservalidationbyemail:emailsent' => "E-mail verzonden naar %s ",
- 'uservalidationbyemail:registerok' => "Om je account te activeren, bevestig je email adres door te klikken op de link die we je gestuurd hebben.",
- 'uservalidationbyemail:login:fail' => "Je account is nog niet gevalideerd dus het aanmelden is mislukt. Er is nog een validatie mail verstuurd.",
+ 'uservalidationbyemail:registerok' => "Wil je jouw account activeren? Bevestig dan je e-mailadres door op de link die we je gestuurd hebben te klikken.",
+ 'uservalidationbyemail:login:fail' => "Je account is nog niet gevalideerd, dus het aanmelden is mislukt. We hebben je nog een validatiemail verstuurd. Nadat je jouw e-mailadres daarmee hebt bevestigd kun je inloggen!",
'uservalidationbyemail:admin:no_unvalidated_users' => 'Geen ongevalideerde gebruikers',
'uservalidationbyemail:admin:unvalidated' => 'Ongevalideerd',
'uservalidationbyemail:admin:user_created' => 'Geregistreerd %s',
- 'uservalidationbyemail:admin:resend_validation' => 'Validatie verzenden',
+ 'uservalidationbyemail:admin:resend_validation' => 'Validatie nogmaals verzenden',
'uservalidationbyemail:admin:validate' => 'Valideren',
'uservalidationbyemail:confirm_validate_user' => 'Valideer %s?',
'uservalidationbyemail:confirm_resend_validation' => 'Validatie e-mail versturen aan %s?',
'uservalidationbyemail:confirm_delete' => 'Verwijder %s?',
'uservalidationbyemail:confirm_validate_checked' => 'Valideer geselecteerde gebruikers?',
- 'uservalidationbyemail:confirm_resend_validation_checked' => 'Validatie e-mail versturen aan geselecteerde gebruikers?',
+ 'uservalidationbyemail:confirm_resend_validation_checked' => 'Validatie-e-mail versturen aan geselecteerde gebruikers?',
'uservalidationbyemail:confirm_delete_checked' => 'Verwijder geselecteerde gebruikers?',
'uservalidationbyemail:errors:unknown_users' => 'Onbekende gebruikers',
@@ -39,8 +44,8 @@
'uservalidationbyemail:errors:could_not_validate_users' => 'Kon de geselecteerde gebruikers niet valideren.',
'uservalidationbyemail:errors:could_not_delete_user' => 'Kon de gebruiker niet verwijderen.',
'uservalidationbyemail:errors:could_not_delete_users' => 'Kon de geselecteerde gebruikers niet verwijderen.',
- 'uservalidationbyemail:errors:could_not_resend_validation' => 'Kon de validatie e-mail niet versturen.',
- 'uservalidationbyemail:errors:could_not_resend_validations' => 'Kon de validatie e-mail niet versturen aan de geselecteerde gebruikers.',
+ 'uservalidationbyemail:errors:could_not_resend_validation' => 'Kon de validatie-e-mail niet versturen.',
+ 'uservalidationbyemail:errors:could_not_resend_validations' => 'Kon de validatie-e-mail niet versturen aan de geselecteerde gebruikers.',
'uservalidationbyemail:messages:validated_user' => 'Gebruiker gevalideerd.',
'uservalidationbyemail:messages:validated_users' => 'Alle geselecteerde gebruikers gevalideerd.',
From 971271f3e819360b8b0112c25148061af255c54a Mon Sep 17 00:00:00 2001
From: Steve Clay
Date: Sun, 11 Jan 2015 19:33:36 -0500
Subject: [PATCH 2/2] chore(release): v1.9.8
---
CHANGELOG.md | 17 +++++++++++++++++
composer.json | 2 +-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d3b2d9d2f81..f88318334cb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,20 @@
+
+### 1.9.8 (2015-01-11)
+
+#### Contributors
+
+* Juho Jaakkola (1)
+* Matt Beckett (1)
+* Steve Clay (1)
+* iionly (1)
+
+#### Bug Fixes
+
+* **css:** Correct z-index for autocomplete form field when opened in lightbox ([e993141f](https://github.com/Elgg/Elgg/commit/e993141fb010f7cba6d9d134029a719ba625e0d5))
+* **notifications:** subject of comment notification email always starts with "Re: " ([b5175b56](https://github.com/Elgg/Elgg/commit/b5175b56280c0903fc28ab1caa0106bf730343ef), closes [#7743](https://github.com/Elgg/Elgg/issues/7743))
+* **profile:** admin defined profile fields are once again back-compatible ([8e577be4](https://github.com/Elgg/Elgg/commit/8e577be4aa77305f55e18394e2572d6d28fa5278), closes [#7634](https://github.com/Elgg/Elgg/issues/7634))
+
+
### 1.9.7 (2014-12-14)
diff --git a/composer.json b/composer.json
index a1a1a3189af..b00542718f9 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
{
"name": "elgg/elgg",
- "version": "1.9.7",
+ "version": "1.9.8",
"description": "Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.",
"license": "GPL-2.0",
"type": "project",