aboutsummaryrefslogtreecommitdiffstats
path: root/README-TESTS.md
diff options
context:
space:
mode:
authorOlli Tietäväinen <ollit@vaadin.com>2016-12-28 15:31:24 +0200
committerDenis <denis@vaadin.com>2016-12-28 15:31:24 +0200
commit0544d9fb056537159c9d2f4f3b07288c3c60272e (patch)
treefdb559298384743b01d8bebea8edf32c6b787eba /README-TESTS.md
parent7b6c97bd4b30adab6aec26db5e15b7f1117d418b (diff)
downloadvaadin-framework-0544d9fb056537159c9d2f4f3b07288c3c60272e.tar.gz
vaadin-framework-0544d9fb056537159c9d2f4f3b07288c3c60272e.zip
Converted old Framework TestBench test docs to markdown (#8084)
* Converted old Framework TestBench test docs to markdown
Diffstat (limited to 'README-TESTS.md')
-rwxr-xr-xREADME-TESTS.md131
1 files changed, 131 insertions, 0 deletions
diff --git a/README-TESTS.md b/README-TESTS.md
new file mode 100755
index 0000000000..5391d2c710
--- /dev/null
+++ b/README-TESTS.md
@@ -0,0 +1,131 @@
+# TestBench tests in Vaadin Framework
+## Project setup
+The project currently supports running TestBench 3+ (java) tests. Each test consists of a Vaadin UI class and a TestBench script/java test.
+
+All test UI classes go into uitest/src. These files are automatically packaged into a war file which is deployed to a Jetty server during the build process so that tests can open and interact with the UI:s. For development purposes, the Jetty server can be started in Eclipse, see running tests in Eclipse.
+
+The project is setup so that /run is mapped to a specialized servlet which allows you to add the UI you want to test to the URL, e.g. http://localhost:8888/run/com.vaadin.tests.component.label.LabelModes or just http://localhost:8888/run/LabelModes if there are no multiple classes named LabelModes. Because of caching, the ?restartApplication parameter is needed after the first run if you want to run multiple test classes.
+
+## Creating a new test
+Creating a new test involves two steps: Creating a test UI (typically this should be provided in the ticket) and creating a TestBench test for the UI.
+
+## Creating a new test UI
+Test UIs are created inside the uitest/src folder in the com.vaadin.tests package. For tests for a given component, use the com.vaadin.tests.components.<component> package. For other features, use a suitable existing com.vaadin.tests.<something> package or create a new one if no suitable exists.
+
+The test should be named according to what it tests, e.g. EnsureFormTooltipWorks. Names should not refer to a ticket, e.g. Ticket1123 will automatically be rejected during code review as it is non-descriptive.
+
+There are a couple of helper UI super classes which you can use for the test. You should never extend UI directly:
+* AbstractTestUI
+ * Automatically sets up a VerticalLayout with a description label on the top. Use addComponent() to add components to the layout
+ * Supports ?transport=websocket/streaming/xhr parameter for setting push mode. This is for testing core push functionality, typically you should just add @Push to your test UI
+* AbstractTestUIWithLog
+ * AbstractTestUI but adds a log at the top to which you can add rows using log(String). Handy for printing state information which the TB test can assert reliably.
+* ~~AbstractTestCase, TestBase~~
+ * Old base classes for tests. Don’t use for any new tests. Extends LegacyApplication.
+* AbstractComponentTest, AbstractFieldTest, ...
+ * Base classes for generic component tests. Generates test which have a menu on the top containing options for configuring the component. Classes follow the same component hierarchy as Vaadin component classes and this way automatically gets menu items for setting features the parent class supports.
+ * Gotcha: If you add a new feature to a menu you need to run and possibly (probably) fix all TB tests which use the class as they will click on the wrong item (fixable by implementing [http://dev.vaadin.com/ticket/11307](http://dev.vaadin.com/ticket/11307))
+
+## Creating a TestBench test for a UI
+All new test for the projects must be created as TestBench3+ tests
+### Test class naming
+TestBench 3+ tests usually follow a naming convention which automatically maps the test to the UI class. By the convention, the TB3 test class should be named **UIClassTest**, e.g. if UI is **LabelModes** then the TB3+ test is **LabelModesTest**. Inside the LabelModesTest class there are 1..N methods which test various aspects of the LabelModes UI. This is the preferred way, but not strictly necessary; sometimes it's more conventient to use a different name for the UI and test class. In that case, remember to override the `AbstractTB3Test::getUIClass()` method in the test.
+
+### Super class
+There are a couple of super classes you can use for a TB3+ test:
+* MultiBrowserTest
+ * Ensures the test is run on the browsers we support automatically
+ * **This is what you typically should use**
+* WebsocketTest
+ * Run only on browsers which supports websockets
+
+### Creating the test
+The actual test is one method in the test class created for the given UI. The method declaration is something like:
+
+ @Test
+ public void testLabelModes() throws Exception {
+
+
+“@Test” is needed for it to be run at all.
+
+“throws Exception” should usually be added to avoid catching exceptions inside the test, as most often an exception means the test has failed. Unhandled exceptions will always fail the test; if you use checked exceptions, you'll need to handle them somehow or decide they're automatically failures on exception.
+
+The beginning of the test should request the UI using openTestURL();
+
+ public void testLabelModes() throws Exception {
+ // Causes the test to be opened with the debug console open. Typically not needed
+ // setDebug(true);
+
+ // Causes the test to be opened with push enabled even though the UI does not have @Push.
+ //Typically not needed
+ // setPush(true);
+ openTestURL();
+After this it is up to you what the test should do. The browser will automatically be started before the test method and shutdown after it. If the test fails, a failure screenshot will automatically be created in addition to an exception being thrown.
+
+When done, run the test locally, as described below, and ensure it passes. Then run it remotely, as described below, a couple of times to ensure it passes reliably.
+
+### Best practices for creating a TB3 test
+
+#### Communicate intent through your test class
+JUnit allows you (as opposed to TB2 HTML tests) to describe what the test should do using method names. The test method should be a chain of calls which enables any reader to quickly understand what the test does, all details should be abstracted into methods.
+
+Over the time we should collect useful helper methods into the parent classes (AbstractTB3Test already contain some, e.g. assertGreater/assertLessThan/vaadinElementById/...).
+
+#### Do a sensible amount of things in one test method
+There is an overhead before and after each test method when the browser instance is started. The tests are therefore not restricted to testing one single thing. Instead a test method should test one logical group of things (TB3 tests are not pure unit tests).
+
+####Use ids in your test class
+
+Use ids in your UI class. Define the IDs as constants in the UI class. Use the constants in your Test class. Use static imports to avoid massive prefixes for the constants.
+
+ public class NativeButtonIconAndText extends AbstractTestUI implements
+ ClickListener {
+
+ static final String BUTTON_TEXT = "buttonText";
+ [...]
+ buttonText.setId(BUTTON_TEXT);
+
+
+
+ public class NativeButtonIconAndTextTest extends MultiBrowserTest {
+
+ @Test
+ public void testNativeButtonIconAltText() {
+ openTestURL();
+ assertAltText(NativeButtonIconAndText.BUTTON_TEXT, "");
+
+
+## Running the DevelopmentServerLauncher
+
+The Jetty included in the project can be started in Eclipse by running the “Development Server (Vaadin)” launch configuration in /eclipse (right click -> Debug as -> Development Server (Vaadin) ). This deploys all the tests to localhost:8888 (runs on port 8888, don’t change that unless you want problems). Use /run/<uiclass> to open a test.
+
+The DevelopmentServerLauncher has a built-in feature which ensures only one instance can be running at a time. There is therefore no need to first stop the old and and then start a new one. Start the server and the old one will be killed automatically.
+## Setup before running any tests in Eclipse
+
+Before running any tests in Eclipse you need to
+1. copy uitest/eclipse-run-selected-test.properties to work/eclipse-run-selected-test.properties
+2. edit work/eclipse-run-selected-test.properties
+ 1. Define com.vaadin.testbench.screenshot.directory as the directory where you checked out the screenshots repository (this directory contains the “references” subdirectory)
+
+## Running TB3+ tests
+
+TB3+ tests are standard JUnit tests which can be run using the “Run as -> JUnit test” (or Debug as) in Eclipse. Right click on a single test instance in the JUnit result view and select to debug to re-run it on a single browser.
+
+### Debugging TB3+ tests
+
+#### Debugging remotely
+Running remotely on a single browser (as described above) can be used to debug issues with a given browser but with the downside that you cannot see what is happening with the browser. In theory this is possible if you figure out on what machine the test is run (no good way for this at the moment) and use VNC to connect to that.
+#### Debugging locally
+A better option is to run the test on a local browser instance. To do this you need to add a `@RunLocally` annotation to the test class. @RunLocally uses Firefox by default but also supports other browsers using `@RunLocally(CHROME)`, `@RunLocally(SAFARI)` and `@RunLocally(PHANTOMJS)`.
+
+Some local configuration is needed for certain browsers, especially if you did not install them in the “standard” locations.
+
+**PhantomJS**: PhantomJS is a headless browser, good especially for fast validation. Download it from the [PhantomJS site](http://phantomjs.org/download.html) and add the binary to your PATH.
+
+**Firefox**: If you have Firefox in your PATH, this is everything you need. If Firefox cannot be started, add a **firefox.path** property to `/work/eclipse-run-selected-test.properties`, pointing to your Firefox binary (e.g.`firefox.path=/Applications/Firefox 17 ESR.app/Contents/MacOS/firefox`)
+
+**Chrome**: You need to [download ChromeDriver](http://chromedriver.storage.googleapis.com/index.html) and add a chrome.driver.path property to `/work/eclipse-run-selected-test.properties`, pointing to the ChromeDriver binary (NOT the Chrome binary)
+
+**Safari**: At least on Mac, no configuration should be needed.
+
+Remember to remove `@RunLocally()` before committing the test or it will fail during the build.
e='backport/48142/stable25'>backport/48142/stable25 Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap/l10n/nl.js
blob: 21d5128b09593b0b14f6f0f05d36ef71151002b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
OC.L10N.register(
    "user_ldap",
    {
    "Failed to clear the mappings." : "Niet gelukt de vertalingen leeg te maken.",
    "Failed to delete the server configuration" : "Verwijderen serverconfiguratie mislukt",
    "The configuration is invalid: anonymous bind is not allowed." : "De configuratie is ongeldig: anonieme bind is niet toegestaan.",
    "The configuration is valid and the connection could be established!" : "De configuratie is geldig en de verbinding is geslaagd!",
    "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "De configuratie is geldig, maar Bind mislukte. Controleer de serverinstellingen en inloggegevens.",
    "The configuration is invalid. Please have a look at the logs for further details." : "De configuratie is ongeldig. Bekijk de logbestanden voor meer details.",
    "No action specified" : "Geen actie opgegeven",
    "No configuration specified" : "Geen configuratie opgegeven",
    "No data specified" : "Geen gegevens verstrekt",
    " Could not set configuration %s" : "Kon configuratie %s niet instellen",
    "Action does not exist" : "Actie bestaat niet",
    "The Base DN appears to be wrong" : "De Basis DN lijkt onjuist",
    "Testing configuration…" : "Testen van de configuratie…",
    "Configuration incorrect" : "Configuratie onjuist",
    "Configuration incomplete" : "Configuratie incompleet",
    "Configuration OK" : "Configuratie OK",
    "Select groups" : "Selecteer groepen",
    "Select object classes" : "Selecteer objectklasse",
    "Please check the credentials, they seem to be wrong." : "Controleer de inloggegevens, ze lijken onjuist.",
    "Please specify the port, it could not be auto-detected." : "Geef de poort op, die kon niet automatisch worden vastgesteld.",
    "Base DN could not be auto-detected, please revise credentials, host and port." : "Basis DN kon niet automatisch worden vastgesteld, herstel inloggegevens, server en poort.",
    "Could not detect Base DN, please enter it manually." : "Kon basis DN niet vaststellen, voer de gegevens handmatig in.",
    "{nthServer}. Server" : "{nthServer}. Server",
    "No object found in the given Base DN. Please revise." : "Geen object gevonden in de basis DN. Review instellingen.",
    "More than 1,000 directory entries available." : "Meer dan 1000 directorynamen beschikbaar.",
    " entries available within the provided Base DN" : "accounts beschikbaar binnen de provider Basis DN",
    "An error occurred. Please check the Base DN, as well as connection settings and credentials." : "Er trad een fout op. Controleer de Basis DN en de verbindingsinstellingen en inloggegevens.",
    "Do you really want to delete the current Server Configuration?" : "Wilt je werkelijk de huidige Serverconfiguratie verwijderen?",
    "Confirm Deletion" : "Bevestig verwijderen",
    "Mappings cleared successfully!" : "Mappings succesvol schoongemaakt!",
    "Error while clearing the mappings." : "Fout bij opschonen mappings.",
    "Anonymous bind is not allowed. Please provide a User DN and Password." : "Anonieme bind is niet toegestaan. Geef een gebruikers DN en wachtwoord op.",
    "LDAP Operations error. Anonymous bind might not be allowed." : "LDAP operatie fout. Anonieme bind is misschien niet toegstaan.",
    "Saving failed. Please make sure the database is in Operation. Reload before continuing." : "Opslaan mislukt. Verifieer dat de database draait. Herlaad voordat je verder gaat.",
    "Switching the mode will enable automatic LDAP queries. Depending on your LDAP size they may take a while. Do you still want to switch the mode?" : "Omschakelen van de modus schakelt automatische LDAP opvragingen in. Afhankelijk van je LDAP omvang kan dat even duren. Wil je nog steeds omschakelen?",
    "Mode switch" : "Omschakelen modus",
    "Select attributes" : "Selecteer attributen",
    "User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command line validation): <br/>" : "Gebruiker niet gevonden. Verifieer je inloggegevens en gebruikersnaam. Geldig filter (kopiëren en plakken voor commandoregel validatie): <br/>",
    "User found and settings verified." : "Gebruiker gevonden en instellingen geverifieerd.",
    "Settings verified, but more than one user found. Only the first will be able to login. Consider a more narrow filter." : "Instellingen geverifieerd, slechts één gebruiker gevonden. Alleen de eerste kan inloggen. Overweeg een krapper filter.",
    "An unspecified error occurred. Please check the settings and the log." : "Er trad een ongedefinieerde fout op. Controleer de instellingen en de logging.",
    "The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Het zoekfilter is ongeldig, waarschijnlijk door syntax problemen zoals een ongelijk aantal open- en sluithaakjes. Graag aanpassen.",
    "A connection error to LDAP / AD occurred, please check host, port and credentials." : "Er trad een verbindingsfout naar LDAP / AD op, verifieer servernaam, poort en inloggegevens.",
    "The %uid placeholder is missing. It will be replaced with the login name when querying LDAP / AD." : "De %uid opvultekst ontbreekt. Die wordt vervangen door de inlognaam bij het bevragen van LDAP / AD.",
    "Please provide a login name to test against" : "Geef een inlognaam op om opnieuw tegen te testen",
    "The group box was disabled, because the LDAP / AD server does not support memberOf." : "De groepsbox was uitgeschakeld, omdat de LDAP / AD server het attribuut memberOf niet ondersteunt.",
    "Password change rejected. Hint: " : "Wachtwoordwijziging geweigerd. Hint:",
    "LDAP / AD integration" : "LDAP / AD integratie",
    "_%s group found_::_%s groups found_" : ["%s groep gevonden","%s groepen gevonden"],
    "_%s user found_::_%s users found_" : ["%s gebruiker gevonden","%s gebruikers gevonden"],
    "Could not detect user display name attribute. Please specify it yourself in advanced ldap settings." : "Kon het weergavenaam attribuut van de gebruiker niet vinden. Geef het zelf op in de geavanceerde ldap instellingen.",
    "Could not find the desired feature" : "Kon de gewenste functie niet vinden",
    "Invalid Host" : "Ongeldige server",
    "Test Configuration" : "Test configuratie",
    "Help" : "Help",
    "Groups meeting these criteria are available in %s:" : "Groepsafspraken die voldoen aan deze criteria zijn beschikbaar in %s:",
    "Only these object classes:" : "Alleen deze objectklassen:",
    "Only from these groups:" : "Alleen van deze groepen:",
    "Search groups" : "Zoeken groepen",
    "Available groups" : "Beschikbare groepen",
    "Selected groups" : "Geselecteerde groepen",
    "Edit LDAP Query" : "Bewerken LDAP opvraging",
    "LDAP Filter:" : "LDAP Filter:",
    "The filter specifies which LDAP groups shall have access to the %s instance." : "Dit filter geeft aan welke LDAP groepen toegang hebben tot %s.",
    "Verify settings and count groups" : "Verifiëren instellingen en tel groepen",
    "When logging in, %s will find the user based on the following attributes:" : "Bij inloggen vindt %s de gebruiker gebaseerd op de volgende attributen:",
    "LDAP / AD Username:" : "LDAP / AD gebruikersnaam:",
    "Allows login against the LDAP / AD username, which is either uid or samaccountname and will be detected." : "Maakt inloggen tegen de LDAP / AD gebruikersnaam mogelijk, ofwel uid of samaccountname en wordt gedetecteerd.",
    "LDAP / AD Email Address:" : "LDAP / AD e-mailadres:",
    "Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Maak inloggen tegen een e-mailattribuut mogelijk. E-mail en mailPrimaryAddress zijn mogelijk.",
    "Other Attributes:" : "Overige attributen:",
    "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Definiëert het toe te passen filter als er geprobeerd wordt in te loggen. %%uid vervangt de gebruikersnaam bij het inloggen. Bijvoorbeeld: \"uid=%%uid\"",
    "Test Loginname" : "Test inlognaam",
    "Verify settings" : "Verifiëren instellingen",
    "1. Server" : "1. Server",
    "%s. Server:" : "%s. Server:",
    "Add a new and blank configuration" : "Toevoegen nieuwe, blanco configuratie",
    "Copy current configuration into new directory binding" : "Kopieer de huidige configuratie naar een nieuwe directory binding",
    "Delete the current configuration" : "Verwijder de huidige configuratie",
    "Host" : "Host",
    "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Je kunt het protocol weglaten, tenzij je SSL vereist. Start in dat geval met ldaps://",
    "Port" : "Poort",
    "Detect Port" : "Detecteer poort",
    "User DN" : "User DN",
    "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "De DN van de client gebruiker waarmee de verbinding zal worden gemaakt, bijv. uid=agent,dc=example,dc=com. Voor anonieme toegang laat je het DN en het wachtwoord leeg.",
    "Password" : "Wachtwoord",
    "For anonymous access, leave DN and Password empty." : "Voor anonieme toegang, laat de DN en het wachtwoord leeg.",
    "One Base DN per line" : "Een Base DN per regel",
    "You can specify Base DN for users and groups in the Advanced tab" : "Je kunt het Base DN voor gebruikers en groepen specificeren in het tab Geavanceerd.",
    "Detect Base DN" : "Detecteren basis DN",
    "Test Base DN" : "Testen basis DN",
    "Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Voorkom automatische LDAP opvragingen. Weliswaar beter voor grote installaties, maar vergt LDAP kennis.",
    "Manually enter LDAP filters (recommended for large directories)" : "Handmatig invoeren LDAP filters (aanbevolen voor grote directories)",
    "The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "De meest gebruikelijke objectklassen voor gebruikers zijn organizationalPerson, persoon, gebruiker, en inetOrgPerson. Als je niet zeker weet welke objectklasse moet worden geselecteerd, raadpleeg dan je directorybeheerder.",
    "The filter specifies which LDAP users shall have access to the %s instance." : "Dit filter geeft aan welke LDAP gebruikers toegang hebben tot %s.",
    "Verify settings and count users" : "Verifiëren instellingen en tellen gebruikers",
    "Saving" : "Opslaan",
    "Back" : "Terug",
    "Continue" : "Verder",
    "LDAP" : "LDAP",
    "Server" : "Server",
    "Users" : "Gebruikers",
    "Login Attributes" : "Inlogattributen",
    "Groups" : "Groepen",
    "Expert" : "Expert",
    "Advanced" : "Geavanceerd",
    "<b>Warning:</b> Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "<b>Waarschuwing:</b> De Apps user_ldap en user_webdavauth zijn incompatible. Je kunt onverwacht gedrag ervaren. Vraag je beheerder om een van beide apps de deactiveren.",
    "<b>Warning:</b> The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "<b>Waarschuwing:</b> De PHP LDAP module is niet geïnstalleerd, het backend zal niet werken. Vraag je systeembeheerder om de module te installeren.",
    "Connection Settings" : "Verbindingsinstellingen",
    "Configuration Active" : "Configuratie actief",
    "When unchecked, this configuration will be skipped." : "Als dit niet is ingeschakeld wordt deze configuratie overgeslagen.",
    "Backup (Replica) Host" : "Backup (Replica) Host",
    "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Opgeven optionele backup host. Het moet een replica van de hoofd LDAP/AD server.",
    "Backup (Replica) Port" : "Backup (Replica) Poort",
    "Disable Main Server" : "Deactiveren hoofdserver",
    "Only connect to the replica server." : "Maak alleen een verbinding met de replica server.",
    "Turn off SSL certificate validation." : "Schakel SSL certificaat validatie uit.",
    "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Niet aanbevolen, gebruik dit alleen om te testen! Als de verbinding alleen werkt met deze optie, importeer dan het SSL-certificaat van de LDAP-server naar jouw %s server.",
    "Cache Time-To-Live" : "Cache time-to-live",
    "in seconds. A change empties the cache." : "in seconden. Een verandering maakt de cache leeg.",
    "Directory Settings" : "Mapinstellingen",
    "User Display Name Field" : "Veld gebruikers weergavenaam",
    "The LDAP attribute to use to generate the user's display name." : "Het te gebruiken LDAP attribuut voor het genereren van de weergavenaam voor de gebruiker.",
    "2nd User Display Name Field" : "2e gebruiker weergavenaam veld",
    "Optional. An LDAP attribute to be added to the display name in brackets. Results in e.g. »John Doe (john.doe@example.org)«." : "Optioneel. Een LDAP attribuut wat word toegevoegd aan de weergave neem tussen haakjes. Bijvoorbeeld »John Doe (john.doe@example.org)«.",
    "Base User Tree" : "Basis Gebruikers Structuur",
    "One User Base DN per line" : "Een User Base DN per regel",
    "User Search Attributes" : "Attributen voor gebruikerszoekopdrachten",
    "Optional; one attribute per line" : "Optioneel; één attribuut per regel",
    "Group Display Name Field" : "Groep Schermnaam Veld",
    "The LDAP attribute to use to generate the groups's display name." : "Het te gebruiken LDAP attribuut voor het genereren van de weergavenaam voor de groepen.",
    "Base Group Tree" : "Basis groepsstructuur",
    "One Group Base DN per line" : "Een Group Base DN per regel",
    "Group Search Attributes" : "Attributen voor groepszoekopdrachten",
    "Group-Member association" : "Groepslid associatie",
    "Dynamic Group Member URL" : "Dynamisch Groepslid URL",
    "The LDAP attribute that on group objects contains an LDAP search URL that determines what objects belong to the group. (An empty setting disables dynamic group membership functionality.)" : "Het LDAP attribuut wat op groep object een LDAP zoek URL bevat wat gebruikt word om groep lidmaatschap op te halen. (Een leeg veld schakeld dynamisch groep lidmaatschap uit.)",
    "Nested Groups" : "Geneste groepen",
    "When switched on, groups that contain groups are supported. (Only works if the group member attribute contains DNs.)" : "Wanneer ingeschakeld worden groepen binnen groepen ondersteund. (Werkt alleen als het groepslid attribuut DNs bevat)",
    "Paging chunksize" : "Paging chunkgrootte",
    "Chunksize used for paged LDAP searches that may return bulky results like user or group enumeration. (Setting it 0 disables paged LDAP searches in those situations.)" : "De chunkgrootte die wordt gebruikt voor LDAP opvragingen die in grote aantallen resulteren, zoals gebruiker- of groepsverzamelingen. (Instellen op 0 deactiveert gepagede LDAP opvragingen in dergelijke situaties.)",
    "Enable LDAP password changes per user" : "Activeren LDAP wachtwoordwijziging per gebruiker:",
    "Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Sta LDAP gebruikers toe om hun wachtwoord te wijzigen en sta Superbeheerders en Groepsbeheerder toe om het wachtwoord van hun LDAP gebruikers te wijzigen. Dit werkt alleen als het toegangsbeveiligingsbeleid als zodanig ook op de LDAP server is ingericht. Omdat wachtwoorden in leesbare tekst naar de LDAP worden verstuurd, moet transportversleuteling worden gebruikt en moet wachtwoord hashing zijn geconfigureerd op de LDAP server.",
    "(New password is sent as plain text to LDAP)" : "(Nieuw wachtwoord is als leesbare tekst verstuurd naar LDAP)",
    "Special Attributes" : "Speciale attributen",
    "Quota Field" : "Quota veld",
    "Quota Default" : "Quota standaard",
    "in bytes" : "in bytes",
    "Email Field" : "E-mailveld",
    "User Home Folder Naming Rule" : "Gebruikers Home map naamgevingsregel",
    "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Laat leeg voor de gebruikersnaam (standaard). Of specificeer een LDAP/AD attribuut.",
    "Internal Username" : "Interne gebruikersnaam",
    "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ].  Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standaard wordt de interne gebruikersnaam afgeleid van het UUID attribuut. dat zorgt ervoor dat de gebruikersnaam uniek is en dat tekens niet hoeven te worden geconverteerd. De interne gebruikersnaam heeft de beperking dat alleen deze tekens zijn toegestaan: [ a-zA-Z0-9_.@- ].  Andere tekens worden vervangen door hun overeenkomstige ASCII-waarde of simpelweg weggelaten. Bij conflicten wordt een nummer toegevoegd/verhoogd. De interne gebruikersnaam wordt gebruikt om een gebruiker intern te identificeren. Het is ook de standaardnaam voor de thuis-map van de gebruiker. Het is ook onderdeel van de externe URLs, bijvoorbeeld voor alle *DAV services. Met deze instelling kan het standaardgedrag worden overschreven. Laat het leeg voor de standaardwerkwijze. Wijzigingen hebben alleen effect voor nieuw gekoppelde (toegevoegde) LDAP gebruikers.",
    "Internal Username Attribute:" : "Interne gebruikersnaam attribuut:",
    "Override UUID detection" : "Negeren UUID detectie",
    "By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "Standaard herkent ownCloud het UUID-attribuut automatisch. Het UUID attribuut wordt gebruikt om LDAP-gebruikers en -groepen uniek te identificeren. Ook zal de interne gebruikersnaam worden aangemaakt op basis van het UUID, tenzij deze hierboven anders is aangegeven. Je kunt de instelling overschrijven en zelf een waarde voor het attribuut opgeven. Je moet ervoor zorgen dat het ingestelde attribuut kan worden opgehaald voor zowel gebruikers als groepen en dat het uniek is. Laat het leeg voor standaard gedrag. Veranderingen worden alleen doorgevoerd op nieuw gekoppelde (toegevoegde) LDAP-gebruikers en-groepen.",
    "UUID Attribute for Users:" : "UUID attribuut voor gebruikers:",
    "UUID Attribute for Groups:" : "UUID attribuut voor groepen:",
    "Username-LDAP User Mapping" : "Gebruikersnaam-LDAP gebruikers vertaling",
    "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "ownCloud maakt gebruik van gebruikersnamen om (meta) data op te slaan en toe te wijzen. Om gebruikers uniek te identificeren, krijgt elke LDAP-gebruiker ook een interne gebruikersnaam. Dit vereist een koppeling van de ownCloud gebruikersnaam aan een ​​LDAP-gebruiker. De gecreëerde gebruikersnaam is gekoppeld aan de UUID van de LDAP-gebruiker. Aanvullend wordt ook de 'DN' gecached om het aantal LDAP-interacties te verminderen, maar dit wordt niet gebruikt voor identificatie. Als de DN verandert, zullen de veranderingen worden gevonden. De interne naam wordt overal gebruikt. Het wissen van de koppeling zal overal resten achterlaten. Het wissen van koppelingen is niet configuratiegevoelig, maar het raakt wel alle LDAP instellingen! Zorg ervoor dat deze koppelingen nooit in een productieomgeving gewist worden. Maak ze alleen leeg in een test- of ontwikkelomgeving.",
    "Clear Username-LDAP User Mapping" : "Leegmaken Gebruikersnaam-LDAP gebruikers vertaling",
    "Clear Groupname-LDAP Group Mapping" : "Leegmaken Groepsnaam-LDAP groep vertaling",
    "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Instellingen geverifieerd, slechts één gebruiker gevonden. Alleen de eerste kan inloggen. Overweeg een krapper filter.",
    "%s access is limited to users meeting these criteria:" : "%s toegang is beperkt tot gebruikers die voldoen aan deze criteria:"
},
"nplurals=2; plural=(n != 1);");