diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 2ece9dace..d277dbca8 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -18,6 +18,7 @@ DPICHANGED Diagnosticable Dieharder Dua +ELFilja FONTCHANGE FRE GLIBCXX @@ -100,6 +101,7 @@ dartpad dms dooz eula +elfilja firstguess fluentui fst diff --git a/src/position.cpp b/src/position.cpp index 475ef6698..c2fec807c 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -801,6 +801,22 @@ bool Position::put_piece(Square s, bool updateRecord) lastMillFromSquare[sideToMove] = SQ_NONE; lastMillToSquare[sideToMove] = SQ_NONE; + if (rule.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase::removalBasedOnMillCounts) { + if (pieceInHandCount[WHITE] == 0 && + pieceInHandCount[BLACK] == 0) { + if (!handle_placing_phase_end()) { + change_side_to_move(); + } + + // Check if Stalemate and change side to move if needed + if (check_if_game_is_over()) { + return true; + } + return true; + } + } + // Begin of set side to move // Board is full at the end of Placing phase @@ -844,10 +860,17 @@ bool Position::put_piece(Square s, bool updateRecord) // End of set side to move } else { // If forming Mill - int rm = pieceToRemoveCount[sideToMove] = rule.mayRemoveMultiple ? + int rm = 0; + + if (rule.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase::removalBasedOnMillCounts) { + rm = pieceToRemoveCount[sideToMove] = 0; + } else { + rm = pieceToRemoveCount[sideToMove] = rule.mayRemoveMultiple ? n : 1; - update_key_misc(); + update_key_misc(); + } if (rule.millFormationActionInPlacingPhase == MillFormationActionInPlacingPhase:: @@ -883,7 +906,25 @@ bool Position::put_piece(Square s, bool updateRecord) return true; } } else { - action = Action::remove; + if (rule.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase::removalBasedOnMillCounts) { + if (pieceInHandCount[WHITE] == 0 && + pieceInHandCount[BLACK] == 0) { + if (!handle_placing_phase_end()) { + change_side_to_move(); + } + + // Check if Stalemate and change side to move if needed + if (check_if_game_is_over()) { + return true; + } + return true; + } else { + change_side_to_move(); + } + } else { + action = Action::remove; + } return true; } } @@ -1121,6 +1162,9 @@ bool Position::handle_placing_phase_end() if (rule.millFormationActionInPlacingPhase == MillFormationActionInPlacingPhase::markAndDelayRemovingPieces) { remove_marked_pieces(); + } else if (rule.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase::removalBasedOnMillCounts) { + calculate_removal_based_on_mill_counts(); } else if (invariant) { if (rule.isDefenderMoveFirst == true) { set_side_to_move(BLACK); @@ -1342,6 +1386,47 @@ void Position::remove_marked_pieces() } } +inline void Position::calculate_removal_based_on_mill_counts() +{ + int whiteMills = total_mills_count(WHITE); + int blackMills = total_mills_count(BLACK); + + int whiteRemove = 1; + int blackRemove = 1; + + if (whiteMills == 0 && blackMills == 0) { + whiteRemove = 1; + blackRemove = 1; + } else if (whiteMills > 0 && blackMills == 0) { + whiteRemove = 2; + blackRemove = 1; + } else if (blackMills > 0 && whiteMills == 0) { + whiteRemove = 1; + blackRemove = 2; + } else { + if (whiteMills == blackMills) { + whiteRemove = whiteMills; + blackRemove = blackMills; + } else { + if (whiteMills > blackMills) { + blackRemove = blackMills; + whiteRemove = blackRemove + 1; + } else if (whiteMills < blackMills) { + whiteRemove = whiteMills; + blackRemove = whiteRemove + 1; + } else { + assert(false); + } + } + } + + pieceToRemoveCount[WHITE] = whiteRemove; + pieceToRemoveCount[BLACK] = blackRemove; + + // TODO: Bits count is not enough + update_key_misc(); +} + inline void Position::set_side_to_move(Color c) { if (sideToMove != c) { @@ -1395,6 +1480,11 @@ Key Position::update_key_misc() // TODO: pieceToRemoveCount[sideToMove] or // abs(pieceToRemoveCount[sideToMove] - pieceToRemoveCount[~sideToMove])? + // TODO: If pieceToRemoveCount[sideToMove]! <= 3, + // the top 2 bits can store its value correctly; + // if it is greater than 3, since only 2 bits are left, + // the storage will be truncated or directly get 0, + // and the original value cannot be completely retained. st.key |= static_cast(pieceToRemoveCount[sideToMove]) << (CHAR_BIT * sizeof(Key) - Zobrist::KEY_MISC_BIT); diff --git a/src/position.h b/src/position.h index 90c289c6d..e20fbc369 100644 --- a/src/position.h +++ b/src/position.h @@ -207,6 +207,7 @@ class Position bool move_piece(Square from, Square to); int total_mills_count(Color c); + void calculate_removal_based_on_mill_counts(); bool is_board_full_removal_at_placing_phase_end(); bool is_adjacent_to(Square s, Color c); diff --git a/src/rule.cpp b/src/rule.cpp index de9adf3c1..56e8aac8e 100644 --- a/src/rule.cpp +++ b/src/rule.cpp @@ -78,6 +78,11 @@ const Rule RULES[N_RULES] = { BoardFullAction::firstAndSecondPlayerRemovePiece, StalemateAction::removeOpponentsPieceAndMakeNextMove, true, 100, 100, true}, + {"ELFilja", "ELFilja", 12, 3, 3, false, + MillFormationActionInPlacingPhase::removalBasedOnMillCounts, false, false, + false, false, true, false, + BoardFullAction::firstAndSecondPlayerRemovePiece, + StalemateAction::endWithStalemateLoss, false, 100, 100, true}, {"Experimental", "Experimental", 12, 3, 3, true, MillFormationActionInPlacingPhase::removeOpponentsPieceFromBoard, false, true, false, false, true, false, diff --git a/src/rule.h b/src/rule.h index b739efdd0..0ff161be3 100644 --- a/src/rule.h +++ b/src/rule.h @@ -25,6 +25,7 @@ enum class MillFormationActionInPlacingPhase { removeOpponentsPieceFromHandThenYourTurn = 2, opponentRemovesOwnPiece = 3, markAndDelayRemovingPieces = 4, + removalBasedOnMillCounts = 5, }; enum class BoardFullAction { @@ -115,7 +116,7 @@ struct Rule bool threefoldRepetitionRule; }; -constexpr auto N_RULES = 10; +constexpr auto N_RULES = 11; extern const Rule RULES[N_RULES]; extern Rule rule; extern bool set_rule(int ruleIdx) noexcept; diff --git a/src/ucioption.cpp b/src/ucioption.cpp index 541eb7be1..3a14eac59 100644 --- a/src/ucioption.cpp +++ b/src/ucioption.cpp @@ -256,7 +256,7 @@ void init(OptionsMap &o) static_cast( MillFormationActionInPlacingPhase::removeOpponentsPieceFromBoard), static_cast( - MillFormationActionInPlacingPhase::markAndDelayRemovingPieces), + MillFormationActionInPlacingPhase::removalBasedOnMillCounts), on_millFormationActionInPlacingPhase); o["MayMoveInPlacingPhase"] << Option(false, on_mayMoveInPlacingPhase); o["IsDefenderMoveFirst"] << Option(false, on_isDefenderMoveFirst); diff --git a/src/ui/flutter_app/lib/game_page/services/engine/position.dart b/src/ui/flutter_app/lib/game_page/services/engine/position.dart index fb2322950..1ba1ee4a1 100644 --- a/src/ui/flutter_app/lib/game_page/services/engine/position.dart +++ b/src/ui/flutter_app/lib/game_page/services/engine/position.dart @@ -763,6 +763,22 @@ class Position { GameController().gameInstance.focusIndex = squareToIndex[s]; SoundManager().playTone(Sound.place); + if (DB().ruleSettings.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase.removalBasedOnMillCounts) { + if (pieceInHandCount[PieceColor.white]! == 0 && + pieceInHandCount[PieceColor.black]! == 0) { + if (!handlePlacingPhaseEnd()) { + changeSideToMove(); + } + + // Check if Stalemate and change side to move if needed + if (_checkIfGameIsOver()) { + return true; + } + return true; + } + } + // Begin of set side to move // Board is full at the end of Placing phase @@ -813,9 +829,16 @@ class Position { // End of set side to move } else { // If forming Mill - final int rm = pieceToRemoveCount[sideToMove] = - DB().ruleSettings.mayRemoveMultiple ? n : 1; - _updateKeyMisc(); + int rm = 0; + + if (DB().ruleSettings.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase.removalBasedOnMillCounts) { + rm = pieceToRemoveCount[sideToMove] = 0; + } else { + rm = pieceToRemoveCount[sideToMove] = + DB().ruleSettings.mayRemoveMultiple ? n : 1; + _updateKeyMisc(); + } GameController().gameInstance.focusIndex = squareToIndex[s]; SoundManager().playTone(Sound.mill); @@ -870,7 +893,25 @@ class Position { return true; } } else { - action = Act.remove; + if (DB().ruleSettings.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase.removalBasedOnMillCounts) { + if (pieceInHandCount[PieceColor.white]! == 0 && + pieceInHandCount[PieceColor.black]! == 0) { + if (!handlePlacingPhaseEnd()) { + changeSideToMove(); + } + + // Check if Stalemate and change side to move if needed + if (_checkIfGameIsOver()) { + return true; + } + return true; + } else { + changeSideToMove(); + } + } else { + action = Act.remove; + } return true; } } @@ -1133,6 +1174,9 @@ class Position { if (DB().ruleSettings.millFormationActionInPlacingPhase == MillFormationActionInPlacingPhase.markAndDelayRemovingPieces) { _removeMarkedStones(); + } else if (DB().ruleSettings.millFormationActionInPlacingPhase == + MillFormationActionInPlacingPhase.removalBasedOnMillCounts) { + _calculateRemovalBasedOnMillCounts(); } else if (invariant) { if (DB().ruleSettings.isDefenderMoveFirst == true) { setSideToMove(PieceColor.black); @@ -1269,6 +1313,46 @@ class Position { } } + void _calculateRemovalBasedOnMillCounts() { + final int whiteMills = totalMillsCount(PieceColor.white); + final int blackMills = totalMillsCount(PieceColor.black); + + int whiteRemove = 1; + int blackRemove = 1; + + if (whiteMills == 0 && blackMills == 0) { + whiteRemove = 1; + blackRemove = 1; + } else if (whiteMills > 0 && blackMills == 0) { + whiteRemove = 2; + blackRemove = 1; + } else if (blackMills > 0 && whiteMills == 0) { + whiteRemove = 1; + blackRemove = 2; + } else { + if (whiteMills == blackMills) { + whiteRemove = whiteMills; + blackRemove = blackMills; + } else { + if (whiteMills > blackMills) { + blackRemove = blackMills; + whiteRemove = blackRemove + 1; + } else if (whiteMills < blackMills) { + whiteRemove = whiteMills; + blackRemove = whiteRemove + 1; + } else { + assert(false); + } + } + } + + pieceToRemoveCount[PieceColor.white] = whiteRemove; + pieceToRemoveCount[PieceColor.black] = blackRemove; + + // TODO: Bits count is not enough + _updateKeyMisc(); + } + void setSideToMove(PieceColor c) { if (sideToMove != c) { sideToMove = c; @@ -1324,6 +1408,11 @@ class Position { // TODO: pieceToRemoveCount[sideToMove] or // abs(pieceToRemoveCount[sideToMove] - pieceToRemoveCount[~sideToMove])? + // TODO: If pieceToRemoveCount[sideToMove]! <= 3, + // the top 2 bits can store its value correctly; + // if it is greater than 3, since only 2 bits are left, + // the storage will be truncated or directly get 0, + // and the original value cannot be completely retained. st.key |= pieceToRemoveCount[sideToMove]! << (32 - _Zobrist.keyMiscBit); } diff --git a/src/ui/flutter_app/lib/l10n/intl_af.arb b/src/ui/flutter_app/lib/l10n/intl_af.arb index dd234cd62..29fe69985 100644 --- a/src/ui/flutter_app/lib/l10n/intl_af.arb +++ b/src/ui/flutter_app/lib/l10n/intl_af.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Wys voordeelgrafiek", "@showAdvantageGraph": {}, "advantageGraphHint": "Voorspronggrafiek sal slegs geteken word nadat die KI 'n skuif maak. Dit sal nie geteken word wanneer die menslike speler 'n skuif maak nie.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Skakel verwydering uit totdat alle stukke geplaas is. Spelers verwyder stukke op grond van Morabaraba-tellings.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Skakel verwydering uit totdat alle stukke geplaas is. Spelers verwyder stukke op grond van Morabaraba-tellings: as dit gelyk is, verwyder albei dieselfde aantal stukke; as een meer het, verwyder hy een ekstra, met ’n verskil van net één stuk. As slegs een Morabaraba vorm, verwyder daardie speler twee stukke en die ander speler een. As geen speler ’n Morabaraba vorm nie, verwyder albei een stuk.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_am.arb b/src/ui/flutter_app/lib/l10n/intl_am.arb index 518f1fbcb..723962b32 100644 --- a/src/ui/flutter_app/lib/l10n/intl_am.arb +++ b/src/ui/flutter_app/lib/l10n/intl_am.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "የጥቅም ግራፍን አሳይ", "@showAdvantageGraph": {}, "advantageGraphHint": "አቋሙ ግራፊክ ከAI ተንቀሳቃሽ ከተደረገ በኋላ ብቻ ይሳምራል። የሰው ተጫዋች አንቀሳቃሽ ሲደረግ ግራፊኩ አይሳምርም።", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "የማስወገድ ሂደቱን እስከ ሁሉም ቅዱሳት እንዲቀመጡ ድረስ አትቻል. ተጫዋቾች ቅዱሳትን በሚቆጣጠሩበት መሠረት ያስወግዳሉ።", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "የማስወገድ ሂደቱን እስከ ሁሉም ቅዱሳት እንዲቀመጡ ድረስ አትቻል። ተጫዋቾች ቅዱሳትን በሚቆጣጠሩበት መሠረት ያስወግዳሉ፡ ከሆነ ብዛት አንድ አይደለም ከሆነ፣ ብዛት በላዩ አንዱ ተጫዋች አንድ ተጨማሪ ያስወግዳል እና የተለየ አንድ ቅዱስ ልዩነት ይቆያል። ከሆነ አንድ ብቻ ከሚከናውነው የቅዱሳት ተውጣጥፋ ሂደት ጋር፣ ያ ተጫዋች ሁለት ቅዱሳት ያስወግዳል እና አስተማማኝ አድርጎ በወደቀው ተጫዋች አንድ ቅዱስ ይወጣል። ከሆነ ሁለቱም ቅዱሳት አይቆጣጠሩም ከሆነ፣ ሁለቱም አንድ ቅዱስ ይወጣሉ።", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ኢልፊልጃ", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_ar.arb b/src/ui/flutter_app/lib/l10n/intl_ar.arb index 3c046a5e9..c9fd7e58b 100644 --- a/src/ui/flutter_app/lib/l10n/intl_ar.arb +++ b/src/ui/flutter_app/lib/l10n/intl_ar.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "إظهار مخطط الميزة", "@showAdvantageGraph": {}, "advantageGraphHint": "سيتم رسم مخطط الأفضلية فقط بعد أن يقوم الذكاء الاصطناعي باللعب. لن يتم رسمه عندما يقوم اللاعب البشري باللعب.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "ممنوع الإزالة حتى يتم وضع جميع القطع. يقوم اللاعبون بإزالة القطع حسب عدد الطواحين المشكلة.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "ممنوع الإزالة حتى يتم وضع جميع القطع. يقوم اللاعبون بإزالة القطع حسب عدد الطواحين المشكلة: إذا تساوى العدد، يزيل كلاهما نفس العدد ؛ واذا كان أحدهم يمتلك طواحين أكثر، فإنه يزيل قطعة إضافية واحدة مع الحفاظ على فارق قطعة واحدة. إذا قام أحد اللاعبين فقط بتشكيل طواحين،فإنه يزيل قطعتين بينما يزيل الآخر واحدة. إذا لم يشكل اي منهما طواحين، يزيل كل منهما قطعة واحدة من قطعه الخاصة.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "إلفيلجا", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_az.arb b/src/ui/flutter_app/lib/l10n/intl_az.arb index 528ca3b64..a5b14bb23 100644 --- a/src/ui/flutter_app/lib/l10n/intl_az.arb +++ b/src/ui/flutter_app/lib/l10n/intl_az.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Üstünlük qrafikini göstər", "@showAdvantageGraph": {}, "advantageGraphHint": "Üstünlük qrafiki yalnız süni intellekt hərəkət etdikdən sonra çəkiləcək. İnsan oyunçu hərəkət edəndə o çəkilməyəcək.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Bütün fişlər yerləşdirilənə qədər çıxarışı dayandırın. Oyunçular fişləri dəyirman sayına əsasən çıxarırlar.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Bütün fişlər yerləşdirilənə qədər çıxarışı dayandırın. Oyunçular fişləri dəyirman sayına əsasən çıxarırlar: əgər saylar bərabərdirsə, hər iki oyunçu eyni sayda fiş çıxarır; birinin sayı çoxdursa, o, əlavə bir fiş çıxararaq fərqi bir fiş səviyyəsində saxlayır. Yalnız bir oyunçu dəyirman yığıbsa, o, iki fiş çıxarır, digər oyunçu isə bir fiş çıxarır. Heç biri dəyirman yığmayıbsa, hər ikisi bir fiş çıxarır.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_be.arb b/src/ui/flutter_app/lib/l10n/intl_be.arb index bba3d64bc..843f69a2d 100644 --- a/src/ui/flutter_app/lib/l10n/intl_be.arb +++ b/src/ui/flutter_app/lib/l10n/intl_be.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Паказаць графік перавагі", "@showAdvantageGraph": {}, "advantageGraphHint": "Графік перавагі будзе намаляваны толькі пасля таго, як ШІ зробіць ход. Калі ход робіць чалавек-гулец, графік не будзе намаляваны.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Выключыце выдаленне, пакуль усе фігуры не будуць расстаўлены. Гульцы выдаляюць фігуры на падставе колькасці млыноў.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Выключыце выдаленне, пакуль усе фігуры не будуць расстаўлены. Гульцы выдаляюць фігуры на падставе колькасці млыноў: калі колькасць аднолькавая, абодва выдаляюць аднолькавую колькасць; калі ў аднаго больш, ён выдаляе лішнюю фігуру, захоўваючы розніцу ў адну фігуру. Калі млын утварыў толькі адзін гульняр, ён выдаляе дзве фігуры, а другі — адну. Калі ніводны млын не ўтварыўся, абодва выдаляюць па адной фігуры.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "Эльфілья", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_bg.arb b/src/ui/flutter_app/lib/l10n/intl_bg.arb index cce249d19..043bc5d3b 100644 --- a/src/ui/flutter_app/lib/l10n/intl_bg.arb +++ b/src/ui/flutter_app/lib/l10n/intl_bg.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Покажи графиката на предимството", "@showAdvantageGraph": {}, "advantageGraphHint": "Графиката на предимството ще бъде изчертана само след като ИИ направи ход. Няма да бъде изчертана, когато човешкият играч направи ход.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Изключете премахването, докато всички пулове не бъдат поставени. Играчите премахват пулове въз основа на броя мелници.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Изключете премахването, докато всички пулове не бъдат поставени. Играчите премахват пулове въз основа на броя мелници: ако броят е равен, и двамата премахват еднакъв брой; ако единият има повече, той премахва една допълнителна пулка, запазвайки разлика от една пулка. Ако само един образува мелница, той премахва две пулки, а другият – една. Ако нито един не образува мелница, и двамата премахват по една пулка.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ЕЛФилжа", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_bn.arb b/src/ui/flutter_app/lib/l10n/intl_bn.arb index 45a8a9365..3460a6f4b 100644 --- a/src/ui/flutter_app/lib/l10n/intl_bn.arb +++ b/src/ui/flutter_app/lib/l10n/intl_bn.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "সুবিধার গ্রাফ দেখান", "@showAdvantageGraph": {}, "advantageGraphHint": "কৃত্রিম বুদ্ধিমত্তা চাল দেওয়ার পরেই কেবল অ্যাডভান্টেজ গ্রাফ আঁকা হবে। মানব খেলোয়াড় চাল দিলে এটি আঁকা হবে না।", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "সমস্ত ঘুটি স্থাপন না হওয়া পর্যন্ত সরানো নিষ্ক্রিয় করুন। খেলোয়াড়রা মিলের সংখ্যার ভিত্তিতে ঘুটি সরিয়ে থাকে।", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "সমস্ত ঘুটি স্থাপন না হওয়া পর্যন্ত সরানো নিষ্ক্রিয় করুন। খেলোয়াড়রা মিলের সংখ্যার ভিত্তিতে ঘুটি সরিয়ে থাকে: যদি সংখ্যাগুলি সমান হয়, উভয়েই একই সংখ্যক ঘুটি সরায়; যদি একজনের বেশি থাকে, তিনি অতিরিক্ত একটি ঘুটি সরিয়ে এক ঘুটির পার্থক্য বজায় রাখেন। যদি কেবল একজন মিল তৈরি করে, তিনি দুটি ঘুটি সরাবেন এবং অন্যজন একটি ঘুটি সরাবে। যদি কেউই মিল তৈরি করতে না পারে, উভয়েই একটি করে ঘুটি সরাবে।", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "এলফিলজা", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_bo.arb b/src/ui/flutter_app/lib/l10n/intl_bo.arb index 3bb82ed10..03f0808de 100644 --- a/src/ui/flutter_app/lib/l10n/intl_bo.arb +++ b/src/ui/flutter_app/lib/l10n/intl_bo.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "ངོས་ཕན་རི་མོ་སྟོན།", "@showAdvantageGraph": {}, "advantageGraphHint": "དཔེ་དོན་གྲངས་ཀྱི་རི་མོ་ནི AI གིས་འགོ་བཙུགས་རྗེས་ཙམ་བྲི་བཏུབ་པར་འགྲུབ། མིའི་རྩོམ་པ་བྱེད་དུས་ནི རི་མོ་བྲི་མི་ཐུབ།", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "དབྱེ་མི་གཉིས་ཀྱིས་གང་འདོགས་བཞིན་དུ་གཞི་བཙོད་མི་རུང་། སྤོ་བའི་ལག་ཁྱེད་ཀྱིས་མི་འདོགས་བརྗེད་རིས་གྱི་དོན་ལ་གཞི་བཙོད་བྱེད་པ་ཡིན་པས།", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "དབྱེ་མི་གཉིས་ཀྱིས་གང་འདོགས་བཞིན་དུ་གཞི་བཙོད་མི་རུང་། སྤོ་བའི་ལག་ཁྱེད་ཀྱིས་མི་འདོགས་བརྗེད་རིས་གྱི་དོན་ལ་གཞི་བཙོད་བྱེད་པ་ཡིན་པས། གང་གི་གར་གཅིག་གིས་ཨང་ཚད་མཐོ་དང་མཐུན་པ་ཡིན་ན་མཉམ་དུ་ཨང་གྲངས་གཅིག་ཏུ་གཞི་བཙོད་བྱེད་དགོས། གང་གི་གར་གཅིག་གིས་བརྡ་སྤྲོད་མི་ལས་མང་བ་ཚུགས་ན་ཁྱེད་ཀྱིས་དགུན་འདྲེན་ཞིག་གཅིག་ཤོམ་སོ། གང་གི་གར་གཅིག་གིས་མི་འདོགས་ཡོད་ན་ཁྱེད་ཀྱིས་གཉིས་པ་གཉིས་སུ་གཞི་བཙོད་པ་ཞིག་བྱུང་། གང་གི་གར་ཁོ་ན་གིས་མི་འདོགས་སྒྲིག་དགོས་ན་ཁྱེད་ཀྱིས་གཅིག་གྱི་ཚིག་ཆ་གཞི་བཙོད་མི།", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ཨེལ་ཕིལ་ཇ།", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_bs.arb b/src/ui/flutter_app/lib/l10n/intl_bs.arb index b522619f8..cb1960bb5 100644 --- a/src/ui/flutter_app/lib/l10n/intl_bs.arb +++ b/src/ui/flutter_app/lib/l10n/intl_bs.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Prikaži grafikon prednosti", "@showAdvantageGraph": {}, "advantageGraphHint": "Graf prednosti će biti iscrtan samo nakon što AI povuče potez. Neće biti iscrtan kada ljudski igrač povuče potez.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Onemogućite uklanjanje dok svi dijelovi nisu postavljeni. Igrači uklanjaju dijelove na osnovu broja mlinova.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Onemogućite uklanjanje dok svi dijelovi nisu postavljeni. Igrači uklanjaju dijelove na osnovu broja mlinova: ako je broj jednak, oba uklanjaju isti broj dijelova; ako jedan ima više, uklanja dodatni dio i održava razliku od jednog dijela. Ako samo jedan formira mlin, uklanja dva dijela, a drugi uklanja jedan. Ako nijedan ne formira mlin, oba uklanjaju po jedan dio.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_cs.arb b/src/ui/flutter_app/lib/l10n/intl_cs.arb index d325d5ecb..9153d70a4 100644 --- a/src/ui/flutter_app/lib/l10n/intl_cs.arb +++ b/src/ui/flutter_app/lib/l10n/intl_cs.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Zobrazit graf výhody", "@showAdvantageGraph": {}, "advantageGraphHint": "Graf výhody bude vykreslen pouze poté, co udělá tah AI. Nebude vykreslen, když tah provede lidský hráč.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Zakázat odstranění, dokud nejsou umístěny všechny kameny. Hráči odstraňují kameny na základě počtu mlýnů.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Zakázat odstranění, dokud nejsou umístěny všechny kameny. Hráči odstraňují kameny na základě počtu mlýnů: pokud je počet stejný, oba odstraní stejný počet; pokud má jeden více, odstraní o jeden navíc, aby zůstal rozdíl jednoho kamene. Pokud mlýn vytvoří pouze jeden hráč, odstraní dvě kameny, zatímco druhý odstraní jeden. Pokud žádný hráč nevytvoří mlýn, oba odstraní jeden kámen.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_da.arb b/src/ui/flutter_app/lib/l10n/intl_da.arb index 5312d6e87..4128875b5 100644 --- a/src/ui/flutter_app/lib/l10n/intl_da.arb +++ b/src/ui/flutter_app/lib/l10n/intl_da.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Vis fordelsgraf", "@showAdvantageGraph": {}, "advantageGraphHint": "Fordelsgrafen vil kun blive tegnet, efter at AI'en foretager et træk. Den vil ikke blive tegnet, når den menneskelige spiller foretager et træk.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Deaktiver fjernelse, indtil alle brikker er placeret. Spillerne fjerner brikker baseret på antallet af møller.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Deaktiver fjernelse, indtil alle brikker er placeret. Spillerne fjerner brikker baseret på antallet af møller: hvis antallet er det samme, fjerner begge spillere det samme antal brikker; hvis den ene har flere, fjerner han en ekstra brik for at opretholde en forskel på én brik. Hvis kun én spiller danner en mølle, fjerner denne to brikker, mens den anden fjerner én. Hvis ingen danner en mølle, fjerner begge en brik.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_de.arb b/src/ui/flutter_app/lib/l10n/intl_de.arb index c7a4797ca..bca5452a3 100644 --- a/src/ui/flutter_app/lib/l10n/intl_de.arb +++ b/src/ui/flutter_app/lib/l10n/intl_de.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Vorteilsdiagramm anzeigen", "@showAdvantageGraph": {}, "advantageGraphHint": "Der Vorteilgraph wird nur gezeichnet, nachdem die KI einen Zug gemacht hat. Er wird nicht gezeichnet, wenn der menschliche Spieler einen Zug macht.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Deaktiviere das Entfernen, bis alle Steine platziert sind, dann entferne Steine basierend auf der Anzahl der Mühlen.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Deaktiviere das Entfernen, bis alle Steine platziert sind, dann entferne Steine basierend auf der Anzahl der Mühlen: Sind sie gleich, entfernen beide die gleiche Anzahl. Hat einer mehr, entfernt er einen zusätzlichen Stein, um einen Unterschied von einem Stein beizubehalten. Bildet nur einer Mühlen, entfernt dieser zwei Steine und der andere einen. Bildet keiner Mühlen, entfernen beide jeweils einen Stein.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_de_ch.arb b/src/ui/flutter_app/lib/l10n/intl_de_ch.arb index e08eefbdf..3f11d860f 100644 --- a/src/ui/flutter_app/lib/l10n/intl_de_ch.arb +++ b/src/ui/flutter_app/lib/l10n/intl_de_ch.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Vorteilsdiagramm anzeigen", "@showAdvantageGraph": {}, "advantageGraphHint": "Der Vorteilgraph wird nur gezeichnet, nachdem die KI einen Zug gemacht hat. Er wird nicht gezeichnet, wenn der menschliche Spieler einen Zug macht.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Deaktiviere das Entfernen, bis alle Steine platziert sind, dann entferne Steine basierend auf der Anzahl der Mühlen.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Deaktiviere das Entfernen, bis alle Steine platziert sind, dann entferne Steine basierend auf der Anzahl der Mühlen: Sind sie gleich, entfernen beide die gleiche Anzahl. Hat einer mehr, entfernt er einen zusätzlichen Stein, um einen Unterschied von einem Stein beizubehalten. Bildet nur einer Mühlen, entfernt dieser zwei Steine und der andere einen. Bildet keiner Mühlen, entfernen beide jeweils einen Stein.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_el.arb b/src/ui/flutter_app/lib/l10n/intl_el.arb index 981958b87..857fa73d0 100644 --- a/src/ui/flutter_app/lib/l10n/intl_el.arb +++ b/src/ui/flutter_app/lib/l10n/intl_el.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Εμφάνιση γραφήματος πλεονεκτήματος", "@showAdvantageGraph": {}, "advantageGraphHint": "Το διάγραμμα πλεονεκτήματος θα σχεδιαστεί μόνο μετά την κίνηση της ΤΝ. Δεν θα σχεδιαστεί όταν ο ανθρώπινος παίκτης κάνει μια κίνηση.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Απενεργοποιήστε την αφαίρεση έως ότου τοποθετηθούν όλα τα πιόνια. Οι παίκτες αφαιρούν πιόνια με βάση τον αριθμό των μύλων που δημιουργούνται.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Απενεργοποιήστε την αφαίρεση έως ότου τοποθετηθούν όλα τα πιόνια. Οι παίκτες αφαιρούν πιόνια με βάση τον αριθμό των μύλων: αν είναι ίσος, και οι δύο αφαιρούν τον ίδιο αριθμό· αν κάποιος έχει περισσότερους, αφαιρεί ένα επιπλέον πιόνι, διατηρώντας τη διαφορά σε ένα πιόνι. Αν μόνο ένας παίκτης σχηματίσει μύλο, αφαιρεί δύο πιόνια, ενώ ο άλλος αφαιρεί ένα. Αν κανείς δεν σχηματίσει μύλο, και οι δύο αφαιρούν από ένα πιόνι.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ΕΛΦιλγια", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_en.arb b/src/ui/flutter_app/lib/l10n/intl_en.arb index 00dbca07c..2b7ef56b5 100644 --- a/src/ui/flutter_app/lib/l10n/intl_en.arb +++ b/src/ui/flutter_app/lib/l10n/intl_en.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Show advantage graph", "@showAdvantageGraph": {}, "advantageGraphHint": "Advantage graph will only be drawn after the AI makes a move. It will not be drawn when the human player makes a move.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Disable removal until all pieces are placed, then remove pieces based on mill counts.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Disable removal until all pieces are placed, then remove pieces based on mill counts: if equal, both remove the same number; if one has more, they remove one extra, keeping a one-piece difference. If only one forms mills, they remove two pieces, and the other removes one. If neither forms mills, both remove one piece.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_es.arb b/src/ui/flutter_app/lib/l10n/intl_es.arb index 248c50d68..685f2dec0 100644 --- a/src/ui/flutter_app/lib/l10n/intl_es.arb +++ b/src/ui/flutter_app/lib/l10n/intl_es.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Mostrar gráfico de ventaja", "@showAdvantageGraph": {}, "advantageGraphHint": "El gráfico de ventaja solo se dibujará después de que la IA haga un movimiento. No se dibujará cuando el jugador humano haga un movimiento.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Deshabilita la eliminación hasta que todas las piezas estén colocadas, luego retira piezas según el recuento de molinos.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Deshabilita la eliminación hasta que todas las piezas estén colocadas, luego retira piezas según el recuento de molinos: si es igual, ambos retiran la misma cantidad; si uno tiene más, retira una pieza adicional para mantener una diferencia de una pieza. Si solo uno forma molinos, retira dos piezas y el otro una. Si ninguno forma molinos, ambos retiran una pieza.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_et.arb b/src/ui/flutter_app/lib/l10n/intl_et.arb index 1ea0d9dd5..e4df9c1c2 100644 --- a/src/ui/flutter_app/lib/l10n/intl_et.arb +++ b/src/ui/flutter_app/lib/l10n/intl_et.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Kuva eelise graafik", "@showAdvantageGraph": {}, "advantageGraphHint": "Eelisgraafik joonistatakse ainult pärast seda, kui tehisintellekt on käigu teinud. Seda ei joonistata, kui käigu teeb inimmängija.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Keela eemaldamine, kuni kõik nupud on paigutatud. Mängijad eemaldavad nuppe vastavalt veskite arvule.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Keela eemaldamine, kuni kõik nupud on paigutatud. Mängijad eemaldavad nuppe vastavalt veskite arvule: kui arv on võrdne, eemaldavad mõlemad sama palju; kui ühel on rohkem, eemaldab ta ühe nupu lisaks, hoides vahet ühe nupu jagu. Kui veski moodustab ainult üks mängija, eemaldab ta kaks nuppu, teine aga ühe. Kui kumbki ei moodusta veskit, eemaldavad mõlemad ühe nupu.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_fa.arb b/src/ui/flutter_app/lib/l10n/intl_fa.arb index dd54fc4fa..64bd94e79 100644 --- a/src/ui/flutter_app/lib/l10n/intl_fa.arb +++ b/src/ui/flutter_app/lib/l10n/intl_fa.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "نمودار مزیت را نشان دهید", "@showAdvantageGraph": {}, "advantageGraphHint": "نمودار برتری تنها پس از انجام حرکت توسط هوش مصنوعی رسم می‌شود. هنگامی که بازیکن انسانی حرکت می‌کند، رسم نخواهد شد.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "حذف مهره‌ها را تا زمانی که همه قرار داده شوند غیرفعال کنید. بازیکنان بر اساس تعداد دوز مهره‌ها را حذف می‌کنند.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "حذف مهره‌ها را تا زمانی که همه قرار داده شوند غیرفعال کنید. بازیکنان بر اساس تعداد دوز مهره‌ها را حذف می‌کنند: اگر تعداد مساوی باشد، هر دو به همان میزان مهره حذف می‌کنند؛ اگر یکی تعداد بیشتری داشته باشد، یک مهره اضافه حذف کرده و اختلاف را در یک مهره نگه می‌دارد. اگر فقط یکی دوز تشکیل دهد، دو مهره حذف می‌کند و دیگری یک مهره را حذف می‌کند. اگر هیچ‌کدام دوز تشکیل ندهند، هر دو یک مهره حذف می‌کنند.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "الفیلجا", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_fi.arb b/src/ui/flutter_app/lib/l10n/intl_fi.arb index 4242723c2..a006d3cc8 100644 --- a/src/ui/flutter_app/lib/l10n/intl_fi.arb +++ b/src/ui/flutter_app/lib/l10n/intl_fi.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Näytä etugraafi", "@showAdvantageGraph": {}, "advantageGraphHint": "Etulyöntikaavio piirretään vasta sen jälkeen, kun tekoäly on tehnyt siirtonsa. Sitä ei piirretä, kun ihmispelaaja tekee siirron.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Poista nappuloiden poistaminen käytöstä, kunnes kaikki nappulat on asetettu. Pelaajat poistavat nappuloita myllyjen määrän perusteella.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Poista nappuloiden poistaminen käytöstä, kunnes kaikki nappulat on asetettu. Pelaajat poistavat nappuloita myllyjen määrän perusteella: jos ne ovat yhtäsuuret, molemmat poistavat saman määrän nappuloita; jos toisella on enemmän, hän poistaa yhden ylimääräisen nappulan, pitäen eron yhdessä nappulassa. Jos vain yksi muodostaa myllyn, hän poistaa kaksi nappulaa ja toinen poistaa yhden. Jos kumpikaan ei muodosta myllyä, molemmat poistavat yhden nappulan.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_fr.arb b/src/ui/flutter_app/lib/l10n/intl_fr.arb index f07c0c119..15ab56a7b 100644 --- a/src/ui/flutter_app/lib/l10n/intl_fr.arb +++ b/src/ui/flutter_app/lib/l10n/intl_fr.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Afficher le graphique d’avantage", "@showAdvantageGraph": {}, "advantageGraphHint": "Le graphique d'avantage ne sera tracé qu'après que l'IA aura effectué un mouvement. Il ne sera pas tracé lorsque le joueur humain effectuera un mouvement.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "La suppression est interdite jusqu'à ce que toutes les pièces soient placées. Les joueurs retirent des pièces en fonction du nombre de moulins formés.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "La suppression est interdite jusqu'à ce que toutes les pièces soient placées. Les joueurs retirent des pièces en fonction du nombre de moulins formés : si les nombres sont égaux, les deux retirent le même nombre de pièces ; si l’un d’eux a formé plus de moulins, il retire une pièce supplémentaire tout en maintenant une différence d’une seule pièce. Si un seul joueur forme des moulins, il retire deux pièces tandis que l’autre en retire une. Si aucun des deux ne forme de moulins, chacun retire une de ses propres pièces.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_gu.arb b/src/ui/flutter_app/lib/l10n/intl_gu.arb index df677915f..47c6965c8 100644 --- a/src/ui/flutter_app/lib/l10n/intl_gu.arb +++ b/src/ui/flutter_app/lib/l10n/intl_gu.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "લાભ ગ્રાફ બતાવો", "@showAdvantageGraph": {}, "advantageGraphHint": "AI ચાલ કર્યા પછી જ અગ્રતા ગ્રાફ દોરવામાં આવશે. માનવ ખેલાડી ચાલ કરે ત્યારે તે દોરવામાં નહીં આવે.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "તમામ ભાગ들을 મૂકાઈ ગયા સુધી ભાગોને દૂર કરવાની પ્રક્રિયા અસ્થાયી રીતે બંધ કરો. ખેલાડીઓ તેમના મિલ ગણતરીના આધારે ભાગોને દૂર કરે છે.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "તમામ ભાગ들을 મૂકાઈ ગયા સુધી ભાગોને દૂર કરવાની પ્રક્રિયા અસ્થાયી બંધ રાખો. ખેલાડીઓ તેમના મિલ ગણતરી અનુસાર ભાગોને દૂર કરે છે: જો ગણતરી સમાન હોય, તો બંનેેય સમાન સંખ્યામાં ભાગોએ દૂર કરે છે; જો એક તરફ વધુ હોય, તો તે એક વધારાનું ભાગ દૂર કરીને એક ભાગનો તફાવત રાખે છે. જો માત્ર એક ખેલાડી મિલ બનાવે છે, તો તે બે ભાગોએ દૂર કરે છે જ્યારે બીજો એક ભાગ દૂર કરે છે. જો કોઈપણ મિલ બનાવતો નહીં હોય, તો બંને એક ભાગneze દૂર કરે છે.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "એલફિલજા", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_he.arb b/src/ui/flutter_app/lib/l10n/intl_he.arb index 66e79b452..1eb97fe51 100644 --- a/src/ui/flutter_app/lib/l10n/intl_he.arb +++ b/src/ui/flutter_app/lib/l10n/intl_he.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "הצג גרף יתרון", "@showAdvantageGraph": {}, "advantageGraphHint": "הגרף המציג יתרון יצויר רק לאחר שהבינה המלאכותית מבצעת מהלך. הוא לא יצויר כאשר השחקן האנושי מבצע מהלך.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "השבת הסרת חלקים עד שכל החלקים ימוקמו. השחקנים מסירים חלקים בהתאם למספר המטחנות שנוצרו.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "השבת הסרת חלקים עד שכל החלקים ימוקמו. השחקנים מסירים חלקים בהתאם למספר המטחנות: אם המספר שווה, שניהם מסירים אותה כמות חלקים; אם לאחד יש יותר, הוא מסיר חלק נוסף ובכך שומר על הפרש של חלק אחד. אם רק אחד יוצר מטחנה, הוא מסיר שני חלקים, בעוד השני מסיר חלק אחד. אם אף אחד לא יוצר מטחנה, שניהם מסירים חלק אחד כל אחד.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "אלפילג'ה", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_hi.arb b/src/ui/flutter_app/lib/l10n/intl_hi.arb index d18c4eb73..5a5371b11 100644 --- a/src/ui/flutter_app/lib/l10n/intl_hi.arb +++ b/src/ui/flutter_app/lib/l10n/intl_hi.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "लाभ ग्राफ़ दिखाएँ", "@showAdvantageGraph": {}, "advantageGraphHint": "एडवांटेज ग्राफ़ केवल तभी बनाया जाएगा जब एआई चाल चल चुकी हो। जब मानव खिलाड़ी चाल चलेगा तो यह नहीं बनाया जाएगा।", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "जब तक सभी मोहरें रखी न जाएँ, हटाने की क्रिया को निष्क्रिय करें। खिलाड़ी अपने मिल की संख्या के आधार पर मोहरें हटाते हैं।", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "जब तक सभी मोहरें रखी न जाएँ, हटाने को निष्क्रिय रखें। खिलाड़ी अपने मिल की संख्या के आधार पर मोहरें हटाते हैं: यदि संख्या बराबर है, तो दोनों समान संख्या में मोहरें हटाते हैं; यदि किसी एक के पास अधिक हैं, तो वह एक अतिरिक्त मोहरा हटाता है, जिससे अंतर एक मोहरे का बना रहता है। यदि केवल एक ही मिल बनाता है, तो वह दो मोहरें हटाता है और दूसरा एक हटाता है। यदि कोई भी मिल नहीं बनाता, तो दोनों एक-एक मोहरा हटाते हैं।", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "एलफिल्जा", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_hr.arb b/src/ui/flutter_app/lib/l10n/intl_hr.arb index 00aa80853..1d26fd945 100644 --- a/src/ui/flutter_app/lib/l10n/intl_hr.arb +++ b/src/ui/flutter_app/lib/l10n/intl_hr.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Prikaži graf prednosti", "@showAdvantageGraph": {}, "advantageGraphHint": "Graf prednosti će se nacrtati samo nakon što UI napravi potez. Neće se nacrtati kada ljudski igrač napravi potez.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Onemogući uklanjanje dok sve figure nisu postavljene. Igrači uklanjaju figure na temelju broja mlinova.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Onemogući uklanjanje dok sve figure nisu postavljene. Igrači uklanjaju figure na temelju broja mlinova: ako je broj jednak, obojica uklanjaju isti broj figura; ako netko ima više, uklanja dodatnu figuru i održava razliku od jedne figure. Ako samo jedan formira mlin, uklanja dvije figure, a drugi jednu. Ako nijedan ne formira mlin, obojica uklanjaju po jednu figuru.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_hu.arb b/src/ui/flutter_app/lib/l10n/intl_hu.arb index 290a17780..9a2290f5a 100644 --- a/src/ui/flutter_app/lib/l10n/intl_hu.arb +++ b/src/ui/flutter_app/lib/l10n/intl_hu.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Mutassa az előny grafikonját", "@showAdvantageGraph": {}, "advantageGraphHint": "Az előnygráf csak akkor kerül megrajzolásra, miután a mesterséges intelligencia lépést tett. Nem kerül megrajzolásra, amikor az emberi játékos lép.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Tiltsd meg a bábuk eltávolítását, amíg minden bábu a táblára nem kerül, majd a malmok száma alapján távolíts el bábukat.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Tiltsd meg a bábuk eltávolítását, amíg minden bábu a táblára nem kerül, majd a malmok száma alapján távolíts el bábukat: ha megegyezik, mindkét fél ugyanannyi bábut távolít el; ha az egyiknek több van, akkor egy bábuval többet távolít el, hogy megmaradjon az egy bábu különbség. Ha csak az egyik alakít ki malmokat, akkor ő két bábut távolít el, a másik pedig egyet. Ha egyik sem alakít ki malmot, mindkét fél egy-egy bábut távolít el.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_hy.arb b/src/ui/flutter_app/lib/l10n/intl_hy.arb index 2de09c351..de0a64d35 100644 --- a/src/ui/flutter_app/lib/l10n/intl_hy.arb +++ b/src/ui/flutter_app/lib/l10n/intl_hy.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Ցուցադրել առավելության գրաֆիկը", "@showAdvantageGraph": {}, "advantageGraphHint": "Առավելության գրաֆը կնկարված լինի միայն այն բանից հետո, երբ ԱԲ-ն կատարի քայլը։ Այն չի նկարվի, երբ մարդու խաղացողը կատարի քայլը։", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Գործողության հեռացումը անջատեք մինչև բոլոր քարերը տեղադրվեն։ Խաղացողները հեռացնում են քարերը աղացների քանակի հիման վրա։", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Գործողության հեռացումը անջատեք մինչև բոլոր քարերը տեղադրվեն։ Խաղացողները հեռացնում են քարերը աղացների քանակի հիման վրա։ Եթե քանակը հավասար է, ապա երկուսն էլ հեռացնում են նույն քանակի քարեր։ Եթե մեկի մոտ քանակը ավելի է, նա հեռացնում է մեկ լրացուցիչ քար՝ պահելով մեկ քարի տարբերությունը։ Եթե միայն մեկը կազմավորում է աղաց, նա հեռացնում է երկու քար, իսկ մյուսը՝ մեկ քար։ Եթե ոչ մեկը աղաց չի կազմում, ապա երկուսն էլ հեռացնում են մեկական քար։", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ԷԼՖիլյա", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_id.arb b/src/ui/flutter_app/lib/l10n/intl_id.arb index 1a54fc521..3b5695c97 100644 --- a/src/ui/flutter_app/lib/l10n/intl_id.arb +++ b/src/ui/flutter_app/lib/l10n/intl_id.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Tampilkan grafik keunggulan", "@showAdvantageGraph": {}, "advantageGraphHint": "Grafik keunggulan hanya akan digambar setelah AI membuat langkah. Grafik tidak akan digambar ketika pemain manusia membuat langkah.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Nonaktifkan penghapusan hingga semua bidak ditempatkan. Pemain menghapus bidak berdasarkan jumlah Mul-mulan.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Nonaktifkan penghapusan hingga semua bidak ditempatkan. Pemain menghapus bidak berdasarkan jumlah Mul-mulan: jika sama, keduanya menghapus jumlah bidak yang sama; jika salah satu memiliki lebih, dia menghapus satu bidak tambahan, sehingga selisih tetap satu bidak. Jika hanya satu pemain yang membentuk Mul-mulan, dia menghapus dua bidak, sedangkan pemain lain menghapus satu. Jika tidak ada yang membentuk Mul-mulan, keduanya menghapus satu bidak.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_is.arb b/src/ui/flutter_app/lib/l10n/intl_is.arb index 1e8a9d041..01288355d 100644 --- a/src/ui/flutter_app/lib/l10n/intl_is.arb +++ b/src/ui/flutter_app/lib/l10n/intl_is.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Sýna forskotslínurit", "@showAdvantageGraph": {}, "advantageGraphHint": "Forðagröf mun aðeins vera teiknuð eftir að gervigreindin gerir leik. Hún verður ekki teiknuð þegar mannlegur spilari gerir leik.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Slökktu á fjarlægingu þar til öllum pönnum hefur verið komið fyrir. Spilarar fjarlægja peð út frá fjölda myllu sem myndast.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Slökktu á fjarlægingu þar til öllum pönnum hefur verið komið fyrir. Spilarar fjarlægja peð út frá fjölda myllu: ef fjöldinn er sá sami, fjarlægja báðir jafnmörg peð; ef annar hefur fleiri, fjarlægir hann eitt auka peð og viðheldur mismuni upp á eitt peð. Ef aðeins einn býr til myllu, fjarlægir hann tvö peð en hinn eitt. Ef hvorugur býr til myllu, fjarlægja báðir eitt peð.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_it.arb b/src/ui/flutter_app/lib/l10n/intl_it.arb index fa6282dd6..07b47c3b2 100644 --- a/src/ui/flutter_app/lib/l10n/intl_it.arb +++ b/src/ui/flutter_app/lib/l10n/intl_it.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Mostra grafico del vantaggio", "@showAdvantageGraph": {}, "advantageGraphHint": "Il grafico del vantaggio verrà disegnato solo dopo che l'IA effettua una mossa. Non verrà disegnato quando il giocatore umano effettua una mossa.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Disabilita la rimozione finché tutti i pezzi non sono posizionati. I giocatori rimuovono i pezzi in base al numero di mulini formati.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Disabilita la rimozione finché tutti i pezzi non sono posizionati. I giocatori rimuovono i pezzi in base al numero di mulini: se il numero è uguale, entrambi rimuovono lo stesso numero di pezzi; se uno ne ha di più, rimuove un pezzo in più, mantenendo la differenza di un solo pezzo. Se solo uno forma un mulino, rimuove due pezzi mentre l'altro ne rimuove uno. Se nessuno forma un mulino, entrambi rimuovono un pezzo.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_ja.arb b/src/ui/flutter_app/lib/l10n/intl_ja.arb index 89d8f5908..fd791896f 100644 --- a/src/ui/flutter_app/lib/l10n/intl_ja.arb +++ b/src/ui/flutter_app/lib/l10n/intl_ja.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "有利グラフを表示", "@showAdvantageGraph": {}, "advantageGraphHint": "有利度グラフはAIが手を打った後にのみ描画されます。人間のプレイヤーが手を打つときには描画されません。", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "すべての駒が配置されるまで駒の除去を無効にします。プレイヤーはミルの数に基づいて駒を取り除きます。", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "すべての駒が配置されるまで駒の除去を無効にします。プレイヤーはミルの数に基づいて駒を取り除きます。同数であれば、両者は同じ数の駒を取り除きます。一方が多い場合は、一つ余分に取り除き、駒の差を一つに保ちます。一方のみがミルを形成した場合、そのプレイヤーは二つの駒を取り除き、もう一方は一つの駒を取り除きます。どちらもミルを形成しない場合は、両者とも一つずつ取り除きます。", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "エルフィルジャ", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_kn.arb b/src/ui/flutter_app/lib/l10n/intl_kn.arb index 6a93615cd..0c21e779f 100644 --- a/src/ui/flutter_app/lib/l10n/intl_kn.arb +++ b/src/ui/flutter_app/lib/l10n/intl_kn.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "ಅಧಿಕ್ಯ ಗ್ರಾಫ್ ತೋರಿಸಿ", "@showAdvantageGraph": {}, "advantageGraphHint": "AI ಚಲನೆಯನ್ನು ಮಾಡಿದ ನಂತರ ಮಾತ್ರ ಪ್ರಯೋಜನ ಗ್ರಾಫ್ ರಚಿಸಲಾಗುತ್ತದೆ. ಮಾನವ ಆಟಗಾರ ಚಲನೆಯನ್ನು ಮಾಡಿದಾಗ ಇದು ರಚಿಸಲಾಗದು.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "ಎಲ್ಲ ಟೋಕೆನ್‍ಗಳು ಹೊರಪಡಿಸಿಕೊಳ್ಳುವವರೆಗೂ ತೆಗೆದುಹಾಕುವ ಕ್ರಿಯೆಯನ್ನು ನಿಲ್ಲಿಸಿ. ಪ್ಲೇಯರ್‍ಗಳು ಮಿಲ್ ಎಣಿಕೆಯ ಆಧാരದಲ್ಲಿ ಟೋಕೆನ್‍ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತಾರೆ.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "ಎಲ್ಲ ಟೋಕೆನ್‍ಗಳು ಹೊರಪಡಿಸಿಕೊಳ್ಳುವವರೆಗೂ ತೆಗೆದುಹಾಕುವ ಕ್ರಿಯೆಯನ್ನು ನಿಲ್ಲಿಸಿ. ಪ್ಲೇಯರ್‍ಗಳು ಮಿಲ್ ಎಣಿಕೆಯ ಆಧಾರದಿಂದ ಟೋಕೆನ್‍ಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತಾರೆ: ಎಣಿಕೆ ಸಮನಾಗಿದ್ದರೆ, ಇಬ್ಬರೂ ಸಮಾನ ಸಂಖ್ಯೆಯ ಟೋಕೆನ್‍ಗಳನ್ನು ತೆಗೆಯುತ್ತಾರೆ; ಒಬ್ಬರ ಬಳಿ ಹೆಚ್ಚು ಇದ್ದರೆ, ಅವನು ಒಂದು ಹೆಚ್ಚುವರಿ ಟೋಕೆನ್ ತೆಗೆಯುತ್ತಾನೆ ಹಾಗೂ ಒಂದು ಟೋಕೆನ್ ಅಂತರವನ್ನು ಉಳಿಸುತ್ತದೆ. ಒಬ್ಬವನು ಮಾತ್ರ ಮಿಲ್ ನಿರ್ಮಿಸಿದರೆ, ಅವನು ಎರಡು ಟೋಕೆನ್‍ಗಳನ್ನು ತೆಗೆಯುತ್ತಾನೆ, ಇನ್ನೊಬ್ಬನು ಒಂದು ಟೋಕೆನ್ ತೆಗೆಯುತ್ತಾನೆ. ಯಾರೂ ಮಿಲ್ ನಿರ್ಮಿಸದರೆ, ಇಬ್ಬರೂ ಒಂದು ಟೋಕೆನ್ ತೆಗೆಯುತ್ತಾರೆ.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ಎಲ್ಫಿಲ್ಜಾ", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_ko.arb b/src/ui/flutter_app/lib/l10n/intl_ko.arb index 39b2448f2..27fc78f34 100644 --- a/src/ui/flutter_app/lib/l10n/intl_ko.arb +++ b/src/ui/flutter_app/lib/l10n/intl_ko.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "이점 그래프 표시", "@showAdvantageGraph": {}, "advantageGraphHint": "장점 그래프는 AI가 수를 둔 후에만 그려집니다. 인간 플레이어가 수를 둘 때는 그려지지 않습니다.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "모든 말을 배치할 때까지 제거를 비활성화하십시오. 플레이어는 참고누 개수에 따라 말을 제거합니다.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "모든 말을 배치할 때까지 제거를 비활성화하십시오. 플레이어는 참고누 개수에 따라 말을 제거합니다. 개수가 같다면, 두 플레이어 모두 동일한 수의 말을 제거합니다. 한 쪽이 더 많다면, 한 말을 추가로 제거하여 말의 차이를 하나로 유지합니다. 한 플레이어만 참고누를 만들었다면, 그 플레이어는 두 말을 제거하고 다른 쪽은 한 말을 제거합니다. 둘 다 참고누를 만들지 못했다면, 둘 다 한 말을 제거합니다.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "엘필자", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_lt.arb b/src/ui/flutter_app/lib/l10n/intl_lt.arb index 2b0be5598..a5a7676f0 100644 --- a/src/ui/flutter_app/lib/l10n/intl_lt.arb +++ b/src/ui/flutter_app/lib/l10n/intl_lt.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Rodyti pranašumo grafiką", "@showAdvantageGraph": {}, "advantageGraphHint": "Pranašumo grafikas bus nubraižytas tik po to, kai DI atliks ėjimą. Jis nebus nubraižytas, kai ėjimą atliks žmogus.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Išjunkite šalinimą, kol visi žetonai bus padėti. Žaidėjai šalina žetonus pagal suformuotų malūnų skaičių.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Išjunkite šalinimą, kol visi žetonai bus padėti. Žaidėjai šalina žetonus pagal suformuotų malūnų skaičių: jei skaičius vienodas, abu pašalina tiek pat žetonų; jei vienas turi daugiau, pašalina vienu daugiau, išlaikydamas vieno žetono skirtumą. Jei tik vienas žaidėjas suformuoja malūną, jis pašalina du žetonus, o kitas – vieną. Jei nei vienas nesuformuoja malūno, abu pašalina po vieną žetoną.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_lv.arb b/src/ui/flutter_app/lib/l10n/intl_lv.arb index 0df7b3da3..f64246b35 100644 --- a/src/ui/flutter_app/lib/l10n/intl_lv.arb +++ b/src/ui/flutter_app/lib/l10n/intl_lv.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Parādīt priekšrocību grafiku", "@showAdvantageGraph": {}, "advantageGraphHint": "Priekšrocību grafiks tiks uzzīmēts tikai pēc tam, kad MI veiks gājienu. Tas netiks uzzīmēts, kad gājienu veiks cilvēka spēlētājs.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Atspējot noņemšanu, līdz visas figūras ir novietotas. Spēlētāji noņem figūras, pamatojoties uz to dzirnavu skaitu.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Atspējot noņemšanu, līdz visas figūras ir novietotas. Spēlētāji noņem figūras, pamatojoties uz dzirnavu skaitu: ja skaits ir vienāds, abi noņem vienādu skaitu figūru; ja vienam ir vairāk, tas noņem vienu papildu figūru, saglabājot starpību vienas figūras apjomā. Ja tikai viens spēlētājs izveido dzirnavas, viņš noņem divas figūras, bet otrs noņem vienu. Ja neviens neizveido dzirnavas, abi noņem pa vienai figūrai.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_mk.arb b/src/ui/flutter_app/lib/l10n/intl_mk.arb index e1b9fdaa6..a74643d0a 100644 --- a/src/ui/flutter_app/lib/l10n/intl_mk.arb +++ b/src/ui/flutter_app/lib/l10n/intl_mk.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Прикажи график на предност", "@showAdvantageGraph": {}, "advantageGraphHint": "Графикот за предност ќе биде нацртан само откако ВИ ќе направи потег. Тој нема да биде нацртан кога човечкиот играч прави потег.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Оневозможете отстранување додека не се постават сите фигури. Играчите отстрануваат фигури врз основа на бројот на мелници.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Оневозможете отстранување додека не се постават сите фигури. Играчите отстрануваат фигури врз основа на бројот на мелници: ако бројот е еднаков, и двајцата отстрануваат еднаков број фигури; ако еден има повеќе, отстранува дополнителна фигура, одржувајќи разлика од една фигура. Ако само еден оформува мелница, тој отстранува две фигури, а другиот една. Ако никој не оформи мелница, и двајцата отстрануваат по една фигура.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ЕЛФилја", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_ms.arb b/src/ui/flutter_app/lib/l10n/intl_ms.arb index 7d28f21a4..c844f002b 100644 --- a/src/ui/flutter_app/lib/l10n/intl_ms.arb +++ b/src/ui/flutter_app/lib/l10n/intl_ms.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Tunjukkan graf kelebihan", "@showAdvantageGraph": {}, "advantageGraphHint": "Graf kelebihan hanya akan dilukis selepas AI membuat gerakan. Ia tidak akan dilukis apabila pemain manusia membuat gerakan.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Lumpuhkan penyingkiran sehingga semua kepingan diletakkan. Pemain menyingkirkan kepingan berdasarkan bilangan kilang yang terbentuk.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Lumpuhkan penyingkiran sehingga semua kepingan diletakkan. Pemain menyingkirkan kepingan berdasarkan bilangan kilang: jika sama, kedua-duanya menyingkirkan jumlah kepingan yang sama; jika seorang mempunyai lebih, dia menyingkirkan satu keping tambahan, mengekalkan perbezaan satu keping. Jika hanya seorang berjaya membentuk kilang, dia menyingkirkan dua kepingan manakala yang lain menyingkirkan satu. Jika tiada sesiapa membentuk kilang, kedua-duanya menyingkirkan satu keping.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_my.arb b/src/ui/flutter_app/lib/l10n/intl_my.arb index a80e51456..0a4405f5b 100644 --- a/src/ui/flutter_app/lib/l10n/intl_my.arb +++ b/src/ui/flutter_app/lib/l10n/intl_my.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "အားသာချက်ဂრაფပြပါ", "@showAdvantageGraph": {}, "advantageGraphHint": "အကြွင်းမဲ့ကောင်းမွန်မှုဇယားသည် AI မှ ခလုတ်ပြုလုပ်ပြီးနောက်တွင်သာ ဆွဲရန်ရှိသည်။ လူကစားသမားမှ ခလုတ်ပြုလုပ်သည့်အခါတွင် ဆွဲမည်မဟုတ်ပါ။", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "တစ်ခုချင်းစီကို တစ်လှည့်ချင်း ထည့်ပြီးဆုံးသည်တိုင် နှုတ်ယူခြင်းကို ပိတ်ထားပါ။ လူသည် မယ်လ့်အရေအတွက်အလိုက် ယူထုတ်ကြသည်။", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "တစ်ခုချင်းစီကို တစ်လှည့်ချင်း ထည့်ပြီးဆုံးသည်တိုင် နှုတ်ယူခြင်းကို ပိတ်ထားပါ။ လူသည် မယ်လ့်အရေအတွက်အလိုက် ယူထုတ်ကြသည်- အရေအတွက်တူသည်ဆိုလျှင် နှစ်ယောက်စလုံး တူညီသည့်အရေအတွက်ယူထုတ်မည်။ တစ်ယောက်မှာပိုရှိလျှင် တစ်လုံး ပိုယူထုတ်ပြီး တစ်လုံးခြားနေသည့် အခြေအနေကို ထားရှိမည်။ တစ်ယောက်ဘဲ မယ်လ့်ဖွဲ့ရာမယ်လ့်ဖြစ်သွားလျှင် ငါးလုံးနှစ်လုံးယူထုတ်ပြီး တစ်ယောက်ကတော့ တစ်လုံးသာယူထုတ်မည်။ တစ်ယောက်အနေနဲ့ မယ်လ့်မဖြစ်လျှင် နှစ်ယောက်စလုံးမှ တစ်လုံးစီယူထုတ်မည်။", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "အယ်လ်ဖီလျ", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_nb.arb b/src/ui/flutter_app/lib/l10n/intl_nb.arb index 76b711b8e..6023f72d6 100644 --- a/src/ui/flutter_app/lib/l10n/intl_nb.arb +++ b/src/ui/flutter_app/lib/l10n/intl_nb.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Vis fordelsgraf", "@showAdvantageGraph": {}, "advantageGraphHint": "Fordelsgrafen tegnes bare etter at KI-en har gjort et trekk. Den vil ikke tegnes når den menneskelige spilleren gjør et trekk.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Deaktiver fjerning til alle brikker er plassert. Spillerne fjerner brikker basert på antall møller de lager.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Deaktiver fjerning til alle brikker er plassert. Spillerne fjerner brikker basert på antall møller: hvis det er likt, fjerner begge samme antall brikker; hvis en har flere, fjerner vedkommende én ekstra brikke og opprettholder én brikkes forskjell. Hvis bare én danner en mølle, fjerner denne spilleren to brikker, mens den andre fjerner én. Hvis ingen danner en mølle, fjerner begge én brikke.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_nl.arb b/src/ui/flutter_app/lib/l10n/intl_nl.arb index 588b01c9b..7147300d9 100644 --- a/src/ui/flutter_app/lib/l10n/intl_nl.arb +++ b/src/ui/flutter_app/lib/l10n/intl_nl.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Voordeelgrafiek weergeven", "@showAdvantageGraph": {}, "advantageGraphHint": "De voordeelgrafiek wordt alleen getekend nadat de AI een zet heeft gedaan. Hij wordt niet getekend wanneer de menselijke speler een zet doet.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Schakel het verwijderen uit totdat alle stukken zijn geplaatst. Spelers verwijderen stukken op basis van het aantal molens.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Schakel het verwijderen uit totdat alle stukken zijn geplaatst. Spelers verwijderen stukken op basis van het aantal molens: als het gelijk is, verwijderen beide spelers hetzelfde aantal stukken; als de één er meer heeft, verwijdert hij een extra stuk, waarmee het verschil op één stuk blijft. Als slechts één speler een molen vormt, verwijdert hij twee stukken, terwijl de andere speler er één verwijdert. Als geen van beide een molen vormt, verwijderen beide spelers één stuk.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_pl.arb b/src/ui/flutter_app/lib/l10n/intl_pl.arb index 123dff0b0..b6dc08c07 100644 --- a/src/ui/flutter_app/lib/l10n/intl_pl.arb +++ b/src/ui/flutter_app/lib/l10n/intl_pl.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Pokaż wykres przewagi", "@showAdvantageGraph": {}, "advantageGraphHint": "Wykres przewagi zostanie narysowany tylko po wykonaniu ruchu przez SI. Nie zostanie narysowany, gdy ruch wykona gracz ludzki.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Wyłącz usuwanie do czasu umieszczenia wszystkich pionków. Gracze usuwają pionki na podstawie liczby młynków.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Wyłącz usuwanie do czasu umieszczenia wszystkich pionków. Gracze usuwają pionki na podstawie liczby młynków: jeśli liczba jest równa, obaj gracze usuwają tę samą liczbę pionków; jeśli jeden ma więcej, usuwa dodatkowego pionka, zachowując różnicę jednego pionka. Jeśli tylko jeden utworzy młyn, usuwa dwa pionki, a drugi usuwa jeden. Jeśli żaden nie utworzy młyna, obaj usuwają po jednym pionku.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_pt.arb b/src/ui/flutter_app/lib/l10n/intl_pt.arb index d64dc5b63..164a5bb95 100644 --- a/src/ui/flutter_app/lib/l10n/intl_pt.arb +++ b/src/ui/flutter_app/lib/l10n/intl_pt.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Mostrar gráfico de vantagem", "@showAdvantageGraph": {}, "advantageGraphHint": "O gráfico de vantagem só será desenhado depois que a IA fizer uma jogada. Não será desenhado quando o jogador humano fizer uma jogada.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Desative a remoção até que todas as peças sejam colocadas. Os jogadores removem peças com base no número de moinhos que formam.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Desative a remoção até que todas as peças sejam colocadas. Os jogadores removem peças com base no número de moinhos: se for igual, ambos removem a mesma quantidade; se um tiver mais, remove uma peça adicional, mantendo a diferença de apenas uma peça. Se apenas um formar um moinho, ele remove duas peças e o outro remove uma. Se nenhum dos dois formar um moinho, ambos removem uma peça.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_ro.arb b/src/ui/flutter_app/lib/l10n/intl_ro.arb index 19d036cde..8de50425f 100644 --- a/src/ui/flutter_app/lib/l10n/intl_ro.arb +++ b/src/ui/flutter_app/lib/l10n/intl_ro.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Afișează graficul avantajului", "@showAdvantageGraph": {}, "advantageGraphHint": "Graficul de avantaj va fi desenat doar după ce IA face o mutare. Nu va fi desenat când jucătorul uman face o mutare.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Dezactivați îndepărtarea până când toate piesele sunt plasate. Jucătorii îndepărtează piesele pe baza numărului de mori formate.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Dezactivați îndepărtarea până când toate piesele sunt plasate. Jucătorii îndepărtează piesele pe baza numărului de mori: dacă este egal, ambii îndepărtează același număr de piese; dacă unul are mai multe, îndepărtează o piesă în plus, menținând o diferență de o piesă. Dacă doar unul formează o moară, acesta îndepărtează două piese, iar celălalt îndepărtează una. Dacă niciunul nu formează o moară, ambii îndepărtează câte o piesă.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_ru.arb b/src/ui/flutter_app/lib/l10n/intl_ru.arb index db78e0591..79603bcb5 100644 --- a/src/ui/flutter_app/lib/l10n/intl_ru.arb +++ b/src/ui/flutter_app/lib/l10n/intl_ru.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Показать график преимущества", "@showAdvantageGraph": {}, "advantageGraphHint": "График преимущества будет нарисован только после того, как ИИ сделает ход. Он не будет нарисован, когда ход сделает человек-игрок.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Отключите удаление, пока все фишки не будут размещены, затем удаляйте фишки в соответствии с количеством построенных мельниц.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Отключите удаление, пока все фишки не будут размещены, затем удаляйте фишки в соответствии с количеством построенных мельниц: если количество совпадает, оба игрока удаляют одинаковое число фишек; если у одного больше, он удаляет на одну фишку больше, сохраняя разницу в одну. Если мельницы образует только один, он убирает две фишки, а другой одну. Если никто не образует мельниц, оба убирают по одной фишке.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "Эльфилья", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_si.arb b/src/ui/flutter_app/lib/l10n/intl_si.arb index 0b276268f..d6525ff13 100644 --- a/src/ui/flutter_app/lib/l10n/intl_si.arb +++ b/src/ui/flutter_app/lib/l10n/intl_si.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "වාසිය ග්‍රැෆය පෙන්වන්න", "@showAdvantageGraph": {}, "advantageGraphHint": "වගා අතිරේක රූප සනය AI ක්‍රියාත්මක වූ පසුව පමණක් අඳිනු ලැබේ. මිනිස් ක්‍රීඩකයා ක්‍රියාත්මක වන විට එය අඳිනු නොලැබේ.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "සියල්ල පත් කර අවසන් වන තෙක් ඉවත් කිරීම අක්‍රිය කරන්න. ක්‍රිඩාකාරীরা නෙරෙන්චි ගණන මත පදනම්ව ගැටලු ඉවත් කරති.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "සියලුම ගැටලු පත් කර අවසන්වන තෙක් ඉවත් කිරීම අක්‍රිය කරන්න. ක්‍රිඩාකාරীরা නෙරෙන්චි ගණන අනුව ගැටලු ඉවත් කරති: එය සමානයේ නම්, දෙදෙනාම එකම ප්‍රමාණයේ ගැටලු ඉවත් කරති; එක් අයකුට වැඩි නම්, ඔහු එක ගැටලුව වැඩිව ඉවත් කරන්නේ එක් ගැටලු වෙනස තබා ගන්නා අයුරුය. එක් අයෙකු විතරයි නෙරෙන්චි නිර්මාණය කළහොත්, ඔහු ගැටලු දෙකක් ඉවත් කරයි, අනෙක් අයෙකු එකක් ඉවත් කරයි. දෙදෙනාම නෙරෙන්චි නොනිර්මාණයすれば (නොකරනවා නම්), දෙදෙනාම එකක් බැගින් ඉවත් කරති.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "එල්ෆිල්ජා", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_sk.arb b/src/ui/flutter_app/lib/l10n/intl_sk.arb index 1de17037c..b4b1aebe6 100644 --- a/src/ui/flutter_app/lib/l10n/intl_sk.arb +++ b/src/ui/flutter_app/lib/l10n/intl_sk.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Zobraziť graf výhody", "@showAdvantageGraph": {}, "advantageGraphHint": "Graf výhody sa nakreslí až po tom, ako urobí ťah AI. Nebude sa kresliť, keď ťah urobí ľudský hráč.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Zakážte odstránenie, kým nebudú všetky kamene umiestnené. Hráči odstraňujú kamene na základe počtu mlynov.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Zakážte odstránenie, kým nebudú všetky kamene umiestnené. Hráči odstraňujú kamene na základe počtu mlynov: ak je počet rovnaký, obaja odstránia rovnaký počet kameňov; ak jeden má viac, odstráni o jeden kameň viac, čím udržiava rozdiel jedného kameňa. Ak mlyn vytvorí len jeden hráč, odstráni dva kamene a druhý jeden. Ak mlyn nevytvorí ani jeden, obaja odstránia po jednom kameni.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_sl.arb b/src/ui/flutter_app/lib/l10n/intl_sl.arb index 5e986159a..44f638aac 100644 --- a/src/ui/flutter_app/lib/l10n/intl_sl.arb +++ b/src/ui/flutter_app/lib/l10n/intl_sl.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Prikaži graf prednosti", "@showAdvantageGraph": {}, "advantageGraphHint": "Graf prednosti bo narisan le po tem, ko bo AI naredil potezo. Ne bo narisan, ko potezo naredi človeški igralec.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Onemogočite odstranjevanje, dokler niso vse figure postavljene. Igralci odstranjujejo figure glede na število mlinov.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Onemogočite odstranjevanje, dokler niso vse figure postavljene. Igralci odstranjujejo figure glede na število mlinov: če je število enako, oba odstranita enako število figur; če ima eden več, odstrani eno figuro več in ohrani razliko ene figure. Če mlin ustvari samo eden, ta odstrani dve figuri, drugi pa eno. Če nihče ne ustvari mlina, oba odstranita po eno figuro.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_sq.arb b/src/ui/flutter_app/lib/l10n/intl_sq.arb index dd2f50acf..507bdfee6 100644 --- a/src/ui/flutter_app/lib/l10n/intl_sq.arb +++ b/src/ui/flutter_app/lib/l10n/intl_sq.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Trego grafikun e avantazhit", "@showAdvantageGraph": {}, "advantageGraphHint": "Grafiku i avantazhit do të vizatohet vetëm pasi IA të bëjë një lëvizje. Nuk do të vizatohet kur lojtari njerëzor bën një lëvizje.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Çaktivizoni heqjen derisa të vendosen të gjitha figurat. Lojtarët heqin figura bazuar në numrin e mullinjve të krijuar.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Çaktivizoni heqjen derisa të vendosen të gjitha figurat. Lojtarët heqin figura bazuar në numrin e mullinjve: nëse është e barabartë, të dy heqin të njëjtin numër figurash; nëse njëri ka më shumë, ai heq një figurë shtesë, duke ruajtur një diferencë prej një figure. Nëse vetëm një formon mulli, ai heq dy figura, ndërsa tjetri heq një. Nëse asnjë nuk formon mulli, të dy heqin nga një figurë.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_sr.arb b/src/ui/flutter_app/lib/l10n/intl_sr.arb index e7491b659..5578c1997 100644 --- a/src/ui/flutter_app/lib/l10n/intl_sr.arb +++ b/src/ui/flutter_app/lib/l10n/intl_sr.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Prikaži grafikon prednosti", "@showAdvantageGraph": {}, "advantageGraphHint": "Grafikon prednosti će biti nacrtan samo nakon što veštačka inteligencija povuče potez. Neće biti nacrtan kada ljudski igrač povuče potez.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Onemogućite uklanjanje dok sve figure ne budu postavljene. Igrači uklanjaju figure na osnovu broja mlinova.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Onemogućite uklanjanje dok sve figure ne budu postavljene. Igrači uklanjaju figure na osnovu broja mlinova: ako je broj jednak, oba uklanjaju isti broj figura; ako jedan ima više, uklanja dodatnu figuru da zadrži razliku od jedne figure. Ako samo jedan formira mlin, uklanja dve figure, a drugi jednu. Ako nijedan ne formira mlin, oba uklanjaju po jednu figuru.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ЕЛФилја", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_sv.arb b/src/ui/flutter_app/lib/l10n/intl_sv.arb index d4d1d28b5..0515e4b8e 100644 --- a/src/ui/flutter_app/lib/l10n/intl_sv.arb +++ b/src/ui/flutter_app/lib/l10n/intl_sv.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Visa fördelsgraf", "@showAdvantageGraph": {}, "advantageGraphHint": "Fördelsgrafen ritas endast efter att AI:n har gjort ett drag. Den ritas inte när den mänskliga spelaren gör ett drag.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Inaktivera borttagning tills alla pjäser är placerade. Spelarna tar bort pjäser baserat på antalet möllor de har.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Inaktivera borttagning tills alla pjäser är placerade. Spelarna tar bort pjäser baserat på antalet möllor: om antalet är lika tar båda bort samma antal pjäser; om den ena har fler tar denne bort en extra pjäs, och behåller en pjäs skillnad. Om bara en spelare bildar en mölla tar den bort två pjäser, medan den andra tar bort en. Om ingen bildar en mölla tar båda bort en pjäs.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_sw.arb b/src/ui/flutter_app/lib/l10n/intl_sw.arb index ea9b9f75d..0a108cd00 100644 --- a/src/ui/flutter_app/lib/l10n/intl_sw.arb +++ b/src/ui/flutter_app/lib/l10n/intl_sw.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Onyesha grafu ya faida", "@showAdvantageGraph": {}, "advantageGraphHint": "Grafu ya faida itachorwa tu baada ya AI kufanya hatua. Haitachorwa wakati mchezaji mwanadamu anafanya hatua.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Zima uondoaji hadi vipande vyote viwekwe. Wachezaji huondoa vipande kulingana na idadi ya vinu walivyounda.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Zima uondoaji hadi vipande vyote viwekwe. Wachezaji huondoa vipande kulingana na idadi ya vinu: ikiwa ni sawa, wote huondoa idadi sawa ya vipande; ikiwa mmoja ana zaidi, anaondoa kipande kimoja cha ziada, akidumisha tofauti ya kipande kimoja. Ikiwa ni mchezaji mmoja tu anayebuni kinu, anaondoa vipande viwili huku mwingine akiondoa kimoja. Ikiwa hakuna anayebuni kinu, wote huondoa kipande kimoja.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_te.arb b/src/ui/flutter_app/lib/l10n/intl_te.arb index 0e8caad18..459f29a68 100644 --- a/src/ui/flutter_app/lib/l10n/intl_te.arb +++ b/src/ui/flutter_app/lib/l10n/intl_te.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "ఆధిక్యత గ్రాఫ్‌ను చూపించు", "@showAdvantageGraph": {}, "advantageGraphHint": "AI పోన్ చేసిన తర్వాత మాత్రమే ప్రయోజన గ్రాఫ్ వేయబడుతుంది. మానవ ఆటగాడు పోన్ చేసినప్పుడు ఇది వేయబడదు.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "అన్నీ ఏర్పాటు అయ్యే వరకు తీసివేతను నిలిపివుంచండి. ఆటగాళ్లు మిల్ ల సంఖ్య ఆధారంగా ముక్కలను తీసివేస్తారు.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "అన్నీ ఏర్పాటు అయ్యే వరకు తీసివేతను నిలిపివుంచండి. ఆటగాళ్లు మిల్ ల సంఖ్య ఆధారంగా ముక్కలను తీసివేస్తారు: సమానంగా ఉంటే, ఇద్దరూ ఒకే సంఖ్యలో ముక్కలను తీసివేస్తారు; ఒకరి దగ్గర ఎక్కువ ఉంటే, అతను ఒక అదనపు ముక్కను తీసివేసి ఒక్క ముక్క తేడాను కొనసాగిస్తాడు. ఒక ఆటగాడు మాత్రమే మిల్ ను రూపొందిస్తే, అతను రెండు ముక్కలను తీసివేస్తాడు, మరోవాడు ఒక ముక్కను తీసివేస్తాడు. ఇద్దరూ మిల్ ను రూపొందించలేకపోతే, ఇద్దరూ ఒక్క ముక్కను తీసివేస్తారు.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ఎల్ఫిల్జా", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_th.arb b/src/ui/flutter_app/lib/l10n/intl_th.arb index 1ee8e431d..266a03061 100644 --- a/src/ui/flutter_app/lib/l10n/intl_th.arb +++ b/src/ui/flutter_app/lib/l10n/intl_th.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "แสดงกราฟความได้เปรียบ", "@showAdvantageGraph": {}, "advantageGraphHint": "กราฟแสดงความได้เปรียบจะถูกวาดเฉพาะหลังจากที่ AI เดินหมากเท่านั้น จะไม่ถูกวาดเมื่อผู้เล่นมนุษย์เดินหมาก", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "ปิดใช้งานการนำออกจนกว่าจะวางหมากทั้งหมด ผู้เล่นจะนำหมากออกตามจำนวนมิลล์ที่สร้างได้", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "ปิดใช้งานการนำออกจนกว่าจะวางหมากทั้งหมด ผู้เล่นจะนำหมากออกตามจำนวนมิลล์: ถ้าจำนวนเท่ากัน ผู้เล่นทั้งสองฝ่ายจะนำหมากออกในจำนวนเท่ากัน หากฝ่ายใดมีมากกว่า จะนำหมากออกเพิ่มอีกหนึ่งตัวเพื่อคงความต่างไว้ที่หนึ่งตัว หากมีเพียงฝ่ายเดียวที่สร้างมิลล์ เขาจะนำหมากออกสองตัว ส่วนอีกฝ่ายนำออกหนึ่งตัว หากไม่มีใครสร้างมิลล์ ผู้เล่นทั้งสองจะนำออกคนละหนึ่งตัว", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "เอลฟิลจา", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_tr.arb b/src/ui/flutter_app/lib/l10n/intl_tr.arb index 7552cf058..431e25cc4 100644 --- a/src/ui/flutter_app/lib/l10n/intl_tr.arb +++ b/src/ui/flutter_app/lib/l10n/intl_tr.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Avantaj grafiğini göster", "@showAdvantageGraph": {}, "advantageGraphHint": "Avantaj grafiği yalnızca Yapay Zeka bir hamle yaptıktan sonra çizilecektir. İnsan oyuncu hamle yaptığında çizilmeyecektir.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Tüm taşlar yerleştirilene kadar taşları kaldırma işlemini devre dışı bırak, ardından değirmen sayısına göre taşları kaldır.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Tüm taşlar yerleştirilene kadar taşları kaldırma işlemini devre dışı bırak, ardından değirmen sayısına göre taşları kaldır: eşitse her iki taraf da aynı sayıda taş kaldırır; bir tarafın sayısı fazlaysa, aradaki farkın bir taş olarak kalması için bir taş fazladan kaldırır. Yalnız bir taraf değirmen oluşturduysa, o taraf iki taş kaldırır, diğeri bir taş kaldırır. Hiç değirmen oluşmazsa, her iki taraf da birer taş kaldırır.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_uk.arb b/src/ui/flutter_app/lib/l10n/intl_uk.arb index 7c16f23a4..0a77bae40 100644 --- a/src/ui/flutter_app/lib/l10n/intl_uk.arb +++ b/src/ui/flutter_app/lib/l10n/intl_uk.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Показати графік переваг", "@showAdvantageGraph": {}, "advantageGraphHint": "Графік переваг буде намальовано лише після того, як ШІ зробить хід. Він не буде намальований, коли хід робить людський гравець.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Вимкніть видалення, доки всі фішки не буде розміщено. Гравці видаляють фішки, ґрунтуючись на кількості млинів.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Вимкніть видалення, доки всі фішки не буде розміщено. Гравці видаляють фішки, ґрунтуючись на кількості млинів: якщо кількість однакова, обидва гравці видаляють однакову кількість фішок; якщо в одного більше, він видаляє додаткову фішку, зберігаючи різницю в одну фішку. Якщо лише один гравець утворює млин, він видаляє дві фішки, а інший — одну. Якщо ніхто не утворює млин, обидва видаляють по одній фішці.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "Ельфілья", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_ur.arb b/src/ui/flutter_app/lib/l10n/intl_ur.arb index e24ef9842..135226dd8 100644 --- a/src/ui/flutter_app/lib/l10n/intl_ur.arb +++ b/src/ui/flutter_app/lib/l10n/intl_ur.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "فائدے کا گراف دکھائیں", "@showAdvantageGraph": {}, "advantageGraphHint": "ایڈوانٹیج گراف صرف اس وقت بنایا جائے گا جب اے آئی حرکت کرے گی۔ جب انسانی کھلاڑی حرکت کرے گا تو یہ نہیں بنایا جائے گا۔", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "اس وقت تک ہٹانے کو غیر فعال کریں جب تک کہ تمام مہروں کو رکھ نہ دیا جائے۔ کھلاڑی اپنی ملوں کی تعداد کی بنیاد پر مہروں کو ہٹاتے ہیں۔", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "اس وقت تک ہٹانے کو غیر فعال رکھیں جب تک کہ تمام مہروں کو رکھ نہ دیا جائے۔ کھلاڑی اپنی ملوں کی تعداد کی بنیاد پر مہروں کو ہٹاتے ہیں: اگر تعداد برابر ہو تو دونوں کھلاڑی ایک ہی تعداد میں مہرے ہٹاتے ہیں؛ اگر ایک کے پاس زیادہ ہوں تو وہ ایک اضافی مہرہ ہٹاتے ہوئے فرق کو ایک مہرے تک محدود رکھتا ہے۔ اگر صرف ایک کھلاڑی مل تشکیل دیتا ہے تو وہ دو مہرے ہٹا دے گا جبکہ دوسرا ایک مہرہ ہٹائے گا۔ اگر کوئی بھی مل تشکیل نہ دے سکے تو دونوں ایک ایک مہرہ ہٹا دیتے ہیں۔", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ایلفلجا", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_uz.arb b/src/ui/flutter_app/lib/l10n/intl_uz.arb index 5c35b7235..aeaa7857e 100644 --- a/src/ui/flutter_app/lib/l10n/intl_uz.arb +++ b/src/ui/flutter_app/lib/l10n/intl_uz.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "Afzallik grafikini ko‘rsatish", "@showAdvantageGraph": {}, "advantageGraphHint": "Afzallik grafigi faqat sun’iy intellekt yurish qilgandan keyin chiziladi. Inson o‘yinchisi yurish qilganda chizilmaydi.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Barcha toshlar joylashtirilgunga qadar olib tashlashni oʻchirib qoʻying. Oʻyinchilar tegirmonlar soniga qarab toshlarni olib tashlaydilar.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Barcha toshlar joylashtirilgunga qadar olib tashlashni oʻchirib qoʻying. Oʻyinchilar tegirmonlar soniga qarab toshlarni olib tashlaydilar: agar teng bo‘lsa, har ikkisi ham bir xil miqdorda tosh olib tashlaydi; agar bittada ko‘proq bo‘lsa, u bitta qo‘shimcha tosh olib tashlab, bitta tosh farqini saqlab turadi. Agar faqat bitta oʻyinchi tegirmon tuzsa, u ikki toshni olib tashlaydi, ikkinchisi esa bitta toshni olib tashlaydi. Agar hech kim tegirmon tuzmasa, har ikkisi bitta toshdan olib tashlaydi.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_vi.arb b/src/ui/flutter_app/lib/l10n/intl_vi.arb index 9a0e2fc00..ed64f328e 100644 --- a/src/ui/flutter_app/lib/l10n/intl_vi.arb +++ b/src/ui/flutter_app/lib/l10n/intl_vi.arb @@ -1619,5 +1619,11 @@ "showAdvantageGraph": "Hiển thị biểu đồ lợi thế", "@showAdvantageGraph": {}, "advantageGraphHint": "Biểu đồ lợi thế sẽ chỉ được vẽ sau khi AI thực hiện một nước đi. Nó sẽ không được vẽ khi người chơi là con người thực hiện nước đi.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Vô hiệu hóa việc loại bỏ cho đến khi tất cả các quân cờ được đặt xuống. Người chơi loại bỏ quân cờ dựa trên số lượng cối xay họ hình thành.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Vô hiệu hóa việc loại bỏ cho đến khi tất cả các quân cờ được đặt xuống. Người chơi loại bỏ quân cờ dựa trên số lượng cối xay: nếu bằng nhau, cả hai đều loại bỏ cùng một số lượng quân; nếu một người có nhiều hơn, người đó loại bỏ thêm một quân, giữ chênh lệch ở mức một quân. Nếu chỉ một người tạo được cối xay, người đó loại bỏ hai quân và người còn lại loại bỏ một. Nếu không ai tạo được cối xay, cả hai đều loại bỏ một quân.", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_zh.arb b/src/ui/flutter_app/lib/l10n/intl_zh.arb index ad076345e..2baf35f3d 100644 --- a/src/ui/flutter_app/lib/l10n/intl_zh.arb +++ b/src/ui/flutter_app/lib/l10n/intl_zh.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "显示优势图", "@showAdvantageGraph": {}, "advantageGraphHint": "仅当 AI 行棋后,优势图才会绘制。人类棋手行棋时则不会绘制。", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "在所有棋子摆完之前,不能吃掉对方棋子。摆完后,根据三连数量来吃子。", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "在双方所有棋子摆完之前,不能吃掉对方棋子。双方都摆完后,双方根据己方形成的三连数量来吃掉对方的棋子:如果三连数量相同,则双方吃掉对方相同数量的棋子;如果一方的三连更多,则最多只比对方多吃掉一枚棋子。如果只有一方形成三连,则该方吃掉两枚棋子,另一方吃掉一枚。如果双方都没有形成三连,则双方各吃掉一枚棋子。", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "阿拉伯帐篷", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_zh_Hant.arb b/src/ui/flutter_app/lib/l10n/intl_zh_Hant.arb index 15d3f1499..0bf41986d 100644 --- a/src/ui/flutter_app/lib/l10n/intl_zh_Hant.arb +++ b/src/ui/flutter_app/lib/l10n/intl_zh_Hant.arb @@ -1521,5 +1521,11 @@ "showAdvantageGraph": "顯示優勢圖", "@showAdvantageGraph": {}, "advantageGraphHint": "僅當 AI 下子後,優勢圖才會繪製。當人類玩家下子時則不會繪製。", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "在所有棋子擺完之前,不能吃掉對方棋子。擺完後,依照三連數量來吃子。", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "在雙方所有棋子擺完之前,不能吃掉對方棋子。雙方都擺完後,雙方根據己方形成的三連數量來吃掉對方的棋子:如果三連數量相同,則雙方吃掉對方相同數量的棋子;如果一方的三連更多,則最多只比對方多吃掉一枚棋子。如果只有一方形成三連,則該方吃掉兩枚棋子,另一方吃掉一枚。如果雙方都沒有形成三連,則雙方各吃掉一枚棋子。", + "@removalBasedOnMillCounts_Detail": {}, + "elfilja": "阿拉伯帳篷", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/intl_zu.arb b/src/ui/flutter_app/lib/l10n/intl_zu.arb index 2c6fa77d2..7f31e8a3a 100644 --- a/src/ui/flutter_app/lib/l10n/intl_zu.arb +++ b/src/ui/flutter_app/lib/l10n/intl_zu.arb @@ -1619,5 +1619,10 @@ "showAdvantageGraph": "Khombisa ishadi lezinzuzo", "@showAdvantageGraph": {}, "advantageGraphHint": "Ishadi lezinzuzo lizodwetshwa kuphela emva kokuthi i-AI yenze umnyakazo. Alizukudwetshwa uma umdlali womuntu enza umnyakazo.", - "@advantageGraphHint": {} + "@advantageGraphHint": {}, + "removalBasedOnMillCounts": "Misa ukususwa kuze kufakwe wonke amaphinikhodi. Abadlali basusa amaphinikhodi ngokuya ngenani lama-Umlabalaba.", + "@removalBasedOnMillCounts": {}, + "removalBasedOnMillCounts_Detail": "Misa ukususwa kuze kufakwe wonke amaphinikhodi. Abadlali basusa amaphinikhodi ngokuya ngenani lama-Umlabalaba: uma elilinganayo, bobabili basusa inani elifanayo lamaphinikhodi; uma omunye eningi, ususa elilodwa elengeziwe, egcina umehluko owodwa. Uma oyedwa enza i-Umlabalaba, ususa amaphinikhodi amabili, omunye asuse elilodwa. Uma bengakwenzi kokubili i-Umlabalaba, bobabili basusa elilodwa.", + "elfilja": "ELFilja", + "@elfilja": {} } diff --git a/src/ui/flutter_app/lib/l10n/prompt.txt b/src/ui/flutter_app/lib/l10n/prompt.txt index bafa7f4b7..69736db12 100644 --- a/src/ui/flutter_app/lib/l10n/prompt.txt +++ b/src/ui/flutter_app/lib/l10n/prompt.txt @@ -1,10 +1,8 @@ Please translate the following contents of the arb file for Nine Men's Morris Game, output the complete arb file directly: ```json -"removalBasedOnMillCounts": "Disable removal until all pieces are placed. Players remove pieces based on mill counts.", -"@removalBasedOnMillCounts": {}, -"removalBasedOnMillCounts_Detail": "Disable removal until all pieces are placed. Players remove pieces based on mill counts: if equal, both remove the same number; if one has more, they remove one extra, keeping a one-piece difference. If only one forms mills, they remove two pieces, and the other removes one. If neither forms mills, both remove one piece.", -"@removalBasedOnMillCounts_Detail": {}, +"elfilja ": "ELFilja", +"@elfilja": {}, ``` into: @@ -76,17 +74,13 @@ The format is as follows: ```json // intl_en.arb - "removalBasedOnMillCounts": "Disable removal until all pieces are placed. Players remove pieces based on mill counts.", - "@removalBasedOnMillCounts": {}, - "removalBasedOnMillCounts_Detail": "Disable removal until all pieces are placed. Players remove pieces based on mill counts: if equal, both remove the same number; if one has more, they remove one extra, keeping a one-piece difference. If only one forms mills, they remove two pieces, and the other removes one. If neither forms mills, both remove one piece.", - "@removalBasedOnMillCounts_Detail": {}, + "elfilja ": "ELFilja", + "@elfilja": {}, -// intl_fr.arb - "removalBasedOnMillCounts": "La suppression est interdite jusqu'à ce que toutes les pièces soient placées. Les joueurs retirent des pièces en fonction du nombre de moulins formés.", - "@removalBasedOnMillCounts": {}, - "removalBasedOnMillCounts_Detail": "La suppression est interdite jusqu'à ce que toutes les pièces soient placées. Les joueurs retirent des pièces en fonction du nombre de moulins formés : si les nombres sont égaux, les deux retirent le même nombre de pièces ; si l’un d’eux a formé plus de moulins, il retire une pièce supplémentaire tout en maintenant une différence d’une seule pièce. Si un seul joueur forme des moulins, il retire deux pièces tandis que l’autre en retire une. Si aucun des deux ne forme de moulins, chacun retire une de ses propres pièces.", - "@removalBasedOnMillCounts_Detail": {}, +// intl_ar.arb + "elfilja ": "اﻟﻌرﺑﯾﺔ اﻟﺧﯾﻣﺔ", + "@elfilja": {}, ``` diff --git a/src/ui/flutter_app/lib/rule_settings/models/rule_settings.dart b/src/ui/flutter_app/lib/rule_settings/models/rule_settings.dart index 3bcbb346c..071f66670 100644 --- a/src/ui/flutter_app/lib/rule_settings/models/rule_settings.dart +++ b/src/ui/flutter_app/lib/rule_settings/models/rule_settings.dart @@ -49,6 +49,8 @@ enum MillFormationActionInPlacingPhase { opponentRemovesOwnPiece, @HiveField(4) markAndDelayRemovingPieces, + @HiveField(5) + removalBasedOnMillCounts, } @HiveType(typeId: 8) @@ -220,7 +222,8 @@ enum RuleSet { chengSanQi, daSanQi, mulMulan, - nerenchi + nerenchi, + elfilja } /// Nine Men's Morris Rules @@ -397,6 +400,21 @@ class NerenchiRuleSettings extends RuleSettings { ); } +/// ELFilja rules in Algeria and parts of Morocco +/// +/// Those rules are the ELFilja rules. +class ELFiljaRuleSettings extends RuleSettings { + const ELFiljaRuleSettings() + : super( + piecesCount: 12, + millFormationActionInPlacingPhase: + MillFormationActionInPlacingPhase.removalBasedOnMillCounts, + boardFullAction: BoardFullAction.firstAndSecondPlayerRemovePiece, + mayFly: false, + mayRemoveFromMillsAlways: true, + ); +} + /// Rule Set Descriptions and Settings const Map ruleSetDescriptions = { RuleSet.current: 'Use the current game settings.', @@ -412,6 +430,7 @@ const Map ruleSetDescriptions = { RuleSet.daSanQi: 'Da San Qi, another Chinese strategic variant.', RuleSet.mulMulan: 'Mul-Mulan, a Indonesian variation of the game.', RuleSet.nerenchi: 'Nerenchi, a Sri Lankan adaptation of the game.', + RuleSet.elfilja: 'ELFilja, a variant played in Algeria and parts of Morocco.', }; /// Rule Set Properties (e.g., Number of Pieces and Rule Settings) @@ -429,4 +448,5 @@ const Map ruleSetProperties = { RuleSet.daSanQi: DaSanQiRuleSettings(), RuleSet.mulMulan: MulMulanRuleSettings(), RuleSet.nerenchi: NerenchiRuleSettings(), + RuleSet.elfilja: ELFiljaRuleSettings(), }; diff --git a/src/ui/flutter_app/lib/rule_settings/widgets/modals/mill_formation_action_in_placing_phase_modal.dart b/src/ui/flutter_app/lib/rule_settings/widgets/modals/mill_formation_action_in_placing_phase_modal.dart index 81e34d0f6..8eac81d34 100644 --- a/src/ui/flutter_app/lib/rule_settings/widgets/modals/mill_formation_action_in_placing_phase_modal.dart +++ b/src/ui/flutter_app/lib/rule_settings/widgets/modals/mill_formation_action_in_placing_phase_modal.dart @@ -70,6 +70,11 @@ class _MillFormationActionInPlacingPhaseModal extends StatelessWidget { S.of(context).markAndDelayRemovingPieces, MillFormationActionInPlacingPhase.markAndDelayRemovingPieces, ), + _buildRadioListTile( + context, + S.of(context).removalBasedOnMillCounts, + MillFormationActionInPlacingPhase.removalBasedOnMillCounts, + ), ]; } diff --git a/src/ui/flutter_app/lib/rule_settings/widgets/modals/rule_set_modal.dart b/src/ui/flutter_app/lib/rule_settings/widgets/modals/rule_set_modal.dart index d57b1d502..931cb44b9 100644 --- a/src/ui/flutter_app/lib/rule_settings/widgets/modals/rule_set_modal.dart +++ b/src/ui/flutter_app/lib/rule_settings/widgets/modals/rule_set_modal.dart @@ -112,6 +112,12 @@ class _RuleSetModal extends StatelessWidget { value: RuleSet.nerenchi, onChanged: onChanged, ), + RadioListTile( + title: Text(S.of(context).elfilja), + groupValue: ruleSet, + value: RuleSet.elfilja, + onChanged: onChanged, + ), ], ), ), diff --git a/src/ui/flutter_app/lib/rule_settings/widgets/rule_settings_page.dart b/src/ui/flutter_app/lib/rule_settings/widgets/rule_settings_page.dart index ebb0fdff9..cb2981507 100644 --- a/src/ui/flutter_app/lib/rule_settings/widgets/rule_settings_page.dart +++ b/src/ui/flutter_app/lib/rule_settings/widgets/rule_settings_page.dart @@ -54,7 +54,8 @@ class RuleSettingsPage extends StatelessWidget { ruleSet == RuleSet.chengSanQi || ruleSet == RuleSet.daSanQi || ruleSet == RuleSet.mulMulan || - ruleSet == RuleSet.nerenchi) { + ruleSet == RuleSet.nerenchi || + ruleSet == RuleSet.elfilja) { rootScaffoldMessengerKey.currentState! .showSnackBarClear(S.of(context).experimental); } @@ -271,6 +272,10 @@ class RuleSettingsPage extends StatelessWidget { rootScaffoldMessengerKey.currentState!.showSnackBarClear( S.of(context).markAndDelayRemovingPieces_Detail); break; + case MillFormationActionInPlacingPhase.removalBasedOnMillCounts: + rootScaffoldMessengerKey.currentState! + .showSnackBarClear(S.of(context).removalBasedOnMillCounts_Detail); + break; case null: break; } @@ -438,11 +443,13 @@ class RuleSettingsPage extends StatelessWidget { subtitleString: S.of(context).whenFormingMillsDuringPlacingPhase_Detail, ), - SettingsListTile( - onTap: () => _setBoardFullAction(context, ruleSettings), - titleString: S.of(context).whenBoardIsFull, - subtitleString: S.of(context).whenBoardIsFull_Detail, - ), + if (DB().ruleSettings.millFormationActionInPlacingPhase != + MillFormationActionInPlacingPhase.removalBasedOnMillCounts) + SettingsListTile( + onTap: () => _setBoardFullAction(context, ruleSettings), + titleString: S.of(context).whenBoardIsFull, + subtitleString: S.of(context).whenBoardIsFull_Detail, + ), SettingsListTile.switchTile( value: ruleSettings.mayMoveInPlacingPhase, onChanged: (bool val) =>