-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExpData.js
More file actions
2749 lines (2547 loc) · 161 KB
/
ExpData.js
File metadata and controls
2749 lines (2547 loc) · 161 KB
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// � by Caspar Goeke and Holger Finger
/**
* Stores all specifications of an experiment.
* @constructor
*/
var ExpData = function (parentExperiment) {
var self = this;
this.parentExperiment = parentExperiment;
this.expData = this; // self reference for consistency with other classes..
// entities hold all instances that have an id field:
this.entities = ko.observableArray([]).extend({ sortById: null });
this.availableTasks = ko.observableArray([]);
this.availableBlocks = ko.observableArray([]);
this.availableSessions = ko.observableArray([]);
this.availableGroups = ko.observableArray([]);
this.availableVars = ko.observableArray([]).extend({ sortById: null });
this.isJointExp = ko.observable(false); // needs to be placed before initialize studySettings!
this.numPartOfJointExp = ko.observable(2); // needs to be placed before initialize studySettings!
this.jointOptionModified = ko.observable(false);
//serialized
this.studySettings = new StudySettings(this.expData);
this.confirmedVariables = ko.observable(false);
this.translations = ko.observableArray([]);
this.translatedLanguages = ko.observableArray([]);
// customizedStaticStrings stores a map with the same structure as ExpData.prototype.staticTranslations but with values being the index of the TranslationEntry in this.translations
this.customizedStaticStrings = {
};
this.translationsEnabled = ko.computed(function () {
return true;
});
// not serialized
this.allVariables = {};
this.staticStrings = ko.observable(ExpData.prototype.staticTranslations["English"]);
this.currentLanguage = ko.observable(0);
this.currentLanguageSubscription = this.currentLanguage.subscribe(function (newLang) {
self.updateLanguage();
});
this.translatedLanguagesSubscription = this.translatedLanguages.subscribe(function (newLang) {
self.updateLanguage();
});
this.variableSubscription = null;
this.dateLastModified = ko.observable(getCurrentDate(this.studySettings.timeZoneOffset()));
for (var i = 0; i < ExpData.prototype.fixedVarNames.length; i++) {
this[ExpData.prototype.fixedVarNames[i]] = ko.observable();
}
this.vars = ko.computed(function () {
var varArray = [];
for (var i = 0; i < ExpData.prototype.fixedVarNames.length; i++) {
varArray.push(this[ExpData.prototype.fixedVarNames[i]]());
}
return varArray;
}, this);
this.errorString = ko.computed(function () {
var errorString = "";
if (this.availableGroups().length == 0) {
errorString += "No Group, ";
}
if (this.availableSessions().length == 0) {
errorString += "No Session, ";
}
if (this.availableBlocks().length == 0) {
errorString += "No Block, ";
}
if (this.availableTasks().length == 0) {
errorString += "No Task, ";
}
// remove last comma:
if (errorString != "") {
errorString = errorString.substring(0, errorString.length - 2);
}
return errorString;
}, this);
};
ExpData.prototype.oldFixedVarNames = [
'varSubjectId',
'varSubjectIndex',
'varSubjectNrPerSubjGroupEMPTY',
'varGroupId',
'varSessionTimeStamp',
'varSessionTimeStampEnd',
'varSessionId',
'varSessionIndex',
'varBlockId',
'varBlockIndex',
'varTaskId',
'varTaskIndex',
'varTrialId',
'varTrialIndex',
'varCondition',
'varBrowserSpecEMPTY',
'varSystemSpecEMPTY',
'varAgentSpecEMPTY',
'varBrowserVersionSpecEMPTY',
'varFullscreenSpecEMPTY',
'varTimeMeasureSpecMeanEMPTY',
'varTimeMeasureSpecStdEMPTY',
'varCrowdsourcingCodeEMPTY',
'varCrowdsourcingSubjIdEMPTY',
'varRoleIdEMPTY',
'varvarMultiUserGroupIdEMPTY',
'varDisplayedLanguageEMPTY',
'varPixelDensityPerMMEMPTY',
// 'varTimeMeasureSpecMaxEMPTY',
];
ExpData.prototype.fixedVarNames = [
//recorded and global by default
'varSubjectNr',
'varTrialNr',
'varTrialId',
'varConditionId',
//recorded not global by default
'varSubjectCode',
'varGroupName',
'varSessionTimeStamp',
'varSessionTimeStampEnd',
'varSessionName',
'varSessionNr',
'varBlockName',
'varBlockNr',
'varTaskName',
'varTaskNr',
'varTimeMeasureSpecMean',
'varTimeMeasureSpecStd',
'varCrowdsourcingCode',
'varCrowdsourcingSubjId',
// dynamically adjusted
'varSubjectNrPerSubjGroup',
'varRoleId',
'varMultiUserGroupId',
'varDisplayedLanguage',
'varDisplayWidthX',
'varDisplayWidthY',
'varScreenTotalWidthX',
'varScreenTotalWidthY',
'varPixelDensityPerMM',
'varExpVersion',
//not recorded and not global by default
'varBrowserSpec',
'varSystemSpec',
'varAgentSpec',
'varBrowserVersionSpec',
'varFullscreenSpec',
// 'varTimeMeasureSpecMax',
];
ExpData.prototype.varDescriptions = {
'varSubjectCode': 'The variable "Subject_Code" is a unique string for each subject / session across all experiments running on Labvanced. This can be used to uniquely identify each participant or session.',
'varSubjectNr': 'The variable "Subject_Nr" is a global counter of participants in a study. This can be used to do custom between subject randomization and to infer the overall number of participants in a study.',
'varSubjectNrPerSubjGroup': 'The variable "Subject_Nr_Per_Group" is a counter per subject group in a study. This can be used to do custom between subject randomization and to infer the current number of participants within each subject group.',
'varGroupName': 'The variable "Group_Name" holds the value of the "subject group name" for each participant. This can be used to infer to which subject group each participant is assigned to.',
'varSessionTimeStamp': 'The variable "Session_Start_Time" records the start time of the current participant session in UNIX time.',
'varSessionTimeStampEnd': 'The variable "Session_End_Time" records the end time of the current participant session in UNIX time.',
'varSessionName': 'The variable "Session_Name" holds the value of the "session name" for the current session. This can be used to infer which session is currently performed by the participant.',
'varSessionNr': 'The variable "Session_Nr" holds the current value of the "session nr" for the current session. This can be used to infer whether the participant currently performs the first, second, third,(and so on) session.',
'varBlockName': 'The variable "Block_Name" holds the current value of the "block name" for the current session. This can be used to infer which block is currently performed by the participant.',
'varBlockNr': 'The variable "Bock_Nr" holds the current value of the "block nr" for the current session. This can be used to infer whether the participant currently performs the first, second, third,(and so on) block in this session.',
'varTaskName': 'The variable "Task_Name" holds the current value of the "task name" for the current block. This can be used to infer which task is currently performed by the participant.',
'varTaskNr': 'The variable "Task_Nr" holds the current value of the "task nr" for the current block. This can be used to infer whether the participant currently performs the first, second, third,(and so on) task in this block.',
'varTrialId': 'The variable "Trial_Id" holds the current value of the "trial id" for the current task. This can be used to infer which Trial is currently performed by the participant.',
'varTrialNr': 'The variable "Trial_Nr" holds the current value of the "trial nr" for the current task. This can be used to infer whether the participant currently performs the first, second, third,(and so on) trial in this task.',
'varRoleId': 'The variable "Role_ID" is used for multi user/multi participant studies to refer uniquely to one of the participants of the study. This can be used to present different frames and roles to different participants within the same task/experiment.',
'varConditionId': 'The variable "Condition_Id" holds the current value of the "condition id" for the current trial. This can be used to infer which condition is currently performed by the participant.',
'varBrowserSpec': 'The variable "Browser_Spec" holds the value of the browser used by the participant to perform the experiment. This can be used to later analyze possible differences between browsers. Allowing/forbidding certain browsers can be done via the study settings.',
'varSystemSpec': 'The variable "System_Spec" holds the value of the operating system/device used by the participant to perform the experiment. This can be used to later analyze possible differences between operating systems/devices. Allowing/forbidding certain operating systems/devices can be done via the study settings.',
'varAgentSpec': 'The variable "Agent_Spec" holds the complete String of the "User-Agent-Browser-Specification". This can be used to get some more detailed information about the participants system specifications.',
'varTimeMeasureSpecMean': 'The variable "TimeMeasure_Mean" provides an estimate of the mean value of how precise callback functions work on the participants device. Hence this is a measure of how precise stimuli are be presented temporally, but not a measure of reaction time reliability (which is usually better).',
'varTimeMeasureSpecStd': 'The variable "TimeMeasure_Std" provides an estimate of the standard deviation of how precise callback functions work on the participants device. Hence this is a measure of how variable stimuli presentation is temporally.',
'varFullscreenSpec': 'The variable "Always_Fullscreen", is a boolean value, which is true as long as the participant keeps the experiment running in fullscreen mode. This can be used to pause/quit the experiment when a participant leaves the fullscreen mode.',
'varBrowserVersionSpec': 'The variable "BrowserVersion_Spec" holds the value of the browser version used by the participant to perform the experiment. This can be used to later analyze possible differences between browser versions.',
'varCrowdsourcingCode': 'The variable "Crowdsourcing_Code" holds the value of the unique "crowdsourcing code", typically shown to the subject at end of the experiment to complete the crowdsourcing session and claim the payment.',
'varCrowdsourcingSubjId': 'The variable "Crowdsourcing_SubjId" holds the value of the unique "identification code" for each crowdsourcing participant. This can be used to later on create a reference between crowdsourcing data on Labvanced and the external crowdsourcing service (e.g Mechanical Turk).',
'varDisplayedLanguage': 'The variable "Displayed Language" holds the value of the selected display language, only if there were 2 or more languages to select from. This value can be used to show different content, i.e. texts for different language settings.',
'varPixelDensityPerMM': 'This variable hold the number of pixels per millimeter of the screen.',
'varDisplayWidthX': 'This variable holds the number of pixels in the X-dimension of the experiment window in pixels.',
'varDisplayWidthY': 'This variable holds the number of pixels in the Y-dimension of the experiment window in pixels.',
'varScreenTotalWidthX': 'This variable holds the number of pixels in the X-dimension of the computer screen in pixels.',
'varScreenTotalWidthY': 'This variable holds the number of pixels in the Y-dimension of the computer screen in pixels.',
'varMultiUserGroupId': 'This variable holds a unique group ID for multi user studies.',
'varExpVersion': 'This variable holds the version of the experiment that is autoincremented when the study is saved.',
// {'varTimeMeasureSpecMax':''},
};
ExpData.prototype.staticTranslations = {
English: {
start: {
library: "Library",
langSelect: "This study is available in multiple languages.",
studyLanguage: "Study Language:",
continue: "Continue",
submit: "Submit",
refresh: "Refresh",
initialSurvey: "Please fill out the fields below (required fields are marked with *):",
yourGender: "Gender",
yourGenderMale: "Male",
yourGenderFemale: "Female",
yourAge: "Your Age",
years: "years",
yourCountry: "Country/Location",
yourFirstLang: "First Language",
yourEmail: "Email",
missing: "missing",
askEmailConsent1: "Why do we ask for your Email: ",
askEmailConsent2: "This is a longitudinal study, consisting of several participation sessions. Your email will only be recorded in order to invite/remind you to take part in the next session. Your Email will not be stored together with other kinds of data, and is accessible only internally to the Labvanced platform. We will not give away " +
"your email or use it for different purposes.",
yourCrowdsourcingID: "Your worker / crowdsourcing ID (*):",
loading2: "Loading, please wait",
loading3: "This might take a while.",
loadingComplete: "Loading Complete!",
canStart: "You can now start the experiment. This will switch your browser into fullscreen mode.",
keepFullscreen: "Please note that during the experiment you should not press escape or use the \"backward\" button in your browser.",
startButton: "Start",
startingExp: "Starting Experiment...",
startingIn: "Starting in ",
participationAgreement1: " I agree that all the personal data, which I provide here and all my responses will be recorded, and can be used for research purposes in a pseudonymised way. I also agree to the",
participationAgreement2: "of the Scicovery GmbH for recording, storing, and handling, participant data.",
customRequirement: "Hereby I confirm that I accept the terms and conditions of this study and fulfill the following participation requirements as stated below:",
requestPermissionHeader: "Device permissions required",
requestPermissionBody: "This experiment requires access to your webcam or microphone. In the following screen, please allow access to your webcam or microphone device to continue.",
expSessionDialogHeader: "Experiment Session",
expSessionDialogText: "Please enter details of the experiment session.",
expSessionDialogSubjCode: "Subject Code:",
},
errors: {
errorSessionNotReady: "You can currently not take part in this experiment because this study can only be started at certain times.",
errorSessionStartIn: "You can start this session in",
errorSessionOver: "You can currently not take part in this experiment because there is no starting time window defined for this study.",
playerErrorNoSubjGroup: "Error: there is no subject group defined in the experiment.",
playerErrorNoSession: "Error: there is no session defined in the subject group in the experiment.",
playerErrorNoBlock: "Error: there is no block defined in this experiment session.",
},
multiUser: {
multiUserExpLobby: "Multiple Participant Experiment",
participantsInLobby: "Participants in lobby:",
readyToStart: "Ready to start?",
waitingForOtherParticipants: "Waiting for more participants...",
experimentStartsShortly: "Your experiment will start shortly...",
successfullyMatched_1: "Successfully matched. Press ",
successfullyMatched_2: " to proceed to experiment!",
continueJointExpLobby: "continue",
jointExpTestConnection: "Testing your internet connection. please wait for 30 seconds...",
inviteFriendMultiUser1: "Need another player? Invite a friend!",
inviteFriendMultiUser2: "Your Name:",
inviteFriendMultiUser3: "Your Friends' Email:",
inviteFriendMultiUser4: "Invite",
},
screenCalibration: {
confirm: "Confirm",
calibrateIntro: "Distance and screen size is needed for the calibration:",
calibrateMethod1: "Specify your screen size manually if you know the size of your monitor.",
calibrateScreenSize: "Screen size (diagonal):",
calibrateInches: "inches",
calibrateMethod2: "Use a standardized ID card (85.60 × 53.98 mm) or any other card of the same size against the screen and try to match the size of the displayed card. " +
"You can change the size of the image by dragging the arrow. The calibration is correct if the image exactly matches the size of the card.",
calibDistance1: "Your distance to the screen (in cm) is: ",
calibDistance2: "centimeter",
},
content: {
chooseSelection: "Please Choose...",
answerPlaceholder: "Participant Answer...",
},
end: {
endExpMsg: "Thank you! The experiment session is finished.",
goToLib: "Go to experiment library",
endExpMsgTest: "The test recording of this task is over. To test the whole experiment or to record data, start the study under 'Run' in the navigation panel.",
endExpMsg2: "Did you like this study? Want to give us some feedback? Follow us on Facebook!",
moreExperiments: "Take part in more behavioural experiments:",
registerAndBuild: "OR register and build your own study for free:",
},
eyetracking: {
previousCalib1: "Use Previous Calibration Data",
previousCalib2: "Rerun Calibration",
calibLoading: "loading calibration... please wait...",
headPoseBlueMesh: "<p>Please position your head such that the blue mesh is aligned with the green target mesh:</p>",
feedbackHeadpose1: "Please make sure that your face is visible on your webcam.",
feedbackHeadpose2: "Please move closer to cam.",
feedbackHeadpose3: "Please face the webcam and place the webcam near the monitor.",
feedbackHeadpose4: "Please make sure that your head is oriented upright.",
feedbackHeadpose5: "Please move further to the left.",
feedbackHeadpose6: "Please move further to the right.",
feedbackHeadpose7: "Please move further down.",
feedbackHeadpose8: "Please move further up.",
feedbackHeadpose9: "Please shift your head up.",
feedbackHeadpose10: "Please shift your head down.",
feedbackHeadpose11: "Please shift your head right.",
feedbackHeadpose12: "Please shift your head left.",
feedbackHeadpose13: "Please tilt your head down.",
feedbackHeadpose14: "Please tilt your head up.",
feedbackHeadpose15: "Please turn your head left.",
feedbackHeadpose16: "Please turn your head right.",
feedbackHeadpose17: "Please move closer to cam.",
feedbackHeadpose18: "Please move away from cam.",
countdown1: "Great! Now, please keep this head pose... Start in ",
poseError: "<p>You lost the head pose. Please realign your head pose to the green mesh:</p>",
screenResolutionError: "Screen resolution was changed. Please restart the calibration.",
instructionsExistingCalibDataFoundAdult: "<h3>Eye-Tracking Calibration</h3>" +
"<p>We found previous calibration data in your browser cache. You can skip calibration if:" +
"<ul>" +
"<li>you are the same person that calibrated in the previous session.</li>" +
"<li>the environment and lighting conditions did not change.</li>" +
"</ul></p>",
instructionsPreEnvironmentAdult: "<h3>Calibration of an eye tracker</h3>" +
"<p><b>Please read carefully</b></p>" +
"<p>To use your webcam for eye tracking, it needs to " +
"be calibrated for your specific environment. This will take about 3-4 minutes. " +
"Before starting the calibration, please make sure that:</p>" +
"<ul>" +
"<li>You are in a quiet room.</li>" +
"<li>You have enough time.</li>" +
"<li>You do not wear glasses.</li>" +
"<li>Your webcam is as near as possible to the center of your screen (if it is not integrated with your monitor anyway).</li>" +
"</ul>",
instructionsEnvironmentAdult: "<h3>Step 1: Setup illumination</h3>" +
"<p>Please make sure that:</p>" +
"<li>There is no bright light source (window, lamp) behind you visible in the image.</li>" +
"<li>Your face and eyes should be well illuminated from the front.</li>" +
"</ul>",
instructionsPrePositioningAdult: "<h3>Step 2: Set Center Pose</h3>" +
"<p><b>Please read carefully</b></p>" +
"<p>The eye tracker will be calibrated for a specific pose (position and orientation) of your head in front of the camera. " +
"In the next step, you will define this 'center' pose. " +
"Please make sure that:</p>" +
"<ul>" +
"<li>This head pose is comfortable for you to keep for a long duration.</li>" +
"<li>Please pay attention, that also the tilt and yaw orientation of your head are comfortable.</li>" +
"<li>Please adjust your screen and webcam on the following screen, so that your webcam can easily detect your eye movements when you look at the screen. </li>" +
"</ul>",
instructionsPositioningAdult: "<h3>Step 2: Set Center Pose</h3>" +
"<ul>" +
"<li>Make sure that you are facing the screen in a comfortable pose.</li>" +
"<li>Be close enough to the camera such that your face and eyes are well detected and visible.</li>" +
"<li>This is the last time to adjust the camera and screen position.</li>" +
"</ul>",
instructionsPositioningCheckAdult: "<h3>Step 2: Set Center Pose</h3>" +
"<p>Do you want to use this pose (green mesh) or go back?</p>" +
"<ul>" +
"<li>Is the pose facing the screen and comfortable for you?</li>" +
"<li>Is the pose close enough to the camera such that your eyes are well detected?</li>" +
"</ul>",
instructionsPreCalibAdult: "<h3>Step 3: Calibration</h3>" +
"<p><b>Please read carefully</b></p>" +
"<p>Now the real calibration will start. Please, DO NOT move the webcam or screen anymore, because doing so results in a failed calibration.</p>" +
"<ul>" +
"<li>Each calibration step has 2 parts: " +
"<ul>" +
"<li>Position your head in a specified pose (position and orientation).</li>" +
"<li>Keep that pose and fixate on the points that are shown on the screen.</li>" +
"</ul></li>" +
"<li>To position your head correctly on each step, the best option is to try to overlap the face meshes, blue (current position) and green (target position).</li>" +
"<li>If your head pose is not recognized at any time, relax, sit straight again, and follow the instructions.</li>" +
"<li>After the calibration is done DO NOT move away from the screen and avoid strong head movements.</li>" +
"</ul>",
instructionsExistingCalibDataFoundInfant: "<h3>Eye-Tracking Calibration</h3>" +
"<p>We found previous calibration data in your browser cache. You can skip calibration if:" +
"<ul>" +
"<li>you are the same person that calibrated in the previous session.</li>" +
"<li>the environment and lighting conditions did not change.</li>" +
"</ul></p>",
instructionsPreEnvironmentInfant: "<h3>Calibration of an eye tracker</h3>" +
"<p><b>Instruction for parents: Please read carefully</b></p>" +
"<p>To use your webcam for eye tracking, it needs to " +
"be calibrated for your specific environment. This will take about 1-2 minutes. " +
"Before starting, please make sure that:</p>" +
"<ul>" +
"<li>Your child sits comfortably on your lap.</li>" +
"<li>There is no bright light source (window, lamp) behind you visible in the image.</li>" +
"<li>Your child does not wear glasses.</li>" +
"</ul>",
instructionsEnvironmentInfant: "",
instructionsPrePositioningInfant: "<h3>Step 1: Set Center Pose</h3>" +
"<p><b>Instruction for parents: The eye tracker will be calibrated for a specific head pose. " +
"Please make sure that:</b></p>" +
"<ul>" +
"<li>Your child's face is visible in the video and detected with a blue mesh, while looking at the screen (not yours).</li>" +
"<li>The position / head pose is comfortable for you and your child to keep for the rest of the study without much movement.</li>" +
"</ul>",
instructionsPositioningInfant: "",
instructionsPositioningCheckInfant: "<h3>Step 2: Set Center Pose</h3>" +
"<p><b>Instruction for parents: Please read carefully</b></p>" +
"<p>Do you want to use this pose (green mesh) or go back?</p>" +
"<ul>" +
"<li>Is the pose facing the screen and comfortable for your child?</li>" +
"<li>Is the pose roughly centered horizontally and the face well visible?</li>" +
"<li>If not to back and re-define the center pose.</li>" +
"</ul>",
instructionsPreCalibInfant: "<h3>Step 3: Calibration</h3>" +
"<p><b>Instruction for parents: Please read carefully</b></p>" +
"<ul>" +
"<li>Now the calibration will start. Please, DO NOT move the webcam or screen anymore, otherwise, calibration will fail.</li>" +
"<li>We will present animals at different positions on the screen and record your child's gaze when looking at these animals.</li>" +
"<li>For the calibration to work, your child will need to look at these animals, and sit in a stable position on your lab without strong head movements during and after the calibration.</li>" +
"</ul>",
countdownMessage1: "keep fixating the red circle",
countdownMessage2: "Keep fixating the animal",
loadingCalib: "Please wait for calibration to complete:<br>",
moveForward: "continue",
moveForwardIgnore: "continue anyway / skip pose check <br> (Only use in case readjustment is not possible)",
moveBackward: "back"
}
},
Polish: {
start: {
library: "Biblioteka",
langSelect: "To badanie jest dostępne w wielu językach.",
studyLanguage: "Język badania:",
continue: "Kontyntynuj",
submit: "Zatwierdź",
refresh: "Odśwież",
initialSurvey: "Proszę wypełnić poniższe pola (pola wymagane są oznaczone *):",
yourGender: "Płeć",
yourGenderMale: "Mężczyzna",
yourGenderFemale: "Kobieta",
yourAge: "Twój wiek",
years: "Lata",
yourCountry: "Kraj / lokalizacja",
yourFirstLang: "Pierwszy język",
yourEmail: "Email",
missing: "brakujące",
askEmailConsent1: "Dlaczego prosimy o Twój e-mail:",
askEmailConsent2: "Jest to badanie podłużne, składające się z kilku sesji uczestnictwa. Twój e-mail zostanie nagrany tylko w celu zaproszenia / przypomnienia o wzięciu udziału w następnej sesji. Twój e-mail nie będzie przechowywany razem z innymi rodzajami danych i jest dostępny tylko wewnętrznie na platformie Labvanced. Nie będziemy używać " +
"Twój e-mail lub użyj go do innych celów.",
yourCrowdsourcingID: "Twój identyfikator pracownika / crowdsourcingu (*):",
loading2: "Ładowanie proszę czekać",
loading3: "To może zająć chwilę.",
loadingComplete: "Ładowanie zakończone!",
canStart: "Możesz teraz rozpocząć eksperyment. Spowoduje to przełączenie przeglądarki w tryb pełnoekranowy.",
keepFullscreen: "Należy pamiętać, że podczas eksperymentu nie należy naciskać klawisza Escape ani używać przycisku \"wstecz \" w przeglądarce.",
startButton: "Rozpoczynam",
startingExp: "Rozpoczynam eksperyment ...",
startingIn: "Zaczynamy za ",
participationAgreement1: " Zgadzam się, że wszystkie podane przeze mnie dane osobowe oraz wszystkie moje odpowiedzi będą rejestrowane i będą mogły być wykorzystane do celów badawczych w sposób pseudonimizowany. Zgadzam się również na",
participationAgreement2: "firmy Scicovery GmbH do rejestrowania, przechowywania i przetwarzania danych uczestników.",
customRequirement: "Niniejszym potwierdzam, że akceptuję warunki niniejszego badania i spełniam następujące warunki uczestnictwa, jak określono poniżej:",
requestPermissionHeader: "Wymagane uprawnienia urządzenia",
requestPermissionBody: "Ten eksperyment wymaga dostępu do kamery internetowej lub mikrofonu. Zezwól na dostęp do kamery internetowej lub mikrofonu, aby kontynuować.",
expSessionDialogHeader: "Sesja eksperymentalna",
expSessionDialogText: "Proszę podać szczegóły sesji eksperymentalnej.",
expSessionDialogSubjCode: "Kod obiektu: ",
},
errors: {
errorSessionNotReady: "Obecnie nie możesz wziąć udziału w tym eksperymencie, ponieważ badanie to można rozpocząć tylko w określonych momentach.",
errorSessionStartIn: "Możesz rozpocząć tę sesję za ",
errorSessionOver: "Obecnie nie możesz wziąć udziału w tym eksperymencie, ponieważ dla tego badania nie zdefiniowano okna rozpoczęcia czasowego.",
playerErrorNoSubjGroup: "Błąd: w eksperymencie nie zdefiniowano żadnej grupy eksperymentalnej.",
playerErrorNoSession: "Błąd: nie ma zdefiniowanej sesji w grupie eksperymentalnej.",
playerErrorNoBlock: "Błąd: nie ma zdefiniowanego bloku w tej sesji eksperymentu.",
},
multiUser: {
multiUserExpLobby: "Eksperyment z wieloma uczestnikami (Multiple Participant)",
participantsInLobby: "Uczestnicy w lobby:",
readyToStart: "Gotowy do rozpoczęcia?",
waitingForOtherParticipants: "Czekamy na więcej uczestników ...",
experimentStartsShortly: "Twój eksperyment wkrótce się rozpocznie ...",
successfullyMatched_1: "Pomyślnie dopasowane. naciśnij ",
successfullyMatched_2: " przystąpić do eksperymentu!",
continueJointExpLobby: "kontyntynuj",
jointExpTestConnection: "Testowanie połączenia internetowego. proszę czekać 30 sekund... ",
inviteFriendMultiUser1: "Potrzebujesz innego gracza? Zaprosić znajomego!",
inviteFriendMultiUser2: "Twoje imię:",
inviteFriendMultiUser3: "Email Twojego znajomego:",
inviteFriendMultiUser4: "Zapraszam",
},
screenCalibration: {
confirm: "Potwierdzam",
calibrateIntro: "Do kalibracji potrzebna jest odległość i rozmiar ekranu:",
calibrateMethod1: "Jeśli znasz rozmiar swojego monitora, określ ręcznie rozmiar ekranu.",
calibrateScreenSize: "Rozmiar ekranu (przekątna):",
calibrateInches: "cale",
calibrateMethod2: "Użyj standardowego dowodu osobistego (85,60 × 53,98 mm) lub dowolnej innej karty tego samego rozmiaru na ekranie i spróbuj dopasować rozmiar wyświetlanej karty." +
"Możesz zmienić rozmiar obrazu, przeciągając strzałkę. Kalibracja jest prawidłowa, jeśli obraz dokładnie odpowiada rozmiarowi karty.",
calibDistance1: "Twoja odległość do ekranu (w cm) to:",
calibDistance2: "centymetry",
},
content: {
chooseSelection: "Proszę wybrać...",
answerPlaceholder: "Odpowiedź uczestnika ...",
},
end: {
endExpMsg: "Dziękuję! Sesja eksperymentalna została zakończona.",
goToLib: "Przejdź do biblioteki eksperymentów",
endExpMsgTest: "Testowe nagranie tego zadania dobiegło końca. Aby przetestować cały eksperyment lub zarejestrować dane, rozpocznij badanie pod „Uruchom” w panelu nawigacyjnym.",
endExpMsg2: "Podobało Ci się to badanie? Chcesz przekazać nam swoją opinię? Śledź nas na facebooku!",
moreExperiments: "Weź udział w większej liczbie eksperymentów behawioralnych:",
registerAndBuild: "LUB zarejestruj się i zbuduj własne badanie za darmo:",
},
eyetracking: {
previousCalib1: "Użyj poprzednich danych kalibracyjnych",
previousCalib2: "Uruchom ponownie kalibrację",
calibLoading: "ładowanie kalibracji ... proszę czekać ...",
headPoseBlueMesh: "<p>Ustaw głowę tak, aby niebieska siatka była wyrównana z zieloną siatką docelową:</p>",
feedbackHeadpose1: "Upewnij się, że Twoja twarz jest widoczna w kamerze internetowej.",
feedbackHeadpose2: "Podejdź bliżej do kamery.",
feedbackHeadpose3: "Skieruj się w stronę kamery internetowej i umieść ją w pobliżu monitora.",
feedbackHeadpose4: "Upewnij się, że Twoja głowa jest skierowana pionowo.",
feedbackHeadpose5: "Proszę przesunąć się w lewo.",
feedbackHeadpose6: "Proszę przesunąć się w prawo.",
feedbackHeadpose7: "Proszę przesunąć się w dół.",
feedbackHeadpose8: "Proszę przesunąć się w górę.",
feedbackHeadpose9: "Proszę podnieść głowę.",
feedbackHeadpose10: "Proszę opuścić głowę.",
feedbackHeadpose11: "Proszę, przesuń głowę w prawo.",
feedbackHeadpose12: "Proszę przesunąć głowę w lewo.",
feedbackHeadpose13: "Proszę pochylić głowę w dół.",
feedbackHeadpose14: "Proszę podnieść głowę.",
feedbackHeadpose15: "Proszę, obróć głowę w lewo.",
feedbackHeadpose16: "Proszę, obróć głowę w prawo.",
feedbackHeadpose17: "Podejdź bliżej do kamery.",
feedbackHeadpose18: "Odsuń się od kamery.",
countdown1: "Wspaniały! Teraz, proszę, zachowaj tę pozę głowy ... Zacznij od ",
poseError: "<p>Utracono pozycję głowy. Dopasuj głowę do zielonej siatki:</p>",
screenResolutionError: "Rozdzielczość ekranu została zmieniona. Proszę ponownie uruchomić kalibrację.",
instructionsExistingCalibDataFoundAdult: "<h3>Kalibracja Eye-Tracking</h3>" +
"<p>Znaleźliśmy poprzednie dane kalibracyjne w pamięci podręcznej przeglądarki. Możesz pominąć kalibrację, jeśli:" +
"<ul>" +
"<li>jesteś tą samą osobą, która wykonywała kalibrację w poprzedniej sesji.</li>" +
"<li>otoczenie i warunki oświetleniowe nie uległy zmianie.</li>" +
"</ul></p>",
instructionsPreEnvironmentAdult: "<h3>Kalibracja eye trackera</h3>" +
"<p><b>Proszę czytać uważnie</b></p>" +
"<p>Aby używać kamery internetowej do śledzenia wzroku, należy " +
"być skalibrowane dla konkretnego środowiska. Zajmie to około 3-4 minut. " +
"Przed rozpoczęciem kalibracji upewnij się, że:</p>" +
"<ul>" +
"<li>Jesteś w cichym pokoju.</li>" +
"<li>Masz wystarczająco dużo czasu.</li>" +
"<li>Nie nosisz okularów.</li>" +
"<li>Twoja kamera internetowa znajduje się jak najbliżej środka ekranu (jeśli i tak nie jest zintegrowana z monitorem)..</li>" +
"</ul>",
instructionsEnvironmentAdult: "<h3>Krok 1: Skonfiguruj oświetlenie</h3>" +
"<p>Proszę upewnij się że:</p>" +
"<li>Na obrazie za Tobą nie widać żadnego jasnego źródła światła (okienka, lampy).</li>" +
"<li>Twoja twarz i oczy powinny być dobrze oświetlone od przodu.</li>" +
"</ul>",
instructionsPrePositioningAdult: "<h3>Krok 2: Ustaw środkową pozycję</h3>" +
"<p><b>Proszę czytać uważnie</b></p>" +
"<p>Eye tracker zostanie skalibrowany dla określonej pozycji (pozycji i orientacji) Twojej głowy przed kamerą. " +
"W następnym kroku zdefiniujesz „środkową” pozę." +
"Proszę upewnij się że:</p>" +
"<ul>" +
"<li>Ta pozycja głowy jest wygodna do utrzymania przez długi czas.</li>" +
"<li>Zwróć uwagę, aby pochylenie i odchylenie głowy było wygodne.</li>" +
"<li>Dostosuj ekran i kamerę internetową na następującym ekranie, aby kamera internetowa mogła łatwo wykrywać ruchy oczu, gdy patrzysz na ekran. </li>" +
"</ul>",
instructionsPositioningAdult: "<h3>Krok 2: Ustaw środkową pozycję</h3>" +
"<ul>" +
"<li>Upewnij się, że patrzysz na ekran w wygodnej pozie.</li>" +
"<li>Bądź wystarczająco blisko kamery tak, aby twoja twarz i oczy były dobrze rozpoznawane i widoczne.</li>" +
"<li>To ostatni raz, kiedy dostosowujesz kamerę i pozycję ekranu.</li>" +
"</ul>",
instructionsPositioningCheckAdult: "<h3>Krok 2: Ustaw środkową pozycję</h3>" +
"<p>Chcesz użyć tej pozy (zielona siatka) czy wrócić?</p>" +
"<ul>" +
"<li>Czy pozycja skierowana w stronę ekranu jest dla Ciebie wygodna?</li>" +
"<li>Czy pozycja jest wystarczająco blisko aparatu, aby Twoje oczy były dobrze wykryte?</li>" +
"</ul>",
instructionsPreCalibAdult: "<h3>Krok 3: Kalibracja</h3>" +
"<p><b>Proszę czytać uważnie</b></p>" +
"<p>Teraz rozpocznie się prawdziwa kalibracja. NIE WOLNO już przesuwać kamery internetowej ani ekranu, ponieważ spowoduje to niepowodzenie kalibracji.</p>" +
"<ul>" +
"<li>Każdy krok kalibracji składa się z 2 części: " +
"<ul>" +
"<li>Ustaw głowę w określonej pozie (pozycja i orientacja).</li>" +
"<li>Zachowaj tę pozę i skup się na punktach pokazanych na ekranie.</li>" +
"</ul></li>" +
"<li>Aby prawidłowo ustawić głowę na każdym kroku, najlepszą opcją jest nałożenie na siebie siatek twarzy, niebieskiego (aktualna pozycja) i zielonego (pozycja docelowa).</li>" +
"<li>Jeśli pozycja głowy nie zostanie rozpoznana w dowolnym momencie, zrelaksuj się, usiądź prosto i postępuj zgodnie z instrukcjami.</li>" +
"<li>Po zakończeniu kalibracji NIE oddalaj się od ekranu i unikaj silnych ruchów głową.</li>" +
"</ul>",
instructionsExistingCalibDataFoundInfant: "<h3>Kalibracja Eye-Tracking</h3>" +
"<p>Znaleźliśmy poprzednie dane kalibracyjne w pamięci podręcznej przeglądarki. Możesz pominąć kalibrację, jeśli:" +
"<ul>" +
"<li>jesteś tą samą osobą, która wykonywała kalibrację w poprzedniej sesji.</li>" +
"<li>otoczenie i warunki oświetleniowe nie uległy zmianie.</li>" +
"</ul></p>",
instructionsPreEnvironmentInfant: "<h3>Kalibracja eye trackera</h3>" +
"<p><b>Instrukcja dla rodziców: przeczytaj uważnie</b></p>" +
"<p>Aby używać kamery internetowej do śledzenia wzroku, musi to zrobić " +
"być skalibrowane dla konkretnego środowiska. Zajmie to około 1-2 minut. " +
"Przed rozpoczęciem upewnij się, że:</p>" +
"<ul>" +
"<li>Twoje dziecko siedzi wygodnie na Twoich kolanach.</li>" +
"<li>Na obrazie za Tobą nie widać żadnego jasnego źródła światła (okienka, lampy).</li>" +
"<li>Twoje dziecko nie nosi okularów.</li>" +
"</ul>",
instructionsEnvironmentInfant: "",
instructionsPrePositioningInfant: "<h3>Krok 1: Ustaw środkową pozycję</h3>" +
"<p><b>Instrukcja dla rodziców: Eye tracker zostanie skalibrowany do określonej pozycji głowy. " +
"Proszę upewnij się że:</b></p>" +
"<ul>" +
"<li>Twarz Twojego dziecka jest widoczna na nagraniu i wykrywana za pomocą niebieskiej siatki, gdy patrzy na ekran (nie na Twoją).</li>" +
"<li>Pozycja/pozycja głowy jest wygodna dla Ciebie i Twojego dziecka, aby utrzymać przez resztę badania bez większego ruchu.</li>" +
"</ul>",
instructionsPositioningInfant: "",
instructionsPositioningCheckInfant: "<h3>Krok 2: Ustaw środkową pozycję</h3>" +
"<p><b>Instrukcja dla rodziców: przeczytaj uważnie</b></p>" +
"<p>Chcesz użyć tej pozy (zielona siatka) czy wrócić?</p>" +
"<ul>" +
"<li>Czy pozycja skierowana w stronę ekranu jest wygodna dla Twojego dziecka?</li>" +
"<li>Czy pozycja jest mniej więcej wyśrodkowana w poziomie, a twarz dobrze widoczna?</li>" +
"<li>Jeśli nie, to cofnij się i ponownie zdefiniuj pozycję środkową.</li>" +
"</ul>",
instructionsPreCalibInfant: "<h3>Krok 3: Kalibracja</h3>" +
"<p><b>Instrukcja dla rodziców: przeczytaj uważnie</b></p>" +
"<ul>" +
"<li>Teraz rozpocznie się kalibracja. NIE WOLNO już przesuwać kamery internetowej ani ekranu, w przeciwnym razie kalibracja się nie powiedzie.</li>" +
"<li>Przedstawimy zwierzęta w różnych pozycjach na ekranie i zarejestrujemy spojrzenie Twojego dziecka na te zwierzęta.</li>" +
"<li>Aby kalibracja zadziałała, Twoje dziecko będzie musiało patrzeć na te zwierzęta i siedzieć w stabilnej pozycji w laboratorium bez silnych ruchów głową podczas i po kalibracji.</li>" +
"</ul>",
countdownMessage1: "utrzymaj wzrok na czerwonym kole",
countdownMessage2: "utrzymaj zwrok na zwierzęciu",
loadingCalib: "Poczekaj na zakończenie kalibracji:<br>",
moveForward: "kontyntynuj",
moveForwardIgnore: "kontynuować tak czy inaczej / pominąć kontrolę pozycji <br> (stosować tylko w przypadku, gdy ponowne dostosowanie nie jest możliwe)",
moveBackward: "z powrotem"
}
},
German: {
start: {
library: "Experimente",
langSelect: "Diese Studie ist in mehreren Sprachen verfügbar.",
studyLanguage: "Studiensprache:",
continue: "Weiter",
submit: "Ok",
refresh: "Aktualisieren",
initialSurvey: "Bitte füllen Sie die untenstehenden Felder aus (Pflichtfelder sind mit * gekennzeichnet):",
yourGender: "Geschlecht",
yourGenderMale: "Männlich",
yourGenderFemale: "Weiblich",
yourAge: "Dein Alter",
years: "Jahre",
yourCountry: "Land / Aufenthaltsort",
yourFirstLang: "Muttersprache",
yourEmail: "Email",
missing: "fehlt",
askEmailConsent1: "Warum fragen wir nach Ihrer E-Mail: ",
askEmailConsent2: "Dies ist eine Längsschnittstudie, die aus mehreren Teilnahme-Sitzungen besteht. Ihre E-Mail wird nur neu erfasst, um Sie zur Teilnahme an der nächsten Sitzung einzuladen. Ihre E-Mail wird nicht zusammen mit anderen Arten von Daten gespeichert und ist nur intern für die Labvanced-Plattform zugänglich. Wir geben Ihre E-Mail nicht weiter oder verwenden sie für andere Zwecke.",
yourCrowdsourcingID: "Ihre Worker / Crowdsourcing Id (*):",
loading2: "Lade, bitte warten",
loading3: "Dies kann eine Weile dauern.",
loadingComplete: "Fertig geladen!",
canStart: "Sie können nun das Experiment starten. Dies schaltet Ihren Browser in den Vollbildmodus um.",
keepFullscreen: "Bitte beachten Sie, dass Sie während des Experiments nicht die Escape-Taste drücken oder die Schaltfläche \"Zurück\" in Ihrem Browser verwenden sollten.",
startButton: "Start",
startingExp: "Experiment wird gestartet...",
startingIn: "Start in ",
participationAgreement1: "Ich stimme zu, dass alle persönlichen Daten, die ich hier zur Verfügung stelle, und alle meine Antworten aufgezeichnet werden und zu Forschungszwecken pseudonymisiert verwendet werden dürfen. Zudem stimme ich den",
participationAgreement2: "der Scicovery GmbH bzgl Datenaufnahme, Datenspeicherung, und Datenverwaltung von Teilnehmerdaten zu.",
customRequirement: "Ich bestätige hiermit, dass ich mit den folgenden Regeln und Bedingungen der Studie einverstanden bin und folgende Teilnahmebedingungen vollständig erfülle:",
requestPermissionHeader: "Geräteberechtigungen erforderlich",
requestPermissionBody: "Die Teilnahme an diesem Experiment benötigt Zugriff auf Ihre Webcam oder Ihr Microphone. Um fortzufahren, erlauben Sie bitte auf dem folgenden Bildschirm den Zugriff auf Ihre Webcam oder Ihr Mikrofon.",
expSessionDialogHeader: "Experiment-Sitzung",
expSessionDialogText: "Bitte geben Sie die Details der Versuchssitzung ein",
expSessionDialogSubjCode: "Subject Code:",
},
errors: {
errorSessionNotReady: "Sie können derzeit nicht an diesem Experiment teilnehmen, da diese Studie nur zu bestimmten Zeiten gestartet werden kann.",
errorSessionStartIn: "Sie können diese Sitzung starten in",
errorSessionOver: "Sie können derzeit nicht an diesem Experiment teilnehmen, da für diese Studie kein Startzeitfenster definiert ist.",
playerErrorNoSubjGroup: "Fehler: Im Experiment ist keine Versuchspersonengruppe definiert.",
playerErrorNoSession: "Fehler: in der Versuchspersonengruppe ist keine Experimentssitzung definiert.",
playerErrorNoBlock: "Fehler: In dieser Experimentssitzung ist kein Versuchsblock definiert.",
},
multiUser: {
multiUserExpLobby: "Experiment mit mehreren Teilnehmern",
participantsInLobby: "Teilnehmer in der Lobby:",
readyToStart: "Bereit zum Start?",
waitingForOtherParticipants: "Warte auf weitere Teilnehmer...",
experimentStartsShortly: "Das Experiment startet in Kürze...",
successfullyMatched_1: "Sie wurden erfolgreich einem Experiment zugeteilt. Drücken Sie",
successfullyMatched_2: "um zu dem Experiment zu gelangen!",
continueJointExpLobby: "Weiter,",
jointExpTestConnection: "Ihre Internet-Verbindung wird getestet. Bitte warten Sie ca. 30 Sekunden...",
inviteFriendMultiUser1: "Brauchen Sie einen Mitspieler? Landen Sie doch einen Freund ein!",
inviteFriendMultiUser2: "Ihr Name:",
inviteFriendMultiUser3: "Die Email Adresse Ihres Freundes:",
inviteFriendMultiUser4: "Einladen",
},
screenCalibration: {
confirm: "Bestätigen",
calibrateIntro: "Sitzabstand und Bildschirmgröße sind notwendig für die Kalibrierung:",
calibrateMethod1: "Geben Sie Ihre Bildschirmgröße manuell an, wenn Sie die Größe Ihres Monitors kennen.",
calibrateScreenSize: "Bildschirmgröße (Diagonal):",
calibrateInches: "Inch",
calibrateMethod2: "Halten Sie einen standardisierten Ausweis (85.60 × 53.98 mm) oder eine andere Karte der gleichen Größe gegen den Bildschirm und versuchen Sie, die Größe der angezeigten Karte anzupassen. " +
"Sie können die Größe des Bildes durch Ziehen des Pfeils ändern. Die Kalibrierung ist korrekt, wenn das Bild genau der Größe der Karte entspricht.",
calibDistance1: "Ihre Distanz zum Bildschirm beträgt:",
calibDistance2: "Centimeter",
},
content: {
chooseSelection: "Bitte Auswählen...",
answerPlaceholder: "Teilnehmer Antwort",
},
end: {
endExpMsg: "Vielen Dank! Die Experimentssitzung ist beendet.",
goToLib: "Gehe zur Experiment-Bibliothek",
endExpMsgTest: "Die Test-Aufnahme dieses Taks ist beendet. Um das ganze Experiment zu testen, oder um Daten aufzunehmen, starten Sie die Studie unter 'Run' in der Navigationsleite.",
moreExperiments: "Nehmen Sie an weiteren spannenden Online Verhaltensstudien teil:",
registerAndBuild: "Oder registrieren Sie sich und erstellen komplett gratis Ihre eigene Studie:",
},
eyetracking: {
previousCalib1: "Vorherige Kalibrierdaten verwenden",
previousCalib2: "Kalibrierung erneut durchführen",
calibLoading: "Kalibrierung laden... bitte warten...",
headPoseBlueMesh: "<p>Bitte positionieren Sie Ihren Kopf so, dass das blaue Netz auf das grüne Zielnetz ausgerichtet ist:</p>",
feedbackHeadpose1: "Bitte stellen Sie sicher, dass Ihr Gesicht in Ihrer Webcam sichtbar ist",
feedbackHeadpose2: "Bitte gehen Sie näher an die Kamera heran.",
feedbackHeadpose3: "Bitte schauen Sie mit dem Gesicht zur Webcam und platzieren Sie die Webcam in der Nähe des Monitors.",
feedbackHeadpose4: "Bitte stellen Sie sicher, dass Ihr Kopf aufrecht ausgerichtet ist.",
feedbackHeadpose5: "Bitte bewegen Sie sich weiter nach links.",
feedbackHeadpose6: "Bitte bewegen Sie sich weiter nach rechts.",
feedbackHeadpose7: "Bitte gehen Sie weiter nach unten.",
feedbackHeadpose8: "Bitte gehen Sie weiter nach oben.",
feedbackHeadpose9: "Bitte bewegen Sie Ihren Kopf nach oben.",
feedbackHeadpose10: "Bitte bewegen Sie Ihren Kopf nach unten.",
feedbackHeadpose11: "Bitte bewegen Sie Ihren Kopf nach rechts.",
feedbackHeadpose12: "Bitte bewegen Sie Ihren Kopf nach links.",
feedbackHeadpose13: "Bitte neigen Sie Ihren Kopf nach unten.",
feedbackHeadpose14: "Bitte neigen Sie Ihren Kopf nach oben.",
feedbackHeadpose15: "Bitte drehen Sie Ihren Kopf nach links.",
feedbackHeadpose16: "Bitte drehen Sie Ihren Kopf nach rechts.",
feedbackHeadpose17: "Bitte gehen Sie näher zur Kamera.",
feedbackHeadpose18: "Bitte gehen Sie von der Kamera weg.",
countdown1: "Gut! Behalten Sie jetzt bitte diese Kopfhaltung bei... Beginnen Sie in ",
poseError: "<p>Sie haben die Kopfhaltung verloren. Bitte richten Sie Ihre Kopfhaltung wieder auf das grüne Netz aus:</p>",
screenResolutionError: "Die Bildschirmauflösung wurde geändert. Bitte starten Sie die Kalibrierung neu",
instructionsExistingCalibDataFoundAdult: "<h3>Blickbewegungs-Kalibrierung</h3>" +
"<p>Wir haben frühere Kalibrierungsdaten in Ihrem Browser-Cache gefunden. Sie können die Kalibrierung überspringen, wenn:" +
"<ul>" +
"<li>Sie sind dieselbe Person, die sich in der vorherigen Sitzung kalibriert hat.</li>" +
"<li>sich die Umwelt- und Lichtbedingungen nicht geändert haben. </li>" +
"</ul></p>",
instructionsPreEnvironmentAdult: "<h3>Kalibrierung des Eyetrackers</h3>" +
"<p><b>Bitte sorgfältig lesen</b></p>" +
"<p>Um Ihre Webcam für die Blickverfolgung zu verwenden, muss sie " +
"für Ihre spezifische Umgebung kalibriert werden. Dies wird etwa 3-4 Minuten dauern. " +
"Bevor Sie die Kalibrierung starten, stellen Sie bitte folgendes sicher:</p>" +
"<ul>" +
"<li>Sie befinden sich in einem ruhigen Raum. </li>" +
"<li>Sie haben genug Zeit. </li>" +
"<li>Sie tragen keine Brille.</li>" +
"<li>Ihre Webcam befindet sich so nah wie möglich an der Mitte Ihres Bildschirms (falls sie nicht ohnehin in Ihren Monitor integriert ist).</li>" +
"</ul>",
instructionsEnvironmentAdult: "<h3>Schritt 1: Beleuchtung einrichten</h3>" +
"<p>Bitte stellen Sie folgendes sicher:</p>" +
"<li>Es ist keine helle Lichtquelle (Fenster, Lampe) hinter Ihnen im Bild sichtbar.</li>" +
"<li>Das Gesicht und die Augen sollten von vorne gut ausgeleuchtet sein.</li>" +
"</ul>",
instructionsPrePositioningAdult: "<h3>Schritt 2: Mittelposition setzen</h3>" +
"<p><b>Bitte sorgfältig lesen</b></p>" +
"<p>Der Eyetracker wird für eine bestimmte Pose (Position und Ausrichtung) Ihres Kopfes vor der Kamera kalibriert. " +
"Im nächsten Schritt werden Sie diese 'Center'-Pose definieren. " +
"Bittes stellen Sie folgendes sicher: </p>" +
"<ul>" +
"<li>Diese Kopfhaltung ist bequem für Sie, um sie lange beizubehalten.</li>" +
"<li>Bitte achten Sie darauf, dass auch die Neigung- und Orientierung Ihres Kopfes angenehm ist.</li>" +
"<li>Bitte stellen Sie Ihren Bildschirm und Ihre Webcam auf dem folgenden Bildschirm so ein, dass Ihre Webcam Ihre Augenbewegungen leicht erkennen kann, wenn Sie auf den Bildschirm blicken. </li>" +
"</ul>",
instructionsPositioningAdult: "<h3>Schritt 2: Mittelposition setzen</h3>" +
"<ul>" +
"<li>Vergewissern Sie sich, dass Sie in einer bequemen Pose auf den Bildschirm schauen.</li>" +
"<li>Seien Sie nahe genug an der Kamera, so dass Ihr Gesicht und Ihre Augen gut erkannt werden und sichtbar sind.</li>" +
"<li>Dies ist das letzte Mal, dass die Kamera- und Bildschirmposition eingestellt wird.</li>" +
"</ul>",
instructionsPositioningCheckAdult: "<h3>Schritt 2: Mittelposition setzen</h3>" +
"<p>Wollen Sie diese Pose (grünes Netz) verwenden oder zurückgehen?</p>" +
"<ul>" +
"<li>Ist die Pose dem Bildschirm zugewandt und für Sie bequem?</li>" +
"<li>Ist die Pose nahe genug an der Kamera, so dass Ihre Augen gut erkannt werden?</li>" +
"</ul>",
instructionsPreCalibAdult: "<h3>Schritt 3: Kalibrierung</h3>" +
"<p><b>Bitte sorgfältig lesen</b></p>" +
"<p>Jetzt beginnt die eigentliche Kalibrierung. Bitte bewegen Sie die Webcam oder den Bildschirm NICHT mehr, da dies zu einer fehlgeschlagenen Kalibrierung führt.</p>" +
"<ul>" +
"<li>Jeder Kalibrierungsschritt besteht aus 2 Teilen: " +
"<ul>" +
"<li>Positionieren Sie Ihren Kopf in einer bestimmten Pose (Position und Ausrichtung).</li>" +
"<li>Behalten Sie diese Pose bei und fixieren Sie auf die Punkte, die auf dem Bildschirm angezeigt werden.</li>" +
"</ul></li>" +
"<li>Um Ihren Kopf immer richtig zu positionieren, ist es am besten, wenn Sie versuchen, die Gesichtsmasken, blau (aktuelle Position) und grün (Zielposition), zu überlappen.</li>" +
"<li>Wenn Ihre Kopfhaltung zu irgendeinem Zeitpunkt nicht erkannt wird, entspannen Sie sich, setzen Sie sich wieder gerade hin und folgen Sie den Anweisungen.</li>" +
"<li>Nach erfolgter Kalibrierung bewegen Sie sich NICHT vom Bildschirm weg und vermeiden Sie starke Kopfbewegungen.</li>" +
"</ul>",
instructionsExistingCalibDataFoundInfant: "<h3>Augenverfolgungs-Kalibrierung</h3>" +
"<p>Wir haben frühere Kalibrierungsdaten in Ihrem Browser-Cache gefunden. Sie können die Kalibrierung überspringen, wenn:" +
"<ul>" +
"<li>Sie sind dieselbe Person, die sich in der vorherigen Sitzung kalibriert hat.</li>" +
"<li>die Umgebungsbedingungen sich nicht nicht verändert haben. </li>" +
"</ul></p>",
instructionsPreEnvironmentInfant: "<h3>Kalibrierung des Eyetrackers</h3>" +
"<p><b>Unterweisung für Eltern: Bitte lesen Sie sorgfältig </b></p>" +
"<p>Um Ihre Webcam für die Blickverfolgung zu verwenden, muss sie " +
"für Ihre spezifische Umgebung kalibriert werden. Dies wird etwa 1-2 Minuten dauern. " +
"Bevor Sie beginnen, vergewissern Sie sich bitte, dass:</p>" +
"<ul>" +
"<li>Ihr Kind bequem auf ihrem Schoß sitzt.</li>" +
"<li>Keine helle Lichtquelle (Fenster, Lampe) hinter Ihnen im Bild sichtbar ist.</li>" +
"<li>Ihr Kind keine Brille trägt.</li>" +
"</ul>",
instructionsEnvironmentInfant: "",
instructionsPrePositioningInfant: "<h3>Schritt 1: Mittelposition setzen</h3>" +
"<p><b>Unterweisung für Eltern: Der Eyetracker wird für eine bestimmte Kopfhaltung kalibriert. " +
"Bitte stellen Sie sicher, dass:</b><</p>" +
"<ul>" +
"<li>Das Gesicht Ihres Kindes ist auf dem Video sichtbar ist und von der blauen Maske erkannt wird während es auf den Bildschirm schaut (und nicht Ihr Gesicht).</li>" +
"<li>Die Position / Kopfhaltung ist für Sie und Ihr Kind bequem und kann für den Rest der Studie ohne viel Bewegung beibehalten werden.</li>" +
"</ul>",
instructionsPositioningInfant: "",
instructionsPositioningCheckInfant: "<h3>Schritt 2: Mittelposition setzen</h3>" +
"<p><b>Unterweisung für Eltern: Bitte lesen Sie sorgfältig </b></p>" +
"<p>Wollen Sie diese Pose (grüne Maske) verwenden oder zurückgehen?</p>" +
"<ul>" +
"<li>Ist die Pose dem Bildschirm zugewandt und für Ihr Kind bequem?</li>" +
"<li>Ist die Pose ungefähr horizontal zentriert und das Gesicht gut sichtbar?</li>" +
"<li>Falls nicht, bitte zurückgehen und die Mittelposition neu definieren.</li>" +
"</ul>",
instructionsPreCalibInfant: "<h3>Schritt 3: Kalibrierung</h3>" +
"<p><b>Unterweisung für Eltern: Bitte lesen Sie sorgfältig </b></p>" +
"<ul>" +
"<li>Jetzt beginnt die Kalibrierung. Bitte bewegen Sie die Webcam oder den Bildschirm NICHT mehr, sonst wird die Kalibrierung fehlschlagen.</li>" +
"<li>Wir präsentieren Tiere an verschiedenen Positionen auf dem Bildschirm und zeichnen den Blick Ihres Kindes auf, wenn es diese Tiere ansieht.</li>" +
"<li> Damit die Kalibrierung funktioniert, muss Ihr Kind diese Tiere anschauen und in einer stabilen Position auf Ihrem Labor sitzen, ohne starke Kopfbewegungen während und nach der Kalibrierung.</li>" +
"</ul>",
countdownMessage1: "Fixieren Sie den roten Kreis",
countdownMeldung2: "Fixieren Sie das Tier Bild",
LadenCalib: "Bitte warten Sie, bis die Kalibrierung abgeschlossen ist:<br>",
moveForward: "weiter",
moveForwardIgnore: "Trotzdem fortfahren / Posenprüfung überspringen <br> (Nur verwenden, falls eine Nachjustierung nicht möglich ist)",
moveBackward: "zurück",
}
},
Spanish: {
start: {
library: "Biblioteca",
langSelect: "Este estudio está disponible en varios idiomas.",
studyLanguage: "Idioma del estudio:",
continue: "Seguir",
submit: "Enviar",
refresh: "Actualizar",
initialSurvey: "Por favor, rellene los siguientes campos (los campos obligatorios están marcados con un *): ",
yourGender: "Género",
yourGenderMale: "Masculino",
yourGenderFemale: "Femenino",
yourAge: "Tu Edad",
years: "años",
yourCountry: "País / Ubicación",
yourFirstLang: "Primer Idioma",
yourEmail: "Correo Electrónico",
missing: "esta perdido",
askEmailConsent1: "Por qué solicitamos su correo electrónico: ",
askEmailConsent2: "Este es un estudio longitudinal, que consta de varias sesiones.Su correo electrónico solo será recodificado para invitarle / recordarle que participe en la próxima sesión.Su correo electrónico no se almacenará junto con otro tipo de datos, y solo es accesible internamente a la plataforma Labvanced.No se lo revelaremos a nadie" +
"su correo electrónico o úselo para diferentes propósitos.",
yourCrowdsourcingID: "Su identificación de trabajador / crowdsourcing(*): ",
loading2: "Cargando, por favor espere",
loading3: "Esto aún puede tardar.",
loadingComplete: "Carga completada!",
canStart: "Ahora puede comenzar el experimento. Esto cambiará su navegador al modo de pantalla completa.",
keepFullscreen: "Tenga en cuenta que durante el experimento nunca debe presionar escape o usar el botón \"hacia atrás\" en su navegador.",
startButton: "Comience",
startingExp: "Iniciando el experimento...",
startingIn: "Comenzando en ",
participationAgreement1: " Acepto que todos los datos personales que proporciono aquí y todas mis respuestas se registrarán y se podrán utilizar para fines de investigación de forma seudónima. También estoy de acuerdo con el",
participationAgreement2: "de Scicovery GmbH para el registro, almacenamiento y manejo de los datos de los participantes.",
customRequirement: "Por la presente confirmo que acepto los términos y condiciones de este estudio y cumplo con los siguientes requisitos de participación como se indica a continuación: ",
requestPermissionHeader: "Requiere permiso del dispositivo",
requestPermissionBody: "Este experimento requiere el acceso a su cámara web o micrófono. En la siguiente pantalla, permite el acceso a tu cámara web o al micrófono para continuar.",
expSessionDialogHeader: "Sesión de experimentación",
expSessionDialogText: "Por favor, introduzca los detalles de la sesión de experimentación",
expSessionDialogSubjCode: "Código del sujeto:",
},
errors: {
errorSessionNotReady: "Actualmente no puede participar en este experimento porque este estudio solo puede iniciarse en un horario concreto",
errorSessionStartIn: "Puedes comenzar esta sesión en",
errorSessionOver: "Actualmente no puede participar en este experimento porque aun no se ha definido la hora de inicio del estudio.",
playerErrorNoSubjGroup: "Error: no hay un grupo de sujetos definido en el experimento.",
playerErrorNoSession: "Error: no hay una sesión definida en el grupo de sujetos en el experimento.",
playerErrorNoBlock: "Error: no hay un bloque definido en esta sesión de experimento.",
},
multiUser: {
multiUserExpLobby: "Experimento de participantes múltiples",
participantsInLobby: "Participantes en el lobby:",
readyToStart: "¿Listo para comenzar?",
waitingForOtherParticipants: "Esperando a más participantes...",
experimentStartsShortly: "Su experimento comenzará en breve....",
successfullyMatched_1: "Emparejado correctamente. Continúe",
successfullyMatched_2: " para continuar con el experimento!",
continueJointExpLobby: "Continuar",
jointExpTestConnection: "Compruebe su conexión a internet. Por favor, espere 30 segundos...",
inviteFriendMultiUser1: "¿Necesitas otro jugador? Invite a un amigo!",
inviteFriendMultiUser2: "Su nombre:",
inviteFriendMultiUser3: "El correo electrónico de sus amigos:",
inviteFriendMultiUser4: "Invite",
},
screenCalibration: {
confirm: "Confirmar",
calibrateIntro: "La distancia y el tamaño de la pantalla son necesarios para la calibración: ",
calibrateMethod1: "Especifique el tamaño de su pantalla manualmente si conoce el tamaño de su monitor.",
calibrateScreenSize: "Tamaño de pantalla (diagonal):",
calibrateInches: "pulgadas",
calibrateMethod2: "Utilice una tarjeta de identificación estandarizada(85.60 × 53.98 mm) o cualquier otra tarjeta del mismo tamaño contra la pantalla e intente hacerla coincidir con el tamaño de la tarjeta que se muestra. " +
"Puede cambiar el tamaño de la imagen arrastrando la flecha.La calibración será correcta si la imagen coincide exactamente con el tamaño de la tarjeta.",
calibDistance1: "Su distancia a la pantalla (en cm) es: ",
calibDistance2: "centímetro",
},
content: {
chooseSelection: "Por favor elija...",
answerPlaceholder: "Respuesta del participante...",
},
end: {
endExpMsg: "¡Gracias! La sesión experimental ha finalizado.",
goToLib: "Ir a la biblioteca de experimentos",
endExpMsgTest: "La grabación de prueba de esta tarea ha terminado.Para probar todo el experimento o registrar datos, comience el estudio en 'Ejecutar' en el panel de navegación.",
moreExperiments: "Participe en más experimentos comportamentales:",
registerAndBuild: "O regístrese y cree su propio estudio gratis: ",
},
eyetracking: {
previousCalib1: "Usar los datos de calibración anteriores",
previousCalib2: "Reejecutar la calibración",
calibLoading: "Calibración de carga... por favor espere...",
headPoseBlueMesh: "<p>Por favor posicione su cabeza de tal manera que la malla azul esté alineada con la malla verde del objetivo:</p>",
feedbackHeadpose1: "Por favor, asegúrese de que su cara sea visible en su cámara web",
feedbackHeadpose2: "Por favor, acérquese a la cámara",
feedbackHeadpose3: "Por favor, mire hacia la cámara web y coloque la cámara web cerca del monitor",
feedbackHeadpose4: "Por favor, asegúrese de que su cabeza está orientada hacia arriba",
feedbackHeadpose5: "Por favor, muévase más a la izquierda",
feedbackHeadpose6: "Por favor, muévase más a la derecha",
feedbackHeadpose7: "Por favor, muévase más hacia abajo",
feedbackHeadpose8: "Por favor, muévase más arriba",
feedbackHeadpose9: "Por favor, mueve la cabeza hacia arriba",
feedbackHeadpose10: "Por favor, mueva su cabeza hacia abajo",
feedbackHeadpose11: "Por favor, mueve la cabeza hacia la derecha",
feedbackHeadpose12: "Por favor, mueve la cabeza hacia la izquierda",
feedbackHeadpose13: "Por favor, incline la cabeza hacia abajo",
feedbackHeadpose14: "Por favor, incline su cabeza hacia arriba",
feedbackHeadpose15: "Por favor, gire la cabeza hacia la izquierda",
feedbackHeadpose16: "Por favor, gire la cabeza hacia la derecha",
feedbackHeadpose17: "Por favor, acérquese a la cámara",
feedbackHeadpose18: "Por favor, aléjese de la cámara",
countdown1: "¡Genial! Ahora, por favor mantén esta pose de cabeza... Empieza en ",
poseError: "<p>Perdió la pose de la cabeza. Por favor, realinee su pose de cabeza a la malla verde:</p>",
screenResolutionError: "La resolución de la pantalla fue cambiada. Por favor, reinicie la calibración",
instructionsExistingCalibDataFoundAdult: "<h3> Calibración de seguimiento de ojos</h3>" +
"<p>Encontramos datos de calibración anteriores en la caché de su navegador. Puedes saltarte la calibración si:" +
"<ul>" +
"<li>usted es la misma persona que calibró en la sesión anterior.</li>" +
"El ambiente y las condiciones de iluminación no cambiaron." +
"</ul></p>",
instructionsPreEnvironmentAdult: "<h3>Calibración del rastreador ocular</h3>" +
"<p><b>Por favor, lea cuidadosamente</b></p>" +
"<p>Para usar su cámara web para el seguimiento de los ojos, necesita " +
"...estar calibrado para su entorno específico. Esto llevará unos 3 o 4 minutos. " +
"Antes de comenzar la calibración, por favor asegúrese de que:</p>" +
"<ul>" +
"<li>Estás en una habitación tranquila.</li>" +
"<li>Tienes suficiente tiempo.</li>" +
"<li>No usas gafas.</li>" +
"<li>Su cámara web está lo más cerca posible del centro de su pantalla (si no está integrada en su monitor de todos modos).</li>" +