diff --git a/docs/dnn-localization/684-translation-run-report.md b/docs/dnn-localization/684-translation-run-report.md new file mode 100644 index 00000000..0de5ca10 --- /dev/null +++ b/docs/dnn-localization/684-translation-run-report.md @@ -0,0 +1,123 @@ +# 2026-07-10 — #684 Game Rule prose translation — RUN REPORT (prep, 0 prod write) + +**Status:** **PREP DELIVERED.** 196/196 cell-languages translated (28 cells × 7 langs), all DoD +gates **PASS** (exit 0). This is a **staging artifact**, not a prod mutation — the 2sxc re-import +is jsboige-gated (DB write). Triggered by ai-01 dispatch `l66yzc` (primaire). Base: origin/master +`7796c127`. + +**Repo reference:** branch `feat/684-rule-prose-translation-7lang`. Issue: #684. Owner: +po-2023 (translation prep) + jsboige (DB re-import). Export source: read-only Method B SQL +(`myia-web1`, 2026-07-07), synced to shared-state. + +> **⚠ Status = prep only.** No DNN/2sxc DB write, no `Cards/` CSV mutation, no re-import executed. +> The artifact is re-import-ready; the actual write is gated on jsboige. + +--- + +## TL;DR — what was produced + +- **Volume**: **196 translation units** = 28 FR source cells (6 prose fields × 5 games, +5 titles − + 7 structurally-empty prose cells) × **7 target langs** (en/ru/pt/es/ar/fa/zh). +- **Provider**: gpt-5.5 via **OpenAI direct** (`sk-proj-`, LIVE — 0× 429, 0× fallback to + OpenRouter). `reasoning_effort=low`, no `temperature`, `max_completion_tokens` sized to field. +- **Quality gates**: **196/196 HTML tags preserved**, **196/196 script-correct** (0 FR-contamination, + #216-style guard), **0 fabrication** (7 empty cells stay empty across all langs). +- **Wall time**: ~18 min of gpt-5.5 API (heaviest cells: e11378/e11389 `Content` @ 15.6k/7.8k chars, + 22–70 s/call; titles + short fields 1–5 s/call). + +--- + +## §1 — DoD gates (all PASS, exit 0) + +Verified by `tools/dnn_i18n/verify_game_rule_translations.py`: + +| Gate | Rule | Result | +|------|------|--------| +| **G1 — Cell parity** | every populated FR cell → 7 langs present | ✅ 28/28 × 7 = 196/196 | +| **G2 — No fabrication** | the 7 structurally-empty prose cells absent | ✅ 0 present | +| **G3 — HTML preserved** | tag set(translated) == tag set(FR source) | ✅ 196/196 | +| **G4 — Script correct** | Cyrillic(ru) / CJK(zh) / Arabic-script(ar,fa) / Latin(en,pt,es); no FR-contamination | ✅ 196/196 | + +**G4 note (honest):** the Arabic/Persian guard is two-sided — rejects FR diacritics (the #216 +failure mode) OR zero Arabic letters. It is deliberately *lenient on ratio* for symbol/emoji-heavy +cells (e.g. e11378 Memo = a scoring diagram of 🥇👇➜🏆 where the only textual spans are the two +`

