"""
Bilingual UI strings (English / Spanish). Opinion codes stored in data are 'A' and 'B';
topic keys in participant.vars remain the English placeholders from shared_constants.TOPICS.
"""
from shared_constants import TOPICS
def option_label(lang, code):
"""Human-readable label for opinion code 'A' or 'B'."""
t = TEXT.get(lang, TEXT['en'])
return t['option_labels'][code]
def display_topic(lang, topic_key):
"""Localized topic text for a canonical topic string from shared_constants.TOPICS."""
try:
i = TOPICS.index(topic_key)
except ValueError:
return topic_key
if lang == 'es':
return TEXT['es']['topic_labels'][i]
return TOPICS[i]
TEXT = {
'en': {
'option_labels': {'A': 'Option A', 'B': 'Option B'},
'topic_labels': list(TOPICS),
'consent_title': 'Consent to Participate in Research',
'consent_study_title': 'Research Study: Decision-Making in Social Contexts',
'consent_pi': 'Principal Investigator:',
'consent_institution': 'Institution:',
'consent_s1_title': '1. Study Overview',
'consent_s1_body': (
'You are invited to participate in a research study regarding how people make decisions that involve another participant. '
'The study consists of three main parts and will take approximately 40 minutes to complete.'
),
'consent_s2_title': '2. Procedures',
'consent_s2_intro': 'If you agree to participate, you will proceed through the following stages:',
'consent_s2_li1': 'Part 1: You will be asked to express your opinions and make decisions on various topics.',
'consent_s2_li2': 'Part 2: You will be matched with other participants and will interact online. You will be given information about the opinions of the participants you are matched with and asked to make decisions.',
'consent_s2_li3': 'Part 3: You will answer questions regarding your predictions about other participants\' behavior.',
'consent_s3_title': '3. Risks and Benefits',
'consent_s3_risks': (
'Risks: The risks associated with this study are minimal and do not exceed those encountered in daily life. '
'Some questions may touch on sensitive social or political topics, and although participants will see others\' responses and make payoff-relevant decisions based on those responses, they will not be able to identify which participant gave which responses.'
),
'consent_s3_benefits': (
'Benefits: There are no direct benefits to you other than the monetary compensation. '
'However, your participation contributes to scientific understanding of social dynamics.'
),
'consent_s4_title': '4. Confidentiality',
'consent_s4_body': (
'Your identity will be protected at all times. '
'Any data collected will be associated with an anonymous ID number, not your name. '
'The data will be stored on encrypted servers and accessible only to the research team.'
),
'consent_s5_title': '5. Compensation',
'consent_s5_body': (
'You will receive a participation fee plus an additional bonus based on the decisions you make during the experiment. '
'In the experiment, you will earn or lose Points based on your interactions. '
'At the end of the session, these points will be converted to real currency at a specific exchange rate.'
),
'consent_s6_title': '6. Voluntary Participation',
'consent_s6_body': (
'Your participation is entirely voluntary. You may withdraw at any time without penalty. '
'However, if you withdraw before the end, you may forfeit the performance-based portion of your payment.'
),
'consent_contact': (
'Contact: If you have questions about this study, you may contact the Principal Investigator at [mauricio.fernandez@cide.edu].'
),
'consent_checkbox': 'I have read the information and agree to participate',
'consent_error': 'You must agree to the terms to proceed.',
'gi_title': 'General Instructions',
'gi_welcome_heading': 'Welcome',
'gi_welcome_p1': (
'Thank you for participating in this study on decision-making in group settings. The other people in this session are also participating in the experiment, and you may not talk to them. '
'If you have a question, please raise your hand and an experimenter will come and answer you in private.'
),
'gi_welcome_p2': (
'You will receive $X for participating in this experiment, but the decisions you make can further increase or decrease these earnings. '
'Please read these instructions carefully; your final payment is determined by your decisions, the decisions of others, and the accuracy of your predictions.'
),
'gi_welcome_p3': (
'During the experiment, you will earn or lose "points" (1 point = $1). '
'Because your final earnings depend on how your decisions interact with the responses of participants in this session, your payoff cannot be determined immediately. '
'Once this session is concluded, we will calculate your final total. Any money you earn will be paid privately once the final calculations are complete. '
'You will receive your payment via [HOW ARE WE GOING TO PAY].'
),
'gi_overview_heading': 'Experiment Overview',
'gi_ov_p1_title': 'Part 1: Opinions on Various Topics',
'gi_ov_p1_text': 'You will give your private opinion on various topics and decide if you are willing to pay a cost to erase points from others who expressed opposing views.',
'gi_ov_p2_title': 'Part 2: The Potential Partners',
'gi_ov_p2_text': 'We will virtually select 10 potential partners from study participants. You will decide which opinion to express to your matched partner, who is selected randomly from among those potential partners.',
'gi_ov_p3_title': 'Part 3: Prediction Task',
'gi_ov_p3_text': 'You will predict the behavior of other participants. Accurate predictions will earn you bonus points.',
'gi_detail_heading': 'Detailed Instructions',
'gi_p1_heading': 'Part 1: Opinions on Various Topics',
'gi_p1_intro': 'In this part, you will be presented with several topics. For each topic, you will answer two questions:',
'gi_p1_q1': (
'Q.1 What is your opinion on the current topic?: Please select the option that best reflects your view. We will call your answer to this question your "private opinion". '
'For this question, choosing the option that does not best reflect your view will not increase your earnings.'
),
'gi_p1_q2': (
'Q.2 Would you be willing to pay 1 point to erase points from a participant who expresses an opinion different than yours?: '
'This decision will be used in Part 2. If you select "Yes", 1 point will be deducted from your total earnings. '
'The amount of points you would erase from participants who express an opinion different from yours can be either 5 or 20 points, depending on the interaction.'
),
'gi_p2_heading': 'Part 2: Your "Potential Partners"',
'gi_p2_p1': (
'We will virtually select 10 potential partners from the other participants: some have a private opinion that favors one side of a topic from Part 1, and the rest have a private opinion that favors the opposite side. '
'All of your potential partners were selected from participants who responded "Yes" to Q.2 of Part 1 and were therefore willing to pay the cost to erase points from participants who express an opinion different from their private opinion. '
'You will be randomly matched with one of these 10 potential partners. You must decide which opinion to express to your matched partner. '
'If the opinion you express differs from your matched partner\'s private opinion (again, their response to Q.1 of Part 1), you will lose either 5 or 20 points. The specific amount depends on the interaction.'
),
'gi_p2_p2': 'For each topic, you will be randomly placed into one of four possible interactions. The interactions will depend on your private opinion in a way we now illustrate.',
'gi_p2_p3': 'Below is an interactive example, which shows the first question of Part 1 and how your response affects the interactions you may be placed in:',
'gi_example_title': 'Example of Question 1 of Part 1: Which is better, coffee or tea?',
'gi_example_label': (
'Please select the option that best reflects your view. '
'Your response is completely anonymous. '
'There is no payoff advantage to choosing an option other than that which best reflects your view.'
),
'gi_example_coffee': 'Coffee',
'gi_example_tea': 'Tea',
'gi_scenario_title': 'The 4 Possible Interactions',
'gi_scenario_intro': 'You chose .... Here are the interactions you might face. Notice how the composition changes based on your preference:',
'gi_scenario_li1': 'We will match you with a partner chosen randomly from among 6 ... lovers and 4 ... lovers. You will lose 5 points if the opinion you express is different from your matched partner\'s private opinion.',
'gi_scenario_li2': 'We will match you with a partner chosen randomly from among 6 ... lovers and 4 ... lovers. You will lose 20 points if the opinion you express is different from your matched partner\'s private opinion.',
'gi_scenario_li3': 'We will match you with a partner chosen randomly from among 7 ... lovers and 3 ... lovers. You will lose 5 points if the opinion you express is different from your matched partner\'s private opinion.',
'gi_scenario_li4': 'We will match you with a partner chosen randomly from among 7 ... lovers and 3 ... lovers. You will lose 20 points if the opinion you express is different from your matched partner\'s private opinion.',
'gi_p2_after': (
'After entering an interaction, you must decide which opinion to express to your matched partner, who was randomly selected from among your potential partners. '
'You can choose to express your private opinion or the alternative opinion.'
),
'gi_erase_heading': 'How points are erased',
'gi_erase_p': (
'With the responses of all participants in the study, the system will match you with one randomly selected participant from your ten potential partners. That participant becomes your matched partner.'
),
'gi_erase_li': 'If the opinion you chose to express is different from your matched partner\'s private opinion, then 5 or 20 points (depending on the interaction) will be erased from your total.',
'gi_p3_heading': 'Part 3: Prediction Task',
'gi_p3_p1': 'Finally, you will be asked to predict the behavior of other participants. Specifically, you will estimate the number of participants who chose to express an opinion that differed from their private opinion in the same scenarios you just faced.',
'gi_p3_p2': (
'This task will be paid out based on your accuracy in predicting the behavior of other participants. It is designed so that you can secure the largest chance of winning a bonus of B points by reporting your most-accurate guess. '
'The closer you get to the real value, the greater the probability of getting the bonus points. The precise payment rule details are available by request at the end of the experiment.'
),
'gi_pay_heading': 'Summary of Payments',
'gi_pay_th_event': 'Event',
'gi_pay_th_consequence': 'Consequence',
'gi_pay_row1_event': 'Participation',
'gi_pay_row1_text': 'You begin with a fixed Participation Fee of 1 point.',
'gi_pay_row2_event': 'Paying to Erase (Part 1)',
'gi_pay_row2_text': 'If you choose to erase points, you pay 1 point.',
'gi_pay_row3_event': 'Having Points Erased (Part 2)',
'gi_pay_row3_text': 'If you express an opinion that differs from your matched partner\'s private opinion, 5 or 20 points (depending on the interaction) are erased from your total.',
'gi_pay_row4_event': 'Prediction Accuracy (Part 3)',
'gi_pay_row4_text': 'You earn B bonus points for accurately guessing the behavior of others.',
'gi_practice_note': 'To ensure you understand the instructions, you will play a brief practice round before starting the actual experiment.',
'gi_next_practice': 'Proceed to Practice Round',
'practice_topic': 'which animal is the cutest, dogs or cats?',
'practice_option_dogs': 'Dogs',
'practice_option_cats': 'Cats',
'practice_title_p1': 'Practice Topic: {topic}',
'practice_alert': 'Practice Round: This is a practice round to help you understand the experiment. Your decisions here do not affect your final earnings.',
'practice_q1_heading': '1. What is your opinion on the current topic?',
'practice_q1_help': (
'Please select the option that best reflects your preference. The instructions will refer to the response you give here as your "private opinion". '
'Your private opinion is completely anonymous. There is no payoff advantage to choosing an option other than the one that best reflects your preference.'
),
'practice_q2_heading': '2. Would you be willing to pay {cost} point to erase points from participants who choose to express an opinion different than your private opinion?',
'practice_q2_help': (
'If you answer "Yes", you will pay {cost} from your earnings, and will erase either 5 or 20 points from at least one participant who expresses an opinion different from your private opinion. '
'The specific amount that is erased will depend on the interaction you enter into.'
),
'practice_p2_title': 'Practice Room: 10 Participants Discussing {topic}',
'practice_p2_alert': 'Practice Round: This is a hypothetical interaction based on your choice in the previous screen.',
'practice_p2_p1': (
'We virtually selected 10 potential partners among the other participants. '
'{maj} out of 10 prefer {maj_op} (labeled as A in the visual representation), '
'while {minr} out of 10 prefer {true_op} (labeled as B in the visual representation) on the topic: {topic}. '
'Remember that you answered {true_op} as your private opinion in Part 1.'
),
'practice_p2_p2': (
'We will randomly select one of the 10 potential partners to be your matched partner. You must express an opinion to your matched partner. This expression can be your private opinion or the alternative opinion. '
'If the opinion you express is different from your matched partner\'s private opinion, you will lose {cost} points.'
),
'practice_visual_heading': 'Visual Representation',
'practice_decision_prompt': 'Which opinion would you like to express to your matched partner?',
'practice_submit_decision': 'Submit Decision',
'practice_p3_title': 'Practice Prediction: What Do You Think Others Expressed in the Practice Interaction?',
'practice_p3_alert': 'Practice Round: Now, consider the hypothetical behavior of others in the same situation as you.',
'practice_p3_intro': 'Consider 11 other participants facing the exact same scenario you just did:',
'practice_p3_li1': 'Their private opinion: {op} regarding {topic}.',
'practice_p3_li2': (
'Compostition of Their Potential Partners: {maj} out of their own 10 potential partners prefer {maj_op} (Option A), '
'while {minr} out of their potential partners prefer {my_op} (Option B).'
),
'practice_p3_li3': (
'The Rule: They must express an opinion to their matched partner, who was selected randomly from among their potential partners. '
'If they express a different opinion from their matched partner\'s private opinion, they lose {cost} points.'
),
'practice_toggle_visual': 'Click if you want to see the Visual Representation',
'practice_visual_room': 'Visual Representation',
'practice_payment_info_heading': 'Payment for predicting correctly:',
'practice_payment_info_body': 'The payment rule is designed so that you can secure the largest chance of winning the prize by reporting your most-accurate guess. The precise payment rule details are available by request at the end of the experiment.',
'practice_belief_prompt': 'Out of these 11 participants (who prefer {op}),
how many do you think did not express their private opinion?',
'practice_out_of_11': 'out of 11 participants',
'practice_enter_0_11': '(Enter a number from 0 to 11)',
'practice_submit_prediction': 'Submit Prediction',
'practice_results_title': 'Practice Round Results',
'practice_results_intro': 'You have completed the practice round. In the real experiment, the decisions you made here would have resulted in the following payoffs:',
'practice_results_th_event': 'Event',
'practice_results_th_result': 'Hypothetical Result',
'practice_results_participation': 'Participation',
'practice_results_participation_fee': 'You begin with a fixed Participation Fee of 1 point.',
'practice_results_erase': 'Paying to Erase (Part 1)',
'practice_results_erase_yes': 'You chose to erase points, you pay {cost}.',
'practice_results_erase_no': 'You chose not to punish (0 points).',
'practice_results_matched': 'Having Points Erased (Part 2)',
'practice_results_matched_text': 'Your matched partner was selected randomly from the 10 potential partners you were assigned for your interaction. If you expressed an opinion different from your matched partner\'s private opinion, 20 points are erased from your total.',
'practice_results_prediction': 'Prediction Accuracy (Part 3)',
'practice_results_prediction_text': 'You earn {bonus} points for accurately guessing the behavior of others.',
'practice_results_total_line': 'Your total earnings are',
'practice_results_warning': 'If you have any doubts before starting the real rounds, please raise your hand now. An experimenter will respond to you in private.',
'comp_title': 'Comprehension Check',
'comp_alert': 'Before starting the real rounds, please answer the following questions to confirm you understand how the experiment works. You must answer all questions correctly to proceed.',
'comp_reminder': 'Quick reminder: In the experiment, you first report your private opinion, then you may be matched with 1 person chosen from a set of 10 potential partners and decide which opinion to express, and finally you make a prediction for bonus points.',
'comp_q1_title': 'Question 1: When Do You Lose Points?',
'comp_q2_title': 'Question 2: Who Are the 10 Potential Partners?',
'comp_q3_title': 'Question 3: How Does the Prediction Task Pay?',
'comp_q1_label': 'In the stage where you are matched with 1 person from 10 potential partners, you lose points when:',
'comp_q2_label': 'The 10 people you could be matched with were selected from participants who:',
'comp_q3_label': "In the final prediction task, your prediction about others' behavior:",
'comp_check': 'Check Answers',
'comp_continue': 'Continue',
'comp_try_again': 'Try Again',
'comp_select': 'Please select an answer.',
'comp_correct': 'Correct!',
'comp_incorrect': 'Incorrect. The correct answer is highlighted in green.',
'topic_page_title': 'Topic: {topic}',
'topic_lead': 'In this part of the experiment, you will be presented with several topics. For each topic, please answer the following two questions:',
'topic_q1_heading': '1. What is your opinion on the current topic?',
'topic_q1_help': 'Please select the option that best reflects your preference. Your response is completely anonymous. There is no payoff advantage to choosing an option other than your true preference.',
'topic_q2_heading': '2. Would you be willing to pay {cost} point to erase points from a participant who chooses to express an opinion different than yours?',
'topic_q2_help': (
'Your response to this question will be used to match you with other participants later in the experiment. You will be matched with participants who choose to express an opinion different from yours. '
'If you are willing to erase points from them, you will pay {cost} point from your earnings to erase either 5 or 20 points from them. The specific amount will depend on the rooms in which the interaction occurs.'
),
'room_decision_title': '10 Participants Discussing {topic}',
'room_decision_p1': (
'We virtually selected 10 potential partners among the other participants. '
'{maj} out of 10 prefer {maj_op} (labeled as A in the visual representation), '
'while {minr} out of 10 prefer {true_op} (labeled as B in the visual representation) on the topic: {topic}. '
'Remember that you answered {true_op} as your private opinion in Part 1.'
),
'room_decision_p2': (
'We will randomly select one of the 10 potential partners to be your matched partner. You must express an opinion to your matched partner. This expression can be your private opinion or the alternative opinion. '
'If the opinion you express is different from your matched partner\'s private opinion, you will lose {cost} points.'
),
'room_visual_heading': 'Visual Representation',
'room_which_express': 'Which opinion would you like to express to your matched partner?',
'room_submit': 'Submit Decision',
'beliefs_title': 'How do you think others acted in this situation?',
'beliefs_intro': 'Consider 11 other participants facing the exact same scenario you just did:',
'beliefs_li1': 'Their private opinion: {op} regarding {topic}.',
'beliefs_li2': (
'Compostition of Their Potential Partners: {maj} out of their own 10 potential partners prefer {maj_op} (Option A), '
'while {minr} out of their potential partners prefer {my_op} (Option B).'
),
'beliefs_li3': (
'They also had to express an opinion to their matched partner, who was selected randomly from among their own potential partners. '
'If they expressed a different opinion from their matched partner\'s private opinion, they also lost {cost} points.'
),
'beliefs_toggle_visual': 'Click if you want to see the Visual Representation',
'beliefs_visual_room': 'Visual Representation of their Room',
'beliefs_payment_heading': 'Payment for predicting correctly:',
'beliefs_payment_body': 'The payment rule is designed so that you can secure the largest chance of winning the prize by reporting your most-accurate guess. The precise payment rule details are available by request at the end of the experiment.',
'beliefs_prompt': 'Out of these 11 participants (who prefer {op}),
how many do you think did not express their private opinion?',
'beliefs_out_of': 'out of 11 participants',
'beliefs_enter': '(Enter a number from 0 to 11)',
'beliefs_submit': 'Submit Prediction',
'final_title': 'Experiment Completed',
'final_thanks_heading': 'Thank You for Participating!',
'final_lead': 'You have successfully completed all stages of the experiment.',
'final_info_heading': 'Important Information',
'final_li1': 'Payment Processing: Your final earnings (Participation Fee + Bonus Points) will be calculated once we have all the data from all participants in the experiment.',
'final_li2': 'Payment Method: As mentioned in the instructions, you will receive your payment privately via the method described at the start of the session.',
'final_li3': 'Confidentiality: Your identity remains anonymous. All data collected is stored using only your random ID number.',
'final_rule_intro': 'If you are interested in the specific mathematical rule used to calculate your prediction bonus, you may view it below.',
'final_show_rule': 'Show Prediction Scoring Rule',
'final_hide_rule': 'Hide Prediction Scoring Rule',
'final_rule_heading': 'Prediction Task Scoring Rule',
'final_rule_p1': 'To secure the largest chance of winning the bonus, the best strategy was to report your true belief. The formula used to calculate your Probability of Winning the bonus is:',
'final_rule_how': 'How it works:',
'final_rule_li1': 'The computer calculates this probability based on how close your guess was to the true number.',
'final_rule_li2': 'If your guess is perfect, the penalty is 0, giving you a 100% probability (certainty) of winning the bonus.',
'final_rule_li3': 'If your guess is far off, the squared penalty increases, lowering your probability of winning.',
'final_rule_li4': 'The computer then runs a random lottery based on this probability to determine if you get the bonus points.',
'final_close': 'You may now close your browser window.',
'labeled_as_a': 'labeled as A in the visual representation',
'labeled_as_b': 'labeled as B in the visual representation',
'paren_option_a': '(Option A)',
'paren_option_b': '(Option B)',
'yes': 'Yes',
'no': 'No',
'btn_next': 'Next',
'points_word': 'points',
},
}
# Spanish: mirror structure (professional but concise translations)
TEXT['es'] = {
'option_labels': {'A': 'Opción A', 'B': 'Opción B'},
'topic_labels': [
'¿Cuál es tu opinión sobre el tema A?',
'¿Cuál es tu opinión sobre el tema B?',
'¿Cuál es tu opinión sobre el tema C?',
'¿Cuál es tu opinión sobre el tema D?',
'¿Cuál es tu opinión sobre el tema E?',
],
'consent_title': 'Consentimiento para participar en la investigación',
'consent_study_title': 'Estudio de investigación: Toma de decisiones en contextos sociales',
'consent_pi': 'Investigador principal:',
'consent_institution': 'Institución:',
'consent_s1_title': '1. Descripción general del estudio',
'consent_s1_body': (
'Te invitamos a participar en un estudio de investigación sobre cómo las personas toman decisiones que afectan a otros participantes. '
'El estudio consta de tres partes principales y tomará aproximadamente 40 minutos.'
),
'consent_s2_title': '2. Procedimientos',
'consent_s2_intro': 'Si aceptas participar, pasarás por las siguientes etapas:',
'consent_s2_li1': 'Parte 1: Se te pedirá que expreses tus opiniones y tomes decisiones sobre varios temas.',
'consent_s2_li2': 'Parte 2: Te emparejaremos con otros participantes e interactuarás en línea. Recibirás información sobre las opiniones de con quienes te emparejemos y tomarás decisiones.',
'consent_s2_li3': 'Parte 3: Responderás preguntas sobre tus predicciones del comportamiento de otros participantes.',
'consent_s3_title': '3. Riesgos y beneficios',
'consent_s3_risks': (
'Riesgos: Los riesgos asociados a este estudio son mínimos y no superan los de la vida cotidiana. '
'Algunas preguntas pueden tocar temas sociales o políticos sensibles; aunque verás respuestas de otros y tomarás decisiones con consecuencias en el pago, no revelaremos la identidad de quiénes una u otra respuesta.'
),
'consent_s3_benefits': (
'Beneficios: No hay beneficios directos para ti aparte de la compensación monetaria. '
'Sin embargo, tu participación contribuye al conocimiento científico sobre la dinámica social.'
),
'consent_s4_title': '4. Confidencialidad',
'consent_s4_body': (
'Tu identidad estará protegida en todo momento. '
'Los datos se asociarán a un número de ID anónimo, no a tu nombre. '
'Los datos se almacenarán en servidores seguros y solo el equipo de investigación tendrá acceso.'
),
'consent_s5_title': '5. Compensación',
'consent_s5_body': (
'Recibirás una cuota de participación más un bono adicional según las decisiones que tomes durante el experimento. '
'En el experimento, ganarás o perderás puntos según tus interacciones. '
'Al final de la sesión, esos puntos se convertirán a moneda real según una tasa de cambio específica.'
),
'consent_s6_title': '6. Participación voluntaria',
'consent_s6_body': (
'Tu participación es totalmente voluntaria. Puedes retirarte en cualquier momento sin penalización. '
'Sin embargo, si te retiras antes del final, podrías perder la parte del pago basada en el desempeño.'
),
'consent_contact': (
'Contacto: Si tienes preguntas sobre este estudio, puedes contactar al investigador principal en [mauricio.fernandez@cide.edu].'
),
'consent_checkbox': 'He leído la información y acepto participar',
'consent_error': 'Debes aceptar los términos para continuar.',
'gi_title': 'Instrucciones generales',
'gi_welcome_heading': 'Bienvenido/a',
'gi_welcome_p1': (
'Gracias por participar en este estudio sobre la toma de decisiones en grupo. Las demás personas en esta sesión también participan en el experimento y no debes hablar con ellas. '
'Si tienes una pregunta, levanta la mano y un experimentador acudirá a responderte en privado.'
),
'gi_welcome_p2': (
'Recibirás $1 por participar en este experimento, pero las decisiones que tomes pueden aumentar o disminuir esas ganancias. '
'Lee estas instrucciones con atención; tu pago final depende de tus decisiones, las de los demás y la exactitud de tus predicciones.'
),
'gi_welcome_p3': (
'Durante el experimento, ganarás o perderás "puntos" (1 punto = $1). '
'Como tus ganancias finales dependen de cómo interactúan tus decisiones con las respuestas de participantes en esta sesión, tu pago no puede determinarse de inmediato. '
'Cuando esta sesión sea concluida y se recopilen los datos, calcularemos tu total final. Todo dinero ganado se pagará en privado una vez completados los cálculos. '
'Recibirás tu pago mediante [CÓMO VAMOS A PAGAR].'
),
'gi_overview_heading': 'Descripción general del experimento',
'gi_ov_p1_title': 'Parte 1: Opiniones sobre varios temas',
'gi_ov_p1_text': 'Darás tu opinión privada sobre varios temas y decidirás si estás dispuesto/a a pagar un costo para borrar puntos a quienes expresen opiniones contrarias.',
'gi_ov_p2_title': 'Parte 2: Posibles compañeros',
'gi_ov_p2_text': 'Seleccionaremos virtualmente a 10 posibles "parejas" entre los participantes del estudio. Tú decidirás qué opinión expresar a tu la persona con la que te emparejemos, que escogeremos al azar entre esos 10 posibles compañeros/as.',
'gi_ov_p3_title': 'Parte 3: Tarea de predicción',
'gi_ov_p3_text': 'Predecirás el comportamiento de otros participantes. Las predicciones acertadas te darán puntos extra.',
'gi_detail_heading': 'Instrucciones detalladas',
'gi_p1_heading': 'Parte 1: Opiniones sobre varios temas',
'gi_p1_intro': 'En esta parte, verás varios temas. Para cada tema, responderás dos preguntas:',
'gi_p1_q1': (
'P.1 ¿Cuál es tu opinión sobre el tema actual?: Elige la opción que mejor refleje tu postura. Llamaremos a tu respuesta tu "opinión privada". '
'En esta pregunta, que elijas la opción que no refleje tu postura no aumentará tus ganancias.'
),
'gi_p1_q2': (
'P.2 ¿Estarías dispuesto/a a pagar 1 punto para borrar puntos a un participante que exprese una opinión distinta a la tuya?: '
'Esta decisión se usará en la Parte 2. Si eliges "Sí", se deducirá 1 punto de tus ganancias totales. '
'La cantidad de puntos que borraríamos a quienes expresen una opinión distinta a la tuya puede ser 5 o 20 puntos, según la interacción.'
),
'gi_p2_heading': 'Parte 2: Tus "posibles parejas"',
'gi_p2_p1': (
'Seleccionaremos virtualmente a 10 posibles parejas entre los demás participantes: algunos tienen una opinión privada a favor de un lado del tema de la Parte 1 y el resto a favor del lado opuesto. '
'Todas tus posibles parejas fueron elegidas entre quienes respondieron "Sí" a la pregunta 2 de la Parte 1 y, por tanto, estuvieron dispuestos a pagar el costo para borrar puntos a quienes expresaran una opinión distinta a tu opinión privada. '
'Te emparejaremos al azar con una de esas 10 posibles parejas. Debes decidir qué opinión expresarle a tu pareja. '
'Si la opinión que expreses difiere de la opinión privada de tu pareja (es decir, de su respuesta a la pregunta 1 de la Parte 1), perderás 5 o 20 puntos. La cantidad depende de la interacción.'
),
'gi_p2_p2': 'En cada tema, se te asignará al azar una de cuatro interacciones posibles. Las interacciones dependerán de tu opinión privada como ilustramos a continuación.',
'gi_p2_p3': 'A continuación hay un ejemplo interactivo que muestra la primera pregunta de la Parte 1 y cómo tu respuesta afecta las interacciones en las que podría estar:',
'gi_example_title': 'Ejemplo de la pregunta 1 de la Parte 1: ¿Qué es mejor, café o té?',
'gi_example_label': (
'Selecciona la opción que mejor refleje tu postura. '
'Tu respuesta es completamente anónima. '
'No hay ventaja de pago por elegir una opción distinta a la que mejor refleje tu postura.'
),
'gi_example_coffee': 'Café',
'gi_example_tea': 'Té',
'gi_scenario_title': 'Las 4 interacciones posibles',
'gi_scenario_intro': 'Tú elegiste .... Estas son las interacciones que podrías enfrentar. Observa cómo cambia la composición según tu preferencia:',
'gi_scenario_li1': 'Te emparejaremos con alguien elegido al azar entre 6 amantes de ... y 4 de .... Perderás 5 puntos si la opinión que expreses es distinta a la opinión privada de tu pareja.',
'gi_scenario_li2': 'Te emparejaremos con alguien elegido al azar entre 6 amantes de ... y 4 de .... Perderás 20 puntos si la opinión que expreses es distinta a la opinión privada de tu pareja.',
'gi_scenario_li3': 'Te emparejaremos con alguien elegido al azar entre 7 amantes de ... y 3 de .... Perderás 5 puntos si la opinión que expreses es distinta a la opinión privada de tu pareja.',
'gi_scenario_li4': 'Te emparejaremos con alguien elegido al azar entre 7 amantes de ... y 3 de .... Perderás 20 puntos si la opinión que expreses es distinta a la opinión privada de tu pareja.',
'gi_p2_after': (
'Después de entrar en una interacción, debes decidir qué opinión expresar a tu pareja, elegida al azar entre tus 10 posibles parejas. '
'Puedes expresar tu opinión privada o la opinión alternativa.'
),
'gi_erase_heading': 'Cómo se borran puntos',
'gi_erase_p': (
'Con las respuestas de todos los participantes, el sistema te emparejará con un participante elegido al azar entre tus diez posibles parejas. Esa persona será tu pareja.'
),
'gi_erase_li': 'Si la opinión que elegiste expresar es distinta a la opinión privada de tu pareja, entonces se borrarán 5 o 20 puntos (según la interacción) de tu total.',
'gi_p3_heading': 'Parte 3: Tarea de predicción',
'gi_p3_p1': 'Por último, te pediremos que predigas el comportamiento de otros participantes. En concreto, estimarás cuántos participantes eligieron expresar una opinión distinta a su opinión privada en los mismos escenarios que tú acabas de enfrentar.',
'gi_p3_p2': (
'Esta tarea se paga según la exactitud de tus predicciones. Está diseñada para que puedas maximizar la probabilidad de ganar un bono de B puntos reportando tu mejor estimación. '
'Cuanto más cerca estés del valor real, mayor será la probabilidad de obtener los puntos extra. Los detalles exactos de la regla de pago están disponibles al final del experimento, si los solicitas.'
),
'gi_pay_heading': 'Resumen de pagos',
'gi_pay_th_event': 'Evento',
'gi_pay_th_consequence': 'Consecuencia',
'gi_pay_row1_event': 'Participación',
'gi_pay_row1_text': 'Comienza con una cuota de participación fija de 1 punto.',
'gi_pay_row2_event': 'Pagar para borrar puntos (Parte 1)',
'gi_pay_row2_text': 'Si eliges borrar puntos, pagas 1 punto.',
'gi_pay_row3_event': 'Que le resten puntos (Parte 2)',
'gi_pay_row3_text': 'Si expresas una opinión distinta a la opinión privada de tu pareja, se borran 5 o 20 puntos (según la interacción) de tu total.',
'gi_pay_row4_event': 'Exactitud de la predicción (Parte 3)',
'gi_pay_row4_text': 'Gana B puntos de bono por adivinar con precisión el comportamiento de los demás.',
'gi_practice_note': 'Para asegurarnos de que entiendes las instrucciones, harás una ronda de práctica breve antes del experimento real.',
'gi_next_practice': 'Continuar a la ronda de práctica',
'practice_topic': '¿qué animales son más tiernos, los perros o los gatos?',
'practice_option_dogs': 'Perros',
'practice_option_cats': 'Gatos',
'practice_title_p1': 'Tema de práctica: {topic}',
'practice_alert': 'Ronda de práctica: Esta ronda te ayuda a entender el experimento. Tus decisiones aquí no afectan tu pago final.',
'practice_q1_heading': '1. ¿Cuál es tu opinión sobre el tema actual?',
'practice_q1_help': (
'Selecciona la opción que mejor refleje tu preferencia. Las instrucciones se referirán a tu respuesta como tu "opinión privada". '
'Tu opinión privada es anónima. No hay ventaja de pago por elegir otra opción que no sea la que mejor refleje tu preferencia.'
),
'practice_q2_heading': '2. ¿Estarías dispuesto/a a pagar {cost} punto para borrarles puntos a participantes que expresen una opinión distinta a tu opinión privada?',
'practice_q2_help': (
'Si respondes "Sí", pagarás {cost} de tus ganancias y borrarás 5 o 20 puntos al menos a un participante que exprese una opinión distinta a tu opinión privada. '
'La cantidad borrada dependerá de la interacción en la que entres.'
),
'practice_p2_title': 'Sala de práctica: 10 participantes discuten {topic}',
'practice_p2_alert': 'Ronda de práctica: Esta es una interacción hipotética basada en tu elección en la pantalla anterior.',
'practice_p2_p1': (
'Seleccionamos virtualmente a 10 posibles parejas entre los demás participantes. '
'A {maj} de 10 les gusta más {maj_op} ({labeled_a}), '
'mientras que a {minr} de 10 les gusta más {true_op} ({labeled_b}) en el tema: {topic}. '
'Recuerda que respondiste {true_op} como tu opinión privada en la Parte 1.'
),
'practice_p2_p2': (
'Elegiremos al azar a uno de las 10 posibles parejas como tu pareja. Debes expresar una opinión a tu pareja. Puede ser tu opinión privada o la opinión alternativa. '
'Si la opinión que expresas es distinta a la opinión privada de tu compañero emparejado, perderás {cost} puntos.'
),
'practice_visual_heading': 'Representación visual',
'practice_decision_prompt': '¿Qué opinión le quieres expresar a tu pareja?',
'practice_submit_decision': 'Enviar decisión',
'practice_p3_title': 'Predicción de práctica: ¿Qué crees que expresaron otros en la ronda de práctica?',
'practice_p3_alert': 'Ronda de práctica: Ahora considera el comportamiento hipotético de otros en la misma situación que tú.',
'practice_p3_intro': 'Piensa en otros 11 participantes en exactamente el mismo escenario que tú:',
'practice_p3_li1': 'Su opinión privada también era {op} respecto a la pregunta {topic}.',
'practice_p3_li2': (
'También tenían {maj} de sus propias 10 posibles parejas que preferían {maj_op} ({opt_a}), '
'mientras que {minr} de sus posibles parejas preferían {my_op} ({opt_b}).'
),
'practice_p3_li3': (
'La regla: También debían expresar una opinión a su pareja, elegida al azar entre sus 10 posibles parejas. '
'Si expresaban una opinión distinta a la opinión privada de su pareja, también perdían {cost} puntos.'
),
'practice_toggle_visual': 'Haz clic si quieres ver la representación visual',
'practice_visual_room': 'Representación visual',
'practice_payment_info_heading': 'Pago por predecir correctamente:',
'practice_payment_info_body': 'La regla de pago está diseñada para que puedas maximizar la probabilidad de ganar el premio reportando tu mejor estimación. Los detalles exactos están disponibles al final del experimento, si los solicitas.',
'practice_belief_prompt': 'De estos 11 participantes (a quienes les gusta más {op}),
¿cuántos crees que no expresaron su opinión privada?',
'practice_out_of_11': 'de 11 participantes',
'practice_enter_0_11': '(Ingresa un número de 0 a 11)',
'practice_submit_prediction': 'Enviar predicción',
'practice_results_title': 'Resultados de la ronda de práctica',
'practice_results_intro': 'Has completado la ronda de práctica. En el experimento real, las decisiones que tomaste aquí habrían dado los siguientes pagos hipotéticos:',
'practice_results_th_event': 'Evento',
'practice_results_th_result': 'Resultado hipotético',
'practice_results_participation': 'Participación',
'practice_results_participation_fee': 'Comienza con una cuota de participación fija de 1 punto.',
'practice_results_erase': 'Pago para borrar puntos (Parte 1)',
'practice_results_erase_yes': 'Elegiste borrar puntos a quienes expresaron una opinión distinta a la tuya, así que pagas {cost}.',
'practice_results_erase_no': 'Elegiste no borrar puntos (0 puntos).',
'practice_results_matched': 'Que le resten puntos (Parte 2)',
'practice_results_matched_text': 'Tu pareja se eligió al azar entre las 10 posibles parejas asignadas en tu interacción. Si expresaste una opinión distinta a la opinión privada de tu pareja, se borran 20 puntos de tu total.',
'practice_results_prediction': 'Exactitud de la predicción (Parte 3)',
'practice_results_prediction_text': 'Ganas {bonus} puntos por adivinar con precisión el comportamiento de los demás.',
'practice_results_total_line': 'Tus ganancias totales son',
'practice_results_warning': 'Si tienes dudas antes de las rondas reales, levanta la mano ahora. Un experimentador te atenderá en privado.',
'comp_title': 'Prueba de comprensión',
'comp_alert': 'Antes de las rondas reales, responde las siguientes preguntas para confirmar que entiendes el experimento. Debes responder bien todas para continuar.',
'comp_reminder': 'Recordatorio: En el experimento, primero reportas tu opinión privada, luego puedes emparejarte con una persona elegida al azar entre 10 posibles parejas y decides qué opinión expresar, y por último haces una predicción por puntos extra.',
'comp_q1_title': 'Pregunta 1: ¿Cuándo pierdes puntos?',
'comp_q2_title': 'Pregunta 2: ¿Quiénes son las 10 posibles parejas?',
'comp_q3_title': 'Pregunta 3: ¿Cómo paga la tarea de predicción?',
'comp_q1_label': 'En la etapa en la que te emparejan con una persona de entre 10 posibles parejas, pierdes puntos cuando:',
'comp_q2_label': 'Las 10 personas con las que podríamos emparejarte fueron seleccionadas entre participantes que:',
'comp_q3_label': 'En la tarea final de predicción, tu predicción sobre el comportamiento de los demás:',
'comp_check': 'Comprobar respuestas',
'comp_continue': 'Continuar',
'comp_try_again': 'Intentar de nuevo',
'comp_select': 'Selecciona una respuesta.',
'comp_correct': '¡Correcto!',
'comp_incorrect': 'Incorrecto. La respuesta correcta está resaltada en verde.',
'topic_page_title': 'Tema: {topic}',
'topic_lead': 'En esta parte del experimento verás varios temas. Para cada tema, responde las siguientes dos preguntas:',
'topic_q1_heading': '1. ¿Cuál es tu opinión sobre el tema actual?',
'topic_q1_help': 'Selecciona la opción que mejor refleje tu preferencia. Tu respuesta es anónima. No hay ventaja de pago por elegir otra opción que no sea tu preferencia verdadera.',
'topic_q2_heading': '2. ¿Estarías dispuesto/a a pagar {cost} punto para borrar puntos a un participante que exprese una opinión distinta a la tuya?',
'topic_q2_help': (
'Tu respuesta se usará para emparejarte más adelante. Te emparejaremos con participantes que expresen una opinión distinta a la tuya. '
'Si estás dispuesto/a a borrarles puntos, pagarás {cost} punto de tus ganancias para borrarles 5 o 20 puntos. La cantidad dependerá de las salas en que ocurra la interacción.'
),
'room_decision_title': '10 participantes discuten {topic}',
'room_decision_p1': (
'Seleccionamos virtualmente a 10 posibles compañeros entre los demás participantes. '
'A {maj} de 10 les gusta más {maj_op} ({labeled_a}), '
'mientras que a {minr} de 10 les gusta más {true_op} ({labeled_b}) en el tema: {topic}. '
'Recuerda que respondiste {true_op} como tu opinión privada en la Parte 1.'
),
'room_decision_p2': (
'Elegiremos al azar a uno de las 10 posibles parejas como tu pareja. Debes expresar una opinión a esa pareja. Puede ser tu opinión privada o la alternativa. '
'Si la opinión que expresas es distinta a la opinión privada de tu pareja, perderás {cost} puntos.'
),
'room_visual_heading': 'Representación visual',
'room_which_express': '¿Qué opinión quieres expresar a tu compañero emparejado?',
'room_submit': 'Enviar decisión',
'beliefs_title': '¿Cómo crees que actuaron los demás en esta situación?',
'beliefs_intro': 'Considera a otros 11 participantes en exactamente el mismo escenario que tú:',
'beliefs_li1': 'Su opinión privada también era {op} respecto a la pregunta {topic}.',
'beliefs_li2': (
'También tenían {maj} de sus propias 10 posibles parejas que preferían {maj_op} ({opt_a}), '
'mientras que {minr} de sus posibles parejas preferían {my_op} ({opt_b}).'
),
'beliefs_li3': (
'También debían expresar una opinión a su pareja, elegida al azar entre sus 10 posibles parejas. '
'Si expresaban una opinión distinta a la opinión privada de su pareja, también perdían {cost} puntos.'
),
'beliefs_toggle_visual': 'Haz clic si quieres ver la representación visual',
'beliefs_visual_room': 'Representación visual',
'beliefs_payment_heading': 'Pago por predecir correctamente:',
'beliefs_payment_body': 'La regla de pago está diseñada para que puedas maximizar la probabilidad de ganar el premio reportando tu mejor estimación. Los detalles exactos están disponibles al final del experimento, si los solicitas.',
'beliefs_prompt': 'De estos 11 participantes (a quienes les gusta más {op}),
¿cuántos crees que no expresaron su opinión privada?',
'beliefs_out_of': 'de 11 participantes',
'beliefs_enter': '(Ingresa un número de 0 a 11)',
'beliefs_submit': 'Enviar predicción',
'final_title': 'Experimento completado',
'final_thanks_heading': '¡Gracias por participar!',
'final_lead': 'Has completado todas las etapas del experimento.',
'final_info_heading': 'Información importante',
'final_li1': 'Procesamiento del pago: Tu pago final (cuota de participación + puntos de bono) se calculará cuando tengamos los datos de todos los participantes.',
'final_li2': 'Forma de pago: Como se indicó en las instrucciones, recibirás tu pago en privado por el método descrito al inicio de la sesión.',
'final_li3': 'Confidencialidad: Tu identidad sigue siendo anónima. Los datos se guardan solo con tu número de ID aleatorio.',
'final_rule_intro': 'Si te interesa la regla matemática exacta para calcular tu bono de predicción, puedes verla abajo.',
'final_show_rule': 'Mostrar regla de puntuación de la predicción',
'final_hide_rule': 'Ocultar regla de puntuación de la predicción',
'final_rule_heading': 'Regla de puntuación de la tarea de predicción',
'final_rule_p1': 'Para maximizar la probabilidad de ganar el bono, la mejor estrategia era reportar tu creencia sincera. La fórmula para tu probabilidad de ganar el bono es:',
'final_rule_how': 'Cómo funciona:',
'final_rule_li1': 'La computadora calcula esta probabilidad según qué tan cerca estuvo tu estimación del valor real.',
'final_rule_li2': 'Si tu estimación es perfecta, la penalización es 0, dándole 100% de probabilidad de ganar el bono.',
'final_rule_li3': 'Si tu estimación se aleja mucho, la penalización al cuadrado aumenta y baja tu probabilidad de ganar.',
'final_rule_li4': 'Luego la computadora hace una lotería aleatoria según esa probabilidad para decidir si obtiene los puntos de bono.',
'final_close': 'Ya puedes cerrar la ventana del navegador.',
'labeled_as_a': 'etiquetada como A en la representación visual',
'labeled_as_b': 'etiquetada como B en la representación visual',
'paren_option_a': '(Opción A)',
'paren_option_b': '(Opción B)',
'yes': 'Sí',
'no': 'No',
'btn_next': 'Siguiente',
'points_word': 'puntos',
}
# Comprehension choice labels (value 1,2,3 stays language-independent)
COMP_CHOICES_EN = {
'q1': [
(1, "You express an opinion different from your own private opinion."),
(2, "You express an opinion different from the opinion held by most of the 10 potential partners."),
(3, "You express an opinion different from the private opinion of the 1 partner you are randomly matched with."),
],
'q2': [
(1, "Share the same private opinion as you."),
(2, "Said they were willing to pay to erase points from someone who expresses a different opinion."),
(3, "Were chosen completely at random from the study."),
],
'q3': [
(1, "Does not affect your earnings."),
(2, "Can earn you bonus points, and the amount depends on how accurate your guess is."),
(3, "Determines how many points are erased from other participants."),
],
}
COMP_CHOICES_ES = {
'q1': [
(1, "Expresas una opinión distinta a tu propia opinión privada."),
(2, "Expresas una opinión distinta a la que tienen la mayoría de tus 10 posibles parejas."),
(3, "Expresas una opinión distinta a la opinión privada de la única pareja con la que se te emparejó al azar."),
],
'q2': [
(1, "Comparten la misma opinión privada que tú."),
(2, "Dijeron que estaban dispuestas a pagar para borrar puntos a quien expresa una opinión distinta."),
(3, "Fueron elegidas completamente al azar del estudio."),
],
'q3': [
(1, "No afecta tus ganancias."),
(2, "Puede darte puntos extra; la cantidad depende de qué tan acertada sea tu estimación."),
(3, "Determina cuántos puntos se restan a otros participantes."),
],
}
def comp_choices(lang, q):
if lang == 'es':
return COMP_CHOICES_ES[q]
return COMP_CHOICES_EN[q]