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 (``` 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/<container_guid>" msgstr "" #: ../../guides/guidelines.rst:36 #: ../../guides/guidelines.rst:73 -# 2f358df57a034adcbad37767fe6e14a5 -# 7a79a345b2ce4458b0f87d6e30971ad9 msgid "Edit" msgstr "" #: ../../guides/guidelines.rst:36 -# b6524863c0db41ad9b8dce665471ec86 msgid "page_handler/edit/<guid>" msgstr "" #: ../../guides/guidelines.rst:38 -# a514b44504dd44ea8c9230fbc552b3fb msgid "Group list" msgstr "" #: ../../guides/guidelines.rst:38 -# 2327ab61d8444fecb1fe5a7e514e3538 msgid "page_handler/group/<guid>/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/<handler>/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/<plugin>/pages/<page_handler>/<page_name>``" 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/<subtype> 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/<handler>/delete?guid=<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/<handler>/<action>`` 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, <period>**" 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/<page_shell>``). 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:<menu_name>**" 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:<menu_name>**" 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, <view>**" 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, <entity_type>**" 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, <entity_type>**" 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, <entity_type>**" 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, <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, <reason>**" 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, <entity_type>**" 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 <entity_type> and subtype ``$params['subtype']``." msgstr "" #: ../../guides/hooks-list.rst:185 -# d7099dbb69174a638e5e7d40b4d37c60 msgid "**permissions_check, <entity_type>**" 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, <entity_type>**" 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, <entity_type>**" 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, <view_name>**" 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, <entity_type>**" msgstr "" #: ../../guides/hooks-list.rst:269 -# 3570440652934161a6c2a0728aa6a928 msgid "Triggered when entity icon URL is requested, see :ref:`entity icons <guides/database#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 <guides/views#listing-entities>` 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 <guides/database#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, <entity_type>**" 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, <entity_type|metadata|annotation|relationship|river_item>**" 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, <annotation|metadata>**" 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, <entity_type>**" 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, <relationship_name>**" 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, <widget_handler>**" 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, <type>`` 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, <page_segment>**" 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, <type>:<subtype>**" 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, <type>**" 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 </about/contributing>`." 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) <http://requirejs.org/docs/whyamd.html>`_ 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 ``<head>`` (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 </design/events>` 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:<menu name>'`` to add or modify items (especially in dynamic menus)" msgstr "" #: ../../guides/menus.rst:52 -# 3aa90a46fee34b6a960bc8d1f30dfe44 msgid "``'prepare', 'menu:<menu name>'`` 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 ``<menu name>`` 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 <actions>` 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 </admin/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 <design/events#plugin-hooks>`. 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 <guides/hooks-list#permission-hooks>` . 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 ``<plugin_manifest>`` 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 ``<comparison>`` 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 ``<type>`` 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 ``<comparison>`` 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 ``<comparison>`` 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 <views>` 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 <i18n>` 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 </admin/plugins>` 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 </guides/index>`." 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 </admin/upgrading>`." 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 ``<id>`` 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 <guides/views#post-processing-views>` 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 ``<link>`` 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 <guides/hooks-list#views>` ``[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 <guides/views#viewtypes>` 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 </design/database>`." 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 </tutorials/blog>`), 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 </design/database>`." 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 <design/events#plugin-hooks>` 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/<plugin name>/``, 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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 </admin/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 = &amp;`` 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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 <http://en.wikipedia.org/wiki/Blog>`_" 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 </tutorials/wysiwyg>`, 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 <design/events#plugin-hooks>` 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 <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\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 ``<form>`` tag and the necessary attributes" msgstr "" #: ../../tutorials/blog.rst:72 -# 1a1d948b172b4d749fbaef7af226052e msgid "anti-csrf tokens" msgstr "" #: ../../tutorials/blog.rst:74 -# fa3639edd7054c42bc9529e4ebda2c9e msgid "The form's action will be ``\"<?php echo elgg_get_site_url() ?>action/my_blog/save\"``, which we will create in a moment. Here is the content of ``/mod/my_blog/views/default/forms/my_blog/save.php``:" msgstr "" #: ../../tutorials/blog.rst:100 -# 5719cb62d39e42dc86b49a5cd90c439c msgid "Notice how the form is calling input views like ``input/longtext``. These are built into Elgg and make it easy to add form components. You can see a complete list of input views in the ``/views/default/input/`` directory." msgstr "" #: ../../tutorials/blog.rst:106 -# 6efa294d09014daaa2e7d469dcf1768b msgid "The above code is not accessibility-friendly." msgstr "" #: ../../tutorials/blog.rst:109 -# 756b7f01dcb647f1942cea9a8577fe71 msgid "The action file" msgstr "" #: ../../tutorials/blog.rst:111 -# 393687a8ed2446a6b951970939a02867 msgid "Create the file ``/mod/my_blog/actions/my_blog/save.php``. This will save the blog post to the database." msgstr "" #: ../../tutorials/blog.rst:150 -# d66e1434a27f42f8903b7df32758a12c msgid "A few fields are built into Elgg objects. Title and description are two of these. It makes sense to use description to contain the my\\_blog text. Every entity can have a subtype and in this we are using ``\"my_blog\"``. The tags are stored as metadata." msgstr "" #: ../../tutorials/blog.rst:155 -# 29d576e6530c43b499648c7c685b20e6 msgid "Every object in Elgg has a built-in URL automatically, although you can override this if you wish. The ``getURL()`` method is called to get that unique URL." msgstr "" #: ../../tutorials/blog.rst:160 -# 665081b62097491d97c00acd42e684ad msgid "The object view" msgstr "" #: ../../tutorials/blog.rst:162 -# 634998863bc94021a0ef2536b3de36a9 msgid "Elgg will automatically call the ``object/my_blog`` view to view the my\\_blog post so we need to create the object view." msgstr "" #: ../../tutorials/blog.rst:165 -# 371248fc93f24a43ab75b5f382fe87ab msgid "Objects in Elgg are a subclass of something called an “entity”. Users, sites, and groups are also subclasses of entity. All entities can (and should) have a subtype, which allows granular control for listing and displaying. Here, we have used the subtype \"``my_blog``\\ \" to identify a my\\_blog post, but any alphanumeric string can be a valid subtype. When picking subtypes, be sure to pick ones that make sense for your plugin." msgstr "" #: ../../tutorials/blog.rst:173 -# 68b556d1aa374615b2655cb6ff8c7796 msgid "In ``/mod/my_blog/views/default/``, create a folder ``/object/`` and then create a file ``my_blog.php`` in it." msgstr "" #: ../../tutorials/blog.rst:176 -# 19f22c856a824aaf815af42c1335108b msgid "Each my\\_blog post will be passed to this PHP file as ``$vars['entity']``. (``$vars`` is an array used in the views system to pass variables to a view.) The content of ``object/my_blog.php`` can just be something like:" msgstr "" #: ../../tutorials/blog.rst:189 -# 1c2e3800bb5e4dbbaedf6c4e52c31738 msgid "The last line takes the tags on the my\\_blog post and automatically displays them as a series of clickable links. Search is handled automatically." msgstr "" #: ../../tutorials/blog.rst:193 -# 397050ea0fd34251a1c01a7e4aad31b5 msgid "(If you're wondering about the '``default``\\ ' in ``/views/default/``, you can create alternative views. RSS, OpenDD, FOAF, mobile and others are all valid view types.)" msgstr "" #: ../../tutorials/blog.rst:198 -# 0512faa45038465bacef5136d48cadd3 msgid "Plugin start.php" msgstr "" #: ../../tutorials/blog.rst:200 -# 6aae6a297ec544faadeddc9b5e3ae6c2 msgid "Every plugin has a ``start.php`` that initializes it. For this example, we just need to register the action file we created earlier: Also see a related guide about :doc:`/guides/actions`." msgstr "" #: ../../tutorials/blog.rst:210 -# 9087ba3ab27b432fa07c929d32cc9ca3 msgid "The action will now be available as ``/action/my_blog/save``. By default, all actions are available only to logged in users. If you want to make an action available to only admins or open it up to unauthenticated users, you can pass 'admin' or 'public' as the third parameter of ``elgg_register_action()``, respectively." msgstr "" #: ../../tutorials/blog.rst:216 #: ../../tutorials/hello_world.rst:72 -# a733e62ce1a745629230b7581e6828c1 -# 3c7ce258194647e697a68d15c86d681e msgid "Registering a page handler" msgstr "" #: ../../tutorials/blog.rst:218 -# d1ec776d9d404f97900708d12c6a6a1c msgid "In order to be able to serve the page that generates the form, you'll need to register a page handler. Add the following to your start.php:" msgstr "" #: ../../tutorials/blog.rst:233 -# 37345498206b431fb5e89c894ae44ec5 msgid "Page handling functions need to return ``true`` or ``false``. ``true`` means the page exists and has been handled by the page handler. ``false`` means that the page does not exist and the user will be forwarded to the site's 404 page (requested page does not exist or not found). In this particular example, the URL must contain ``/my_blog/add`` for the user to view a page with a form, otherwise the user will see a 404 page." msgstr "" #: ../../tutorials/blog.rst:242 -# 84cb9d6b5be148e2a82d3dd44608692b msgid "Trying it out" msgstr "" #: ../../tutorials/blog.rst:244 -# 1a3a9f25daf449c5895c1ec11d1d01f3 msgid "If you have not enabled the plugin yet, you will need to go to Administration => Configure => Plugins => Advanced. Scroll to the bottom until you see your plugin. Click the Enable button." msgstr "" #: ../../tutorials/blog.rst:248 -# 2183f16fe6624adfb55ceaa1703f0a11 msgid "The page to create a new my\\_blog post is accessible at http://yoursite/my_blog/add. Try it out." msgstr "" #: ../../tutorials/blog.rst:252 -# 228236d7cdcc4e39bf24e1a7861ef368 msgid "Displaying list of my\\_blogs" msgstr "" #: ../../tutorials/blog.rst:254 -# b2752f813cd4458681c49f963f3b2a01 msgid "Let's also create a page that lists my\\_blog entries that have been created." msgstr "" #: ../../tutorials/blog.rst:256 -# 4766a50486db4e169f1a05a0ef5bd736 msgid "Create ``/mod/my_blog/pages/my_blog/all.php``." msgstr "" #: ../../tutorials/blog.rst:258 -# 429d258d24a0488d8e00201019b20d37 msgid "To grab the latest my\\_blog posts, we'll use ``elgg_list_entities``. Note that this function returns only the posts that the user can see, so access restrictions are handled transparently:" msgstr "" #: ../../tutorials/blog.rst:269 -# 27e35e8364134198a0b1a7d728b31167 msgid "The function \\`elgg\\_list\\_entities\\` (and its cousins) also transparently handle pagination, and even create an RSS feeds for your my\\_blogs if you have defined these views." msgstr "" #: ../../tutorials/blog.rst:273 -# 2c8da08b88284162b0a938bf9a2c9ba4 msgid "Finally, we'll draw the page:" msgstr "" #: ../../tutorials/blog.rst:281 -# 8c180412b667433880bdab7ef72911bd msgid "We will then need to modify our my\\_blog page handler to grab the new page when the URL is set to ``/my_blog/all``. So, your new ``my_blog_page_handler()`` function in start.php should look like:" msgstr "" #: ../../tutorials/blog.rst:302 -# 7fbe40f90cb44c328fcd84f2d81f3b03 msgid "Now, if the URL contains just ``/my_blog`` or ``/my_blog/all``, the user will see an \"All Site Blogs\" page." msgstr "" #: ../../tutorials/blog.rst:306 -# 5fb8147dc2604533ab0fd88b39c8d6a1 msgid "A user's blog page" msgstr "" #: ../../tutorials/blog.rst:308 -# 4aaa455c6d044288a320ae29ed4d9248 msgid "If we grab the Global Unique IDentifier (GUID) of the logged in user, we can limit the my\\_blog posts to those posted by specifying the owner\\_guid argument in the list function above." msgstr "" #: ../../tutorials/blog.rst:322 -# 5c081aa88b1147e39ca3ec004f2a56c0 msgid "The end" msgstr "" #: ../../tutorials/blog.rst:324 -# 263d14d44ad94e86b4d27a96be9e23ab msgid "There's much more that could be done for this plugin, but hopefully this gives you a good idea of how to get started with your own." msgstr "" #: ../../tutorials/hello_world.rst:2 -# 1f1a50b9f70f409583f2a306865e2b50 msgid "Hello world" msgstr "" #: ../../tutorials/hello_world.rst:4 -# cfba50fdd8204ce397fa7412e31c22a4 msgid "This tutorial shows you how to build a simple plugin that adds a new page and prints the text \"Hello world\" on it." msgstr "" #: ../../tutorials/hello_world.rst:7 -# b6f9fa47d3ca402790a77df1445bd8ca msgid "In this tutorial we will use the address ``http://www.mysite.com/`` as an example. While developing the plugin you should use the address of your own site instead of the example address." msgstr "" #: ../../tutorials/hello_world.rst:12 -# ec7ecff169004caf91b1f1eaec0772f0 msgid "Required files" msgstr "" #: ../../tutorials/hello_world.rst:13 -# b381b42984f241db891b015297894e13 msgid "First of all you need a directory that will hold all the files required by the plugin. Go to the ``mod`` directory of your Elgg site and create there a directory with the name ``hello_world``." msgstr "" #: ../../tutorials/hello_world.rst:19 -# 65792071c2f841248ba89fe2242acd88 msgid "Go to the ``hello_world`` directory and create these two files inside it:" msgstr "" #: ../../tutorials/hello_world.rst:18 #: ../../tutorials/indexpage.rst:7 -# 7648dd0f12b04e82908552b104bbd489 -# 4097847a3fbb42479144c46b2403d7ad msgid "start.php" msgstr "" #: ../../tutorials/hello_world.rst:19 -# e6a7c53860d241e1bb7644495830f10f msgid "manifest.xml" msgstr "" #: ../../tutorials/hello_world.rst:21 -# 1e4672d8d80f439993883ccd3d77786f msgid "Copy this to the ``manifest.xml`` file:" msgstr "" #: ../../tutorials/hello_world.rst:39 -# 7c8978397a9843a8b4f41ecd8001187c msgid "Add your name to the ``<author></author>`` element." msgstr "" #: ../../tutorials/hello_world.rst:41 -# 568f0477d2594b7db9724a5eee23ca97 msgid "The plugin has now the minimum requirements for your site to recognize it. Log in to your site as an administrator and access the plugins page at the administration panel. By default the plugin is at the bottom of the plugins list. Click the \"Activate\" button to start it." msgstr "" #: ../../tutorials/hello_world.rst:50 -# 4fe91619e23648c28d706f3bd3843731 msgid "The Hello world plugin has appeared to the bottom of the plugin list" msgstr "" #: ../../tutorials/hello_world.rst:53 -# 7b5dd88080704a6081c88e02bfd1f5cc msgid "Initializing the plugin" msgstr "" #: ../../tutorials/hello_world.rst:55 -# c2c9221dd348401c9e77513915fd3034 msgid "The next step is to add some actual features. Open the ``start.php`` and copy this to it:" msgstr "" #: ../../tutorials/hello_world.rst:68 -# 3ad8f2a131e248c5a067c21f57396306 msgid "This piece of code tells Elgg that it should call the function ``hello_world_init()`` when the Elgg core system is initiated." msgstr "" #: ../../tutorials/hello_world.rst:74 -# 54437ad265314eb9965b4273dd91307a msgid "The next step is to register a page handler which has the purpose of handling request that users make to the URL http://www.mysite.com/hello/." msgstr "" #: ../../tutorials/hello_world.rst:77 -# dfb5f116d2f645a7908b0ca0860317ee msgid "Update the ``start.php`` to look like this:" msgstr "" #: ../../tutorials/hello_world.rst:101 -# 9856227e4f6b48e1ac3e3777b7b2e259 msgid "The call to ``elgg_register_page_handler()`` tells Elgg that it should call the function ``hello_world_page_handler()`` when user goes to your site and has \"hello\" at the end of the URL." msgstr "" #: ../../tutorials/hello_world.rst:105 -# 012d38d19e844d3e841737fb1eb6572f msgid "The ``hello_world_page_handler()`` makes it possible for the users to access the actual page. Inside the function we first give an array of parameters to the ``elgg_view_layout()`` function." msgstr "" #: ../../tutorials/hello_world.rst:112 -# 16353e483d0146bfa77096fe3e88a039 msgid "The parameters include:" msgstr "" #: ../../tutorials/hello_world.rst:110 -# e4baf3ece4054d7dbdf3a24f871c84a5 msgid "The title of the page" msgstr "" #: ../../tutorials/hello_world.rst:111 -# a1f88ab4154d4e27b70abb896d00e8d8 msgid "The contents of the page" msgstr "" #: ../../tutorials/hello_world.rst:112 -# 2017714b83104ecc8e174ced6eddf6be msgid "Filter which is left empty because there's currently nothing to filter" msgstr "" #: ../../tutorials/hello_world.rst:114 -# 8aa197d315d148dd853a02804041bae0 msgid "This creates the basic layout for the page. The layout is then run through ``elgg_view_page()`` which assembles and outputs the full page." msgstr "" #: ../../tutorials/hello_world.rst:117 -# 1304cae2a906435888b41ad8553611ac msgid "You can now go to the address http://www.mysite.com/hello/ and you should see the page." msgstr "" #: ../../tutorials/hello_world.rst:123 -# 3d00ba1287ea4cdebc65d1704120af0b msgid "Elgg is now routing the URL http://www.mysite.com/hello/ to the page you created." msgstr "" #: ../../tutorials/index.rst:2 -# f86d613ebab14a6d91f8382365232d29 msgid "Plugin Tutorials" msgstr "" #: ../../tutorials/index.rst:4 -# 9b367ca2d2634ec4933d80d5cc9e3f53 msgid "Walk through all the required steps in order to create your own plugins." msgstr "" #: ../../tutorials/index.rst:6 -# 7c9e8e15185c43c880384da4bfa12ab4 msgid "The instructions are detailed enough that you don't need much previous experience on plugin development." msgstr "" #: ../../tutorials/indexpage.rst:2 -# 3aa8468878c24d1fbb6dc63e2190d618 msgid "Customizing the Home Page" msgstr "" #: ../../tutorials/indexpage.rst:4 -# 3f0f0bfc128e46ec85080443aab32525 msgid "Overwrite the default index page on your Elgg install." msgstr "" #: ../../tutorials/indexpage.rst:9 -# a9fa156438444a3ab590d1b865d7acc1 msgid "Register a function for the plugin hook called ``index, system`` that returns ``true``. This tells Elgg to assume that another front page has been drawn so it doesn't display the default page." msgstr "" #: ../../tutorials/indexpage.rst:12 -# fa600e1233e24871aa4fdb77964a5932 msgid "Inside start.php you will need something like the following:" msgstr "" #: ../../tutorials/indexpage.rst:31 -# ed8d67b7205645e6b09794d54119250b msgid "pages/index.php" msgstr "" #: ../../tutorials/indexpage.rst:33 -# 64f17167c631408c9563b595bbb630be msgid "Then implement the page handler script (/pluginname/pages/index.php) to generate the desired output. Anything output from this script will become your new home page." msgstr "" #: ../../tutorials/widget.rst:2 -# f13099f396d4436cbff5da618a0af320 msgid "Basic Widget" msgstr "" #: ../../tutorials/widget.rst:4 -# bce0222600c54afab22db1e6fcd4abf8 msgid "Create a widget that will display “Hello, World!” and optionally any text the user wants." msgstr "" #: ../../tutorials/widget.rst:6 -# 0a5c4bbca63d4c15a2824eaa0499c9cb msgid "In Elgg, widgets are those components that you can drag onto your profile or admin dashboard." msgstr "" #: ../../tutorials/widget.rst:8 -# 031bef9e4ca5472d9cb62e87a7f45f20 msgid "This tutorial assumes you are familiar with basic Elgg concepts such as:" msgstr "" #: ../../tutorials/widget.rst:10 -# a1173323183645b2a31161a2f8d86ae4 msgid ":doc:`/guides/views`" msgstr "" #: ../../tutorials/widget.rst:11 -# 20f9ade4975d4d0caaa8cc4cb0fb863d msgid ":doc:`/admin/plugins`" msgstr "" #: ../../tutorials/widget.rst:13 -# fe1c75b7e85f42718228ad2dfd5e65c1 msgid "You should review those if you get confused along the way." msgstr "" #: ../../tutorials/widget.rst:20 -# 5caa97fd5a4e43cc9a65a339556ef99e msgid "Registering your plugin" msgstr "" #: ../../tutorials/widget.rst:22 -# b6ee4b8425494c9282ff2daca5fcdea2 msgid "Plugins are always placed in the ``/mod`` directory. Create a subdirectory there called ``hello``. This will be the name of your plugin and will show up in the Plugins Administration section of Elgg by this name." msgstr "" #: ../../tutorials/widget.rst:27 -# 4481cfa528c34414b03c9d0ee4db8c89 msgid "In ``/mod/hello``, create an empty file called ``start.php``. If this file exists, Elgg will load your plugin. Otherwise, you will see a misconfigured plugin error. Go to the admin section of your Elgg install and enable your plugin. Click on the “more info” link under your plugin name. You will notice that nothing happens." msgstr "" #: ../../tutorials/widget.rst:34 -# 4faf7be7ac7a4427a0861e12c4d4794f msgid "Copy the ``manifest.xml`` file from one of the plugins in your elgg install into ``/mod/hello``." msgstr "" #: ../../tutorials/widget.rst:35 -# af02a56ba23d4594b7e1b8ad54dd8629 msgid "Update its values so you are listed as the author and change the description to describe this new plugin." msgstr "" #: ../../tutorials/widget.rst:36 -# b5fe1f9c12514ff2a96066bc21887b49 msgid "Reload the Tools Administration page in your browser and check “more info” again." msgstr "" #: ../../tutorials/widget.rst:37 -# f6752dc26ee5453c81a0ee7a1c519bf3 msgid "It will now display the information that you've entered." msgstr "" #: ../../tutorials/widget.rst:40 -# 0145e9e8ddc64378817aeb7edeee8812 msgid "Adding the widget view code" msgstr "" #: ../../tutorials/widget.rst:42 -# 21d1a985585d47c59f30314b2f52212c msgid "Elgg automatically scans particular directories under plugins looking for particular files. :doc:`/guides/views` make it easy to add your display code or do other things like override default Elgg behavior. For now, we will just be adding the view code for your widget. Create a file at ``/mod/hello/views/default/widgets/helloworld/content.php``. “helloworld” will be the name of your widget within the hello plugin. In this file add the code:" msgstr "" #: ../../tutorials/widget.rst:55 -# 2307cc25c0c14d21a76dc6f2482090c8 msgid "This will add these words to the widget canvas when it is drawn. Elgg takes care of loading the widget." msgstr "" #: ../../tutorials/widget.rst:59 -# 3fd5c708a6ca4a33aee6b0100cfaa0d2 msgid "Registering your widget" msgstr "" #: ../../tutorials/widget.rst:61 -# b1da537b0eba4697b3108f83ef9f796f msgid "Elgg needs to be told explicitly that the plugin contains a widget so that it will scan the widget views directory. This is done by calling the elgg\\_register\\_widget\\_type() function. Edit ``/mod/hello/start.php``. In it add these lines:" msgstr "" #: ../../tutorials/widget.rst:76 -# 274647afd93349b9a19849d1ae282573 msgid "Now go to your profile page using a web browser and add the “hello, world” widget. It should display “Hello, world!”." msgstr "" #: ../../tutorials/widget.rst:81 -# 43bc3b75e99d4e86b21c6a4cad6ee4f8 msgid "For real widgets, it is always a good idea to support :doc:`/guides/i18n`." msgstr "" #: ../../tutorials/widget.rst:84 -# cc6758b203c14e49a135de31d8fdbe20 msgid "Allow user customization" msgstr "" #: ../../tutorials/widget.rst:86 -# 2270fa092ea04110a8792829072ae4a0 msgid "Click on the edit link on the toolbar of the widget that you've created. You will notice that the only control it gives you by default is over access (over who can see the widget)." msgstr "" #: ../../tutorials/widget.rst:90 -# 8b316ea50eda49179eecea5d7426477c msgid "Suppose you want to allow the user to control what greeting is displayed in the widget. Just as Elgg automatically loads ``content.php`` when viewing a widget, it loads ``edit.php`` when a user attempts to edit a widget. In ``/mod/hello/views/default/widgets/helloworld/``, create a file named ``edit.php``. In this file, add the following code:" msgstr "" #: ../../tutorials/widget.rst:113 -# 5e76deeacbc24c41a6fafa12e24d1a8e msgid "Notice the relationship between the values passed to the 'name' and the 'value' fields of input/text. The name of the input text box is ``params[message]`` because Elgg will automatically handle widget variables put in the array ``params``. The actual php variable name will be ``message``. If we wanted to use the field ``greeting`` instead of ``message`` we would pass the values ``params[greeting]`` and ``$widget->greeting`` respectively." msgstr "" #: ../../tutorials/widget.rst:121 -# 5cb09fb2ac2e4001a5509b1ca7801523 msgid "The reason we set the 'value' option of the array is so that the edit view remembers what the user typed in the previous time he changed the value of his message text." msgstr "" #: ../../tutorials/widget.rst:125 -# 41d6aacf2278414ebcf24b1c80eed061 msgid "Now to display the user's message we need to modify content.php to use this *message* variable. Edit content.php and change it to:" msgstr "" #: ../../tutorials/widget.rst:137 -# 3f0e8d4b72d7456db24cd2c386430500 msgid "You should now be able to enter a message in the text box and see it appear in the widget." msgstr "" #: ../../tutorials/wysiwyg.rst:2 -# 750eefdd1d6a49b6bc8563d5c0f152b4 msgid "Integrating a Rich Text Editor" msgstr "" #: ../../tutorials/wysiwyg.rst:4 -# c6b22e67b42a4bf2bc70a4e502b39aad msgid "Build your own wysiwyg plugin." msgstr "" #: ../../tutorials/wysiwyg.rst:6 -# 63f6411089f74996959f944a8d92b513 msgid "Elgg is bundled with a plugin for CKEditor_, and previously shipped with TinyMCE_ support. However, if you have a wysiwyg that you prefer, you could use this tutorial to help you build your own." msgstr "" #: ../../tutorials/wysiwyg.rst:12 -# aad68633b6f041e1b4db105fca512fa2 msgid "All forms in Elgg should try to use the provided input views located in ``views/default/input``. If these views are used, then it is simple for plugin authors to replace a view, in this case longtext.php, with their wysiwyg." msgstr "" #: ../../tutorials/wysiwyg.rst:17 -# 0f274b0a560c472ba785cfd67cac76f2 msgid "Create your plugin skeleton" msgstr "" #: ../../tutorials/wysiwyg.rst:19 -# 4db2546d8895487c8f04b7cf1e5be033 msgid "You will need to create your plugin and give it a start.php file where the plugin gets initialized, as well as a manifest.xml file to tell the Elgg engine about your plugin." msgstr "" #: ../../tutorials/wysiwyg.rst:22 -# b2a867f7bad64871ba862f1cb3dd52ee msgid "Read more in the guide about :doc:`/guides/plugins`." msgstr "" #: ../../tutorials/wysiwyg.rst:25 -# 10bac35145d541efbe6bed2f710c97dd msgid "Add the WYSIWYG library code" msgstr "" #: ../../tutorials/wysiwyg.rst:27 -# f5b052691ceb49b5a70a42f59b884479 msgid "Now you need to upload TinyMCE into a directory in your plugin. We strongly encourage you to put third party libraries in a “vendors” directory, as that is standard practice in Elgg plugins and will make your plugin much more approachable by other developers::" msgstr "" #: ../../tutorials/wysiwyg.rst:35 -# c8d3a88d17cb47e1a143e3601508441d msgid "Tell Elgg when and how to load TinyMCE" msgstr "" #: ../../tutorials/wysiwyg.rst:37 -# 10285a67e2334e62b342711ee12f3392 msgid "Now that you have:" msgstr "" #: ../../tutorials/wysiwyg.rst:39 -# cb4947d1512e43a7b26e7195ec7694ba msgid "created your start file" msgstr "" #: ../../tutorials/wysiwyg.rst:40 -# a5a50ce5c163478dba872fd3a1b20f16 msgid "intialized the plugin" msgstr "" #: ../../tutorials/wysiwyg.rst:41 -# 967fc62ca5bb4178a3fc78572bfc417e msgid "uploaded the wysiwyg code" msgstr "" #: ../../tutorials/wysiwyg.rst:43 -# 44bf346c58c64789bbc8682194aab376 msgid "It is time to tell Elgg how to apply TinyMCE to longtext fields." msgstr "" #: ../../tutorials/wysiwyg.rst:45 -# 7150a2aae01a479a9f3ccf4bc0f70e00 msgid "We're going to do that by extending the input/longtext view and including some javascript. Create a view tinymce/longtext and add the following code:" msgstr "" #: ../../tutorials/wysiwyg.rst:81 -# bac6012d56e34fc2b35d1bd94e46c645 msgid "Then, in your plugin's init function, extend the input/longtext view" msgstr "" #: ../../tutorials/wysiwyg.rst:89 -# 162ba82e924e4193a1ad0cad92065ad0 msgid "That's it! Now every time someone uses input/longtext, TinyMCE will be loaded and applied to that textarea." msgstr "" diff --git a/install/languages/es.php b/install/languages/es.php index 946f716bfde..21a324502ac 100644 --- a/install/languages/es.php +++ b/install/languages/es.php @@ -8,8 +8,8 @@ 'install:admin' => 'Crear cuenta admin', 'install:complete' => 'Finalizado', - 'install:next' => 'Next', - 'install:refresh' => 'Refresh', + 'install:next' => 'Siguiente', + 'install:refresh' => 'Actualizar', 'install:welcome:instructions' => "La instalación de Elgg consta de 6 pasos simples y leer esta bienvenida es el primero! @@ -109,7 +109,7 @@ 'install:complete:gotosite' => 'Ir al sitio', 'InstallationException:UnknownStep' => '%s es un paso de instalación desconocido.', - 'InstallationException:MissingLibrary' => 'Could not load %s', + 'InstallationException:MissingLibrary' => 'No se pudo cargar %s', 'InstallationException:CannotLoadSettings' => 'Elgg could not load the settings file. It does not exist or there is a file permissions issue.', 'install:success:database' => 'Se ha instalado la base de datos.', @@ -154,5 +154,5 @@ // Bring over some error messages you might see in setup 'exception:contact_admin' => 'An unrecoverable error has occurred and has been logged. If you are the site administrator check your settings file, otherwise contact the site administrator with the following information:', - 'DatabaseException:WrongCredentials' => "Elgg couldn't connect to the database using the given credentials. Check the settings file.", + 'DatabaseException:WrongCredentials' => "Elgg no puede conectar con la base de datos, usando los credenciales. Consulte en el archivo 'settings'.", ); diff --git a/install/languages/fi.php b/install/languages/fi.php index 681389ec385..345857642b2 100644 --- a/install/languages/fi.php +++ b/install/languages/fi.php @@ -66,7 +66,7 @@ 'install:database:help:dbhost' => 'MySQL-palvelimen sijainti (yleensä localhost)', 'install:database:help:dbprefix' => "Kaikille Elggin tietokantatauluille annettava etuliite (yleensä elgg_)", - 'install:settings:instructions' => 'Elggin konfiguroimiseen tarvitaan vielä hieman lisätietoja. Jos et ole vielä luonut Elggille <a href="http://docs.elgg.org/wiki/Data_directory" target="_blank">datahakemistoa</a>, tee se nyt.', + 'install:settings:instructions' => 'Elggin konfiguroimiseen tarvitaan vielä hieman lisätietoja. Jos et ole vielä luonut Elggille <a href="http://learn.elgg.org/en/1.x/intro/install.html#create-a-data-folder" target="_blank">datahakemistoa</a>, tee se nyt.', 'install:settings:label:sitename' => 'Sivuston nimi', 'install:settings:label:siteemail' => 'Sivuston sähköpostiosoite', diff --git a/install/languages/fr.php b/install/languages/fr.php index e5e5d946976..c2d76b2bd93 100644 --- a/install/languages/fr.php +++ b/install/languages/fr.php @@ -1,24 +1,24 @@ <?php return array( 'install:title' => 'Installation d\'Elgg', - 'install:welcome' => 'Bienvenu', + 'install:welcome' => 'Bienvenue', 'install:requirements' => 'Vérification des pré-requis techniques', - 'install:database' => 'Installation base de données', + 'install:database' => 'Installation de la base de données', 'install:settings' => 'Configuration du site', - 'install:admin' => 'Créer un compte administrateur', + 'install:admin' => 'Création d\'un compte administrateur', 'install:complete' => 'Terminé', 'install:next' => 'Suivant', - 'install:refresh' => 'Rafraichir', + 'install:refresh' => 'Rafraîchir', - 'install:welcome:instructions' => "L'installation d'Elgg a 6 étapes simples et commence par la lecture de cette page de bienvenu ! + 'install:welcome:instructions' => "L'installation d'Elgg comporte 6 étapes simples et commence par la lecture de cette page de bienvenue ! -Si vous n'êtes pas déjà prêt, lisez les instructions d'installation qui font partis d'Elgg (ou cliquer sur le lien instructions au bas de la page). +Si vous ne l'avez pas déjà fait, lisez les instructions d'installation qui font parties d'Elgg (ou cliquez sur le lien instructions au bas de la page). -Si vous êtes prêt à commencer, cliquer sur le bouton Suivant.", +Si vous êtes prêt à commencer, cliquez sur le bouton Suivant.", 'install:requirements:instructions:success' => "Votre serveur a passé la vérification des pré-requis techniques.", - 'install:requirements:instructions:failure' => "Votre serveur n'a pas passé la vérification des pré-requis techniques. Après avoir résolu les questions ci-dessous , actualisez cette page. Consultez les liens de dépannage au bas de cette page si vous avez besoin d'aide supplémentaire.", - 'install:requirements:instructions:warning' => "Votre serveur a passé la vérification des pré-requis techniques, mais il y a encore au moins un avertissement. Nous vous recommandons de vérifier la page dépannage de l'installation pour plus de détails.", + 'install:requirements:instructions:failure' => "Votre serveur n'a pas passé la vérification des pré-requis techniques. Après avoir résolu les points ci-dessous , actualisez cette page. Consultez les liens de dépannage au bas de cette page si vous avez besoin d'aide supplémentaire.", + 'install:requirements:instructions:warning' => "Votre serveur a passé la vérification des pré-requis techniques, mais il y a encore au moins un avertissement. Nous vous recommandons de consulter la page dépannage de l'installation pour plus de détails.", 'install:require:php' => 'PHP', 'install:require:rewrite' => 'Serveur web', @@ -27,132 +27,132 @@ 'install:check:root' => 'Votre serveur web n\'a pas la permission de créer le fichier ".htaccess" dans le répertoire racine d\'Elgg. Vous avez deux choix : - 1. Changer les permissions dans le répertoire racine + 1. Changer les permissions du répertoire racine 2. Copier le fichier ".htaccess_dist" en le renommant ".htaccess"', - 'install:check:php:version' => 'Elgg a besoin de la version %s de PHP ou supérieur. Ce serveur utilise la version %s.', - 'install:check:php:extension' => 'Elgg a besoin de la version %s de l\'extention PHP.', - 'install:check:php:extension:recommend' => 'Il est recommandé que l\'extention PHP %s soit installé.', + 'install:check:php:version' => 'Elgg a besoin de la version %s ou supérieure de PHP . Ce serveur utilise la version %s.', + 'install:check:php:extension' => 'Elgg a besoin de la version %s de l\'extension PHP.', + 'install:check:php:extension:recommend' => 'Il est recommandé que l\'extension PHP %s soit installée.', 'install:check:php:open_basedir' => 'La directive "open_basedir" de PHP peut empêcher Elgg d\'enregistrer des fichiers dans son répertoire de données.', - 'install:check:php:safe_mode' => 'Exécute PHP en mode sans échec n\'est pas conseillé et peut causer des problèmes avec Elgg.', - 'install:check:php:arg_separator' => 'Pour fonctionner l\'option d\'Elgg arg_separator.output doit être "&", et la valeur sur votre serveur est %s', - 'install:check:php:register_globals' => 'L\'option "Register globals" doit être mis à "off".', - 'install:check:php:session.auto_start' => "Pour fonctionner l'option d'Elgg session.auto_start doit être mise à \"off\". Soit modifier la configuration de votre serveur ou ajouter cette directive au fichier \".htaccess\" d'Elgg.", + 'install:check:php:safe_mode' => 'Exécuter PHP en mode sans échec n\'est pas conseillé et peut causer des problèmes avec Elgg.', + 'install:check:php:arg_separator' => 'Pour fonctionner, l\'option arg_separator.output doit être fixée à "&", alors que la valeur actuelle sur votre serveur est %s', + 'install:check:php:register_globals' => 'L\'option "Register globals" doit être mise à "off".', + 'install:check:php:session.auto_start' => "Pour fonctionner l'option session.auto_start doit être mise à \"off\". Vous devez soit modifier la configuration de votre serveur ou ajouter cette directive au fichier \".htaccess\" d'Elgg.", 'install:check:enginedir' => 'Votre serveur web n\'a pas la permission de créer le fichier "settings.php" (paramètres) dans le répertoire "engine" (moteur) d\'Elgg. Vous avez deux choix : - 1. Changer les permissions dans le répertoire "engine" + 1. Changer les permissions du répertoire "engine" - 2. Copier le fichier "settings.example.php" en le renommant "settings.php" et suivre les instructions à l\'intérieur, pour définir les paramètres de la base de données.', + 2. Copier le fichier "settings.example.php" en le renommant "settings.php" et suivre les instructions contenues à l\'intérieur de ce fichier afin de définir les paramètres de la base de données.', 'install:check:readsettings' => 'Un fichier de paramètres existe dans le répertoire "engine" (moteur), mais le serveur web ne peut pas le lire. Vous pouvez supprimer le fichier ou modifier les autorisations de lecture sur lui.', - 'install:check:php:success' => "Votre serveur PHP remplis tous les pré-requis techniques d'Elgg.", - 'install:check:rewrite:success' => 'Le test des règles de redirection s\'est fait avec succès.', - 'install:check:database' => 'Les pré-requis techniques des base de données sont vérifiés quand Elgg les lit.', + 'install:check:php:success' => "Votre serveur PHP remplit tous les pré-requis techniques d'Elgg.", + 'install:check:rewrite:success' => 'Le test des règles de réécriture a été passé avec succès.', + 'install:check:database' => 'Les pré-requis techniques de la base de données sont vérifiés au moment où Elgg utilise la base de données.', - 'install:database:instructions' => "Si vous n'avez pas déjà créé une base de données pour Elgg, le faire maintenant. Ensuite, remplissez les valeurs ci-dessous pour initialiser la base d'Elgg.", - 'install:database:error' => 'Il y a eu une erreur pendant la création de la base de données Elgg et l\'installation ne peut pas continuer. Lisez le message ci-dessus et corrigez les problèmes. Si vous avez besoin de plus d\'aide, visitez le lien ci-dessous concernant le dépannage de l\'installation ou poster un message sur les forums de la communauté Elgg.', + 'install:database:instructions' => "Si vous n'avez pas déjà créé une base de données pour Elgg, le faire maintenant. Ensuite, remplissez les valeurs ci-dessous pour initialiser la base de données d'Elgg.", + 'install:database:error' => 'Il y a eu une erreur pendant la création de la base de données Elgg et l\'installation ne peut pas continuer. Lisez le message ci-dessus et corrigez le ou les problèmes. Si vous avez besoin de plus d\'aide, visitez le lien ci-dessous concernant le dépannage de l\'installation ou postez un message sur les forums de la communauté Elgg.', - 'install:database:label:dbuser' => 'Nom utilisateur de la base de données', + 'install:database:label:dbuser' => 'Nom d\'utilisateur de la base de données', 'install:database:label:dbpassword' => 'Mot de passe de la base de données', 'install:database:label:dbname' => 'Nom de la base de données', 'install:database:label:dbhost' => 'Nom du serveur de la base de données', 'install:database:label:dbprefix' => 'Préfixe des tables de la base de données', - 'install:database:help:dbuser' => 'L\'utilisateur qui a tous les privilèges de la base de données MySQL que vous avez créé pour Elgg', - 'install:database:help:dbpassword' => 'Mot de passe pour le compte d\'utilisateur de la base de données ci-dessus', + 'install:database:help:dbuser' => 'Un utilisateur qui a tous les privilèges sur la base de données MySQL que vous avez créée pour Elgg', + 'install:database:help:dbpassword' => 'Mot de passe du compte de l\'utilisateur de la base de données ci-dessus', 'install:database:help:dbname' => 'Nom de la base de données d\'Elgg', - 'install:database:help:dbhost' => 'Nom du serveur du serveur MySQL (habituellement localhost)', - 'install:database:help:dbprefix' => "Le préfix donné à toutes les tables d'Elgg (habituellement elgg_)", + 'install:database:help:dbhost' => 'Nom du serveur MySQL (habituellement localhost)', + 'install:database:help:dbprefix' => "Le préfixe donné à toutes les tables d'Elgg (habituellement elgg_)", - 'install:settings:instructions' => 'Nous avons besoin d\'informations à propos du site car nous configurons Elgg. Si vous n\'avez pas <a href="http://docs.elgg.org/wiki/Data_directory" target="_blank">crée un répertoire données</a> pour Elgg, vous devez le faire maintenant.', + 'install:settings:instructions' => 'Nous avons besoin d\'informations à propos du site afin de configurer correctement Elgg. Si vous n\'avez pas encore <a href="http://docs.elgg.org/wiki/Installation_fr" target="_blank">créé un répertoire de données</a> pour Elgg, vous devez le faire maintenant.', 'install:settings:label:sitename' => 'Nom du site', - 'install:settings:label:siteemail' => 'Adresse mail du site', + 'install:settings:label:siteemail' => 'Adresse email du site', 'install:settings:label:wwwroot' => 'URL du site', 'install:settings:label:path' => 'Répertoire d\'installation d\'Elgg', - 'install:settings:label:dataroot' => 'Répertoire des données', + 'install:settings:label:dataroot' => 'Répertoire de données', 'install:settings:label:language' => 'Langue du site', - 'install:settings:label:siteaccess' => 'Accès au site par défaut', + 'install:settings:label:siteaccess' => 'Accès par défaut au site', 'install:label:combo:dataroot' => 'Elgg crée un répertoire de données', 'install:settings:help:sitename' => 'Nom de votre nouveau site Elgg', - 'install:settings:help:siteemail' => 'Adresse mail utilisé par Elgg pour la communication avec les utilisateurs', - 'install:settings:help:wwwroot' => 'L\'adresse du site (Elgg habituellement le devine correctement)', + 'install:settings:help:siteemail' => 'Adresse email utilisée par Elgg pour la communication avec les utilisateurs', + 'install:settings:help:wwwroot' => 'L\'adresse du site (Elgg habituellement la devine correctement)', 'install:settings:help:path' => 'Le répertoire où vous avez mis le code d\'Elgg (Elgg habituellement le devine correctement)', - 'install:settings:help:dataroot' => 'Le répertoire que vous avez créé pour que Elgg enregistre des fichiers (les permissions sur ce répertoire seront vérifiées lorsque vous cliquerez sur Suivant)', - 'install:settings:help:dataroot:apache' => 'Elgg vous donne la possibilité de créer un répertoire de données ou d\'entrer le répertoire que vous avez déjà créé pour stocker les fichiers des utilisateurs (les permissions sur ce répertoire seront vérifiées lorsque vous cliquerez sur Suivant)', - 'install:settings:help:language' => 'Le langage par défaut pour le site', - 'install:settings:help:siteaccess' => 'Le niveau d\'accès par défaut aux contenus créés pour les nouveaux utilisateurs', + 'install:settings:help:dataroot' => 'Le répertoire que vous avez créé dans lequel Elgg enregistre les fichiers (les permissions sur ce répertoire seront vérifiées lorsque vous cliquerez sur Suivant)', + 'install:settings:help:dataroot:apache' => 'Elgg vous donne la possibilité de créer un répertoire de données ou de renseigner le nom du répertoire que vous avez déjà créé pour stocker les fichiers des utilisateurs (les permissions sur ce répertoire seront vérifiées lorsque vous cliquerez sur Suivant)', + 'install:settings:help:language' => 'La langue par défaut du site', + 'install:settings:help:siteaccess' => 'Le niveau d\'accès par défaut aux contenus créés par les nouveaux utilisateurs', 'install:admin:instructions' => "Il est maintenant temps de créer un compte administrateur.", - 'install:admin:label:displayname' => 'Affichage le nom', - 'install:admin:label:email' => 'Adresse mail', + 'install:admin:label:displayname' => 'Afficher le nom', + 'install:admin:label:email' => 'Adresse email', 'install:admin:label:username' => 'Nom d\'utilisateur', 'install:admin:label:password1' => 'Mot de passe', 'install:admin:label:password2' => 'Mot de passe à nouveau', 'install:admin:help:displayname' => 'Le nom qui est affiché sur le site pour ce compte', 'install:admin:help:email' => '', - 'install:admin:help:username' => 'Nom du compte d\'utilisteur utilisé pour se connecter', + 'install:admin:help:username' => 'Nom du compte utilisteur utilisé pour se connecter', 'install:admin:help:password1' => "Le mot de passe du compte doit avoir au moins une longueur de %u caractères", - 'install:admin:help:password2' => 'Retaper le mot de passe pour confirmer', + 'install:admin:help:password2' => 'Répétez le mot de passe pour confirmer', 'install:admin:password:mismatch' => 'Les mots de passe doivent correspondre.', - 'install:admin:password:empty' => 'Les mots de passe ne peuvent être vide.', + 'install:admin:password:empty' => 'Les mots de passe ne peuvent être vides.', 'install:admin:password:tooshort' => 'Votre mot de passe était trop court', 'install:admin:cannot_create' => 'Impossible de créer un compte administrateur.', - 'install:complete:instructions' => 'Votre site Elgg est maintenant prêt à être utilisé. Cliquez sur le bouton ci-dessous pour être redirigé vers votre site.', - 'install:complete:gotosite' => 'Aller sur le site site', + 'install:complete:instructions' => 'Votre site Elgg est maintenant prêt à être utilisé. Cliquez sur le bouton ci-dessous pour aller sur votre site.', + 'install:complete:gotosite' => 'Aller sur le site', 'InstallationException:UnknownStep' => '%s est une étape d\'installation inconnue.', 'InstallationException:MissingLibrary' => 'Impossible de charger %s', - 'InstallationException:CannotLoadSettings' => 'Elgg n\'a pas pu charger les paramètres du fichier. Celui-ci ne doit pas exister ou bien, présente des problèmes de permissions. ', + 'InstallationException:CannotLoadSettings' => 'Elgg n\'a pas pu charger les paramètres du fichier. Celui-ci n\'existe pas ou alors présente des problèmes de permissions. ', - 'install:success:database' => 'La base de donnéesa été installé.', - 'install:success:settings' => 'Les paramètres du Site ont été sauvegardés.', + 'install:success:database' => 'La base de données a bien été installée.', + 'install:success:settings' => 'Les paramètres du site ont été enregistrés.', 'install:success:admin' => 'Le compte administrateur a été créé.', - 'install:error:htaccess' => 'Impossible de créé un fichier .htaccess', - 'install:error:settings' => 'Impossible de créé un fichier paramètres', + 'install:error:htaccess' => 'Impossible de créer un fichier .htaccess', + 'install:error:settings' => 'Impossible de créer un fichier paramètres', 'install:error:databasesettings' => 'Impossible de se connecter à la base de données avec ces paramètres.', - 'install:error:database_prefix' => 'Invalid characters in database prefix', - 'install:error:oldmysql' => 'La version MySQL doit être la version 5.0 ou supérieur. Votre serveur utilise la version %s.', - 'install:error:nodatabase' => 'Impossible d\'utiliser la base de données %s. Il se peut qu\'elle n\'existe pas', + 'install:error:database_prefix' => 'Caractères non valides dans le préfixe de la base de données', + 'install:error:oldmysql' => 'La version MySQL doit être la version 5.0 ou supérieure. Votre serveur utilise la version %s.', + 'install:error:nodatabase' => 'Impossible d\'utiliser la base de données %s. Il se peut qu\'elle n\'existe pas.', 'install:error:cannotloadtables' => 'Impossible de charger les tables de la base de données', - 'install:error:tables_exist' => 'Il y a déjà des tables dans la base de données d\'Elgg, vous devez soit laisser tomber ces tableaux ou redémarrer l\'installateur et nous allons tenter de les utiliser. Pour redémarrer l\'installeur, enlevez "?step=database" partir de la barre d\'adresse URL de votre navigateur et appuyez sur Entrée.', + 'install:error:tables_exist' => 'Il y a déjà des tables dans la base de données d\'Elgg. Vous devez soit supprimer ces tables ou redémarrer l\'installeur et nous allons alors tenter de les utiliser. Pour redémarrer l\'installeur, enlevez "?step=database" dans la barre d\'adresse de votre navigateur et appuyez sur Entrée.', 'install:error:readsettingsphp' => 'Impossible de lire le fichier engine/settings.example.php', 'install:error:writesettingphp' => 'Impossible d\'écrire le fichier engine/settings.php', 'install:error:requiredfield' => '%s est nécessaire', - 'install:error:relative_path' => 'We don\'t think "%s" is an absolute path for your data directory', + 'install:error:relative_path' => 'Nous ne pensons pas que "%s" soit un chemin absolu pour votre répertoire de données', 'install:error:datadirectoryexists' => 'Votre répertoire de données %s n\'existe pas.', 'install:error:writedatadirectory' => 'Le serveur web ne peut pas écrire dans votre répertoire de données %s.', 'install:error:locationdatadirectory' => 'Votre répertoire de données %s doit être en dehors du répertoire de votre installation pour des raisons de sécurité.', - 'install:error:emailaddress' => '%s n\'est pas une adresse mail valide', + 'install:error:emailaddress' => '%s n\'est pas une adresse email valide', 'install:error:createsite' => 'Impossible de créer le site.', 'install:error:savesitesettings' => 'Impossible d\'enregistrer les paramètres du site.', 'install:error:loadadmin' => 'Impossible de lire le compte administrateur.', - 'install:error:adminaccess' => 'Impossible de donner des privilèges administrateurs à ce nouveau compte utilisateur.', - 'install:error:adminlogin' => ' Impossible de se connecter automatiquement à ce nouveau compte administrateur.', - 'install:error:rewrite:apache' => 'Nous pensons que votre serveur exécute le serveur web "Apache".', - 'install:error:rewrite:nginx' => 'Nous pensons que votre serveur exécute le serveur web "Nginx".', - 'install:error:rewrite:lighttpd' => 'Nous pensons que votre serveur exécute le serveur web "Lighttpd".', - 'install:error:rewrite:iis' => 'Nous pensons que votre serveur exécute le serveur web "IIS".', - 'install:error:rewrite:allowoverride' => "Le test de réécrire a échoué car très probablement l'option AllowOverride pour le répertoire d'Elgg n'est pas configuré à \"All\" (Tous). Cela empêche Apache de traiter le fichier \".htaccess\" qui contient les règles de réécriture. - \n\nUne cause moins probable est qu'un alias pour votre répertoire Elgg est configuré dans Apache et que vous devez définir le RewriteBase dans votre fichier \".htaccess\". Il y a d'autres instructions dans le fichier \".htaccess\". dans votre répertoire d'Elgg.", - 'install:error:rewrite:htaccess:write_permission' => 'Votre serveur web n\'a pas la permission de créer le fichier ".htaccess". dans le répertoire d\'Elgg. Vous devez copier manuellement le fichier "htaccess_dist" en le renommant ".htaccess". ou changer les permissions dans le répertoire.', + 'install:error:adminaccess' => 'Impossible d\'attribuer des privilèges administrateur à ce nouveau compte utilisateur.', + 'install:error:adminlogin' => 'Impossible de se connecter automatiquement à ce nouveau compte administrateur.', + 'install:error:rewrite:apache' => 'Nous pensons que votre serveur utilise un serveur web "Apache".', + 'install:error:rewrite:nginx' => 'Nous pensons que votre serveur utilise un serveur web "Nginx".', + 'install:error:rewrite:lighttpd' => 'Nous pensons que votre serveur utilise un serveur web "Lighttpd".', + 'install:error:rewrite:iis' => 'Nous pensons que votre serveur utilise un serveur web "IIS".', + 'install:error:rewrite:allowoverride' => "Le test de réécriture des adresses a échoué car très probablement l'option AllowOverride pour le répertoire d'Elgg n'est pas configurée à \"All\" (Tous). Cela empêche Apache de traiter le fichier \".htaccess\" qui contient les règles de réécriture. + \n\nUne cause moins probable est qu'un alias pour votre répertoire Elgg est configuré dans Apache et que vous devez définir le RewriteBase dans votre fichier \".htaccess\". Il y a d'autres instructions dans le fichier \".htaccess\" présent dans votre répertoire d'Elgg.", + 'install:error:rewrite:htaccess:write_permission' => 'Votre serveur web n\'a pas la permission de créer le fichier ".htaccess" dans le répertoire d\'Elgg. Vous devez copier manuellement le fichier "htaccess_dist" en le renommant ".htaccess" ou changer les permissions de ce répertoire.', 'install:error:rewrite:htaccess:read_permission' => 'Il y a un fichier ".htaccess" dans le répertoire d\'Elgg, mais votre serveur web n\'a pas la permission de le lire.', - 'install:error:rewrite:htaccess:non_elgg_htaccess' => 'Il y a un fichier ".htaccess" dans le répertoire d\'Elgg, qui n\'a pas été créé par Elgg. Enlever le, s\'il vous plaît.', + 'install:error:rewrite:htaccess:non_elgg_htaccess' => 'Il y a un fichier ".htaccess" dans le répertoire d\'Elgg qui n\'a pas été créé par Elgg. Enlevez le s\'il vous plaît.', 'install:error:rewrite:htaccess:old_elgg_htaccess' => 'Il semble y avoir un vieux fichier ".htaccess" dans le répertoire d\'Elgg. Il ne contient pas la règle de réécriture permettant de tester le serveur Web.', - 'install:error:rewrite:htaccess:cannot_copy' => 'Une erreur inconnue s\'est produite lors de la création du fichier ".htaccess". Dans le répertoire d\'Elgg, Vous devez copier manuellement le fichier ".htaccess_dist" en le renommant ".htaccess".', + 'install:error:rewrite:htaccess:cannot_copy' => 'Une erreur inconnue s\'est produite lors de la création du fichier ".htaccess". Vous devez copier manuellement, dans le répertoire d\'Elgg, le fichier ".htaccess_dist" en le renommant ".htaccess".', 'install:error:rewrite:altserver' => 'Le test des règles de réécriture a échoué. Vous devez configurer votre serveur web avec les règles de réécriture d\'Elgg et réessayer.', - 'install:error:rewrite:unknown' => 'Euh, nous ne pouvons comprendre quel type de serveur Web est utilisé sur votre serveur et cela a fait échoué la mise en place des règles de réécriture. Nous ne pouvons donner aucun conseil particulier. Vérifier le lien de dépannage, s\'il vous plaît.', - 'install:warning:rewrite:unknown' => 'Votre serveur ne supporte pas de test automatique des règles de réécriture. Vous pouvez continuer l\'installation, mais vous pouvez rencontrer des problèmes avec votre site Vous pouvez tester manuellement les règles de réécriture en cliquant sur ce lien : <a href="%s" target="_blank">test</a>. Vous verrez le mot "succès" si les redirections fonctionnent.', + 'install:error:rewrite:unknown' => 'Euh... Nous ne pouvons pas comprendre quel type de serveur Web est utilisé sur votre serveur et cela a fait échoué la mise en place des règles de réécriture. Nous ne pouvons pas vous donner de conseil particulier dans ce cas. Veuillez svp vérifier le lien de dépannage.', + 'install:warning:rewrite:unknown' => 'Votre serveur ne supporte pas le test automatique des règles de réécriture. Vous pouvez continuer l\'installation, mais il est possible que vous rencontriez des problèmes avec votre site. Vous pouvez tester manuellement les règles de réécriture en cliquant sur ce lien : <a href="%s" target="_blank">test</a>. Vous verrez le mot "succès" si les redirections fonctionnent.', // Bring over some error messages you might see in setup - 'exception:contact_admin' => 'Une erreur irrécupérable a eu lieu et a été enregistrée. Si vous êtes l\'administrateur du site, vérifiez vos paramètres, sinon, contactez l\'administrateur du site en fournissant les informations suivantes : ', - 'DatabaseException:WrongCredentials' => "Elgg n'a pas pu charger la base de données en utilisant les données fournies. Vérifiez les paramètres. ", + 'exception:contact_admin' => 'Une erreur irrécupérable a eu lieu et a été enregistrée. Si vous êtes l\'administrateur du site, vérifiez vos paramètres, sinon, veuillez svp contacter l\'administrateur du site en fournissant les informations suivantes : ', + 'DatabaseException:WrongCredentials' => "Elgg n'a pas pu charger la base de données en utilisant les données fournies. Vérifiez le fichier des paramètres. ", ); diff --git a/languages/de.php b/languages/de.php index 81c2bd49875..98cabb97da0 100644 --- a/languages/de.php +++ b/languages/de.php @@ -40,7 +40,7 @@ 'actionloggedout' => "Entschuldigung, Du kannst diese Aktion nicht ausführen während Du nicht angemeldet bist.", 'actionunauthorized' => 'Du bist nicht authorisiert, diese Aktion auszuführen', - 'PluginException:MisconfiguredPlugin' => "%s (GUID: %s) ist ein falsch konfiguriertes Plugin. Es wurde deaktiviert. Im Elgg-Wiki sind einige mögliche Ursachen für das Problem beschrieben (http://docs.elgg.org/wiki/).", + 'PluginException:MisconfiguredPlugin' => "%s (GUID: %s) ist ein falsch konfiguriertes Plugin. Es wurde deaktiviert. Im Elgg-Wiki sind einige mögliche Ursachen für das Problem beschrieben (http://learn.elgg.org/).", 'PluginException:CannotStart' => '%s (GUID: %s) kann nicht gestartet werden und wurde deaktiviert. Ursache: %s.', 'PluginException:InvalidID' => "%s ist eine ungültig Plugin-ID.", 'PluginException:InvalidPath' => "%s ist ungültiger Plugin-Dateipfad.", @@ -158,6 +158,7 @@ 'widgets:add' => 'Widgets hinzufügen', 'widgets:add:description' => "Klicke auf eines der unten aufgelisteten Widgets, um es zu Deiner Seite hinzuzufügen.", + 'widgets:panel:close' => "Widgets-Auswahl schließen", 'widgets:position:fixed' => '(Feste Position auf der Seite)', 'widget:unavailable' => 'Du hast dieses Widget bereits hinzugefügt.', 'widget:numbertodisplay' => 'Anzahl der anzuzeigenden Einträge.', @@ -448,6 +449,7 @@ 'admin:configuration:success' => "Deine Einstellungen wurden gespeichert.", 'admin:configuration:fail' => "Deine Einstellungen konnten nicht gespeichert werden.", 'admin:configuration:dataroot:relative_path' => 'Der Pfad "%s" ist nicht als Pfad zum Datenverzeichnis zulässig, da es kein absoluter Pfad ist.', + 'admin:configuration:default_limit' => 'Die Anzahl der Einträge pro Seite muss mindestens 1 sein.', 'admin:unknown_section' => 'Unbekannter Adminbereich.', @@ -611,7 +613,7 @@ 'admin:plugins:warning:elgg_version_unknown' => 'Dieses Plugin verwendet eine veraltete Manifest-Datei und es gibt keine Informationen bezüglich den kompatiblen Elgg-Versionen. Es wird wahrscheinlich nicht funktionieren!', 'admin:plugins:warning:unmet_dependencies' => 'Dieses Plugin hat unerfüllte Abhängigkeiten und kann deshalb nicht aktiviert werden. Prüfe die Abhängigkeiten für weitere Informationen.', 'admin:plugins:warning:invalid' => 'Dieses Plugin ist nicht standardkonform: %s.', - 'admin:plugins:warning:invalid:check_docs' => 'Bitte schau in der <a href="http://docs.elgg.org/Invalid_Plugin">Elgg-Dokumentation</a> nach, um weitere Hinweise zur Problemlösung zu erhalten.', + 'admin:plugins:warning:invalid:check_docs' => 'Bitte schau in der <a href="http://learn.elgg.org/en/stable/appendix/faqs.html">Elgg-Dokumentation</a> nach, um weitere Hinweise zur Problemlösung zu erhalten.', 'admin:plugins:cannot_activate' => 'Aktivierung nicht möglich.', 'admin:plugins:set_priority:yes' => "%s neu angeordnet.", @@ -1052,6 +1054,7 @@ 'installation:view' => "Gebe den Ansichtsmodus an, der für Deine Community-Seite verwendet werden soll. Wenn Du nicht sicher bist was Du eingeben sollst, lass das Textfeld leer oder verwende \"default\", um den Standardmodus zu verwenden:", 'installation:siteemail' => "Email-Adresse Deiner Community-Seite (wird vom System verwendet, um Benachrichtigungen zu versenden)", + 'installation:default_limit' => "Standardmäßige Anzahl der Einträge pro Seite", 'admin:site:access:warning' => "Dies ist der Zugangslevel, der Benutzern standardmäßig vorgeschlagen wird, wenn sie neue Inhalte erstellen. Eine Änderung hier verändert nicht den Zugangslevel der Inhalte selbst.", 'installation:allow_user_default_access:description' => "Aktiviere diese Option, um Benutzern zu erlauben, selbst den Zugangslevel festzulegen, der standardmäßig für sie ausgewählt ist, wenn sie neue Inhalte erstellen. Die benutzerspezifische Einstellung für den vorausgewählten Zugangslevel setzt die seitenweite Einstellung für diese Benutzer außer Kraft.", @@ -1092,7 +1095,7 @@ das im Paket der neuesten Version von Elgg enthalten ist und von <a href="http://elgg.org">elgg.org</a> heruntergeladen werden kann.<br /><br /> - Wenn Du genauere Installationsanweisungen benötigst, lese die <a href="http://docs.elgg.org/wiki/Upgrading_Elgg"> + Wenn Du genauere Installationsanweisungen benötigst, lese die <a href="http://learn.elgg.org/en/stable/admin/upgrading.html"> Dokumentation über die Aktualisierung von Elgg</a>. Falls Du Hilfe benötigst, stelle Deine Frage in den <a href="http://community.elgg.org/pg/groups/discussion/">Community Support-Foren</a>.', diff --git a/languages/fr.php b/languages/fr.php index f5b848039ed..5e586deb95f 100644 --- a/languages/fr.php +++ b/languages/fr.php @@ -40,7 +40,7 @@ 'actionloggedout' => "Désolé, vous ne pouvez pas effectuer cette action sans être connecté(e).", 'actionunauthorized' => 'Vous n êtes pas autorisé(e) à effectuer cette action.', - 'PluginException:MisconfiguredPlugin' => "%s (guid : %s) est un plugin non configuré. Il a été désactivé. Veuillez chercher dans le wiki d'Elgg pour connaître les cause possibles (http://docs.elgg.org/wiki/).", + 'PluginException:MisconfiguredPlugin' => "Le plugin %s (guid: %s) est mal configuré. Il a été désactivé. Veuillez rechercher dans le wiki d'aide les causes possibles (http://learn.elgg.org/).", 'PluginException:CannotStart' => '%s (guid : %s) ne peut pas démarrer. Raison: %s', 'PluginException:InvalidID' => "%s est un ID de plugin invalide.", 'PluginException:InvalidPath' => "%s est un chemin invalide pour le plugin.", @@ -97,7 +97,7 @@ 'deprecatedfunction' => 'Attention : Ce code source utilise une fonction périmée \'%s\'. Il n\'est pas compatible avec cette version de Elgg.', 'pageownerunavailable' => 'Attention : La page de l\'utilisateur %d n\'est pas accessible.', - 'viewfailure' => 'Il ya eu une erreur interne dans la vue %s', + 'viewfailure' => 'Il y a eu une erreur interne dans la vue %s', 'view:missing_param' => "Le paramètre obligatoire '%s' manque dans la vue %s", 'changebookmark' => 'Veuillez changer votre favori pour cette page.', 'noaccess' => 'You need to login to view this content or the content has been removed or you do not have permission to view it.', @@ -158,6 +158,7 @@ 'widgets:add' => 'Ajouter des widgets', 'widgets:add:description' => "Cliquez sur n'importe quel widget ci-dessous pour l'ajouter à la page.", + 'widgets:panel:close' => "Fermer le panneau des widgets", 'widgets:position:fixed' => '(Position modifiée sur la page)', 'widget:unavailable' => 'Vous avez déjà ajouté ce widget', 'widget:numbertodisplay' => 'Nombre d\'éléments à afficher ', @@ -165,9 +166,9 @@ 'widget:delete' => 'Supprimer %s', 'widget:edit' => 'Personnaliser ce widget', - 'widgets' => "Widget", + 'widgets' => "Widgets", 'widget' => "Widget", - 'item:object:widget' => "Widget", + 'item:object:widget' => "Widgets", 'widgets:save:success' => "Le widget a été sauvegardé avec succès.", 'widgets:save:failure' => "Un problème est survenu lors de l'enregistrement de votre widget. Veuillez recommencer.", 'widgets:add:success' => "Le widget a bien été ajouté.", @@ -186,14 +187,14 @@ * Users */ - 'user' => "Utilisateur", - 'item:user' => "Utilisateurs", + 'user' => "Membre", + 'item:user' => "Membres", /** * Friends */ - 'friends' => "Amis", + 'friends' => "Contacts", 'friends:yours' => "Vos contacts", 'friends:owned' => "Les contacts de %s", 'friend:add' => "Ajouter un contact", @@ -202,10 +203,10 @@ 'friends:add:successful' => "Vous avez ajouté %s à vos contacts.", 'friends:add:failure' => "%s n'a pas pu être ajouté(e) à vos contacts. Merci de réessayer ultérieurement.", - 'friends:remove:successful' => "Vous avez supprimé %s de vos contacts.", - 'friends:remove:failure' => "%s n'a pas pu être supprimé(e) de vos contacts. Merci de réessayer ultérieurement.", + 'friends:remove:successful' => "Vous avez retiré %s de vos contacts.", + 'friends:remove:failure' => "%s n'a pas pu être retiré(e) de vos contacts. Merci de réessayer ultérieurement.", - 'friends:none' => "Cet utilisateur n'a pas encore ajouté de contact.", + 'friends:none' => "Ce membre n'a pas encore ajouté de contact.", 'friends:none:you' => "Vous n'avez pas encore de contact !", 'friends:none:found' => "Aucun contact n'a été trouvé.", @@ -225,8 +226,8 @@ 'friends:collectionedit' => "Modifier ce groupement", 'friends:nocollections' => "Vous n'avez pas encore de groupement de contacts.", 'friends:collectiondeleted' => "Votre groupement de contacts a été supprimé.", - 'friends:collectiondeletefailed' => "Le groupement de contacts n'a pas été supprimer. Vous n'avez pas de droits suffisants, ou un autre problème peut-être en cause.", - 'friends:collectionadded' => "Votre groupement de contact a été créé avec succès", + 'friends:collectiondeletefailed' => "Le groupement de contacts n'a pas été supprimé. Vous n'avez pas de droits suffisants, ou un autre problème peut-être en cause.", + 'friends:collectionadded' => "Votre groupement de contacts a été créé avec succès", 'friends:nocollectionname' => "Vous devez nommer votre groupement de contact avant qu'il puisse être créé.", 'friends:collections:members' => "Membres du groupement", 'friends:collections:edit' => "Modifier le groupement de contacts", @@ -280,7 +281,7 @@ 'profile:edit:default' => 'Modifier les champs du profil', 'profile:label' => "Etiquette du profil", 'profile:type' => "Type de l'étiquette", - 'profile:editdefault:delete:fail' => 'Echec de l\'enlevement du champ profil par défaut', + 'profile:editdefault:delete:fail' => 'Echec de la suppression du champ de profil', 'profile:editdefault:delete:success' => 'Le champ profil par défaut est supprimé !', 'profile:defaultprofile:reset' => 'Réinitialisation du profil système par défaut', 'profile:resetdefault' => 'Réinitialisation du profil par défaut', @@ -387,11 +388,10 @@ 'registration:notemail' => 'L\'adresse e-mail que vous avez renseigné n\'apparaît pas comme valide.', 'registration:userexists' => 'Ce nom d\'utilisateur existe déjà', 'registration:usernametooshort' => 'Le nom d\'utilisateur doit faire %u caractères au minimum.', - 'registration:usernametoolong' => 'Votre nom d\'utilisateur est trop long. Il peut y avoir un maximum de %u caractères.\', - \'registration:passwordtooshort\' => ', + 'registration:usernametoolong' => 'Votre nom d\'utilisateur est trop long. Il peut comporter au maximum %u caractères.', 'registration:passwordtooshort' => 'Le mot de passe doit comporter un minimum de %u caractères.', 'registration:dupeemail' => 'Cette adresse e-mail est déjà utilisée.', - 'registration:invalidchars' => 'Désolé, votre nom d\'utilisateur contient les caractères invalides suivants: %s. Tout ces caractères sont invalides: %s', + 'registration:invalidchars' => 'Désolé, votre nom d\'utilisateur contient le caractère invalide %s qui est invalide. Les caractères suivants sont invalides : %s', 'registration:emailnotvalid' => 'Désolé, l\'adresse e-mail que vous avez entré est invalide sur ce site.', 'registration:passwordnotvalid' => 'Désolé, le mot de passe que vous avez entré est invalide sur ce site.', 'registration:usernamenotvalid' => 'Désolé, le nom d\'utilisateur que vous avez entré est invalide sur ce site.', @@ -408,7 +408,7 @@ 'user:set:password' => "Mot de passe", 'user:current_password:label' => 'Mot de passe actuel', 'user:password:label' => "Votre nouveau mot de passe", - 'user:password2:label' => "Veuillez retaper votre nouveau mot de passe", + 'user:password2:label' => "Veuillez saisir à nouveau votre nouveau mot de passe", 'user:password:success' => "Mot de passe modifié avec succès", 'user:password:fail' => "Impossible de modifier votre mot de passe.", 'user:password:fail:notsame' => "Les deux mots de passe ne correspondent pas !", @@ -449,6 +449,7 @@ 'admin:configuration:success' => "Vos paramètres ont été sauvegardés.", 'admin:configuration:fail' => "Vos paramètres n'ont pas pu être sauvegardés.", 'admin:configuration:dataroot:relative_path' => 'Impossible de définir %s comme racine de \'dataroot\' car ce n\'est pas un chemin absolu.', + 'admin:configuration:default_limit' => 'Le nombre d\'éléments par page doit être d\'au moins 1.', 'admin:unknown_section' => 'Partie Admin invalide.', @@ -461,7 +462,7 @@ 'admin:statistics:cron' => 'Table de planification', 'admin:cron:record' => 'Dernière table de planification', 'admin:cron:period' => 'Période de la table de planification', - 'admin:cron:friendly' => 'Dernière complétée', + 'admin:cron:friendly' => 'Dernière exécution', 'admin:cron:date' => 'Date et heure', 'admin:appearance' => 'Apparence', @@ -612,16 +613,16 @@ 'admin:plugins:warning:elgg_version_unknown' => 'Ce plugin utilise un ancien fichier manifest.xml et ne précise pas si cette version est compatible avec l\'Elgg actuel. Il ne fonctionnera probablement pas !', 'admin:plugins:warning:unmet_dependencies' => 'Ce plugin ne retrouve pas certaines dépendances et ne peut être activé. Vérifiez les dépendances pour plus d\'infos.', 'admin:plugins:warning:invalid' => '%s n\'est pas un plugin valide d\'Elgg. Vérifiez <a href="http://docs.elgg.org/Invalid_Plugin">la documentation d\'Elgg</a> les conseils de dépannage.', - 'admin:plugins:warning:invalid:check_docs' => 'Vérifier <a href=', + 'admin:plugins:warning:invalid:check_docs' => 'Vérifiez <a href="http://learn.elgg.org/fr/stable/appendix/faqs.html">la documentation d\'Elgg</a> - ou la version <a href="http://learn.elgg.org/en/stable/appendix/faqs.html">anglophone</a>, souvent plus complète - pour des astuces de débogage.', 'admin:plugins:cannot_activate' => 'Activation impossible', - 'admin:plugins:set_priority:yes' => "%s Réordonné", - 'admin:plugins:set_priority:no' => "Impossible de réordonné %s.", + 'admin:plugins:set_priority:yes' => "%s réordonné", + 'admin:plugins:set_priority:no' => "Impossible de réordonner %s.", 'admin:plugins:set_priority:no_with_msg' => "Impossible de réordonner %s. Erreur : %s", - 'admin:plugins:deactivate:yes' => "Désactivé %s.", + 'admin:plugins:deactivate:yes' => "Désactiver %s.", 'admin:plugins:deactivate:no' => "Impossible de désactiver %s.", 'admin:plugins:deactivate:no_with_msg' => "Impossible de désactiver %s. Erreur : %s", - 'admin:plugins:activate:yes' => "%s Activé.", + 'admin:plugins:activate:yes' => "%s activé.", 'admin:plugins:activate:no' => "Impossible d'activer %s.", 'admin:plugins:activate:no_with_msg' => "Impossible d'activer %s. Erreur : %s", 'admin:plugins:categories:all' => 'Toutes les catégories', @@ -629,7 +630,7 @@ 'admin:plugins:author' => '%s', 'admin:plugins:version' => 'Version %s', 'admin:plugin_settings' => 'Paramètres du plugin', - 'admin:plugins:warning:unmet_dependencies_active' => 'Ce plugin est actif, mais a des dépendances non introuvables. Vous pouvez avoir des problèmes. Voir \'plus d\'info\' ci-dessous pour plus de détails.', + 'admin:plugins:warning:unmet_dependencies_active' => 'Ce plugin est actif, mais a des dépendances non satisfaites. Cela peut poser des problèmes. Voir \'plus d\'info\' ci-dessous pour plus de détails.', 'admin:plugins:dependencies:type' => 'Type', 'admin:plugins:dependencies:name' => 'Nom', @@ -638,7 +639,7 @@ 'admin:plugins:dependencies:comment' => 'Commentaire', 'admin:statistics:description' => "Cette page est un résumé des statistiques de votre site. Si vous avez besoin de statistiques plus détaillées, une version professionnelle d'administration est disponible.", - 'admin:statistics:opt:description' => "VVisualiser les statistiques des utilisateurs et des objets sur votre espace.", + 'admin:statistics:opt:description' => "Visualiser les statistiques des utilisateurs et des objets de votre site.", 'admin:statistics:opt:linktext' => "Voir statistiques...", 'admin:statistics:label:basic' => "Statistiques basiques du site", 'admin:statistics:label:numentities' => "Entités sur le site", @@ -653,28 +654,28 @@ 'admin:server:label:php' => 'PHP', 'admin:server:label:web_server' => 'Serveur Web', 'admin:server:label:server' => 'Serveur', - 'admin:server:label:log_location' => 'Emplacement Log', - 'admin:server:label:php_version' => 'PHP version', + 'admin:server:label:log_location' => 'Emplacement du journal', + 'admin:server:label:php_version' => 'Version de PHP', 'admin:server:label:php_ini' => 'Emplacement fichier PHP .ini', 'admin:server:label:php_log' => 'Log PHP', 'admin:server:label:mem_avail' => 'Mémoire disponible', 'admin:server:label:mem_used' => 'Mémoire utilisée', 'admin:server:error_log' => "Serveur Web erreur du log", - 'admin:server:label:post_max_size' => 'Taille maximum d\'un envoie', - 'admin:server:label:upload_max_filesize' => 'Taille maximum d\'un envoie de fichier', - 'admin:server:warning:post_max_too_small' => '(Remarque : Taille maximum d\'un envoie doit être plus grand que cette valeur pour supporter des envoies de fichier de cette taille)', + 'admin:server:label:post_max_size' => 'Taille maximum d\'un envoi', + 'admin:server:label:upload_max_filesize' => 'Taille maximum d\'un envoi de fichier', + 'admin:server:warning:post_max_too_small' => '(Remarque : la valeur de post_max_size doit supérieure à cette valeur pour supporter des envois de fichier de cette taille)', 'admin:user:label:search' => "Trouver des utilisateurs :", 'admin:user:label:searchbutton' => "Chercher", 'admin:user:ban:no' => "Cet utilisateur ne peut pas être banni", 'admin:user:ban:yes' => "Utilisateur banni.", - 'admin:user:self:ban:no' => "Vous ne pouvez pas vous bannir vous même", + 'admin:user:self:ban:no' => "Vous ne pouvez pas vous bannir vous-même", 'admin:user:unban:no' => "Cet utilisateur ne peut pas être réintégré", 'admin:user:unban:yes' => "Utilisateur réintégré.", 'admin:user:delete:no' => "Cet utilisateur ne peut pas être supprimé", 'admin:user:delete:yes' => "Utilisateur supprimé", - 'admin:user:self:delete:no' => "Vous ne pouvez pas vous supprimer", + 'admin:user:self:delete:no' => "Vous ne pouvez pas supprimer votre propre compte", 'admin:user:resetpassword:yes' => "Mot de passe réinitialisé, utilisateur notifié.", 'admin:user:resetpassword:no' => "Le mot de passe n'a pas pu être réinitialisé.", @@ -791,7 +792,7 @@ 'revoke' => "Révoquer", 'load' => "Charger", 'upload' => "Charger", - 'download' => "Télécharger le fichier '.txt'", + 'download' => "Télécharger", 'ban' => "Bannir", 'unban' => "Réintégrer", 'banned' => "Banni", @@ -831,9 +832,9 @@ 'up' => 'Monter', 'down' => 'Descendre', - 'top' => 'Au dessus', - 'bottom' => 'Au dessous', - 'right' => 'Droit', + 'top' => 'Au-dessus', + 'bottom' => 'Au-dessous', + 'right' => 'Droite', 'left' => 'Gauche', 'back' => 'Derrière', @@ -848,12 +849,12 @@ 'option:no' => "Non", 'unknown' => 'Inconnu', - 'never' => 'jamais', + 'never' => 'Jamais', 'active' => 'Activé', 'total' => 'Total', - 'ok' => 'Ok', + 'ok' => 'OK', 'any' => 'N\'importe', 'error' => 'Erreur', @@ -861,7 +862,7 @@ 'options' => 'Options', 'advanced' => 'Avancées', - 'learnmore' => "Cliquer ici pour en apprendre plus.", + 'learnmore' => "Cliquer ici pour en savoir plus.", 'unknown_error' => 'Erreur inconnue', 'content' => "contenu", @@ -874,7 +875,7 @@ * Generic questions */ - 'question:areyousure' => 'Etês-vous sûr ?', + 'question:areyousure' => 'Etes-vous sûr ?', /** * Status @@ -905,7 +906,6 @@ 'title' => "Titre", 'description' => "Description", 'tags' => "Tags", - 'spotlight' => "Projecteur sur", 'all' => "Tous", 'mine' => "Moi", @@ -916,7 +916,6 @@ 'relationships' => "Relations", 'metadata' => "Métadonnées", 'tagcloud' => "Nuage de tags", - 'tagcloud:allsitetags' => "Tous les tags du site", 'on' => 'Actif', 'off' => 'Arrêt', @@ -933,7 +932,7 @@ * Input / output strings */ - 'deleteconfirm' => "Etes-vous sur de voloir supprimer cet élément ?", + 'deleteconfirm' => "Etes-vous sur de vouloir supprimer cet élément ?", 'deleteconfirm:plural' => "Etes-vous sûr de vouloir effacer ces éléments ?", 'fileexists' => "Un fichier a déjà été chargé. Pour le remplacer sélectionner le ci-dessous :", @@ -1027,10 +1026,10 @@ * System settings */ - 'installation:sitename' => "Le nom de votre site (par exemple 'Mon site de réseau social') : ", + 'installation:sitename' => "Le nom de votre site :", 'installation:sitedescription' => "Brève description du site (facultatif) : ", - 'installation:wwwroot' => "L'URL du site, suivi de ' / ' : ", - 'installation:path' => "Chemin physique des fichiers sur le serveur, suivi par ' / ' : ", + 'installation:wwwroot' => "L'URL du site, suivie de ' / ' : ", + 'installation:path' => "Chemin physique des fichiers sur le serveur, suivi de ' / ' : ", 'installation:dataroot' => "Chemin complet où seront hébergés les fichiers uploadés par les utilisateurs, suivi de ' / ' :", 'installation:dataroot:warning' => "Vous devez créer ce répertoire manuellement. Il doit se situer dans un répertoire différent de votre installation de Elgg.", 'installation:sitepermissions' => "Les permissions d'accés par défaut : ", @@ -1054,6 +1053,7 @@ 'installation:view' => "Entrer le nom de la vue qui sera utilisée automatiquement pour l'affichage du site (par exemple : 'mobile'), laissez par défaut en cas de doute :", 'installation:siteemail' => "L'adresse e-mail du site (utilisée lors d'envoi d'e-mail par le système)", + 'installation:default_limit' => "Nombre d'éléments par page par défaut", 'admin:site:access:warning' => "Changer les paramètres d'accès n'affectera que les permissions de contenu créées dans le futur.", 'installation:allow_user_default_access:description' => "Si coché, les utilisateurs pourront modifier leur niveau d'accés par défaut et pourront surpasser le niveau d'accés mis en place par défaut dans le système.", @@ -1081,51 +1081,39 @@ 'upgrade:db' => 'Votre base de données a été mise à jour.', 'upgrade:core' => 'Votre installation d\'Elgg a été mise à jour.', 'upgrade:unlock' => 'Déverrouiller la mise à jour', - 'upgrade:unlock:confirm' => "La base de données est verrouillée par une autre mise à jour. Exécuter des mises à jours concurrent est dangereux. Vous devriez continuer, si seulement vous savez qu'il n'y a pas d'autre mise à jour en cours d'exécution. Déverrouillé ?", + 'upgrade:unlock:confirm' => "La base de données est verrouillée par une autre mise à jour. Exécuter des mises à jours concurrentes est dangereux. Vous devriez continuer seulement si vous savez qu'il n'y a pas d'autre mise à jour en cours d'exécution. Déverrouiller ?", 'upgrade:locked' => "Impossible de mettre à jour. Une autre mise à jour est en cours. Pour effacer le verrouillage de la mise à jour, visiter la partie administrateur.", - 'upgrade:unlock:success' => "Mise à niveau débloquée avec succès.", + 'upgrade:unlock:success' => "Mise à niveau débloquée.", 'upgrade:unable_to_upgrade' => 'Impossible de mettre à jour.', 'upgrade:unable_to_upgrade_info' => - 'Cette installation ne peut pas être mise à jour, car des fichiers de l\'ancienne version - ont été détectées dans le répertoire noyau d\'Elgg (core). Ces fichiers ont été jugés obsolètes et doivent être - retirés pour Elgg pour fonctionner correctement. Si vous n\'avez pas apporté des changements au noyau d\'Elgg, vous pouvez - simplement supprimer le répertoire noyau (core) et le remplacer par celui du dernier - paquet téléchargé d\'Elgg depuis <a href="http://elgg.org> elgg.org" </ a>. <br /> <br /> + 'Cette installation ne peut pas être mise à jour, car des fichiers de l\'ancienne version ont été détectées dans le noyau d\'Elgg. Ces fichiers sont obsolètes et doivent être supprimés pour qu\'Elgg fonctionne correctement. Si vous n\'avez pas modifié les fichiers du noyau d\'Elgg, vous pouvez simplement supprimer le répertoire noyau et le remplacer par celui de la dernière version d\'Elgg téléchargée depuis <a href="http://elgg.org> elgg.org" </ a>. <br /> <br /> - Si vous avez besoin d\'instructions détaillées, s\'il vous plaît visiter <a href="http://docs.elgg.org/wiki/Upgrading_Elgg"> <a - Documentation sur la mise à niveau d\'Elgg </ a>. Si vous avez besoin d\'aide, merci d\'écrire à - <a Forums href="http://community.elgg.org/pg/groups/discussion/"> aide technique communautaire (support)</ a>. ', +Si vous avez besoin d\'instructions détaillées, veuillez visiter la <a href="http://learn.elgg.org/en/stable/admin/upgrading.html">Documentation sur la mise à niveau d\'Elgg</ a>. Si vous avez besoin d\'aide, veuillez poser votre question dans les <a href="http://community.elgg.org/pg/groups/discussion/"> Forums d\'aide technique communautaire</ a>.', - 'update:twitter_api:deactivated' => 'Twitter API (précédemment Twitter Service) a été désactivé lors de la mise à niveau. S\'il vous plaît activer manuellement si nécessaire.', - 'update:oauth_api:deactivated' => 'OAuth API (précédemment OAuth Lib) a été désactivé lors de la mise à niveau. S\'il vous plaît activer manuellement si nécessaire.', - 'upgrade:site_secret_warning:moderate' => "Nous vous conseillons de régénérer votre clé de site afin d'améliorer votre sécurité. Voir dans Configuration / Paramètres avancés", - 'upgrade:site_secret_warning:weak' => "Vous êtes fortement encouragé régénérer votre clé de site afin d'améliorer la sécurité de votre système. Voir dans Configuration / Paramètres avancés", + 'update:twitter_api:deactivated' => 'Twitter API (précédemment Twitter Service) a été désactivé lors de la mise à niveau. Veuillez l\'activer manuellement si nécessaire.', + 'update:oauth_api:deactivated' => 'OAuth API (précédemment OAuth Lib) a été désactivé lors de la mise à niveau. Veuillez l\'activer manuellement si nécessaire.', + 'upgrade:site_secret_warning:moderate' => "Vous êtes invité à régénérer la clé de votre site afin d'améliorer sa sécurité. Voir dans Configuration / Paramètres avancés", + 'upgrade:site_secret_warning:weak' => "Vous êtes fortement encouragé à régénérer la clé de votre site afin d'améliorer la sécurité de votre système. Voir dans Configuration / Paramètres avancés", - 'ElggUpgrade:error:url_invalid' => 'Valeur non valide pour le chemin de l\'URL', - 'ElggUpgrade:error:url_not_unique' => 'Les chemins d\'URL de mise à niveau doivent être uniques.', - 'ElggUpgrade:error:title_required' => 'Les objets de mise à niveau ElggUpgrade doivent avoir un titre.', - 'ElggUpgrade:error:description_required' => 'Les objets de mise à niveau ElggUpgrade doivent avoir une description.', - 'ElggUpgrade:error:upgrade_url_required' => 'Les objets ElggUpgrade doivent avoir un chemin d\'URL de mise à niveau.', - - 'deprecated:function' => '%s() a été déclaré obsolète par %s()', + 'deprecated:function' => '%s() est obsolète et a été remplacé par %s()', 'admin:pending_upgrades' => 'Le site a des mises à niveau en attente qui nécessitent votre attention immédiate.', 'admin:view_upgrades' => 'Afficher les mises à jour en attente.', 'admin:upgrades' => 'Mise à niveau', 'item:object:elgg_upgrade' => 'Site mis à jour', - 'admin:upgrades:none' => 'Votre traduction est à jour!', + 'admin:upgrades:none' => 'Votre traduction est à jour !', 'upgrade:item_count' => 'Il y a <b>%s</b> éléments qui doivent être mis à niveau.', - 'upgrade:warning' => '<b>Avertissement:</b> pour un grand site cette mise à jour peut prendre beaucoup de temps!', - 'upgrade:success_count' => 'Mis à jour:', - 'upgrade:error_count' => 'Erreurs:', - 'upgrade:river_update_failed' => 'Impossible de mettre à jour l\'entrée du flux de l\'article id %s', - 'upgrade:timestamp_update_failed' => 'Impossible de mettre à jour l\'horodatage de l\'article id %s', + 'upgrade:warning' => '<b>Attention :</b> Sur un site volumineux cette mise à jour peut prendre un temps significatif (voire très long) !', + 'upgrade:success_count' => 'Mise à jour :', + 'upgrade:error_count' => 'Erreurs :', + 'upgrade:river_update_failed' => 'Impossible de mettre à jour l\'entrée du flux de l\'élément d\'identifiant id %s', + 'upgrade:timestamp_update_failed' => 'Impossible de mettre à jour l\'horodatage de l\'élément d\'identifiant id %s', 'upgrade:finished' => 'Mise à jour terminée', 'upgrade:finished_with_errors' => '<p>Mise à jour terminée sans erreurs. Rafraîchissez la page et tentez de relancer la mise à jour.</p></p><br />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 <a href="http://community.elgg.org/groups/profile/179063/elgg-technical-support">groupe de support technique</a> de la communauté Elgg.</p>', // 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' => '問題解決には <a href="http://docs.elgg.org/Invalid_Plugin">the Elgg documentation</a> をチェックしてみてください。', + 'admin:plugins:warning:invalid:check_docs' => '問題解決のヒントは、 <a href="http://learn.elgg.org/en/stable/appendix/faqs.html">the Elgg documentation</a> にあるかもしれません。', '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は、<a href="http://elgg.org">elgg.org</a> よりダウンロードできます。<br /><br /> + 'Elggコアディレクトリに古いタイプのviewsが見つかったため、このインストレーションは、アップグレードできません。 - 手順の詳細は、<a href="http://docs.elgg.org/wiki/Upgrading_Elgg">Upgrading Elgg documentation</a> をご覧ください。 - その他なにかお困りでしたら、遠慮無く<a href="http://community.elgg.org/pg/groups/discussion/">Community Support Forums</a>に投稿してみてください。', +このようなviewsは廃止予定にされており、Elggが正しく機能するためには削除しなければなりません。あなたがElggコアに独自に変更をしていなければ、そのviewsディレクトリを削除して、<a href="http://elgg.org">elgg.org</a>からダウンロードした最新のElggパッケージのものに差し替えるだけでよいでしょう。<br /><br /> + +手順の詳細は、 <a href="http://learn.elgg.org/en/stable/admin/upgrading.html">Upgrading Elgg documentation</a> をご覧ください。また、<a href="http://community.elgg.org/pg/groups/discussion/">Community Support Forums</a> に投稿すれば、きっと誰かが助けてくれるでしょう。', '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. <strong>Hij zal waarschijnlijk niet werken!</strong>', '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 <a href="http://docs.elgg.org/Invalid_Plugin" target="_blank">de Elgg-documentatie</a> voor handige tips.', - 'admin:plugins:warning:invalid:check_docs' => 'Controleer <a href="http://docs.elgg.org/Invalid_Plugin" target="_blank">de Elgg-documentatie</a> voor tips met betrekking tot foutopsporing.', + 'admin:plugins:warning:invalid:check_docs' => 'Controleer <a href="http://learn.elgg.org/en/stable/appendix/faqs.html">de Elgg documentatie</a> 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 <a href="http://elgg.org" target="_blank">elgg.org</a>.<br><br> -Als je meer gedetailleerde instructie wilt, ga je naar de <a href="http://docs.elgg.org/wiki/Upgrading_Elgg" target="_blank">documentatie \'Upgrading Elgg\'</a>. Als je hulp nodig hebt, plaats je je vraag op de <a href="http://community.elgg.org/pg/groups/discussion/" target="_blank">Community Support Forums</a>.', +Als je meer gedetailleerde instructie wilt, ga je naar de <a href="http://learn.elgg.org/en/stable/admin/upgrading.html">documentatie \'Upgrading Elgg\'</a>. Als je hulp nodig hebt, plaats je je vraag op de <a href="http://community.elgg.org/pg/groups/discussion/" target="_blank">Community Support Forums</a>.', '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 @@ <?php return array( 'categories' => '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. <a href=\"%s\">Voeg categorieën toe</a>.", + '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. <a href=\"%s\">Voeg categorieën toe</a>.", ); \ 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 @@ <?php return array( 'categories' => '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. <a href=\"%s\">Adicionar categorias agora.</a>", + '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 @@ <?php return array( - 'ckeditor:html' => "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' => "<b>Zu beachten!</b> 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' => "<b>Huom!</b> 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' => "<b>Note !</b> 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' => "<b>注意!</b> 全ての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' => "<b>Opmerking!</b>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 <em>elgg_view_icon($name)</em> of de class <em>elgg-icon-$name</em> om iconen weer te geven.', + 'theme_sandbox:icons:blurb' => 'Gebruik <em>elgg_view_icon($name)</em> of de klasse <em>elgg-icon-$name</em> 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 @@ <?php return array( 'admin:administer_utilities:diagnostics' => '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 @@ <?php return array( - 'embed:embed' => '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 <em>niet</em> 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 @@ <?php return array( - 'garbagecollector:period' => '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 <em>geen</em> 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 <strong>geen</strong> openstaande lidmaatschapsaanvragen.', - 'groups:invitations:none' => 'Er zijn geen openstaande uitnodigingen op dit moment', + 'groups:invitations:none' => 'Er zijn op dit moment <strong>geen</strong> 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 @@ <?php return array( - 'admin:administer_utilities:logbrowser' => '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 @@ <?php return array( - 'logrotate:period' => '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 @@ <?php return array( - 'site_notifications' => '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 <a href="https://dev.twitter.com/apps/new" target="_blank">Twitter</a>. 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 <a href="https://dev.twitter.com/apps/new" target="_blank">Twitter</a>. 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 <a href=\"%1$s\">autoriseren</a> 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. <a href=\"%s\">Vul ze nu in</a>", + 'twitter_api:usersettings:cannot_revoke' => "Je kunt je account niet ontkoppelen van Twitter omdat je geen e-mailadres of wachtwoord hebt opgegeven. <a href=\"%s\">Vul dit nu in!</a>", '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 <a href="%s">hier</a> 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 <em>niet</em> 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 (<a href=\"http://nl.wikipedia.org/wiki/Adresbalk\">http://nl.wikipedia.org/wiki/Adresbalk</a>) + +%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 <em>%s</em>", - '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 <steve@mrclay.org> 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 @@ +<a name="1.9.8"></a> +### 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)) + + <a name="1.9.7"></a> ### 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",