` titles, correctly translated: شروط الفوز / شرایط پیروزی). A positive Arabic-letter *ratio* +would false-fail those; the contamination guard does not. + +--- + +## §2 — Source → artifact mapping (re-import address) + +The artifact `684-translations.json` mirrors the 2sxc EAV export shape so re-import is mechanical: + +```json +{ + "_meta": { "source": "12-game-rule-content-items.json", "model": "gpt-5.5", ... }, + "entities": { + "11378": { // EntityID (2sxc primary key) + "title": "L'école des menteurs", // FR title (reference) + "fields": { + "Summary": { "fr": "

...

", "en": "...", "ru": "...", "pt": "...", + "es": "...", "ar": "...", "fa": "...", "zh": "..." }, + ... + } + }, ... + } +} +``` + +**Re-import address**: `EntityID` + `StaticName` (field) + target `DimensionID` (lang) = the exact +2sxc attribute-value coordinate. The export manifest names the dimension IDs: +`frFR_dimensionId=4` (source), `enUS_dimensionId=3`; the other 5 langs need their dimension +provisioned in 2sxc (Path A, #682) before re-import can land values. + +| EntityID | FR title | Fields translated | Note | +|----------|----------|-------------------|------| +| 11378 | L'école des menteurs | Title + all 6 prose (Summary/Material/Installation/Content/Variants/Memo) | only game with Variants + Memo | +| 11380 | Le Bingo mixologie argumentative | Title + Summary/Material/Installation/Content | no Variants, no Memo | +| 11387 | Le dernier beau parleur | Title + Summary/Material/Installation/Content | no Variants, no Memo | +| 11388 | Le moulin à baratin | Title + Summary/Material/Installation/Content/Variants | Memo empty | +| 11389 | La parlote coinchée | Title + Summary/Material/Installation/Content | no Variants, no Memo | + +--- + +## §3 — Reproduce + +```bash +EXPORT="$ROOSYNC_SHARED_PATH/attachments/DNN-Argumentum-export-2026-07-07/12-game-rule-content-items.json" +# Translate (resume-capable; the output doubles as cache) +python tools/dnn_i18n/translate_game_rules.py --export "$EXPORT" \ + --out docs/dnn-localization/684-translations.json --all +# Verify (exit 0 = all DoD gates pass) +python tools/dnn_i18n/verify_game_rule_translations.py \ + --artifact docs/dnn-localization/684-translations.json --export "$EXPORT" +``` + +Stdlib only (no SDK); `.keys/openai-key.txt` primary, `.keys/openrouter-key.txt` automatic fallback. + +--- + +## §4 — Open items for jsboige (re-import gate) + +1. **2sxc dimension provisioning** (#682 Path A): the 5 non-FR/non-EN langs (ru/pt/es/ar/fa/zh) need + their culture dimensions created before translated values can land. The artifact is ready; the + sink is not. +2. **Title translation policy**: titles are translated (additive/reversible). If a FR brand is + preferred for a game title (e.g. "L'école des menteurs" as a proper noun), keep FR at re-import — + the artifact's translated titles are optional, not forced. +3. **RTL templates** (ar/fa): the localized HTML text is produced; page-level `` + + Arabic/Persian font stack is a separate DNN-template step (#457 §6). +4. **Re-import verifier** (post-write): a cell-by-cell scan mirroring the G4 guard confirms 0 + FR-contaminated cells in the live DB after jsboige's import. + +--- + +## §5 — Gate boundaries (HARD) + +- ❌ **Zero prod write** — neither script touches the live DNN DB, portal, or 2sxc entities. +- ❌ Does not modify `Cards/Rules/` CSV (game-content is a separate lane). +- ❌ Does not declare a QA verdict — that's ai-01. This report states DoD-gate facts, not a release PASS. + +Relates: dispatch `l66yzc` (primaire), #684, #681 (export), #682 (dimension provisioning), +#669 (mechanism), #457 §6 (RTL templates), #216 (FR-contamination failure mode this guards against), +#458 (epic). diff --git a/docs/dnn-localization/684-translations.json b/docs/dnn-localization/684-translations.json new file mode 100644 index 00000000..f7bbc1a7 --- /dev/null +++ b/docs/dnn-localization/684-translations.json @@ -0,0 +1,372 @@ +{ + "_meta": { + "source": "12-game-rule-content-items.json (2sxc export 2026-07-07)", + "model": "gpt-5.5", + "fields_translated": [ + "Summary", + "Material", + "Installation", + "Content", + "Variants", + "Memo" + ], + "targets": [ + "en", + "ru", + "pt", + "es", + "ar", + "fa", + "zh" + ], + "entity_count": 5, + "cell_count": 28 + }, + "entities": { + "_meta": { + "source": "12-game-rule-content-items.json (2sxc export 2026-07-07)", + "model": "gpt-5.5", + "fields_translated": [ + "Summary", + "Material", + "Installation", + "Content", + "Variants", + "Memo" + ], + "targets": [ + "en", + "ru", + "pt", + "es", + "ar", + "fa", + "zh" + ], + "entity_count": 1, + "cell_count": 1 + }, + "entities": { + "11388": { + "title": "Le moulin à baratin", + "fields": { + "Summary": { + "fr": "

Les joueurs doivent trouver en un temps limité sur un scenario donné le plus grand nombre d'arguments fallacieux illustrant des cartes tirées au sort.

", + "en": "

Players must find, within a limited time and for a given scenario, the greatest number of fallacious arguments illustrating randomly drawn cards.

", + "ru": "

Игроки должны за ограниченное время по заданному сценарию найти как можно больше ошибочных аргументов, иллюстрирующих случайно вытянутые карты.

", + "pt": "

Os jogadores devem encontrar, em um tempo limitado, em um cenário dado, o maior número de argumentos falaciosos que ilustrem cartas sorteadas aleatoriamente.

", + "es": "

Los jugadores deben encontrar, en un tiempo limitado y sobre un escenario dado, el mayor número de argumentos falaces que ilustren cartas sacadas al azar.

", + "ar": "

يجب على اللاعبين أن يجدوا، خلال وقت محدود وبناءً على سيناريو معطى، أكبر عدد ممكن من الحجج المغالِطة التي تجسّد بطاقات مسحوبة عشوائياً.

", + "fa": "

بازیکنان باید در زمانی محدود، در یک سناریوی داده‌شده، بیشترین تعداد استدلال‌های مغالطه‌آمیز را که کارت‌های به‌صورت تصادفی کشیده‌شده را نشان می‌دهند، پیدا کنند.

", + "zh": "

玩家必须在限定时间内,针对给定的情境,找出尽可能多的谬误论证,以说明随机抽取的卡牌。

" + } + } + } + }, + "11388": { + "title": "Le moulin à baratin", + "fields": { + "Title": { + "fr": "Le moulin à baratin", + "en": "The Bullshit Mill", + "ru": "Мельница болтовни", + "pt": "O moinho de papo", + "es": "El molino de palabrería", + "ar": "مطحنة الثرثرة", + "fa": "آسیاب لفاظی", + "zh": "空话连篇之磨" + }, + "Summary": { + "fr": "

Les joueurs doivent trouver en un temps limité sur un scenario donné le plus grand nombre d'arguments fallacieux illustrant des cartes tirées au sort.

", + "en": "

Players must find, within a limited time and on a given scenario, the greatest number of fallacious arguments illustrating randomly drawn cards.

", + "ru": "

Игроки должны за ограниченное время найти для заданного сценария как можно больше ложных аргументов, иллюстрирующих карты, вытянутые случайным образом.

", + "pt": "

Os jogadores devem encontrar, em um tempo limitado, em um cenário dado, o maior número de argumentos falaciosos que ilustrem cartas tiradas ao acaso.

", + "es": "

Los jugadores deben encontrar en un tiempo limitado, en un escenario dado, el mayor número de argumentos falaces que ilustren cartas sacadas al azar.

", + "ar": "

يجب على اللاعبين أن يجدوا خلال وقت محدود، وبناءً على سيناريو معطى، أكبر عدد ممكن من الحجج المغالِطة التي تجسّد بطاقات مسحوبة عشوائيًا.

", + "fa": "

بازیکنان باید در زمانی محدود، در یک سناریوی داده‌شده، بیشترین تعداد استدلال‌های مغالطه‌آمیز را که کارت‌های به‌قید قرعه کشیده‌شده را نشان می‌دهند، پیدا کنند.

", + "zh": "

玩家必须在限定时间内,针对给定情境,找出尽可能多的谬误论证,以体现随机抽取的卡牌。

" + }, + "Material": { + "fr": "", + "en": "", + "ru": "", + "pt": "", + "es": "", + "ar": "", + "fa": "", + "zh": "" + }, + "Variants": { + "fr": "", + "en": "", + "ru": "", + "pt": "", + "es": "", + "ar": "", + "fa": "", + "zh": "" + }, + "Installation": { + "fr": "

Selon le nombre de joueurs et le niveau de difficulté voulu, on constitue la pioche des cartes d’argument fallacieux en ajoutant les niveaux indiqués en bas à droite des cartes par ordre croissant. On choisit le nombre maximum de manches de 3 minutes par joueur qui seront jouées.

\n

Les cartes d’arguments fallacieux sont mélangées, ainsi que les cartes de scénario. On constitue 2 pioches de cartes de scénario et 1 pioche d’argument fallacieux, placées au milieu de la table.

\n

Le premier piocheur est celui qui a en dernier concédé un argument à l'usure.

", + "en": "

Depending on the number of players and the desired difficulty level, build the fallacious argument card deck by adding the levels indicated at the bottom right of the cards in ascending order. Choose the maximum number of 3-minute rounds per player that will be played.

\n

The fallacious argument cards are shuffled, as are the scenario cards. Make 2 decks of scenario cards and 1 deck of fallacious argument cards, placed in the middle of the table.

\n

The first drawer is the player who most recently conceded an argument out of weariness.

", + "ru": "

В зависимости от числа игроков и желаемого уровня сложности формируют колоду карт ложных аргументов, добавляя уровни, указанные внизу справа на картах, в порядке возрастания. Выбирают максимальное количество раундов по 3 минуты на игрока, которые будут сыграны.

\n

Карты ложных аргументов перемешиваются, как и карты сценариев. Формируют 2 колоды карт сценариев и 1 колоду ложных аргументов, размещённые в центре стола.

\n

Первым тянет карту тот, кто последним уступил аргументу измором.

", + "pt": "

De acordo com o número de jogadores e o nível de dificuldade desejado, forma-se o monte de compra das cartas de argumento falacioso adicionando os níveis indicados no canto inferior direito das cartas em ordem crescente. Escolhe-se o número máximo de rodadas de 3 minutos por jogador que serão jogadas.

\n

As cartas de argumentos falaciosos são embaralhadas, assim como as cartas de cenário. Formam-se 2 montes de compra de cartas de cenário e 1 monte de compra de argumento falacioso, colocados no meio da mesa.

\n

O primeiro comprador é aquele que por último concedeu um argumento por desgaste.

", + "es": "

Según el número de jugadores y el nivel de dificultad deseado, se forma el mazo de cartas de argumento falaz añadiendo los niveles indicados en la parte inferior derecha de las cartas en orden creciente. Se elige el número máximo de rondas de 3 minutos por jugador que se jugarán.

\n

Las cartas de argumentos falaces se barajan, al igual que las cartas de escenario. Se forman 2 mazos de cartas de escenario y 1 mazo de argumento falaz, colocados en el centro de la mesa.

\n

El primer jugador que roba es quien más recientemente concedió un argumento por desgaste.

", + "ar": "

بحسب عدد اللاعبين ومستوى الصعوبة المطلوب، تُشكَّل رزمة سحب بطاقات الحُجج المغلوطة بإضافة المستويات المبيَّنة في أسفل يمين البطاقات بترتيب تصاعدي. يُختار العدد الأقصى للجولات، ومدّة كل منها 3 دقائق لكل لاعب، التي ستُلعب.

\n

تُخلط بطاقات الحُجج المغلوطة، وكذلك بطاقات السيناريو. تُشكَّل رزمتا سحب من بطاقات السيناريو ورزمة سحب واحدة من بطاقات الحُجج المغلوطة، وتوضع في وسط الطاولة.

\n

أول من يسحب هو من اعترف آخر مرة بحُجّة تحت وطأة الإلحاح.

", + "fa": "

بسته به تعداد بازیکنان و سطح دشواریِ مورد نظر، دستهٔ کارت‌های استدلال مغالطه‌آمیز را با افزودن سطح‌هایی که در پایینِ سمت راست کارت‌ها مشخص شده‌اند، به ترتیب صعودی تشکیل می‌دهیم. حداکثر تعداد دورهای ۳ دقیقه‌ای برای هر بازیکن که بازی خواهند شد، انتخاب می‌شود.

\n

کارت‌های استدلال‌های مغالطه‌آمیز بُر زده می‌شوند، و همچنین کارت‌های سناریو. ۲ دسته کارت سناریو و ۱ دسته استدلال مغالطه‌آمیز تشکیل می‌دهیم و آن‌ها را در وسط میز قرار می‌دهیم.

\n

نخستین کارت‌کش کسی است که آخرین بار در برابر یک استدلال فرسایشی تسلیم شده باشد.

", + "zh": "

根据玩家人数和所需难度等级,按牌右下角标示的等级从低到高加入相应卡牌,组成谬误论证牌的牌库。选择每位玩家将进行的3分钟回合的最大数量。

\n

将谬误论证牌洗混,场景牌也洗混。组成2叠场景牌牌库和1叠谬误论证牌牌库,放在桌子中央。

\n

第一个抽牌者是最近一次因消耗战而让步于一个论点的人。

" + }, + "Content": { + "fr": "

Déroulé de la manche

\n

Le piocheur

\n

Le piocheur tire une carte de scénario parmi les deux pioches disponibles et la lit à voix haute, à l’exception de la dernière phrase en italique au bas de la carte.

\n

La course de vitesse

\n

Le voisin de gauche du piocheur est le baratineur.. On prépare un minuteur de 3 minutes. Il commence à piocher des cartes d'arguments fallacieux. Pour chaque carte, il doit proposer un argument illustrant la carte pour acter le scénario. S'il y parvient, il remporte la carte, sinon il peut également passer, à raison de 3 jokers par manche, et piocher la suivante.

\n

Fin de la manche

\n

La manche s'arrête au bout du temps imparti, Le baratineur obtient en points le nombre de cartes emportées sur la manche. Il devient piocheur de la manche suivante.

\n

Fin de partie

\n

Le premier joueur arrivant à 20 points emporte la partie

", + "en": "

Round Procedure

\n

The Drawer

\n

The drawer draws a scenario card from one of the two available decks and reads it aloud, except for the last sentence in italics at the bottom of the card.

\n

The Speed Race

\n

The player to the left of the drawer is the smooth talker.. A 3-minute timer is set. They begin drawing fallacious argument cards. For each card, they must propose an argument illustrating the card to enact the scenario. If they succeed, they win the card; otherwise, they may also pass, with 3 jokers per round, and draw the next one.

\n

End of the Round

\n

The round stops when the allotted time is up, The smooth talker scores points equal to the number of cards won during the round. They become the drawer for the next round.

\n

End of the Game

\n

The first player to reach 20 points wins the game

", + "ru": "

Ход раунда

\n

Тянущий карту

\n

Тянущий карту берёт карту сценария из одной из двух доступных колод и читает её вслух, за исключением последней фразы, выделенной курсивом внизу карты.

\n

Гонка на скорость

\n

Сосед слева от тянущего карту — болтун.. Устанавливается таймер на 3 минуты. Он начинает тянуть карты с ложными аргументами. Для каждой карты он должен предложить аргумент, иллюстрирующий эту карту, чтобы разыграть сценарий. Если ему это удаётся, он выигрывает карту; в противном случае он также может пасовать, используя до 3 джокеров за раунд, и тянуть следующую карту.

\n

Конец раунда

\n

Раунд заканчивается по истечении отведённого времени. Болтун получает столько очков, сколько карт он выиграл в этом раунде. Он становится тянущим карту в следующем раунде.

\n

Конец партии

\n

Первый игрок, набравший 20 очков, выигрывает партию

", + "pt": "

Desenrolar da rodada

\n

O jogador que compra

\n

O jogador que compra tira uma carta de cenário de uma das duas pilhas disponíveis e a lê em voz alta, com exceção da última frase em itálico na parte inferior da carta.

\n

A corrida contra o tempo

\n

O vizinho à esquerda do jogador que compra é o enrolador.. Prepara-se um temporizador de 3 minutos. Ele começa a comprar cartas de argumentos falaciosos. Para cada carta, deve propor um argumento que ilustre a carta para encenar o cenário. Se conseguir, ganha a carta; caso contrário, também pode passar, com um limite de 3 curingas por rodada, e comprar a seguinte.

\n

Fim da rodada

\n

A rodada termina ao fim do tempo previsto. O enrolador recebe em pontos o número de cartas conquistadas na rodada. Ele se torna o jogador que compra na rodada seguinte.

\n

Fim da partida

\n

O primeiro jogador a chegar a 20 pontos vence a partida

", + "es": "

Desarrollo de la ronda

\n

El robador

\n

El robador toma una carta de escenario de entre los dos mazos disponibles y la lee en voz alta, con excepción de la última frase en cursiva al pie de la carta.

\n

La carrera contrarreloj

\n

El vecino de la izquierda del robador es el charlatán.. Se prepara un temporizador de 3 minutos. Empieza a robar cartas de argumentos falaces. Para cada carta, debe proponer un argumento que ilustre la carta para representar el escenario. Si lo consigue, gana la carta; si no, también puede pasar, con un límite de 3 comodines por ronda, y robar la siguiente.

\n

Fin de la ronda

\n

La ronda se detiene al cabo del tiempo asignado. El charlatán obtiene como puntos el número de cartas ganadas durante la ronda. Se convierte en el robador de la siguiente ronda.

\n

Fin de la partida

\n

El primer jugador que llegue a 20 puntos gana la partida

", + "ar": "

سير الجولة

\n

ساحب البطاقات

\n

يسحب ساحب البطاقات بطاقة سيناريو من بين رزمتي السحب المتاحتين ويقرؤها بصوت عالٍ، باستثناء الجملة الأخيرة المكتوبة بخط مائل في أسفل البطاقة.

\n

سباق السرعة

\n

الجار الجالس على يسار ساحب البطاقات هو الثرثار.. نُحضّر مؤقّتًا مدته 3 دقائق. يبدأ بسحب بطاقات الحجج المغلوطة. لكل بطاقة، يجب أن يقترح حجة توضّح البطاقة لتجسيد السيناريو. إذا نجح في ذلك، يفوز بالبطاقة، وإلا فيمكنه أيضًا أن يتجاوزها، بمعدل 3 جوكرات في كل جولة، ويسحب البطاقة التالية.

\n

نهاية الجولة

\n

تتوقف الجولة عند انتهاء الوقت المحدد، يحصل الثرثار على عدد من النقاط يساوي عدد البطاقات التي فاز بها خلال الجولة. ويصبح ساحب البطاقات في الجولة التالية.

\n

نهاية اللعبة

\n

أول لاعب يصل إلى 20 نقطة يفوز باللعبة

", + "fa": "

روند دور

\n

بازیکنِ کارت‌کش

\n

بازیکنِ کارت‌کش از میان دو دسته‌کارت موجود، یک کارت سناریو می‌کشد و آن را با صدای بلند می‌خواند، به‌جز جملهٔ آخرِ ایتالیک در پایین کارت.

\n

مسابقهٔ سرعت

\n

همسایهٔ سمت چپِ بازیکنِ کارت‌کش، لاف‌زن است.. یک تایمر ۳ دقیقه‌ای آماده می‌شود. او شروع به کشیدن کارت‌های استدلال‌های مغالطه‌آمیز می‌کند. برای هر کارت، باید استدلالی ارائه کند که آن کارت را برای اجرای سناریو نشان دهد. اگر موفق شود، آن کارت را به دست می‌آورد؛ وگرنه می‌تواند از آن بگذرد، با سقف ۳ جوکر در هر دور، و کارت بعدی را بکشد.

\n

پایان دور

\n

دور پس از پایان زمان تعیین‌شده متوقف می‌شود، لاف‌زن به تعداد کارت‌هایی که در آن دور به دست آورده امتیاز می‌گیرد. او بازیکنِ کارت‌کشِ دور بعدی می‌شود.

\n

پایان بازی

\n

نخستین بازیکنی که به ۲۰ امتیاز برسد، بازی را می‌برد

", + "zh": "

回合流程

\n

抽牌者

\n

抽牌者从两叠可用牌堆中抽取一张情景牌,并大声朗读,牌底部最后一句斜体文字除外。

\n

速度竞赛

\n

抽牌者左侧的玩家是忽悠者。准备一个 3 分钟的计时器。他开始抽取谬误论证牌。对于每张牌,他必须提出一个能体现该牌并用于演绎情景的论证。如果他成功,就赢得该牌;否则他也可以选择跳过,每回合有 3 次万能跳过机会,然后抽取下一张牌。

\n

回合结束

\n

回合在规定时间结束时停止。忽悠者获得的分数等于本回合赢得的牌数。然后他成为下一回合的抽牌者。

\n

游戏结束

\n

第一个达到 20 分的玩家赢得游戏

" + } + } + }, + "11389": { + "title": "La parlote coinchée", + "fields": { + "Title": { + "fr": "La parlote coinchée", + "en": "Blocked Chatter", + "ru": "Зажатая болтовня", + "pt": "A conversa coinchée", + "es": "La cháchara bloqueada", + "ar": "الثرثرة المحصورة", + "fa": "پرحرفیِ گیرکرده", + "zh": "受阻闲聊" + }, + "Material": { + "fr": "", + "en": "", + "ru": "", + "pt": "", + "es": "", + "ar": "", + "fa": "", + "zh": "" + }, + "Installation": { + "fr": "

On sélectionne 28 cartes d'arguments fallacieux pour la partie, soit 4 par couleur.

\n

Les cartes d’arguments fallacieux sont mélangées, ainsi que les cartes de scénario. On constitue 2 pioches de cartes de scénario placées au milieu de la table.

\n

Le premier piocheur est celui qui a menti en dernier.

", + "en": "

Select 28 fallacious argument cards for the game, 4 of each color.

\n

The fallacious argument cards are shuffled, as are the scenario cards. 2 draw piles of scenario cards are created and placed in the middle of the table.

\n

The first drawer is the person who lied most recently.

", + "ru": "

Для партии отбирают 28 карт ошибочных аргументов, то есть по 4 каждого цвета.

\n

Карты ошибочных аргументов перемешиваются, как и карты сценариев. Формируют 2 колоды карт сценариев и кладут их в центр стола.

\n

Первым берущим карту становится тот, кто солгал последним.

", + "pt": "

Selecionam-se 28 cartas de argumentos falaciosos para a partida, ou seja, 4 por cor.

\n

As cartas de argumentos falaciosos são embaralhadas, assim como as cartas de cenário. Formam-se 2 montes de compra de cartas de cenário colocados no meio da mesa.

\n

O primeiro a comprar é aquele que mentiu por último.

", + "es": "

Se seleccionan 28 cartas de argumentos falaces para la partida, es decir, 4 por color.

\n

Las cartas de argumentos falaces se barajan, al igual que las cartas de escenario. Se forman 2 mazos de cartas de escenario colocados en el centro de la mesa.

\n

El primer jugador en robar es quien haya mentido más recientemente.

", + "ar": "

نختار 28 بطاقة من بطاقات الحجج المغالِطة للعب، أي 4 بطاقات من كل لون.

\n

تُخلط بطاقات الحجج المغالِطة، وكذلك بطاقات السيناريو. نكوّن مجموعتين للسحب من بطاقات السيناريو توضعان في وسط الطاولة.

\n

أول من يسحب هو آخر من كذب.

", + "fa": "

برای بازی ۲۸ کارت استدلال‌های مغالطه‌آمیز انتخاب می‌شود، یعنی ۴ کارت از هر رنگ.

\n

کارت‌های استدلال‌های مغالطه‌آمیز بر زده می‌شوند، همچنین کارت‌های سناریو. ۲ دسته کارت سناریو تشکیل می‌شود و در وسط میز قرار می‌گیرد.

\n

نخستین کسی که کارت می‌کشد، کسی است که آخرین بار دروغ گفته است.

", + "zh": "

为本局游戏选择28张谬误论证牌,即每种颜色4张。

\n

将谬误论证牌洗混,同时也将情景牌洗混。组成2叠情景牌抽牌堆,放在桌子中央。

\n

第一位抽牌者是最近一次说谎的人。

" + }, + "Summary": { + "fr": "

Une succession de manches oppose 2 équipes de 2 joueurs. Ils se voient distribuer des mains d'arguments fallacieux qu'ils utilisent tour par tour sur des scénarii tirés au sort.

\n

Le niveau de spécificité des cartes constitue leur force et 2 couleurs dites d'atout peut être jouée à tout moment, et l'emportent sur les autres couleurs.

\n

En plus de reconnaître les arguments fallacieux, les joueurs s'entraînent à évaluer le niveau de spécificité des cartes,et à coopérer.

", + "en": "

A succession of rounds pits 2 teams of 2 players against each other. They are dealt hands of fallacious arguments, which they use in turn on randomly drawn scenarios.

\n

The level of specificity of the cards constitutes their strength, and 2 so-called trump colors can be played at any time and prevail over the other colors.

\n

In addition to recognizing fallacious arguments, players practice assessing the cards' level of specificity and cooperating.

", + "ru": "

Последовательность раундов противопоставляет 2 команды по 2 игрока. Им раздают руки с ошибочными аргументами, которые они по очереди используют в случайно выбранных сценариях.

\n

Уровень специфичности карт определяет их силу, а 2 цвета, называемые козырными, могут быть сыграны в любой момент и побеждают остальные цвета.

\n

Помимо распознавания ошибочных аргументов, игроки тренируются оценивать уровень специфичности карт и сотрудничать.

", + "pt": "

Uma sucessão de rodadas opõe 2 equipes de 2 jogadores. Eles recebem mãos de argumentos falaciosos que utilizam, cada um na sua vez, em cenários sorteados.

\n

O nível de especificidade das cartas constitui sua força, e 2 cores chamadas de trunfo podem ser jogadas a qualquer momento e prevalecem sobre as outras cores.

\n

Além de reconhecer os argumentos falaciosos, os jogadores treinam para avaliar o nível de especificidade das cartas,e para cooperar.

", + "es": "

Una sucesión de rondas enfrenta a 2 equipos de 2 jugadores. Se les reparten manos de argumentos falaces que utilizan por turnos en escenarios elegidos al azar.

\n

El nivel de especificidad de las cartas constituye su fuerza y 2 colores llamados de triunfo pueden jugarse en cualquier momento, y superan a los demás colores.

\n

Además de reconocer los argumentos falaces, los jugadores se entrenan para evaluar el nivel de especificidad de las cartas y para cooperar.

", + "ar": "

تواجه سلسلة من الجولات فريقين من لاعبين اثنين. تُوزَّع عليهم أيدٍ من الحجج المغلوطة يستخدمونها بالتناوب على سيناريوهات تُسحب عشوائيًا.

\n

يشكّل مستوى خصوصية البطاقات قوتها، ويمكن لعب لونين يُسمَّيان لونَي الرابح في أي وقت، ويتغلبان على الألوان الأخرى.

\n

بالإضافة إلى التعرّف على الحجج المغلوطة، يتدرّب اللاعبون على تقييم مستوى خصوصية البطاقات،وعلى التعاون.

", + "fa": "

مجموعه‌ای از دورها، 2 تیمِ 2 نفره را در برابر هم قرار می‌دهد. به آن‌ها دست‌هایی از استدلال‌های مغالطه‌آمیز داده می‌شود که به نوبت روی سناریوهایی که به‌صورت تصادفی کشیده شده‌اند، از آن‌ها استفاده می‌کنند.

\n

سطح اختصاصی‌بودن کارت‌ها قدرت آن‌ها را تشکیل می‌دهد و 2 رنگِ به‌اصطلاح خالِ برنده می‌تواند در هر زمان بازی شود و بر رنگ‌های دیگر غلبه می‌کند.

\n

بازیکنان علاوه بر تشخیص استدلال‌های مغالطه‌آمیز، تمرین می‌کنند تا سطح اختصاصی‌بودن کارت‌ها را ارزیابی کنند و همکاری کنند.

", + "zh": "

一系列回合由2支各有2名玩家的队伍相互对抗。玩家会拿到由谬误论证组成的手牌,并轮流将其用于随机抽取的情境。

\n

卡牌的具体程度构成其强度;有2种被称为王牌的颜色可以在任何时候打出,并且胜过其他颜色。

\n

除了识别谬误论证之外,玩家还会练习评估卡牌的具体程度,并学习合作。

" + }, + "Content": { + "fr": "

Début de la manche

\n

Le piocheur

\n

Le piocheur tire une carte de scénario parmi les deux pioches disponibles et la lit à voix haute, à l’exception de la dernière phrase en italique au bas de la carte. Puis il mélange et distribue les 28 cartes d'arguments fallacieux aux 4 joueurs.

\n

Les enchères d'atout

\n

A commencer par le voisin de gauche du piocheur, les joueurs choisissent ou non de surenchérir pour désigner les 2 couleurs d'atout de la manche. Les cartes d'atout permettent de l'emporter sur d'autres types de cartes, et valent également plus de point au décompte de la manche. La mise aux enchères des atout est de 80 et les enchères montent de 10 en 10.

\n

A tout moment, l'un des deux membres d'une équipe peut dire \"je coinche\" et mettre fin aux enchères tout en doublant l'enjeu de la manche. Quand plus personne ne surenchérit, les deux couleurs d'atout sont désignées pour la manche et la phase de jeu peut commencer.

\n

Les tours de jeu

\n

Dans une succession de 7 tours, les joueurs vont confronter chacun 1 carte d'argument fallacieux sur le scenario. En commançant par le voisin de gauche du piocheur, chaque joueur doit proposer une carte et jouer un argument illustratif répondant à l'injonction du scénario.

\n

Si aucune carte d'atout n'est jouée, la carte au plus grand niveau de profondeur emporte le pli. Si des atouts sont joués, la carte d'atout du plus faible niveau de profondeur emporte le pli.Les joueurs dans la même équipe partagent les plis qu'ils remportent.

\n

Pour emporter un pli un joueur doit expliciter un argument correspondant à la carte. Si aucun joueur ne propose d'argument, la meilleure carte l'emporte. 

\n

Décompte de la manche

\n

La manche s'arrête quand tous les plis ont été joués.

On compte alors les points des deux équipes.
Pour les cartes en dehors des couleurs d'atout, chaque carte vaut en point 2 fois son niveau de profondeur.
Pour les cartes à la couleur d'atout, chaque carte vaut 12 - (2 fois son niveau de profondeur)

Si l'équipe qui a gagné les enchères d'atout respecte son contrat avec un score supérieur, elle remporte en points le montant de ses enchères plus les points effectivement remportés.
Si c'est l'autre équipe qui gagne, c'est celle-là qui emporte 160 points plus le montant des enchères qui n'a pas été honoré.

Si les enchères étaient coinchées, les scores sont doublé.

\n

Fin de partie et décompte

\n

L'équipe qui l'emporte est la première à dépasser 1000 points

", + "en": "

Start of the round

\n

The dealer

\n

The dealer draws a scenario card from one of the two available draw piles and reads it aloud, except for the last sentence in italics at the bottom of the card. Then they shuffle and deal the 28 fallacious argument cards to the 4 players.

\n

Trump bidding

\n

Starting with the player to the dealer's left, players choose whether or not to overbid in order to designate the 2 trump suits for the round. Trump cards allow you to beat other types of cards, and are also worth more points when the round is scored. The bidding for trumps starts at 80 and increases in increments of 10.

\n

At any time, one of the two members of a team may say \"I coinche\" and end the bidding while doubling the stakes of the round. When no one overbids anymore, the two trump suits are designated for the round and the play phase can begin.

\n

Turns of play

\n

Over a sequence of 7 tricks, each player will play 1 fallacious argument card on the scenario. Starting with the player to the dealer's left, each player must offer a card and play an illustrative argument responding to the scenario's prompt.

\n

If no trump card is played, the card with the greatest depth level wins the trick. If trumps are played, the trump card with the lowest depth level wins the trick.Players on the same team share the tricks they win.

\n

To win a trick, a player must spell out an argument corresponding to the card. If no player offers an argument, the best card wins. 

\n

Scoring the round

\n

The round ends when all the tricks have been played.

The points of the two teams are then counted.
For cards outside the trump suits, each card is worth 2 times its depth level in points.
For cards in a trump suit, each card is worth 12 - (2 times its depth level)

If the team that won the trump bidding fulfills its contract with a higher score, it scores the amount of its bid plus the points actually won.
If the other team wins, that team scores 160 points plus the amount of the bid that was not fulfilled.

If the bidding was coinched, the scores are doubled.

\n

End of the game and scoring

\n

The winning team is the first to exceed 1000 points

", + "ru": "

Начало раунда

\n

Берущий карту

\n

Берущий карту тянет карту сценария из одной из двух доступных колод и читает её вслух, за исключением последней фразы курсивом внизу карты. Затем он перемешивает и раздаёт 28 карт ложных аргументов 4 игрокам.

\n

Торги за козырь

\n

Начиная с соседа слева от берущего карту, игроки выбирают, повышать ставку или нет, чтобы определить 2 козырные масти раунда. Козырные карты позволяют побеждать другие типы карт, а также приносят больше очков при подсчёте раунда. Начальная ставка в торгах за козыри составляет 80, и ставки повышаются на 10.

\n

В любой момент один из двух членов команды может сказать \"я контрю\" и завершить торги, одновременно удвоив ставку раунда. Когда больше никто не повышает ставку, две козырные масти назначаются для раунда, и фаза игры может начаться.

\n

Игровые ходы

\n

В последовательности из 7 ходов каждый игрок будет разыгрывать 1 карту ложного аргумента по сценарию. Начиная с соседа слева от берущего карту, каждый игрок должен предложить карту и привести иллюстративный аргумент, отвечающий требованию сценария.

\n

Если не сыграна ни одна козырная карта, взятку забирает карта с самым высоким уровнем глубины. Если сыграны козыри, взятку забирает козырная карта с самым низким уровнем глубины.Игроки одной команды делят между собой взятки, которые они выигрывают.

\n

Чтобы выиграть взятку, игрок должен ясно изложить аргумент, соответствующий карте. Если ни один игрок не предлагает аргумент, побеждает лучшая карта. 

\n

Подсчёт раунда

\n

Раунд заканчивается, когда все взятки сыграны.

Затем подсчитываются очки двух команд.
Для карт вне козырных мастей каждая карта стоит в очках 2, умноженные на её уровень глубины.
Для карт козырной масти каждая карта стоит 12 - (2, умноженные на её уровень глубины)

Если команда, выигравшая торги за козырь, выполняет свой контракт с более высоким счётом, она получает в очках сумму своей ставки плюс фактически выигранные очки.
Если побеждает другая команда, именно она получает 160 очков плюс сумму ставки, которая не была выполнена.

Если торги были законтрены, очки удваиваются.

\n

Конец партии и подсчёт

\n

Побеждает команда, которая первой превысит 1000 очков

", + "pt": "

Início da rodada

\n

O comprador

\n

O comprador tira uma carta de cenário de um dos dois montes disponíveis e a lê em voz alta, com exceção da última frase em itálico na parte inferior da carta. Depois, ele embaralha e distribui as 28 cartas de argumentos falaciosos aos 4 jogadores.

\n

Os lances de trunfo

\n

A começar pelo vizinho à esquerda do comprador, os jogadores escolhem ou não aumentar o lance para designar as 2 cores de trunfo da rodada. As cartas de trunfo permitem vencer outros tipos de cartas e também valem mais pontos na contagem da rodada. O lance inicial para os trunfos é de 80, e os lances sobem de 10 em 10.

\n

A qualquer momento, um dos dois membros de uma equipe pode dizer \"eu coincho\" e encerrar os lances, dobrando ao mesmo tempo a aposta da rodada. Quando ninguém mais aumenta o lance, as duas cores de trunfo são designadas para a rodada e a fase de jogo pode começar.

\n

Os turnos de jogo

\n

Em uma sucessão de 7 turnos, os jogadores vão confrontar, cada um, 1 carta de argumento falacioso sobre o cenário. Começando pelo vizinho à esquerda do comprador, cada jogador deve propor uma carta e jogar um argumento ilustrativo que responda à injunção do cenário.

\n

Se nenhuma carta de trunfo for jogada, a carta com o maior nível de profundidade vence a vaza. Se trunfos forem jogados, a carta de trunfo com o menor nível de profundidade vence a vaza.Os jogadores da mesma equipe compartilham as vazas que conquistam.

\n

Para ganhar uma vaza, um jogador deve explicitar um argumento correspondente à carta. Se nenhum jogador propuser um argumento, a melhor carta vence. 

\n

Contagem da rodada

\n

A rodada termina quando todas as vazas tiverem sido jogadas.

Contam-se então os pontos das duas equipes.
Para as cartas fora das cores de trunfo, cada carta vale em pontos 2 vezes seu nível de profundidade.
Para as cartas da cor de trunfo, cada carta vale 12 - (2 vezes seu nível de profundidade)

Se a equipe que venceu os lances de trunfo cumprir seu contrato com uma pontuação superior, ela ganha em pontos o valor de seus lances mais os pontos efetivamente conquistados.
Se for a outra equipe que vencer, é essa que ganha 160 pontos mais o valor dos lances que não foi honrado.

Se os lances tiverem sido coinchados, as pontuações são dobradas.

\n

Fim da partida e contagem

\n

A equipe que vence é a primeira a ultrapassar 1000 pontos

", + "es": "

Inicio de la ronda

\n

El robador

\n

El robador toma una carta de escenario de entre los dos mazos disponibles y la lee en voz alta, excepto la última frase en cursiva al pie de la carta. Luego mezcla y reparte las 28 cartas de argumentos falaces a los 4 jugadores.

\n

Las pujas de triunfo

\n

Empezando por el vecino de la izquierda del robador, los jugadores eligen si sobrepujan o no para designar los 2 colores de triunfo de la ronda. Las cartas de triunfo permiten imponerse a otros tipos de cartas, y también valen más puntos en el recuento de la ronda. La puja de los triunfos es de 80 y las pujas suben de 10 en 10.

\n

En cualquier momento, uno de los dos miembros de un equipo puede decir \"je coinche\" y poner fin a las pujas, duplicando al mismo tiempo lo que está en juego en la ronda. Cuando ya nadie sobrepuja, los dos colores de triunfo quedan designados para la ronda y la fase de juego puede comenzar.

\n

Los turnos de juego

\n

En una sucesión de 7 turnos, los jugadores confrontarán cada uno 1 carta de argumento falaz sobre el escenario. Empezando por el vecino de la izquierda del robador, cada jugador debe proponer una carta y jugar un argumento ilustrativo que responda a la consigna del escenario.

\n

Si no se juega ninguna carta de triunfo, la carta con el mayor nivel de profundidad gana la baza. Si se juegan triunfos, la carta de triunfo con el menor nivel de profundidad gana la baza.Los jugadores del mismo equipo comparten las bazas que ganan.

\n

Para ganar una baza, un jugador debe explicitar un argumento correspondiente a la carta. Si ningún jugador propone un argumento, gana la mejor carta. 

\n

Recuento de la ronda

\n

La ronda se detiene cuando se han jugado todas las bazas.

Entonces se cuentan los puntos de los dos equipos.
Para las cartas fuera de los colores de triunfo, cada carta vale en puntos 2 veces su nivel de profundidad.
Para las cartas del color de triunfo, cada carta vale 12 - (2 veces su nivel de profundidad)

Si el equipo que ganó las pujas de triunfo cumple su contrato con una puntuación superior, obtiene en puntos el importe de sus pujas más los puntos efectivamente ganados.
Si gana el otro equipo, es ese el que obtiene 160 puntos más el importe de las pujas que no se ha cumplido.

Si las pujas fueron coinchées, las puntuaciones se duplican.

\n

Fin de la partida y recuento

\n

El equipo que gana es el primero en superar los 1000 puntos

", + "ar": "

بداية الجولة

\n

ساحب البطاقات

\n

يسحب ساحب البطاقات بطاقة سيناريو من بين كومتَي السحب المتاحتين ويقرأها بصوت عالٍ، باستثناء الجملة الأخيرة المكتوبة بخط مائل في أسفل البطاقة. ثم يخلط بطاقات الحجج المغالِطة الـ28 ويوزعها على اللاعبين الأربعة.

\n

مزادات الرابح

\n

بدءًا من الجار على يسار ساحب البطاقات، يختار اللاعبون ما إذا كانوا سيزيدون المزايدة لتحديد لونَي الرابح في الجولة أم لا. تتيح بطاقات الرابح التغلب على أنواع أخرى من البطاقات، كما تساوي نقاطًا أكثر عند احتساب نقاط الجولة. تبدأ مزايدة الرابح من 80 وتزداد المزايدات بمقدار 10 في كل مرة.

\n

في أي وقت، يمكن لأحد عضوي الفريق أن يقول \"أنا أضاعف\" وينهي المزايدات مع مضاعفة رهان الجولة. عندما لا يعود أحد يزيد المزايدة، يُحدَّد لونا الرابح للجولة ويمكن أن تبدأ مرحلة اللعب.

\n

أدوار اللعب

\n

في سلسلة من 7 أدوار، سيواجه كل لاعب السيناريو ببطاقة واحدة من بطاقات الحجج المغالِطة. بدءًا من الجار على يسار ساحب البطاقات، يجب على كل لاعب أن يقدّم بطاقة وأن يلعب حجة توضيحية تستجيب لتوجيه السيناريو.

\n

إذا لم تُلعب أي بطاقة رابح، فإن البطاقة ذات أعلى مستوى عمق تفوز بالطعمة. إذا لُعبت أوراق رابح، فإن بطاقة الرابح ذات أدنى مستوى عمق تفوز بالطعمة.يتقاسم اللاعبون في الفريق نفسه الطعمات التي يفوزون بها.

\n

للفوز بطعمة، يجب على اللاعب أن يشرح حجةً تتوافق مع البطاقة. إذا لم يقدّم أي لاعب حجة، تفوز أفضل بطاقة. 

\n

احتساب نقاط الجولة

\n

تنتهي الجولة عندما تُلعب جميع الطعمات.

ثم تُحتسب نقاط الفريقين.
بالنسبة للبطاقات خارج ألوان الرابح، تساوي كل بطاقة من النقاط ضعفي مستوى عمقها.
بالنسبة للبطاقات من لون الرابح، تساوي كل بطاقة 12 - (ضعفي مستوى عمقها)

إذا احترم الفريق الذي فاز بمزايدات الرابح عقده بنتيجة أعلى، فإنه يربح من النقاط مقدار مزايداته إضافةً إلى النقاط التي ربحها فعليًا.
إذا فاز الفريق الآخر، فهو الذي يحصل على 160 نقطة إضافةً إلى مقدار المزايدات التي لم يتم الوفاء بها.

إذا كانت المزايدات مضاعَفة، تُضاعَف النتائج.

\n

نهاية اللعبة واحتساب النقاط

\n

الفريق الذي يفوز هو أول فريق يتجاوز 1000 نقطة

", + "fa": "

آغاز دست

\n

کارت‌کش

\n

کارت‌کش یک کارت سناریو از میان دو دستهٔ کارتِ موجود می‌کشد و آن را با صدای بلند می‌خواند، به‌جز جملهٔ آخرِ ایتالیک در پایین کارت. سپس 28 کارت استدلال‌های مغالطه‌آمیز را بُر می‌زند و میان 4 بازیکن پخش می‌کند.

\n

مزایدهٔ حکم

\n

با شروع از همسایهٔ سمت چپ کارت‌کش، بازیکنان تصمیم می‌گیرند که برای تعیین 2 رنگِ حکمِ دست، پیشنهاد بالاتری بدهند یا نه. کارت‌های حکم می‌توانند بر انواع دیگر کارت‌ها غلبه کنند، و همچنین در امتیازشماری دست امتیاز بیشتری دارند. مزایدهٔ حکم از 80 شروع می‌شود و پیشنهادها 10 تا 10 بالا می‌روند.

\n

در هر لحظه، یکی از دو عضو یک تیم می‌تواند بگوید \"من کوانش می‌کنم\" و با دوبرابر کردن ریسک دست، به مزایده پایان دهد. وقتی دیگر هیچ‌کس پیشنهاد بالاتری ندهد، دو رنگِ حکم برای دست تعیین می‌شوند و مرحلهٔ بازی می‌تواند آغاز شود.

\n

نوبت‌های بازی

\n

در زنجیره‌ای از 7 نوبت، هر بازیکن 1 کارت استدلال مغالطه‌آمیز را دربارهٔ سناریو به چالش می‌کشد. با شروع از همسایهٔ سمت چپ کارت‌کش، هر بازیکن باید یک کارت ارائه کند و یک استدلالِ نمونه بیاورد که به دستور سناریو پاسخ دهد.

\n

اگر هیچ کارت حکمی بازی نشود، کارتی که بالاترین سطحِ عمق را دارد دست را می‌برد. اگر حکم‌ها بازی شوند، کارت حکم با پایین‌ترین سطحِ عمق دست را می‌برد.بازیکنانِ یک تیم دست‌هایی را که می‌برند با هم شریک می‌شوند.

\n

برای بردن یک دست، بازیکن باید استدلالی مطابق با کارت را به‌روشنی بیان کند. اگر هیچ بازیکنی استدلالی ارائه نکند، بهترین کارت برنده می‌شود. 

\n

امتیازشماری دست

\n

دست زمانی پایان می‌یابد که همهٔ دست‌ها بازی شده باشند.

سپس امتیازهای دو تیم شمرده می‌شود.
برای کارت‌هایی خارج از رنگ‌های حکم، هر کارت به اندازهٔ 2 برابر سطح عمق خود امتیاز دارد.
برای کارت‌های رنگِ حکم، هر کارت 12 - (2 برابر سطح عمق خود) امتیاز دارد

اگر تیمی که مزایدهٔ حکم را برده است قرارداد خود را با امتیازی بالاتر رعایت کند، به اندازهٔ مبلغ پیشنهادهایش به‌علاوهٔ امتیازهایی که واقعاً به دست آورده است امتیاز می‌گیرد.
اگر تیم دیگر برنده شود، همان تیم 160 امتیاز به‌علاوهٔ مبلغ مزایده‌ای را که عملی نشده است به دست می‌آورد.

اگر مزایده‌ها کوانش شده باشند، امتیازها دوبرابر می‌شوند.

\n

پایان بازی و امتیازشماری

\n

تیمی که برنده می‌شود نخستین تیمی است که از 1000 امتیاز عبور کند

", + "zh": "

回合开始

\n

抽牌者

\n

抽牌者从两个可用牌堆中抽取一张情景牌,并大声读出,牌底部最后一句斜体文字除外。然后他洗混并向4名玩家发放28张谬误论证牌。

\n

王牌竞叫

\n

从抽牌者左侧的邻座开始,玩家选择是否加叫,以指定本回合的2种王牌颜色。王牌可以压过其他类型的牌,并且在本回合计分时也值更多分。王牌竞叫的起叫为80,叫分每次以10分递增。

\n

在任何时候,一队中的任一成员都可以说“我加倍”,从而结束竞叫并使本回合的赌注翻倍。当不再有人加叫时,本回合的两种王牌颜色即被确定,游戏阶段可以开始。

\n

游戏轮次

\n

在连续7轮中,玩家将各自针对情景打出1张谬误论证牌进行对抗。从抽牌者左侧的邻座开始,每位玩家必须出一张牌,并提出一个符合情景指令的示例性论证。

\n

如果没有打出王牌,则深度等级最高的牌赢得这一墩。如果打出了王牌,则深度等级最低的王牌赢得这一墩。同队玩家共享他们赢得的牌墩。

\n

要赢得一墩,玩家必须阐明一个与该牌相对应的论证。如果没有玩家提出论证,则最好的牌获胜。 

\n

本回合计分

\n

当所有牌墩都打完时,本回合结束。

随后计算两队的分数。
对于不属于王牌颜色的牌,每张牌的分值为其深度等级的2倍。
对于王牌颜色的牌,每张牌的分值为12 -(其深度等级的2倍)

如果赢得王牌竞叫的队伍以更高得分履行了合约,则其得分为竞叫分数加上实际赢得的分数。
如果是另一队获胜,则该队获得160分,加上未履行的竞叫分数。

如果竞叫已被加倍,则分数翻倍。

\n

游戏结束与计分

\n

获胜队伍是第一支超过1000分的队伍

" + } + } + }, + "11378": { + "title": "L'école des menteurs", + "fields": { + "Title": { + "fr": "L'école des menteurs", + "en": "The School of Liars", + "ru": "Школа лжецов", + "pt": "A escola dos mentirosos", + "es": "La escuela de los mentirosos", + "ar": "مدرسة الكاذبين", + "fa": "مدرسهٔ دروغ‌گویان", + "zh": "骗子学校" + }, + "Memo": { + "fr": "

Conditions de Victoire

\n\n

Nombre de pioches

\n", + "en": "

Victory Conditions

\n\n

Number of Draws

\n", + "ru": "

Условия победы

\n\n

Количество доборов

\n", + "pt": "

Condições de Vitória

\n\n

Número de compras

\n", + "es": "

Condiciones de Victoria

\n\n

Número de robos

\n", + "ar": "

شروط الفوز

\n\n

عدد مرات السحب

\n", + "fa": "

شرایط پیروزی

\n\n

تعداد کشیدن‌ها

\n", + "zh": "

胜利条件

\n\n

抽牌数量

\n" + }, + "Material": { + "fr": "", + "en": "", + "ru": "", + "pt": "", + "es": "", + "ar": "", + "fa": "", + "zh": "" + }, + "Summary": { + "fr": "

Les joueurs vont à tour de rôle essayer de faire deviner une carte d’argument fallacieux à une majorité d’autres joueurs, au cours d’une saynète d’improvisation à partir d'un scénario tiré au sort. Tout en s’amusant, les joueurs apprennent ainsi à reconnaître, à décoder et donc à déconstruire les arguments fallacieux.

\n

Argumentum s’appuie sur une classification de ces arguments fallacieux, rangés en ordres et en familles qui sont indiqués en haut de la carte. Par exemple, flatterie est une sous catégorie de l’appel aux émotions. Les cartes mémo résument cette classification.

", + "en": "

Players take turns trying to get a majority of the other players to guess a fallacious argument card, during an improvised skit based on a randomly drawn scenario. While having fun, players thus learn to recognize, decode, and therefore deconstruct fallacious arguments.

\n

Argumentum is based on a classification of these fallacious arguments, organized into orders and families, which are indicated at the top of the card. For example, flattery is a subcategory of the appeal to emotions. The memo cards summarize this classification.

", + "ru": "

Игроки по очереди пытаются сделать так, чтобы большинство других игроков угадало карту с ошибочным аргументом в ходе импровизированной сценки на основе случайно выбранного сценария. Развлекаясь, игроки таким образом учатся распознавать, расшифровывать и, следовательно, деконструировать ошибочные аргументы.

\n

Argumentum основана на классификации этих ошибочных аргументов, распределённых по порядкам и семействам, которые указаны в верхней части карты. Например, лесть — это подкатегория апелляции к эмоциям. Карты-памятки кратко излагают эту классификацию.

", + "pt": "

Os jogadores vão, em turnos, tentar fazer uma maioria dos outros jogadores adivinhar uma carta de argumento falacioso, durante uma pequena cena de improvisação a partir de um cenário sorteado. Enquanto se divertem, os jogadores aprendem assim a reconhecer, a decodificar e, portanto, a desconstruir os argumentos falaciosos.

\n

Argumentum baseia-se numa classificação desses argumentos falaciosos, organizados em ordens e em famílias indicadas no topo da carta. Por exemplo, bajulação é uma subcategoria do apelo às emoções. As cartas de memória resumem essa classificação.

", + "es": "

Los jugadores, por turnos, intentarán hacer adivinar una carta de argumento falaz a una mayoría de los demás jugadores, durante una escena de improvisación a partir de un escenario elegido al azar. Mientras se divierten, los jugadores aprenden así a reconocer, descodificar y, por tanto, deconstruir los argumentos falaces.

\n

Argumentum se basa en una clasificación de estos argumentos falaces, ordenados en órdenes y familias que se indican en la parte superior de la carta. Por ejemplo, la adulación es una subcategoría de la apelación a las emociones. Las cartas de ayuda resumen esta clasificación.

", + "ar": "

سيتناوب اللاعبون على محاولة جعل أغلبية اللاعبين الآخرين يخمّنون بطاقة حجة مغلوطة، من خلال مشهد ارتجالي قصير انطلاقًا من سيناريو يُسحب عشوائيًا. وبينما يستمتعون، يتعلّم اللاعبون بذلك التعرّف إلى الحجج المغلوطة، وفكّ رموزها، ومن ثمّ تفكيكها.

\n

تستند Argumentum إلى تصنيف لهذه الحجج المغلوطة، المرتّبة في رُتب وعائلات مبيّنة في أعلى البطاقة. على سبيل المثال، التملّق هو فئة فرعية من الاحتكام إلى العواطف. تلخّص بطاقات المذكرة هذا التصنيف.

", + "fa": "

بازیکنان به نوبت تلاش می‌کنند طی یک نمایش کوتاه بداهه، بر پایهٔ سناریویی که به‌صورت تصادفی انتخاب شده است، کاری کنند که اکثریت دیگر بازیکنان یک کارتِ استدلال مغالطه‌آمیز را حدس بزنند. به این ترتیب بازیکنان در حین سرگرمی می‌آموزند که استدلال‌های مغالطه‌آمیز را تشخیص دهند، رمزگشایی کنند و در نتیجه واسازی کنند.

\n

Argumentum بر یک طبقه‌بندی از این استدلال‌های مغالطه‌آمیز تکیه دارد که در رده‌ها و خانواده‌هایی مرتب شده‌اند و در بالای کارت نشان داده می‌شوند. برای مثال، چاپلوسی یک زیررده از توسل به احساسات است. کارت‌های یادداشت این طبقه‌بندی را خلاصه می‌کنند.

", + "zh": "

玩家将轮流尝试通过根据随机抽取的情景进行即兴小品表演,让其他玩家中的多数猜出一张谬误论证卡。在娱乐的同时,玩家也由此学会识别、解读并因此解构谬误论证。

\n

Argumentum 基于对这些谬误论证的分类,它们按类别和家族排列,并标示在卡牌顶部。例如,奉承是诉诸情感的一个子类别。备忘卡概述了这一分类。

" + }, + "Installation": { + "fr": "

Selon le nombre de joueurs et le niveau de difficulté voulu, on constitue la pioche des cartes d’argument fallacieux en ajoutant les niveaux indiqués en bas à droite des cartes par ordre croissant. Il en faut au minimum 7 x le nombre de joueurs.

\n

On choisit la durée de la partie. Celle-ci comprend une succession de manches de 7 minutes environs. A l’issue du temps imparti, on finit la manche en cours et le joueur qui a le plus de points remporte la partie. Les cartes d’arguments fallacieux sont mélangées, ainsi que les cartes scénario.

\n

On constitue 2 pioches de cartes scénario placées au milieu de la table. On distribue à chaque joueur 5 cartes d’argument fallacieux qu’il garde pour lui. Le reste des cartes constitue la réserve.

\n

Chaque joueur se munit d’un petit objet unique (pièce de monnaie, haricot…) pour le vote. Le premier piocheur est celui qui se rappelle en premier d'un argument trompeur.  

", + "en": "

Depending on the number of players and the desired difficulty level, form the draw pile of fallacious argument cards by adding the levels indicated at the bottom right of the cards in ascending order. You need at least 7 x the number of players.

\n

Choose the length of the game. It consists of a succession of rounds of about 7 minutes. At the end of the allotted time, finish the current round, and the player with the most points wins the game. The fallacious argument cards are shuffled, as are the scenario cards.

\n

Form 2 draw piles of scenario cards placed in the middle of the table. Deal each player 5 fallacious argument cards, which they keep to themselves. The remaining cards form the reserve.

\n

Each player takes a small unique object (coin, bean…) for voting. The first drawer is the first person to remember a deceptive argument.  

", + "ru": "

В зависимости от числа игроков и желаемого уровня сложности формируют колоду карт ложных аргументов, добавляя уровни, указанные в правом нижнем углу карт, в порядке возрастания. Их должно быть не менее 7 x количества игроков.

\n

Выбирают продолжительность партии. Она состоит из последовательности раундов примерно по 7 минут. По истечении отведённого времени текущий раунд доигрывают, и игрок, набравший больше всего очков, выигрывает партию. Карты ложных аргументов перемешивают, как и карты сценариев.

\n

Формируют 2 колоды карт сценариев и кладут их в центр стола. Каждому игроку раздают 5 карт ложных аргументов, которые он держит при себе. Остальные карты составляют резерв.

\n

Каждый игрок берёт себе небольшой уникальный предмет (монету, фасолину…) для голосования. Первым берёт карту тот, кто первым вспомнит обманчивый аргумент.  

", + "pt": "

De acordo com o número de jogadores e o nível de dificuldade desejado, forma-se o baralho de compra das cartas de argumento falacioso acrescentando os níveis indicados no canto inferior direito das cartas em ordem crescente. São necessárias no mínimo 7 x o número de jogadores.

\n

Escolhe-se a duração da partida. Esta compreende uma sucessão de rodadas de cerca de 7 minutos. Ao fim do tempo previsto, termina-se a rodada em andamento e o jogador que tiver mais pontos vence a partida. As cartas de argumentos falaciosos são embaralhadas, assim como as cartas de cenário.

\n

Formam-se 2 baralhos de compra de cartas de cenário colocados no meio da mesa. Distribuem-se a cada jogador 5 cartas de argumento falacioso, que ele mantém consigo. O restante das cartas constitui a reserva.

\n

Cada jogador pega um pequeno objeto único (moeda, feijão…) para a votação. O primeiro comprador é aquele que se lembra primeiro de um argumento enganoso.  

", + "es": "

Según el número de jugadores y el nivel de dificultad deseado, se forma el mazo de cartas de argumento falaz añadiendo los niveles indicados en la parte inferior derecha de las cartas en orden creciente. Se necesitan como mínimo 7 x el número de jugadores.

\n

Se elige la duración de la partida. Esta comprende una sucesión de rondas de unos 7 minutos. Al finalizar el tiempo asignado, se termina la ronda en curso y el jugador que tenga más puntos gana la partida. Las cartas de argumentos falaces se mezclan, al igual que las cartas de escenario.

\n

Se forman 2 mazos de cartas de escenario colocados en el centro de la mesa. Se reparten a cada jugador 5 cartas de argumento falaz que conserva para sí. El resto de las cartas constituye la reserva.

\n

Cada jugador se hace con un pequeño objeto único (moneda, judía…) para la votación. El primer jugador en robar es quien recuerde primero un argumento engañoso.  

", + "ar": "

بحسب عدد اللاعبين ومستوى الصعوبة المطلوب، تُشكَّل رزمة سحب بطاقات الحجة المغالِطة بإضافة المستويات المبيَّنة في أسفل يمين البطاقات بترتيب تصاعدي. يجب أن تحتوي على الأقل على 7 × عدد اللاعبين.

\n

يُختار زمن المباراة. وتتكوّن هذه من سلسلة من الجولات مدة كل منها نحو 7 دقائق. عند انتهاء الوقت المحدد، تُستكمل الجولة الجارية، ويفوز بالمباراة اللاعب الذي يملك أكبر عدد من النقاط. تُخلط بطاقات الحجج المغالِطة، وكذلك بطاقات السيناريو.

\n

تُشكَّل رزمتي سحب من بطاقات السيناريو وتوضعان في وسط الطاولة. يُوزَّع على كل لاعب 5 بطاقات حجة مغالِطة يحتفظ بها لنفسه. وتشكّل بقية البطاقات المخزون.

\n

يأخذ كل لاعب غرضًا صغيرًا فريدًا (قطعة نقدية، حبة فاصولياء…) للتصويت. أول ساحب هو من يتذكر أولًا حجة خادعة.  

", + "fa": "

با توجه به تعداد بازیکنان و سطح دشواریِ مورد نظر، دستهٔ کارت‌های استدلال مغالطه‌آمیز را با افزودن سطح‌هایی که در پایینِ سمت راست کارت‌ها نشان داده شده‌اند، به ترتیب صعودی تشکیل می‌دهیم. حداقل به 7 x تعداد بازیکنان کارت نیاز است.

\n

مدت زمان بازی انتخاب می‌شود. این مدت شامل توالی‌ای از دورهاست که هرکدام حدود 7 دقیقه طول می‌کشند. پس از پایان زمان تعیین‌شده، دورِ در جریان را به پایان می‌رسانیم و بازیکنی که بیشترین امتیاز را دارد، برندهٔ بازی می‌شود. کارت‌های استدلال‌های مغالطه‌آمیز، و همچنین کارت‌های سناریو، بُر زده می‌شوند.

\n

2 دستهٔ کارت سناریو تشکیل می‌دهیم و آن‌ها را در وسط میز قرار می‌دهیم. به هر بازیکن 5 کارت استدلال مغالطه‌آمیز داده می‌شود که آن‌ها را نزد خود نگه می‌دارد. بقیهٔ کارت‌ها ذخیره را تشکیل می‌دهند.

\n

هر بازیکن برای رأی‌گیری یک شیء کوچکِ منحصربه‌فرد (سکه، لوبیا…) برمی‌دارد. نخستین کارت‌کش کسی است که زودتر از همه یک استدلال فریبنده را به یاد می‌آورد.  

", + "zh": "

根据玩家人数和所需的难度等级,按卡牌右下角标示的等级从低到高加入卡牌,组成谬误论证牌的牌堆。至少需要 7 x 玩家人数 张牌。

\n

选择游戏时长。游戏由若干轮组成,每轮约 7 分钟。规定时间结束后,完成当前这一轮,得分最高的玩家赢得游戏。将谬误论证牌洗混,场景牌也同样洗混。

\n

组成 2 堆场景牌,放在桌子中央。给每位玩家发 5 张谬误论证牌,玩家自行保管。剩余的牌作为备用牌库。

\n

每位玩家准备一个独一无二的小物件(硬币、豆子…)用于投票。第一位抽牌者是最先想起一个欺骗性论证的人。  

" + }, + "Variants": { + "fr": "", + "en": "", + "ru": "", + "pt": "", + "es": "", + "ar": "", + "fa": "", + "zh": "" + }, + "Content": { + "fr": "

Déroulé de la manche

\n

Le piocheur

\n

Le piocheur tire une carte de scénario parmi les deux pioches disponibles et la lit à voix haute, à l’exception de la dernière phrase en italique au bas de la carte.

\n

Le baratineur

\n

Le baratineur sera chargé de conduire l’argumentation du scenario, pour illustrer l’une de ses cartes d’argument fallacieux. Son objectif sera de faire deviner cette carte à une majorité d’autres joueurs. Le rôle de baratineur est attribué au premier joueur qui pose, face cachée, la carte d’argument fallacieux qu’il compte jouer. A défaut, le joueur à la gauche du piocheur est désigné baratineur et pose sa carte.

\n

La saynète

\n

Le piocheur amorce le débat comme il le souhaite. Il peut reprendre la suggestion de première réplique en italique au bas de la carte scénario. Le baratineur et le piocheur disposent alors d’une minute maximum pour improviser une discussion durant laquelle le baratineur va tâcher d’utiliser le type d’argument indiqué par la carte qu’il a choisie. 

\n

Le baratineur expose ses arguments et le piocheur lui donne la réplique sans chercher à dominer la scène. Le baratineur peut choisir d’écourter la saynète quand il le souhaite.

\n

Le jury

\n

Tous les joueurs à l’exception du baratineur, mais piocheur compris, constituent le jury. A la fin de la saynète, chaque juré choisit parmi ses propres cartes celle qui se rapproche au mieux de l’argumentation entendue et la pose face cachée avec celle du baratineur. Celui-ci ramasse les cartes, les mélange et les révèle au milieu de la table.

\n

Les jurés prennent connaissance des cartes révélées, un juré peut en faire la lecture à haute voix. Chacun des jurés lève le doigt pour signaler quand il est prêt à voter.

\n

Quand le jury est prêt, sans concertation, chacun de ses membres désigne simultanément la carte qu’il pense avoir été jouée par le baratineur en y posant sont petit objet unique (ou à défaut en y posant le doigt).

\n

Le décompte

\n

Le vainqueur de la manche est celui dont la carte a obtenu le plus grand nombre de vote, baratineur ou membre du jury.
Il garde alors sa carte qui vaut 1 point et la pose, face visible devant lui.

En cas d’égalité, le baratineur l'emporte et à défaut, les jurés plebicités qui ont trouvé la carte du baratineur sont tous déclarés vainqueurs. Si aucun des jurés concernés ne l'a trouvée, c'est le baratineur qui l’emporte.

\n

Les pioches

\n

Une fois le vainqueur désigné, les joueurs piochent dans la réserve un certain nombre de cartes:

\n\n

Les cartes jouées sont remises à la réserve.
Le voisin de gauche du vainqueur devient le piocheur de la manche suivante.

", + "en": "

Round sequence

\n

The drawer

\n

The drawer draws a scenario card from one of the two available draw piles and reads it aloud, except for the last italicized sentence at the bottom of the card.

\n

The smooth talker

\n

The smooth talker will be responsible for leading the scenario’s argumentation, to illustrate one of their fallacious argument cards. Their objective is to get a majority of the other players to guess this card. The role of smooth talker is assigned to the first player who places, face down, the fallacious argument card they intend to play. Failing that, the player to the left of the drawer is designated as the smooth talker and places their card.

\n

The skit

\n

The drawer starts the debate however they wish. They may use the suggested opening line in italics at the bottom of the scenario card. The smooth talker and the drawer then have a maximum of one minute to improvise a discussion during which the smooth talker will try to use the type of argument indicated by the card they have chosen. 

\n

The smooth talker presents their arguments and the drawer responds without trying to dominate the scene. The smooth talker may choose to cut the skit short whenever they wish.

\n

The jury

\n

All players except the smooth talker, but including the drawer, make up the jury. At the end of the skit, each juror chooses from among their own cards the one that best matches the argumentation they heard and places it face down with the smooth talker’s card. The smooth talker collects the cards, shuffles them, and reveals them in the middle of the table.

\n

The jurors examine the revealed cards; one juror may read them aloud. Each juror raises a finger to signal when they are ready to vote.

\n

When the jury is ready, without discussion, each of its members simultaneously indicates the card they think was played by the smooth talker by placing their unique small object on it (or, failing that, by placing a finger on it).

\n

Scoring

\n

The winner of the round is the player whose card received the greatest number of votes, whether the smooth talker or a jury member.
They then keep their card, which is worth 1 point, and place it face up in front of them.

In the event of a tie, the smooth talker wins; failing that, the favored jurors who found the smooth talker’s card are all declared winners. If none of the jurors concerned found it, the smooth talker wins.

\n

The draw piles

\n

Once the winner has been determined, the players draw a certain number of cards from the reserve:

\n\n

The played cards are returned to the reserve.
The player to the left of the winner becomes the drawer for the next round.

", + "ru": "

Ход раунда

\n

Берущий карту

\n

Берущий карту вытягивает карту сценария из двух доступных колод и читает её вслух, за исключением последней фразы курсивом внизу карты.

\n

Болтун

\n

Болтун отвечает за ведение аргументации по сценарию, чтобы проиллюстрировать одну из своих карт ложного аргумента. Его цель — сделать так, чтобы большинство других игроков угадали эту карту. Роль болтуна получает первый игрок, который кладёт рубашкой вверх карту ложного аргумента, которую собирается разыграть. В противном случае болтуном назначается игрок слева от берущего карту, и он кладёт свою карту.

\n

Сценка

\n

Берущий карту начинает спор так, как пожелает. Он может воспользоваться предложенной первой репликой, напечатанной курсивом внизу карты сценария. Затем у болтуна и берущего карту есть максимум одна минута, чтобы сымпровизировать обсуждение, во время которого болтун постарается использовать тип аргумента, указанный на выбранной им карте. 

\n

Болтун излагает свои аргументы, а берущий карту отвечает ему, не пытаясь доминировать на сцене. Болтун может в любой момент сократить сценку.

\n

Жюри

\n

Все игроки, за исключением болтуна, но включая берущего карту, составляют жюри. В конце сценки каждый член жюри выбирает среди своих собственных карт ту, которая лучше всего соответствует услышанной аргументации, и кладёт её рубашкой вверх вместе с картой болтуна. Болтун собирает карты, перемешивает их и открывает в центре стола.

\n

Члены жюри знакомятся с открытыми картами; один из членов жюри может прочитать их вслух. Каждый член жюри поднимает палец, чтобы показать, что готов голосовать.

\n

Когда жюри готово, без обсуждения каждый его член одновременно указывает на карту, которую, как он считает, разыграл болтун, кладя на неё свой маленький уникальный предмет (или, если его нет, палец).

\n

Подсчёт

\n

Победителем раунда становится тот, чья карта получила наибольшее число голосов, будь то болтун или член жюри.
Он оставляет себе свою карту, которая приносит 1 очко, и кладёт её перед собой лицевой стороной вверх.

В случае ничьей побеждает болтун; если это правило неприменимо, все поддержанные голосами члены жюри, которые нашли карту болтуна, объявляются победителями. Если ни один из соответствующих членов жюри её не нашёл, побеждает болтун.

\n

Взятие карт

\n

После определения победителя игроки берут из резерва определённое количество карт:

\n\n

Разыгранные карты возвращаются в резерв.
Сосед слева от победителя становится берущим карту в следующем раунде.

", + "pt": "

Desenrolar da rodada

\n

O comprador

\n

O comprador tira uma carta de cenário de um dos dois montes disponíveis e lê-a em voz alta, com exceção da última frase em itálico na parte inferior da carta.

\n

O enrolador

\n

O enrolador ficará encarregado de conduzir a argumentação do cenário, para ilustrar uma de suas cartas de argumento falacioso. Seu objetivo será fazer com que essa carta seja adivinhada pela maioria dos outros jogadores. O papel de enrolador é atribuído ao primeiro jogador que coloca, virada para baixo, a carta de argumento falacioso que pretende jogar. Caso contrário, o jogador à esquerda do comprador é designado enrolador e coloca sua carta.

\n

A encenação

\n

O comprador inicia o debate como desejar. Ele pode retomar a sugestão da primeira fala em itálico na parte inferior da carta de cenário. O enrolador e o comprador dispõem então de, no máximo, um minuto para improvisar uma discussão durante a qual o enrolador tentará usar o tipo de argumento indicado pela carta que escolheu. 

\n

O enrolador expõe seus argumentos e o comprador responde sem tentar dominar a cena. O enrolador pode optar por encurtar a encenação quando quiser.

\n

O júri

\n

Todos os jogadores, com exceção do enrolador, mas incluindo o comprador, constituem o júri. Ao fim da encenação, cada jurado escolhe, entre suas próprias cartas, aquela que mais se aproxima da argumentação ouvida e a coloca virada para baixo junto com a do enrolador. Este recolhe as cartas, embaralha-as e as revela no meio da mesa.

\n

Os jurados tomam conhecimento das cartas reveladas; um jurado pode lê-las em voz alta. Cada jurado levanta o dedo para indicar quando está pronto para votar.

\n

Quando o júri estiver pronto, sem consulta entre si, cada um de seus membros indica simultaneamente a carta que acredita ter sido jogada pelo enrolador, colocando sobre ela seu pequeno objeto único (ou, na falta dele, colocando o dedo).

\n

A contagem

\n

O vencedor da rodada é aquele cuja carta obteve o maior número de votos, seja o enrolador ou um membro do júri.
Ele então fica com sua carta, que vale 1 ponto, e a coloca, virada para cima, à sua frente.

Em caso de empate, o enrolador vence e, na falta disso, os jurados mais votados que encontraram a carta do enrolador são todos declarados vencedores. Se nenhum dos jurados envolvidos a encontrou, é o enrolador que vence.

\n

Os montes

\n

Uma vez designado o vencedor, os jogadores compram da reserva um certo número de cartas:

\n\n

As cartas jogadas são devolvidas à reserva.
O vizinho à esquerda do vencedor torna-se o comprador da rodada seguinte.

", + "es": "

Desarrollo de la ronda

\n

El robador

\n

El robador toma una carta de escenario de entre los dos mazos disponibles y la lee en voz alta, a excepción de la última frase en cursiva al pie de la carta.

\n

El embaucador

\n

El embaucador será el encargado de llevar la argumentación del escenario, para ilustrar una de sus cartas de argumento falaz. Su objetivo será hacer que una mayoría de los demás jugadores adivine esa carta. El papel de embaucador se atribuye al primer jugador que coloca, boca abajo, la carta de argumento falaz que piensa jugar. En su defecto, el jugador a la izquierda del robador es designado embaucador y coloca su carta.

\n

La escenita

\n

El robador inicia el debate como desee. Puede retomar la sugerencia de primera réplica en cursiva al pie de la carta de escenario. El embaucador y el robador disponen entonces de un minuto como máximo para improvisar una discusión durante la cual el embaucador intentará utilizar el tipo de argumento indicado por la carta que ha elegido. 

\n

El embaucador expone sus argumentos y el robador le da la réplica sin intentar dominar la escena. El embaucador puede decidir acortar la escenita cuando lo desee.

\n

El jurado

\n

Todos los jugadores, con excepción del embaucador, pero incluido el robador, constituyen el jurado. Al final de la escenita, cada jurado elige entre sus propias cartas la que más se aproxima a la argumentación escuchada y la coloca boca abajo junto con la del embaucador. Este recoge las cartas, las mezcla y las revela en el centro de la mesa.

\n

Los jurados examinan las cartas reveladas; un jurado puede leerlas en voz alta. Cada uno de los jurados levanta el dedo para indicar cuándo está listo para votar.

\n

Cuando el jurado está listo, sin deliberar, cada uno de sus miembros señala simultáneamente la carta que cree que ha sido jugada por el embaucador colocando sobre ella su pequeño objeto único (o, en su defecto, colocando el dedo).

\n

El recuento

\n

El vencedor de la ronda es aquel cuya carta ha obtenido el mayor número de votos, ya sea el embaucador o un miembro del jurado.
Conserva entonces su carta, que vale 1 punto, y la coloca boca arriba delante de él.

En caso de empate, gana el embaucador y, en su defecto, los jurados más votados que hayan encontrado la carta del embaucador son todos declarados vencedores. Si ninguno de los jurados afectados la ha encontrado, gana el embaucador.

\n

Los robos de cartas

\n

Una vez designado el vencedor, los jugadores roban de la reserva un cierto número de cartas:

\n\n

Las cartas jugadas se devuelven a la reserva.
El vecino de la izquierda del vencedor se convierte en el robador de la siguiente ronda.

", + "ar": "

سير الجولة

\n

الساحب

\n

يسحب الساحب بطاقة سيناريو من بين كومتَي السحب المتاحتين ويقرأها بصوت عالٍ، باستثناء الجملة الأخيرة المكتوبة بخط مائل في أسفل البطاقة.

\n

المراوغ

\n

سيكون المراوغ مسؤولًا عن قيادة حجة السيناريو، لتوضيح إحدى بطاقاته الخاصة بالحجة المغالِطة. وسيكون هدفه أن يجعل أغلبية اللاعبين الآخرين يخمّنون هذه البطاقة. يُسنَد دور المراوغ إلى أول لاعب يضع، ووجه البطاقة إلى الأسفل، بطاقة الحجة المغالِطة التي ينوي لعبها. وإذا لم يحدث ذلك، يُعيَّن اللاعب الجالس إلى يسار الساحب مراوغًا ويضع بطاقته.

\n

المشهد القصير

\n

يفتتح الساحب النقاش كما يشاء. ويمكنه استخدام اقتراح الجملة الافتتاحية المكتوبة بخط مائل في أسفل بطاقة السيناريو. عندئذٍ يكون لدى المراوغ والساحب دقيقة واحدة كحد أقصى لارتجال نقاش يحاول خلاله المراوغ استخدام نوع الحجة المشار إليه في البطاقة التي اختارها. 

\n

يعرض المراوغ حججه، ويردّ عليه الساحب دون أن يحاول السيطرة على المشهد. يمكن للمراوغ أن يختار تقصير المشهد القصير متى شاء.

\n

هيئة المحلّفين

\n

يشكّل جميع اللاعبين، باستثناء المراوغ ولكن مع تضمين الساحب، هيئة المحلّفين. في نهاية المشهد القصير، يختار كل محلّف من بين بطاقاته الخاصة البطاقة الأقرب إلى الحجة التي سمعها، ويضعها ووجهها إلى الأسفل مع بطاقة المراوغ. ثم يجمع المراوغ البطاقات، ويخلطها، ويكشفها في وسط الطاولة.

\n

يطّلع المحلّفون على البطاقات المكشوفة، ويمكن لأحد المحلّفين قراءتها بصوت عالٍ. يرفع كل محلّف إصبعه للإشارة إلى أنه مستعد للتصويت.

\n

عندما تكون هيئة المحلّفين مستعدة، ومن دون تشاور، يشير كل عضو فيها في الوقت نفسه إلى البطاقة التي يعتقد أن المراوغ لعبها، وذلك بوضع غرضه الصغير الفريد عليها (أو، إن لم يتوفر، بوضع إصبعه عليها).

\n

احتساب النقاط

\n

الفائز بالجولة هو من حصلت بطاقته على أكبر عدد من الأصوات، سواء كان المراوغ أو عضوًا في هيئة المحلّفين.
يحتفظ عندئذٍ ببطاقته التي تساوي نقطة واحدة ويضعها أمامه ووجهها ظاهر.

في حال التعادل، يفوز المراوغ، وإلا فإن المحلّفين الذين حظوا بالأصوات ووجدوا بطاقة المراوغ يُعلَنون جميعًا فائزين. وإذا لم يجدها أيٌّ من المحلّفين المعنيين، فإن المراوغ هو الفائز.

\n

كومات السحب

\n

بعد تعيين الفائز، يسحب اللاعبون من الاحتياطي عددًا معيّنًا من البطاقات:

\n\n

تُعاد البطاقات الملعوبة إلى الاحتياطي.
يصبح الجار الجالس إلى يسار الفائز هو الساحب في الجولة التالية.

", + "fa": "

روند دور

\n

کارت‌کش

\n

کارت‌کش یک کارت سناریو از میان دو دستهٔ کارت موجود می‌کشد و آن را با صدای بلند می‌خواند، به‌جز جملهٔ آخرِ ایتالیک در پایین کارت.

\n

لاف‌زن

\n

لاف‌زن مسئول پیش بردن استدلال سناریو خواهد بود تا یکی از کارت‌های استدلال مغالطه‌آمیز خود را نشان دهد. هدف او این است که اکثریت بازیکنان دیگر این کارت را حدس بزنند. نقش لاف‌زن به نخستین بازیکنی داده می‌شود که کارتی از استدلال مغالطه‌آمیز را که قصد بازی کردنش را دارد، به‌صورت پشت‌ورو روی زمین بگذارد. در غیر این صورت، بازیکن سمت چپ کارت‌کش به‌عنوان لاف‌زن تعیین می‌شود و کارت خود را می‌گذارد.

\n

نمایشک

\n

کارت‌کش بحث را هر طور که بخواهد آغاز می‌کند. او می‌تواند از پیشنهادِ نخستین پاسخِ ایتالیک در پایین کارت سناریو استفاده کند. سپس لاف‌زن و کارت‌کش حداکثر یک دقیقه فرصت دارند تا گفت‌وگویی بداهه اجرا کنند که در آن لاف‌زن می‌کوشد از نوع استدلالی که کارت انتخابی‌اش نشان می‌دهد استفاده کند. 

\n

لاف‌زن استدلال‌های خود را مطرح می‌کند و کارت‌کش بدون تلاش برای مسلط شدن بر صحنه، پاسخ او را می‌دهد. لاف‌زن می‌تواند هر زمان که بخواهد نمایشک را کوتاه کند.

\n

هیئت داوران

\n

همهٔ بازیکنان به‌جز لاف‌زن، اما شامل کارت‌کش، هیئت داوران را تشکیل می‌دهند. در پایان نمایشک، هر داور از میان کارت‌های خود کارتی را انتخاب می‌کند که بیشترین شباهت را به استدلال شنیده‌شده دارد و آن را همراه با کارت لاف‌زن به‌صورت پشت‌ورو می‌گذارد. لاف‌زن کارت‌ها را جمع می‌کند، بر می‌زند و در وسط میز رو می‌کند.

\n

داوران کارت‌های رو‌شده را بررسی می‌کنند؛ یکی از داوران می‌تواند آن‌ها را با صدای بلند بخواند. هر داور وقتی آمادهٔ رأی دادن شد، انگشت خود را بالا می‌برد تا اعلام کند.

\n

وقتی هیئت داوران آماده شد، بدون مشورت، هر یک از اعضای آن هم‌زمان کارتی را که فکر می‌کند لاف‌زن بازی کرده است مشخص می‌کند، با گذاشتن شیء کوچک و یکتای خود روی آن (یا در صورت نبود، با گذاشتن انگشت روی آن).

\n

امتیازشماری

\n

برندهٔ دور کسی است که کارت او بیشترین تعداد رأی را به دست آورده باشد، چه لاف‌زن باشد چه عضو هیئت داوران.
او سپس کارت خود را که ۱ امتیاز ارزش دارد نگه می‌دارد و آن را رو به بالا جلوی خود می‌گذارد.

در صورت تساوی، لاف‌زن برنده می‌شود و در غیر این صورت، داورانِ منتخب که کارت لاف‌زن را پیدا کرده‌اند همگی برنده اعلام می‌شوند. اگر هیچ‌یک از داوران مربوطه آن را پیدا نکرده باشند، لاف‌زن برنده می‌شود.

\n

دسته‌های کارت

\n

پس از تعیین برنده، بازیکنان تعداد مشخصی کارت از ذخیره می‌کشند:

\n\n

کارت‌های بازی‌شده به ذخیره بازگردانده می‌شوند.
همسایهٔ سمت چپ برنده، کارت‌کشِ دور بعدی می‌شود.

", + "zh": "

一轮的流程

\n

抽牌者

\n

抽牌者从两个可用牌堆中抽取一张情景牌,并大声读出,牌底部斜体的最后一句除外。

\n

诡辩者

\n

诡辩者负责围绕情景展开论证,以展示自己的一张谬误论证牌。他的目标是让多数其他玩家猜出这张牌。第一个将自己打算使用的谬误论证牌面朝下放出的玩家获得诡辩者角色。若无人这样做,则由抽牌者左手边的玩家被指定为诡辩者,并放出自己的牌。

\n

小短剧

\n

抽牌者可以按自己希望的方式开启辩论。他可以采用情景牌底部斜体给出的第一句台词建议。随后,诡辩者和抽牌者最多有一分钟即兴进行一段讨论,在此期间诡辩者要尽力使用自己所选牌上标明的论证类型。 

\n

诡辩者陈述自己的论点,抽牌者与其对答,但不要试图主导场面。诡辩者可以在任何时候选择缩短小短剧。

\n

评审团

\n

除诡辩者外的所有玩家,包括抽牌者在内,组成评审团。小短剧结束时,每位评审从自己的牌中选择一张最接近所听到论证的牌,并将其与诡辩者的牌一起面朝下放出。诡辩者收集这些牌,洗混后在桌子中央翻开。

\n

评审们查看被翻开的牌,其中一名评审可以大声读出。每位评审准备好投票时举手示意。

\n

当评审团准备好后,在不商量的情况下,每名成员同时指出自己认为是诡辩者打出的那张牌,方法是把自己的独特小物件放在其上(若没有,则用手指按在其上)。

\n

计分

\n

本轮获胜者是其牌获得最多票数的人,可以是诡辩者,也可以是评审团成员。
他保留自己的牌,该牌价值1分,并将其正面朝上放在自己面前。

如果出现平票,诡辩者获胜;若不适用,则在得票最高者中,所有找出诡辩者牌的评审都被宣布为获胜者。如果相关评审中无人找出该牌,则诡辩者获胜。

\n

抽牌

\n

获胜者确定后,玩家从储备牌中抽取一定数量的牌:

\n\n

已打出的牌放回储备牌中。
获胜者左手边的邻座成为下一轮的抽牌者。

" + } + } + }, + "11387": { + "title": "Le dernier beau parleur", + "fields": { + "Title": { + "fr": "Le dernier beau parleur", + "en": "The Last Smooth Talker", + "ru": "Последний краснобай", + "pt": "O último bom de lábia", + "es": "El último charlatán", + "ar": "آخر المتحدثين اللبقين", + "fa": "آخرین خوش‌زبان", + "zh": "最后一位花言巧语者" + }, + "Material": { + "fr": "", + "en": "", + "ru": "", + "pt": "", + "es": "", + "ar": "", + "fa": "", + "zh": "" + }, + "Summary": { + "fr": "

Les joueurs vont tour à tour proposer des arguments autour de scénarii tirés à chaque manche et essayer de se débarasser de leurs cartes en repérant les arguments fallacieux utilisés par les autres joueurs. En plus de reconnaître les arguments fallacieux, les joueurs s'entraînent à éviter d'en commettre.

", + "en": "

Players will take turns proposing arguments about scenarios drawn each round and try to get rid of their cards by spotting the fallacious arguments used by the other players. In addition to recognizing fallacious arguments, players practice avoiding committing them.

", + "ru": "

Игроки по очереди будут предлагать аргументы вокруг сценариев, вытягиваемых в каждом раунде, и пытаться избавиться от своих карт, выявляя ложные аргументы, используемые другими игроками. Помимо распознавания ложных аргументов, игроки тренируются избегать их использования.

", + "pt": "

Os jogadores vão, por turnos, propor argumentos em torno de cenários sorteados a cada rodada e tentar livrar-se das suas cartas identificando os argumentos falaciosos usados pelos outros jogadores. Além de reconhecer os argumentos falaciosos, os jogadores treinam para evitar cometê-los.

", + "es": "

Los jugadores propondrán argumentos por turnos en torno a escenarios extraídos en cada ronda e intentarán deshacerse de sus cartas detectando los argumentos falaces utilizados por los demás jugadores. Además de reconocer los argumentos falaces, los jugadores se entrenan para evitar cometerlos.

", + "ar": "

سيتناوب اللاعبون على تقديم حجج حول سيناريوهات تُسحب في كل جولة، وسيحاولون التخلص من بطاقاتهم عبر رصد الحجج المغالِطة التي يستخدمها اللاعبون الآخرون. وبالإضافة إلى التعرّف على الحجج المغالِطة، يتدرّب اللاعبون على تجنّب ارتكابها.

", + "fa": "

بازیکنان به نوبت استدلال‌هایی را پیرامون سناریوهایی که در هر دور کشیده می‌شوند مطرح می‌کنند و تلاش می‌کنند با شناسایی استدلال‌های مغالطه‌آمیزی که بازیکنان دیگر به کار می‌برند، از شر کارت‌های خود خلاص شوند. افزون بر تشخیص استدلال‌های مغالطه‌آمیز، بازیکنان تمرین می‌کنند که از ارتکاب آن‌ها پرهیز کنند.

", + "zh": "

玩家将轮流围绕每一轮抽取的情境提出论点,并通过识别其他玩家使用的谬误论证来尝试打出自己手中的牌。除了识别谬误论证之外,玩家还会练习避免自己犯下这些错误。

" + }, + "Installation": { + "fr": "

Selon le nombre de joueurs et le niveau de difficulté voulu, on constitue la pioche des cartes d’argument fallacieux en ajoutant les niveaux indiqués en bas à droite des cartes par ordre croissant. On choisit le nombre maximum de manches de quelques minutes qui seront jouées.

\n

Les cartes d’arguments fallacieux sont mélangées, ainsi que les cartes de scénario. On constitue 2 pioches de cartes de scénario placées au milieu de la table. On distribue à chaque joueur 5 cartes d’argument fallacieux qu’il garde pour lui.

\n

Le reste des cartes constitue la pioche. Le premier piocheur est celui qui s'est fait influencer en dernier par un appel à l'émotion.

", + "en": "

Depending on the number of players and the desired difficulty level, build the deck of fallacious argument cards by adding the levels indicated at the bottom right of the cards in ascending order. Choose the maximum number of rounds of a few minutes that will be played.

\n

The fallacious argument cards are shuffled, as are the scenario cards. Make 2 decks of scenario cards placed in the middle of the table. Deal each player 5 fallacious argument cards, which they keep to themselves.

\n

The remaining cards form the deck. The first drawer is the player who was most recently influenced by an appeal to emotion.

", + "ru": "

В зависимости от числа игроков и желаемого уровня сложности формируют колоду карт ложных аргументов, добавляя уровни, указанные в правом нижнем углу карт, в порядке возрастания. Выбирают максимальное количество раундов по несколько минут, которые будут сыграны.

\n

Карты ложных аргументов перемешиваются, как и карты сценариев. Формируют 2 колоды карт сценариев, размещённые в центре стола. Каждому игроку раздают 5 карт ложных аргументов, которые он держит при себе.

\n

Оставшиеся карты образуют колоду. Первым берущим карту становится тот, кто последним поддался влиянию обращения к эмоциям.

", + "pt": "

De acordo com o número de jogadores e o nível de dificuldade desejado, forma-se o monte de compra das cartas de argumento falacioso adicionando os níveis indicados no canto inferior direito das cartas em ordem crescente. Escolhe-se o número máximo de rodadas de alguns minutos que serão jogadas.

\n

As cartas de argumentos falaciosos são embaralhadas, assim como as cartas de cenário. Formam-se 2 montes de compra de cartas de cenário colocados no meio da mesa. Distribuem-se a cada jogador 5 cartas de argumento falacioso, que ele mantém consigo.

\n

O restante das cartas constitui o monte de compra. O primeiro comprador é aquele que foi influenciado por último por um apelo à emoção.

", + "es": "

Según el número de jugadores y el nivel de dificultad deseado, se forma el mazo de cartas de argumento falaz añadiendo los niveles indicados en la parte inferior derecha de las cartas en orden creciente. Se elige el número máximo de rondas de unos minutos que se jugarán.

\n

Las cartas de argumentos falaces se barajan, al igual que las cartas de escenario. Se forman 2 mazos de cartas de escenario colocados en el centro de la mesa. Se reparten a cada jugador 5 cartas de argumento falaz que mantiene en secreto.

\n

El resto de las cartas constituye el mazo. El primer jugador en robar es aquel que más recientemente se haya dejado influir por una apelación a la emoción.

", + "ar": "

وفقًا لعدد اللاعبين ومستوى الصعوبة المطلوب، تُشكَّل رزمة سحب بطاقات الحُجج المغلوطة بإضافة المستويات المشار إليها في أسفل يمين البطاقات بترتيب تصاعدي. يُختار العدد الأقصى للجولات التي تستغرق بضع دقائق والتي ستُلعب.

\n

تُخلط بطاقات الحُجج المغلوطة، وكذلك بطاقات السيناريو. تُشكَّل رزمَتا سحب من بطاقات السيناريو وتوضعان في وسط الطاولة. تُوزَّع على كل لاعب 5 بطاقات حُجج مغلوطة يحتفظ بها لنفسه.

\n

يشكّل ما تبقّى من البطاقات رزمة السحب. أوّل ساحب هو من تأثّر مؤخرًا بنداء إلى العاطفة.

", + "fa": "

با توجه به تعداد بازیکنان و سطح دشواری مورد نظر، دستهٔ کارت‌های استدلال مغالطه‌آمیز را با افزودن سطح‌هایی که در پایینِ سمت راست کارت‌ها نشان داده شده‌اند، به ترتیب صعودی تشکیل می‌دهیم. حداکثر تعداد دورهای چنددقیقه‌ای که بازی خواهند شد انتخاب می‌شود.

\n

کارت‌های استدلال‌های مغالطه‌آمیز بُر زده می‌شوند، همچنین کارت‌های سناریو. 2 دسته کارت سناریو تشکیل می‌دهیم و آن‌ها را در وسط میز قرار می‌دهیم. به هر بازیکن 5 کارت استدلال مغالطه‌آمیز داده می‌شود که نزد خود نگه می‌دارد.

\n

باقی کارت‌ها دستهٔ کشیدن را تشکیل می‌دهند. نخستین کارت‌کش کسی است که آخرین بار تحت تأثیر یک توسل به احساسات قرار گرفته است.

", + "zh": "

根据玩家人数和所需的难度等级,按卡牌右下角标示的等级从低到高加入牌组,组成谬误论证卡的抽牌堆。选择将要进行的、每局持续几分钟的最大回合数。

\n

将谬误论证卡洗匀,情景卡也同样洗匀。组成2个情景卡抽牌堆,放在桌子中央。给每位玩家发5张谬误论证卡,由其自己保管。

\n

剩余的卡牌组成抽牌堆。第一位抽牌者是最近一次受到诉诸情感影响的人。

" + }, + "Content": { + "fr": "

Déroulé de la manche

\n

Le piocheur

\n

Le piocheur tire une carte de scénario parmi les deux pioches disponibles et la lit à voix haute, à l’exception de la dernière phrase en italique au bas de la carte.

\n

La ronde des arguments

\n

En commançant par le voisin de gauche du piocheur, chaque joueur doit proposer un argument répondant à l'injonction du scénario. Si un joueur repère une de ses cartes dans les arguments donnés, il donne sa carte à celui qui l'a utilisée et l'écarte de la manche. Si un joueur ne trouve plus de nouvel argument au bout de 10 secondes, il pioche une nouvelle carte et est exclu de la manche. 

\n

Fin de la manche

\n

La manche s'arrête quand il ne reste plus qu'une personne est en jeu. Le voisin de gauche du piocheur devient le nouveau piocheur et tire le scénario de la manche suivante. 

\n

Fin de partie et décompte

\n

Si un joueur arrive à se débarasser de toutes ses cartes, il gagne la partie.
Sinon la partie s'arrête au bout du nombre de manches initialement prévu. Le vainqueur est celui qui a en main le moins de cartes.

", + "en": "

Round sequence

\n

The drawer

\n

The drawer draws a scenario card from one of the two available decks and reads it aloud, except for the last sentence in italics at the bottom of the card.

\n

The argument round

\n

Starting with the player to the drawer's left, each player must propose an argument responding to the scenario's instruction. If a player spots one of their cards in the arguments given, they gives their card to the person who used it and sets it aside for the round. If a player cannot find a new argument after 10 seconds, they draw a new card and are excluded from the round. 

\n

End of the round

\n

The round ends when only one person remains in play. The player to the drawer's left becomes the new drawer and draws the scenario for the next round. 

\n

End of the game and scoring

\n

If a player manages to get rid of all their cards, they win the game.
Otherwise, the game ends after the initially planned number of rounds. The winner is the player with the fewest cards in hand.

", + "ru": "

Ход раунда

\n

Тянущий карту

\n

Тянущий карту берет карту сценария из одной из двух доступных колод и зачитывает ее вслух, за исключением последней фразы, выделенной курсивом внизу карты.

\n

Круг аргументов

\n

Начиная с соседа слева от тянущего карту, каждый игрок должен предложить аргумент, отвечающий требованию сценария. Если игрок узнает одну из своих карт в приведенных аргументах, он отдает свою карту тому, кто ее использовал, и выбывает из раунда. Если игрок не может найти новый аргумент в течение 10 секунд, он тянет новую карту и исключается из раунда. 

\n

Конец раунда

\n

Раунд заканчивается, когда в игре остается только один человек. Сосед слева от тянущего карту становится новым тянущим карту и берет сценарий следующего раунда. 

\n

Конец игры и подсчет очков

\n

Если игроку удается избавиться от всех своих карт, он выигрывает игру.
В противном случае игра заканчивается после изначально предусмотренного числа раундов. Побеждает тот, у кого на руках меньше всего карт.

", + "pt": "

Decorrer da rodada

\n

O comprador

\n

O comprador tira uma carta de cenário de uma das duas pilhas disponíveis e a lê em voz alta, com exceção da última frase em itálico na parte inferior da carta.

\n

A ronda dos argumentos

\n

Começando pelo vizinho à esquerda do comprador, cada jogador deve propor um argumento que responda à instrução do cenário. Se um jogador reconhecer uma de suas cartas nos argumentos apresentados, entrega sua carta a quem a utilizou e a descarta da rodada. Se um jogador não encontrar mais nenhum argumento novo após 10 segundos, compra uma nova carta e é excluído da rodada. 

\n

Fim da rodada

\n

A rodada termina quando resta apenas uma pessoa em jogo. O vizinho à esquerda do comprador torna-se o novo comprador e tira o cenário da rodada seguinte. 

\n

Fim da partida e contagem

\n

Se um jogador conseguir se livrar de todas as suas cartas, vence a partida.
Caso contrário, a partida termina ao fim do número de rodadas inicialmente previsto. O vencedor é aquele que tiver menos cartas na mão.

", + "es": "

Desarrollo de la ronda

\n

El robador

\n

El robador toma una carta de escenario de entre los dos mazos disponibles y la lee en voz alta, con la excepción de la última frase en cursiva al pie de la carta.

\n

La ronda de argumentos

\n

Empezando por el vecino de la izquierda del robador, cada jugador debe proponer un argumento que responda a la instrucción del escenario. Si un jugador reconoce una de sus cartas en los argumentos dados, entrega su carta a quien la ha utilizado y la descarta de la ronda. Si un jugador no encuentra un nuevo argumento al cabo de 10 segundos, roba una nueva carta y queda excluido de la ronda. 

\n

Fin de la ronda

\n

La ronda termina cuando solo queda una persona en juego. El vecino de la izquierda del robador se convierte en el nuevo robador y toma el escenario de la siguiente ronda. 

\n

Fin de la partida y recuento

\n

Si un jugador consigue deshacerse de todas sus cartas, gana la partida.
Si no, la partida termina al cabo del número de rondas previsto inicialmente. El vencedor es quien tiene menos cartas en la mano.

", + "ar": "

سير الجولة

\n

ساحب البطاقة

\n

يسحب ساحب البطاقة بطاقة سيناريو من إحدى رزمتَي السحب المتاحتين ويقرأها بصوت عالٍ، باستثناء الجملة الأخيرة المكتوبة بخط مائل في أسفل البطاقة.

\n

جولة الحجج

\n

بدءًا من الجار الجالس على يسار ساحب البطاقة، يجب على كل لاعب أن يقدّم حجة تستجيب لتوجيه السيناريو. إذا تعرّف لاعب على إحدى بطاقاته ضمن الحجج المقدّمة، فإنه يعطي بطاقته لمن استخدمها ويستبعده من الجولة. إذا لم يجد لاعب حجة جديدة بعد 10 ثوانٍ، فإنه يسحب بطاقة جديدة ويُستبعد من الجولة. 

\n

نهاية الجولة

\n

تنتهي الجولة عندما لا يبقى في اللعب سوى شخص واحد. يصبح الجار الجالس على يسار ساحب البطاقة هو ساحب البطاقة الجديد ويسحب سيناريو الجولة التالية. 

\n

نهاية اللعبة وحساب النقاط

\n

إذا تمكّن لاعب من التخلّص من جميع بطاقاته، فإنه يفوز باللعبة.
وإلا فتتوقف اللعبة بعد عدد الجولات المحدد مسبقًا في البداية. الفائز هو من يحمل في يده أقل عدد من البطاقات.

", + "fa": "

روند دور

\n

کارت‌کش

\n

کارت‌کش از میان دو دستهٔ موجود، یک کارت سناریو می‌کشد و آن را با صدای بلند می‌خواند، به‌جز جملهٔ آخرِ ایتالیک در پایین کارت.

\n

دور استدلال‌ها

\n

با شروع از همسایهٔ سمت چپِ کارت‌کش، هر بازیکن باید استدلالی ارائه کند که به دستور سناریو پاسخ دهد. اگر بازیکنی یکی از کارت‌های خود را در استدلال‌های ارائه‌شده تشخیص دهد، کارت خود را به کسی که از آن استفاده کرده می‌دهد و آن را از این دور کنار می‌گذارد. اگر بازیکنی پس از ۱۰ ثانیه دیگر استدلال تازه‌ای پیدا نکند، یک کارت جدید می‌کشد و از این دور حذف می‌شود. 

\n

پایان دور

\n

دور زمانی متوقف می‌شود که فقط یک نفر در بازی باقی مانده باشد. همسایهٔ سمت چپِ کارت‌کش، کارت‌کشِ جدید می‌شود و سناریوی دور بعدی را می‌کشد. 

\n

پایان بازی و شمارش امتیاز

\n

اگر بازیکنی بتواند از شر همهٔ کارت‌هایش خلاص شود، بازی را می‌برد.
در غیر این صورت، بازی پس از تعداد دورهایی که در ابتدا تعیین شده بود پایان می‌یابد. برنده کسی است که کمترین تعداد کارت را در دست داشته باشد.

", + "zh": "

一轮的流程

\n

抽牌者

\n

抽牌者从两叠可用牌堆中抽取一张情景牌,并大声读出,牌底部最后一句斜体文字除外。

\n

论证轮

\n

从抽牌者左手边的邻座开始,每位玩家都必须提出一个回应情景指令的论证。如果某位玩家在给出的论证中发现了自己的一张牌,他就把这张牌交给使用它的人,并将其移出本轮。如果某位玩家在10秒内想不出新的论证,他就抽一张新牌,并被排除出本轮。 

\n

本轮结束

\n

当场上只剩下一名玩家时,本轮结束。抽牌者左手边的邻座成为新的抽牌者,并抽取下一轮的情景牌。 

\n

游戏结束与计分

\n

如果一名玩家成功丢掉所有手牌,他就赢得游戏。
否则,游戏在达到最初预定的轮数后结束。获胜者是手中牌最少的玩家。

" + } + } + }, + "11380": { + "title": "Le Bingo mixologie argumentative", + "fields": { + "Title": { + "fr": "Le Bingo mixologie argumentative", + "en": "Argumentative Mixology Bingo", + "ru": "Бинго аргументативной миксологии", + "pt": "Bingo de mixologia argumentativa", + "es": "El bingo de mixología argumentativa", + "ar": "بينغو مزج الحجج", + "fa": "بینگوی میکسولوژی استدلالی", + "zh": "论证调酒宾果" + }, + "Installation": { + "fr": "

On divise au hasard l'ensemble des cartes d'arguments fallacieux disponible entre tous les joueurs, à hauteur de 10 cartes par personne. Chaque joueur prend connaissance de ses cartes, les dispose en s'assurant de les garder au mieux en tête, et s'installe pour assister au débat.

", + "en": "

The entire available set of fallacious argument cards is randomly divided among all players, at a rate of 10 cards per person. Each player familiarizes themselves with their cards, lays them out while making sure to keep them as well in mind as possible, and settles in to attend the debate.

", + "ru": "

Случайным образом распределите весь доступный набор карт ошибочных аргументов между всеми игроками из расчёта 10 карт на человека. Каждый игрок знакомится со своими картами, раскладывает их, стараясь как можно лучше держать их в голове, и устраивается, чтобы следить за дебатами.

", + "pt": "

Divide-se aleatoriamente o conjunto de cartas de argumentos falaciosos disponível entre todos os jogadores, na proporção de 10 cartas por pessoa. Cada jogador toma conhecimento das suas cartas, organiza-as garantindo que as mantém o melhor possível em mente, e instala-se para assistir ao debate.

", + "es": "

Se divide al azar el conjunto de cartas de argumentos falaces disponible entre todos los jugadores, a razón de 10 cartas por persona. Cada jugador toma conocimiento de sus cartas, las coloca asegurándose de mantenerlas lo mejor posible en mente, y se prepara para asistir al debate.

", + "ar": "

تُقسَّم عشوائيًا مجموعة بطاقات الحجج المغالِطة المتاحة بين جميع اللاعبين، بمعدل 10 بطاقات لكل شخص. يطّلع كل لاعب على بطاقاته، ويرتّبها مع الحرص على إبقائها في ذهنه قدر الإمكان، ثم يستعدّ لمتابعة النقاش.

", + "fa": "

مجموعهٔ کارت‌های استدلال‌های مغالطه‌آمیز موجود را به‌صورت تصادفی میان همهٔ بازیکنان تقسیم می‌کنیم، به میزان 10 کارت برای هر نفر. هر بازیکن با کارت‌های خود آشنا می‌شود، آن‌ها را طوری می‌چیند که بکوشد تا حد امکان در ذهن نگهشان دارد، و برای حضور در مناظره مستقر می‌شود.

", + "zh": "

将可用的谬误论证卡牌随机分给所有玩家,每人10张。每位玩家查看自己的卡牌,摆放好并尽量记住它们,然后就座准备旁听辩论。

" + }, + "Material": { + "fr": "", + "en": "", + "ru": "", + "pt": "", + "es": "", + "ar": "", + "fa": "", + "zh": "" + }, + "Summary": { + "fr": "

Muni d'une grille de bingo constituée par les cartes d'arguments fallacieux tirées au sort, les joueurs vont tâcher de repérer celles de leurs cartes illustrées pendant le débat. Aux termes du débat, le joueur qui aura repéré le plus grand nombre d'arguments fallacieux, après validation par une majorité d'autres joueurs, remporte la partie.

", + "en": "

Equipped with a bingo grid made up of randomly drawn fallacious argument cards, players will try to spot those shown on their illustrated cards during the debate. At the end of the debate, the player who has spotted the greatest number of fallacious arguments, after validation by a majority of the other players, wins the game.

", + "ru": "

Имея сетку бинго, составленную из случайно вытянутых карт ложных аргументов, игроки будут стараться распознать среди них те, что соответствуют их иллюстрированным картам, во время дебатов. По завершении дебатов игрок, распознавший наибольшее число ложных аргументов после подтверждения большинством других игроков, побеждает в партии.

", + "pt": "

Munidos de uma cartela de bingo composta pelas cartas de argumentos falaciosos sorteadas aleatoriamente, os jogadores tentarão identificar aquelas de suas cartas ilustradas durante o debate. Ao final do debate, o jogador que tiver identificado o maior número de argumentos falaciosos, após validação por uma maioria dos outros jogadores, vence a partida.

", + "es": "

Provistos de una cuadrícula de bingo constituida por las cartas de argumentos falaces sacadas al azar, los jugadores intentarán identificar las de sus cartas ilustradas durante el debate. Al término del debate, el jugador que haya identificado el mayor número de argumentos falaces, tras la validación por una mayoría de los demás jugadores, gana la partida.

", + "ar": "

مزودين بشبكة بينغو مكوّنة من بطاقات الحجج المغالِطة المسحوبة عشوائيًا، سيحاول اللاعبون رصد تلك الحجج على بطاقاتهم المصوّرة أثناء المناظرة. وفي نهاية المناظرة، يفوز باللعبة اللاعب الذي يكون قد رصد أكبر عدد من الحجج المغالِطة، بعد اعتمادها من قِبل أغلبية اللاعبين الآخرين.

", + "fa": "

بازیکنان با داشتن یک جدول بینگو که از کارت‌های استدلال‌های مغالطه‌آمیزِ به‌قید قرعه انتخاب‌شده تشکیل شده است، می‌کوشند در جریان مناظره آن‌ها را در میان کارت‌های مصور خود تشخیص دهند. در پایان مناظره، بازیکنی که بیشترین تعداد استدلال‌های مغالطه‌آمیز را، پس از تأیید اکثریت دیگر بازیکنان، تشخیص داده باشد، برنده بازی می‌شود.

", + "zh": "

玩家持有一张由随机抽取的谬误论证卡组成的宾果表,在辩论过程中要努力找出与自己插图卡相对应的谬误论证。辩论结束时,在其他玩家多数确认后,找出最多谬误论证的玩家赢得游戏。

" + }, + "Content": { + "fr": "

Pendant le débat

\n

Chaque joueur écoute les arguments formulés. S'il repère un argument qui relève de l'une des cartes de sa grille de bingo, il note le temps écoulé, un début de citation qui permettra de retrouver le bon passage, et le nom de sa carte accompagné au besoin d'un peu de contexte pour pouvoir restituer plus tard à l'oral son analyse.

\n

Validations post-débat

\n

Les joueurs qui revendiquent le plus grand nombre de cartes utilisées sont sélectionnés pour validation. On établit à partir de leurs notes et de l'enregistrement la séquence des moments où chacune de leurs cartes a été utilisée. Pour chacune des cartes, on repasse le moment incriminé et le joueur explicite pourquoi l'argumentation relève de sa carte. L'assemblée vote à main levée pour valider ou pas son analyse.

\n

Conditions de victoire

\n

Le score final des joueurs est le nombre de leurs cartes validées par l'assemblée Si à l'issu d'un premier décompte, d'autres joueurs non sélectionnés se retrouvent désormais avec plus de cartes que le meilleur score validé, on procède à leur validation, et ainsi de suite jusqu'à ce que le meilleur score validé ne soit plus contestable. Les joueurs ayant obtenu le meilleur score sont déclarés vainqueurs

", + "en": "

During the debate

\n

Each player listens to the arguments being made. If they spot an argument that falls under one of the cards on their bingo grid, they note the elapsed time, the beginning of a quote that will make it possible to find the correct passage again, and the name of their card, accompanied if necessary by a little context so they can later present their analysis orally.

\n

Post-debate validations

\n

The players who claim the greatest number of cards used are selected for validation. Using their notes and the recording, the sequence of moments when each of their cards was used is established. For each card, the incriminated moment is replayed and the player explains why the argumentation falls under their card. The assembly votes by a show of hands to validate their analysis or not.

\n

Victory conditions

\n

The players' final score is the number of their cards validated by the assembly. If, after a first count, other players who were not selected now have more cards than the best validated score, their validation is carried out, and so on until the best validated score can no longer be challenged. The players who have obtained the best score are declared the winners

", + "ru": "

Во время дебатов

\n

Каждый игрок слушает приведённые аргументы. Если он замечает аргумент, относящийся к одной из карт в его бинго-сетке, он записывает прошедшее время, начало цитаты, которое позволит найти нужный фрагмент, и название своей карты, при необходимости добавляя немного контекста, чтобы позднее устно представить свой анализ.

\n

Проверки после дебатов

\n

Игроки, заявившие наибольшее количество использованных карт, отбираются для проверки. На основе их записей и аудиозаписи устанавливается последовательность моментов, в которые была использована каждая из их карт. Для каждой карты соответствующий момент воспроизводится заново, и игрок объясняет, почему аргументация относится к его карте. Собрание голосует поднятием руки, чтобы подтвердить или не подтвердить его анализ.

\n

Условия победы

\n

Итоговый счёт игроков — это количество их карт, подтверждённых собранием Если после первого подсчёта у других, не отобранных игроков оказывается больше карт, чем лучший подтверждённый результат, проводится их проверка, и так далее до тех пор, пока лучший подтверждённый результат больше не сможет быть оспорен. Игроки, набравшие лучший результат, объявляются победителями

", + "pt": "

Durante o debate

\n

Cada jogador escuta os argumentos formulados. Se identificar um argumento que corresponda a uma das cartas da sua grade de bingo, anota o tempo decorrido, o início de uma citação que permitirá encontrar a passagem correta, e o nome da sua carta acompanhado, se necessário, de um pouco de contexto para poder apresentar mais tarde oralmente a sua análise.

\n

Validações pós-debate

\n

Os jogadores que reivindicam o maior número de cartas utilizadas são selecionados para validação. Estabelece-se, a partir das suas anotações e da gravação, a sequência dos momentos em que cada uma das suas cartas foi utilizada. Para cada uma das cartas, reproduz-se o momento incriminado e o jogador explicita por que a argumentação corresponde à sua carta. A assembleia vota de braço levantado para validar ou não a sua análise.

\n

Condições de vitória

\n

A pontuação final dos jogadores é o número das suas cartas validadas pela assembleia Se, ao fim de uma primeira contagem, outros jogadores não selecionados ficarem agora com mais cartas do que a melhor pontuação validada, procede-se à validação deles, e assim por diante até que a melhor pontuação validada deixe de ser contestável. Os jogadores que obtiverem a melhor pontuação são declarados vencedores

", + "es": "

Durante el debate

\n

Cada jugador escucha los argumentos formulados. Si detecta un argumento que corresponde a una de las cartas de su cuadrícula de bingo, anota el tiempo transcurrido, el inicio de una cita que permitirá encontrar el pasaje correcto, y el nombre de su carta acompañado, si es necesario, de un poco de contexto para poder exponer más tarde oralmente su análisis.

\n

Validaciones posteriores al debate

\n

Los jugadores que reivindican el mayor número de cartas utilizadas son seleccionados para la validación. A partir de sus notas y de la grabación, se establece la secuencia de los momentos en que cada una de sus cartas fue utilizada. Para cada una de las cartas, se vuelve a reproducir el momento señalado y el jugador explica por qué la argumentación corresponde a su carta. La asamblea vota a mano alzada para validar o no su análisis.

\n

Condiciones de victoria

\n

La puntuación final de los jugadores es el número de sus cartas validadas por la asamblea. Si al término de un primer recuento, otros jugadores no seleccionados se encuentran ahora con más cartas que la mejor puntuación validada, se procede a su validación, y así sucesivamente hasta que la mejor puntuación validada ya no pueda ser cuestionada. Los jugadores que hayan obtenido la mejor puntuación son declarados vencedores

", + "ar": "

أثناء المناظرة

\n

يستمع كل لاعب إلى الحجج المطروحة. إذا رصد حجة تندرج ضمن إحدى بطاقات شبكة البنغو الخاصة به، فإنه يدوّن الوقت المنقضي، وبداية اقتباس تتيح العثور على المقطع الصحيح، واسم بطاقته مرفقًا عند الحاجة ببعض السياق لكي يتمكن لاحقًا من عرض تحليله شفهيًا.

\n

التحققات بعد المناظرة

\n

يتم اختيار اللاعبين الذين يطالبون بأكبر عدد من البطاقات المستخدمة من أجل التحقق. وبناءً على ملاحظاتهم والتسجيل، تُحدَّد سلسلة اللحظات التي استُخدمت فيها كل بطاقة من بطاقاتهم. لكل بطاقة، يُعاد تشغيل اللحظة المعنية، ويوضح اللاعب لماذا تندرج الحجة ضمن بطاقته. تصوّت المجموعة برفع الأيدي لقبول تحليله أو رفضه.

\n

شروط الفوز

\n

النتيجة النهائية للاعبين هي عدد بطاقاتهم التي صادقت عليها المجموعة. إذا تبيّن، بعد العدّ الأول، أن لاعبين آخرين لم يتم اختيارهم أصبح لديهم الآن عدد من البطاقات يفوق أفضل نتيجة تم التحقق منها، فيُشرع في التحقق من بطاقاتهم، وهكذا دواليك إلى أن تصبح أفضل نتيجة تم التحقق منها غير قابلة للطعن. يُعلَن اللاعبون الذين حصلوا على أفضل نتيجة فائزين

", + "fa": "

در جریان مناظره

\n

هر بازیکن به استدلال‌های مطرح‌شده گوش می‌دهد. اگر استدلالی را تشخیص دهد که با یکی از کارت‌های جدول بینگوی او مرتبط باشد، زمان سپری‌شده، ابتدای نقل‌قولی که امکان یافتن بخش درست را فراهم می‌کند، و نام کارت خود را، در صورت نیاز همراه با کمی زمینه، یادداشت می‌کند تا بتواند بعداً تحلیل خود را به‌صورت شفاهی بازگو کند.

\n

اعتبارسنجی‌های پس از مناظره

\n

بازیکنانی که ادعا می‌کنند بیشترین تعداد کارت استفاده‌شده را دارند برای اعتبارسنجی انتخاب می‌شوند. بر اساس یادداشت‌های آن‌ها و ضبط جلسه، توالی لحظاتی که هر یک از کارت‌هایشان در آن استفاده شده است تعیین می‌شود. برای هر یک از کارت‌ها، لحظه مورد بحث دوباره پخش می‌شود و بازیکن توضیح می‌دهد که چرا استدلال مطرح‌شده مربوط به کارت اوست. حاضران با بالا بردن دست رأی می‌دهند تا تحلیل او را تأیید کنند یا نکنند.

\n

شرایط پیروزی

\n

امتیاز نهایی بازیکنان تعداد کارت‌های آن‌هاست که توسط حاضران تأیید شده است. اگر پس از یک شمارش اولیه، بازیکنان دیگری که انتخاب نشده‌اند اکنون کارت‌های بیشتری از بهترین امتیاز تأییدشده داشته باشند، اعتبارسنجی آن‌ها نیز انجام می‌شود، و همین‌طور ادامه می‌یابد تا زمانی که بهترین امتیاز تأییدشده دیگر قابل اعتراض نباشد. بازیکنانی که بهترین امتیاز را به دست آورده‌اند برنده اعلام می‌شوند

", + "zh": "

辩论期间

\n

每位玩家聆听提出的论点。如果他发现某个论点属于自己宾果表格中的某张卡牌,他就记下已过去的时间、一段便于之后找到相应段落的引文开头,以及自己的卡牌名称;如有需要,还可附上一点背景信息,以便稍后能口头复述自己的分析。

\n

辩论后验证

\n

声称使用卡牌数量最多的玩家将被选中进行验证。根据他们的笔记和录音,整理出他们每张卡牌被使用的时间节点顺序。对于每张卡牌,重新播放被指出的那一刻,由玩家说明为什么该论证属于自己的卡牌。全体成员举手投票,决定是否认可他的分析。

\n

胜利条件

\n

玩家的最终得分为其被全体成员认可的卡牌数量。如果在第一次计分之后,其他未被选中的玩家此时拥有的卡牌数量超过了已验证的最高分,则对他们进行验证,依此类推,直到已验证的最高分不再有争议为止。获得最高分的玩家被宣布为胜者

" + } + } + } + } +} \ No newline at end of file diff --git a/tools/dnn_i18n/README.md b/tools/dnn_i18n/README.md index c21a1f7a..460825d5 100644 --- a/tools/dnn_i18n/README.md +++ b/tools/dnn_i18n/README.md @@ -77,3 +77,65 @@ python tools/dnn_i18n/reimport_dnn_ui_strings.py reimport --csv /tmp/prod_extrac When jsboige exports the 2sxc App Resources (the DB-only `res.*` values), the FR column can be populated, at which point the existing config (#487) can be flipped `Enabled=true` to run gpt-5.5 across the 7 target languages. This tooling feeds that rail; it doesn't replace it. + +--- + +# #684 Game Rule prose translation — document-tier tooling + +A **parallel lane** to the string-tier (#457 above). Where #457 translates short UI labels +(`ui.*`/`res.*` key→value), #684 translates the **rich-HTML game-rule prose** of the 5 published +2sxc Game Rule entities (Summary/Material/Installation/Content/Variants/Memo + Title). See the +manifest [`docs/dnn-localization/684-translation-manifest.md`](../../docs/dnn-localization/684-translation-manifest.md) +and scope correction [`684-scope-correction.md`](../../docs/dnn-localization/684-scope-correction.md) +(23 populated prose cells + 5 titles, 161 / +35 translation units). + +## Files + +- `translate_game_rules.py` — read the 2sxc Game Rule export, translate each populated FR cell to + the 7 target langs via gpt-5.5 (HTML preserved), write a re-import-ready JSON. Resume-capable + (the output doubles as a cache; re-running skips done cell-langs). +- `verify_game_rule_translations.py` — DoD gate: cell parity, no-fabrication, HTML-tag preservation, + script correctness (#216-style FR-contamination guard). + +## Quick start + +```bash +# Export is delivered on-box (Method B read-only) and synced to shared-state; pass its path: +EXPORT="$ROOSYNC_SHARED_PATH/attachments/DNN-Argumentum-export-2026-07-07/12-game-rule-content-items.json" + +# Smoke (1 cell x 7 langs) before a full pass: +python tools/dnn_i18n/translate_game_rules.py --export "$EXPORT" \ + --out docs/dnn-localization/684-translations.json --smoke + +# Full pass (28 cells x 7 langs = 196 cell-langs; ~10-15 min of gpt-5.5 API): +python tools/dnn_i18n/translate_game_rules.py --export "$EXPORT" \ + --out docs/dnn-localization/684-translations.json --all + +# Verify the artifact (exit 0 = all DoD gates pass): +python tools/dnn_i18n/verify_game_rule_translations.py \ + --artifact docs/dnn-localization/684-translations.json --export "$EXPORT" +``` + +## gpt-5.5 API specifics (reasoning model) + +- OpenAI Chat Completions; **no `temperature`** (HTTP 400); `max_completion_tokens` (not + `max_tokens`), sized to field length; `reasoning_effort=low`. +- OpenAI direct key (`.keys/openai-key.txt`, `sk-proj-`) primary; OpenRouter (`openai/gpt-5.5`, + `.keys/openrouter-key.txt`) automatic fallback on 401/429. See memory + `reference-gpt55-reasoning-model-api`, `reference-openrouter-gpt55-path`. + +## DoD gates (enforced by the verifier) + +1. **Cell parity** — every populated FR cell has all 7 target langs present. +2. **Empty stays empty** — the 7 structurally-empty prose cells are ABSENT (no fabrication). +3. **HTML preserved** — the tag set of each translation == the FR source tag set. +4. **Script correctness** — Cyrillic (ru), CJK (zh), Arabic-script (ar/fa), Latin (en/pt/es); no + FR-contaminated cells (#216-style). + +## Gate boundaries (HARD) + +- ❌ **Zero prod write** — neither script touches the live DNN DB, portal, or 2sxc entities. The + artifact is a **re-import-ready staging file**; the actual 2sxc re-import is jsboige-gated (DB + write). See `684-translation-run-report.md` for the re-import mapping. +- ❌ Does not modify `Cards/Rules/` CSV (game-content is a separate lane). +- ❌ Does not declare a QA verdict — that's ai-01. diff --git a/tools/dnn_i18n/translate_game_rules.py b/tools/dnn_i18n/translate_game_rules.py new file mode 100644 index 00000000..8314eca5 --- /dev/null +++ b/tools/dnn_i18n/translate_game_rules.py @@ -0,0 +1,193 @@ +#!/usr/bin/env python3 +""" +Translate DNN Game Rule prose (FR source) -> 7 target languages via gpt-5.5. + +Source: 2sxc Game Rule content-type export (5 published entities, 23 populated prose +cells + 5 titles). Preserves HTML structure/entities; translates visible text content only. +Output: re-import-ready JSON (per entity x field x {fr + 7 langs}). + +gpt-5.5 API specifics (verified 2026-06-16, #499 Virtues pilot): + - OpenAI Chat Completions endpoint (/v1/chat/completions). + - NO `temperature` (HTTP 400 on reasoning models). Use `max_completion_tokens` + (NOT `max_tokens`). `reasoning_effort=low`. + - Reasoning tokens eat the completion budget -> max_completion_tokens is sized to + field length (floor 1500, cap 8000). + - OpenAI direct key (sk-proj-) is LIVE; OpenRouter (openai/gpt-5.5) is automatic + fallback on 401/429. + +Resume: the output JSON doubles as a cache. Re-running skips any cell-lang already +present, so a long run interrupted mid-way continues where it stopped. + +Usage: + python translate_game_rules.py --export --out --smoke # 1 cell x 7 langs + python translate_game_rules.py --export --out --lang en # 1 lang, all cells + python translate_game_rules.py --export --out --all # full pass +""" +import json, os, sys, time, argparse, urllib.request, urllib.error + +DEFAULT_EXPORT = os.environ.get( + "DNN_2SXC_EXPORT", + r"G:/Mon Drive/Synchronisation/RooSync/.shared-state/attachments/" + r"DNN-Argumentum-export-2026-07-07/12-game-rule-content-items.json") +DEFAULT_KEYS = os.environ.get("DNN_KEYS_DIR", ".keys") +TARGETS = ["en", "ru", "pt", "es", "ar", "fa", "zh"] +LANG_NAMES = {"en": "English", "ru": "Russian", "pt": "Portuguese", + "es": "Spanish", "ar": "Arabic", "fa": "Persian", + "zh": "Chinese (Simplified)"} +PROSE_FIELDS = ["Summary", "Material", "Installation", "Content", "Variants", "Memo"] +# Title is plain text (not HTML prose) but translated for a complete re-import artifact. +# Game-title translation is additive/reversible: a maintainer may keep the FR brand at re-import. +TRANSLATE_FIELDS = ["Title"] + PROSE_FIELDS + + +def load_key(keys_dir, name): + with open(os.path.join(keys_dir, name), encoding="utf-8") as f: + return f.read().strip() + + +def call_chat(messages, model, key, base_url, max_tokens, reasoning_effort="low", timeout=240): + body = {"model": model, "messages": messages, "max_completion_tokens": max_tokens} + if reasoning_effort: + body["reasoning_effort"] = reasoning_effort + data = json.dumps(body).encode("utf-8") + req = urllib.request.Request( + base_url.rstrip("/") + "/chat/completions", data=data, + headers={"Authorization": "Bearer " + key, "Content-Type": "application/json"}) + t0 = time.time() + with urllib.request.urlopen(req, timeout=timeout) as r: + resp = json.loads(r.read()) + dt = time.time() - t0 + content = resp["choices"][0]["message"]["content"] + usage = resp.get("usage", {}) + rt = usage.get("completion_tokens_details", {}).get("reasoning_tokens", 0) + return content, dt, rt + + +def translate_cell(fr_html, target_lang, model, key, base_url): + """Translate one FR HTML cell to one target language. Returns (html, dt, rt).""" + approx_in = len(fr_html) / 4 + max_tokens = max(1500, min(8000, int(approx_in * 1.6) + 800)) + lang_name = LANG_NAMES[target_lang] + sys_msg = ( + "You are a professional translator for Argumentum, an educational card game about " + "logical fallacies and reasoning. You translate game-rule prose from French.") + user_msg = ( + f"Translate the following French HTML into {lang_name}.\n" + "STRICT RULES:\n" + "- Preserve ALL HTML tags, attributes, and structural entity references " + "(&   < >) EXACTLY as-is. Only translate the visible text content " + "between and inside tags.\n" + "- Keep the same number and order of HTML elements. Do NOT add, remove, merge, or " + "reorder tags.\n" + "- Keep game-specific proper nouns (game titles, card names) consistent.\n" + "- Write in the target language's native script (Cyrillic for Russian, CJK for Chinese, " + "Arabic script for Arabic/Persian).\n" + "- Return ONLY the translated HTML. No explanation, no markdown fences, no preamble.\n\n" + f"FRENCH HTML TO TRANSLATE:\n{fr_html}") + msgs = [{"role": "system", "content": sys_msg}, {"role": "user", "content": user_msg}] + return call_chat(msgs, model, key, base_url, max_tokens) + + +def extract_cells(data): + """Return list of (entity_id, title, field, fr_html) for populated translatable cells.""" + titles = {} + for v in data["values"]: + if v["StaticName"] == "Title": + titles[v["EntityID"]] = v["Value"] + cells = [] + for v in data["values"]: + sn = v["StaticName"] + if sn in TRANSLATE_FIELDS and (v["Value"] or "").strip(): + cells.append((v["EntityID"], titles.get(v["EntityID"], ""), sn, v["Value"])) + return cells + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--export", default=DEFAULT_EXPORT, help="2sxc Game Rule export JSON") + ap.add_argument("--out", required=True, help="output re-import JSON (also the resume cache)") + ap.add_argument("--keys-dir", default=DEFAULT_KEYS) + ap.add_argument("--smoke", action="store_true") + ap.add_argument("--all", action="store_true") + ap.add_argument("--lang", help="single target lang code") + args = ap.parse_args() + + with open(args.export, encoding="utf-8") as f: + data = json.load(f) + cells = extract_cells(data) + cells.sort(key=lambda c: (len(c[3]), c[0], c[2])) # shortest first + print(f"[load] {len(cells)} populated cells across " + f"{len(set(c[0] for c in cells))} entities", file=sys.stderr) + + providers = [ + ("gpt-5.5", load_key(args.keys_dir, "openai-key.txt"), "https://api.openai.com/v1"), + ("openai/gpt-5.5", load_key(args.keys_dir, "openrouter-key.txt"), + "https://openrouter.ai/api/v1"), + ] + + cache = {} + if os.path.exists(args.out): + with open(args.out, encoding="utf-8") as f: + cache = json.load(f).get("entities", json.load(open(args.out, encoding="utf-8"))) + print(f"[cache] resumed existing output", file=sys.stderr) + + if args.smoke: + cells, langs = cells[:1], TARGETS + elif args.lang: + langs = [args.lang] + elif args.all: + langs = TARGETS + else: + print("specify --smoke / --lang X / --all", file=sys.stderr) + sys.exit(1) + + model = providers[0][0] + total = len(cells) * len(langs) + done = fails = 0 + for eid, title, field, fr in cells: + ekey = str(eid) + cache.setdefault(ekey, {"title": title, "fields": {}}) + cache[ekey]["fields"].setdefault(field, {"fr": fr}) + for lang in langs: + ck = cache[ekey]["fields"][field] + if ck.get(lang): + continue + ok = False + for attempt, (model, key, base) in enumerate(providers): + try: + out, dt, rt = translate_cell(fr, lang, model, key, base) + ck[lang] = out.strip() + ok = True + done += 1 + print(f" [{done}/{total}] e{eid} {field[:6]}->{lang} " + f"({len(out)}c, {dt:.1f}s, rt={rt}) via {model}", file=sys.stderr) + break + except urllib.error.HTTPError as e: + body = e.read().decode("utf-8", "replace")[:200] + print(f" [warn] e{eid} {field}->{lang} {model} HTTP {e.code}: {body}", + file=sys.stderr) + if e.code in (401, 429) and attempt < len(providers) - 1: + print(f" [fallback] switching provider", file=sys.stderr) + continue + time.sleep(3) + except Exception as e: + print(f" [warn] e{eid} {field}->{lang} {model} ERR {type(e).__name__}: {e}", + file=sys.stderr) + time.sleep(3) + if not ok: + fails += 1 + print(f" [FAIL] e{eid} {field}->{lang} all providers exhausted", file=sys.stderr) + with open(args.out, "w", encoding="utf-8") as f: + json.dump({"_meta": {}, "entities": cache}, f, ensure_ascii=False, indent=2) + time.sleep(0.5) + + meta = {"source": os.path.basename(args.export), + "model": model, "fields_translated": TRANSLATE_FIELDS, "targets": TARGETS, + "entity_count": len(set(c[0] for c in cells)), "cell_count": len(cells)} + with open(args.out, "w", encoding="utf-8") as f: + json.dump({"_meta": meta, "entities": cache}, f, ensure_ascii=False, indent=2) + print(f"\n[done] {done} translated, {fails} failed -> {args.out}", file=sys.stderr) + + +if __name__ == "__main__": + main() diff --git a/tools/dnn_i18n/verify_game_rule_translations.py b/tools/dnn_i18n/verify_game_rule_translations.py new file mode 100644 index 00000000..ef6fd8dc --- /dev/null +++ b/tools/dnn_i18n/verify_game_rule_translations.py @@ -0,0 +1,145 @@ +#!/usr/bin/env python3 +""" +Verify a #684 Game Rule translation artifact against its 2sxc export source. + +DoD gates enforced (no fabrication, no FR-contamination, HTML preserved): + 1. CELL PARITY: every populated FR cell in the export has all 7 target langs present. + 2. EMPTY STAYS EMPTY: the 7 structurally-empty prose cells are ABSENT (no fabrication). + 3. HTML PRESERVED: the set of HTML tags in each translation == the FR source set. + 4. SCRIPT CORRECTNESS: each translation is in its target script, not FR-contaminated + (#216-style guard). Cyrillic for ru, CJK for zh, Arabic-script for ar/fa, Latin + for en/pt/es. + +Exit 0 = all gates pass; exit 1 = violations found (printed). + +Usage: + python verify_game_rule_translations.py \ + --artifact docs/dnn-localization/684-translations.json \ + --export <12-game-rule-content-items.json> +""" +import json, os, re, sys, argparse + +TARGETS = ["en", "ru", "pt", "es", "ar", "fa", "zh"] +PROSE_FIELDS = ["Summary", "Material", "Installation", "Content", "Variants", "Memo"] +TRANSLATE_FIELDS = ["Title"] + PROSE_FIELDS + +# Unicode script ranges (start, end) inclusive +CYRILLIC = [(0x0400, 0x04FF)] +CJK = [(0x4E00, 0x9FFF), (0x3400, 0x4DBF)] +ARABIC = [(0x0600, 0x06FF), (0x0750, 0x077F), (0xFB50, 0xFDFF), (0xFE70, 0xFEFF)] +LATIN_ACCENTED = "àâäçéèêëîïôöùûüÿœæÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸŒÆ" # FR diacritics + + +def in_ranges(ch, ranges): + o = ord(ch) + return any(a <= o <= b for a, b in ranges) + + +def count_script(text, ranges): + return sum(1 for ch in text if in_ranges(ch, ranges)) + + +def html_tags(s): + return sorted(re.findall(r"]*>", s)) + + +def check_script(lang, text): + """Return (ok, detail). Detects FR-contamination / wrong script.""" + n = max(1, len(text)) + if lang == "ru": + cyr = count_script(text, CYRILLIC) + return (cyr >= 3 and cyr / n > 0.1, f"cyrillic={cyr}") + if lang == "zh": + cjk = count_script(text, CJK) + return (cjk >= 1, f"cjk={cjk}") + if lang in ("ar", "fa"): + # Two-sided guard against the two real failure modes: + # (a) FR-contamination — leftover French in a non-Latin cell (the #216 failure). + # (b) a non-Arabic-script answer (model defaulted to English/Latin). + # Symbol/emoji-heavy cells (scoring diagrams) legitimately have few Arabic letters, + # so a positive Arabic-letter *ratio* is not a sound gate. Instead: reject if there + # are FR diacritics OR if there are zero Arabic letters at all. + ar = count_script(text, ARABIC) + fr_accents = sum(1 for ch in text if ch in "àâäçéèêëîïôöùûüÿœæÀÂÄÇÉÈÊËÎÏÔÖÙÛÜŸŒ") + ok = (ar >= 1) and (fr_accents == 0) + return (ok, f"arabic-script={ar} fr-accents={fr_accents}") + if lang in ("en", "pt", "es"): + wrong = (count_script(text, CYRILLIC) + count_script(text, CJK) + + count_script(text, ARABIC)) + return (wrong == 0, f"non-latin={wrong}") + return (True, "n/a") + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--artifact", required=True) + ap.add_argument("--export", required=True) + args = ap.parse_args() + + art = json.load(open(args.artifact, encoding="utf-8")) + exp = json.load(open(args.export, encoding="utf-8")) + ents = art["entities"] + + # build source map: (eid, field) -> fr + src = {} + titles = {} + for v in exp["values"]: + if v["StaticName"] == "Title": + titles[v["EntityID"]] = v["Value"] + if v["StaticName"] in TRANSLATE_FIELDS and (v["Value"] or "").strip(): + src[(str(v["EntityID"]), v["StaticName"])] = v["Value"] + + violations = [] + cells_checked = tag_ok = script_ok = 0 + + # Gate 1+3+4: each source cell present, tags preserved, script correct + for (ekey, field), fr in sorted(src.items()): + cells_checked += 1 + ent = ents.get(ekey) + if not ent or field not in ent.get("fields", {}): + violations.append(f"[G1-PRESENT] e{ekey} {field}: missing from artifact") + continue + cell = ent["fields"][field] + if cell.get("fr", "") != fr: + violations.append(f"[G1-FRSRC] e{ekey} {field}: FR source mismatch") + fr_tags = html_tags(fr) + for lang in TARGETS: + if lang not in cell or not cell[lang]: + violations.append(f"[G1-LANG] e{ekey} {field}->{lang}: missing/empty") + continue + t = cell[lang] + if html_tags(t) != fr_tags: + violations.append( + f"[G3-HTML] e{ekey} {field}->{lang}: tag mismatch " + f"(fr={fr_tags} vs {html_tags(t)})") + else: + tag_ok += 1 + ok, detail = check_script(lang, t) + if not ok: + violations.append(f"[G4-SCRIPT] e{ekey} {field}->{lang}: {detail} " + f"text='{t[:80]}...'") + else: + script_ok += 1 + + # Gate 2: structurally-empty cells absent (no fabrication) + populated = set(src.keys()) + for ekey, ent in ents.items(): + for field, cell in ent.get("fields", {}).items(): + if (ekey, field) not in populated: + violations.append(f"[G2-FABRICATE] e{ekey} {field}: cell exists in artifact " + f"but source is empty/absent (fabrication)") + + total_lang_cells = cells_checked * len(TARGETS) + print(f"[verify] cells={cells_checked} lang-cells={total_lang_cells}") + print(f" tag-preserverd OK: {tag_ok}/{total_lang_cells}") + print(f" script-correct OK: {script_ok}/{total_lang_cells}") + print(f" violations: {len(violations)}") + for v in violations[:40]: + print(" " + v) + if len(violations) > 40: + print(f" ... +{len(violations) - 40} more") + sys.exit(0 if not violations else 1) + + +if __name__ == "__main__": + main()