Parcourir la source

fix tiếng myanma trên ios

student il y a 1 semaine
Parent
commit
e45d257d74

+ 2 - 2
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Language/Lang.vi.resx

@@ -157,7 +157,7 @@
     <value>အလှည့် ပက်ကေ့ဂျ် တစ်ခု ရွေးချယ်ပါ</value>
   </data>
   <data name="ConfirmBuyTurn" xml:space="preserve">
-    <value>ဝယ်ယူမှုအလှည့်ကို အတည်ပြုပါ</value>
+    <value>ဝယ်ယူမှုကို အတည်ပြုပါ</value>
   </data>
   <data name="ConfirmBuyTurnQuestion" xml:space="preserve">
     <value>ဒီ turn package ဝယ်ချင်လား။</value>
@@ -703,7 +703,7 @@
     <value>သင်သည် အလှည့် {0} ခုကို အောင်မြင်စွာ ဝယ်ယူပြီးပါပြီ။</value>
   </data>
   <data name="TurnOverTitle" xml:space="preserve">
-    <value>ဘယ်ဘက်သို့ မကွေ့ရ!</value>
+    <value>အလှည့် မကျန်တော့ပါ</value>
   </data>
   <data name="TurnOverPrimary" xml:space="preserve">
     <value>မင်းမှာ ကစားချိန်တွေ ဘာမှ မကျန်တော့ဘူး။</value>

+ 1 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/DailyWinners/Index.cshtml

@@ -41,6 +41,7 @@
                         <textPath href="#daily-winner-title-path" startOffset="50%">@Lang.DailyWinnerList</textPath>
                     </text>
                 </svg>
+                <span class="myanmar-ribbon-title myanmar-daily-title" aria-hidden="true">@Lang.DailyWinnerList</span>
                 <span class="daily-title-paw daily-title-paw-left" aria-hidden="true"></span>
                 <span class="daily-title-paw daily-title-paw-right" aria-hidden="true"></span>
             </div>

+ 13 - 4
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Home/Index.cshtml

@@ -132,15 +132,16 @@
                 <div class="confirm-card">
                     <div class="confirm-ribbon">
                         <img src="~/kitty/assets/kitty-fall/confirm-ribbon.png" alt="">
-                        <svg class="confirm-ribbon-title" viewBox="-20 0 360 75" aria-hidden="true">
+                        <svg class="confirm-ribbon-title confirm-subscription-title" viewBox="-20 0 360 75" aria-hidden="true">
                             <defs>
                                 <path id="confirm-ribbon-title-path" d="M 20 55 Q 160 18 300 55" />
                             </defs>
-                            <text font-size="30" font-weight="900" fill="#fff" text-anchor="middle" textLength="258" lengthAdjust="spacingAndGlyphs">
-                                <textPath href="#confirm-ribbon-title-path" startOffset="50%">@Lang.ConfirmSubscription</textPath>
+                            <text font-size="20" font-weight="900" fill="#fff" text-anchor="middle">
+                                <textPath href="#confirm-ribbon-title-path" startOffset="50%" textLength="258" lengthAdjust="spacingAndGlyphs">@Lang.ConfirmSubscription</textPath>
                             </text>
                         </svg>
                         <span id="subscription-title" class="sr-only">@Lang.ConfirmSubscription</span>
+                        <span class="myanmar-ribbon-title" aria-hidden="true">@Lang.ConfirmSubscription</span>
                     </div>
                     <button class="confirm-close" type="button" data-close-subscription aria-label="@Lang.ConfirmSubscription">
                         <img src="~/kitty/assets/kitty-fall/confirm-close.png" alt="">
@@ -184,6 +185,7 @@
                             </text>
                         </svg>
                         <span class="sr-only">@Lang.SelectTurnPackage</span>
+                        <span class="myanmar-ribbon-title" aria-hidden="true">@Lang.BuyTurn</span>
                     </div>
                     <button class="confirm-close" type="button" data-close-subscription aria-label="@Lang.SelectTurnPackage">
                         <img src="~/kitty/assets/kitty-fall/confirm-close.png" alt="">
@@ -232,6 +234,7 @@
                             </text>
                         </svg>
                         <span class="sr-only">@Lang.ConfirmBuyTurn</span>
+                        <span class="myanmar-ribbon-title" aria-hidden="true">@Lang.ConfirmBuyTurn</span>
                     </div>
                     <button class="confirm-close" type="button" data-close-subscription aria-label="@Lang.ConfirmBuyTurn">
                         <img src="~/kitty/assets/kitty-fall/confirm-close.png" alt="">
@@ -270,11 +273,13 @@
                             </text>
                         </svg>
                         <span class="sr-only">@Lang.Successful</span>
+                        <span class="myanmar-ribbon-title" aria-hidden="true">@Lang.Successful</span>
                     </div>
                     <button class="confirm-close" type="button" data-close-subscription aria-label="@Lang.Successful">
                         <img src="~/kitty/assets/kitty-fall/confirm-close.png" alt="">
                     </button>
 
+                    <div class="result-content">
                     <img class="result-status-icon result-status-success" src="~/kitty/assets/kitty-fall/result-success-icon.png" alt="">
                     <p class="result-title result-title-success" data-success-title
                        data-subscription-title="@Lang.SubscriptionSuccessMessage"
@@ -298,6 +303,7 @@
                         </div>
                     </div>
 
+                    </div>
                     <button class="result-button confirm-button" type="button" data-close-subscription
                             data-success-action-button data-confirm-label="@Lang.Confirm"
                             data-play-label="@Lang.PlayNow" data-play-url="@Url.Action("Index", "Play")">
@@ -323,15 +329,18 @@
                             </text>
                         </svg>
                         <span class="sr-only">@Lang.SubscriptionFailed</span>
+                        <span class="myanmar-ribbon-title" aria-hidden="true">@Lang.SubscriptionFailed</span>
                     </div>
                     <button class="confirm-close" type="button" data-close-subscription aria-label="@Lang.SubscriptionFailed">
                         <img src="~/kitty/assets/kitty-fall/confirm-close.png" alt="">
                     </button>
 
+                    <div class="result-content">
                     <img class="result-status-icon result-status-fail" src="~/kitty/assets/kitty-fall/result-fail-icon.png" alt="">
-                    <p class="result-title result-title-fail">@Lang.SubscriptionFailedTitle</p>
+                    @*<p class="result-title result-title-fail">@Lang.SubscriptionFailedTitle</p>*@
                     <p class="result-copy-fail" data-fallback-message="@Lang.SubscriptionFailedCopy @Lang.PleaseTryAgain">@Lang.SubscriptionFailedCopy<br>@Lang.PleaseTryAgain</p>
 
+                    </div>
                     <button class="result-button result-button-fail confirm-button" type="button" data-close-subscription>
                         <span class="confirm-button-icon" aria-hidden="true"></span>
                         <span>@Lang.Confirm</span>

+ 2 - 2
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Play/Index.cshtml

@@ -147,10 +147,10 @@
                 <span class="turn-over-zero">0</span>
             </div>
             <h2 id="turn-over-title">@Lang.TurnOverTitle</h2>
-            <p class="turn-over-copy">
+            @* <p class="turn-over-copy">
                 <strong>@Lang.TurnOverPrimary</strong>
                 <span>@Lang.TurnOverSecondary</span>
-            </p>
+            </p> *@
             <a class="game-over-play-button" href="@Url.Action("Index", "Home", new { buyturn = true })">
                 <span class="play-icon">
                     <img src="~/kitty/assets/kitty-fall/ticket.png" alt="">

+ 1 - 1
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/Views/Shared/_Layout.cshtml

@@ -164,7 +164,7 @@
         <section class="cancel-package-dialog-card" role="dialog" aria-modal="true" aria-labelledby="cancel-package-dialog-title">
             <div class="cancel-package-dialog-icon" aria-hidden="true">!</div>
             <h2 id="cancel-package-dialog-title">@Lang.AccountCancelPackage?</h2>
-            <p>Your current package benefits will no longer be available. Are you sure you want to continue?</p>
+            <p>Are you sure you want to continue?</p>
             <div class="cancel-package-dialog-actions">
                 <button class="cancel-package-dialog-keep" type="button" data-cancel-dialog-close>Keep package</button>
                 <button class="cancel-package-dialog-confirm" type="button" data-cancel-dialog-confirm>@Lang.AccountCancelPackage</button>

+ 117 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/all.min.css

@@ -3358,6 +3358,37 @@ html[lang="my"] .package-action button {
     letter-spacing: 0;
 }
 
+/* Keep the full subscription heading on the curve even without SVG length adjustment. */
+.confirm-subscription-title text {
+    font-size: 20px;
+}
+
+/* Native text shaping preserves Myanmar combining marks on iOS. */
+.myanmar-ribbon-title {
+    display: none;
+}
+
+html[lang="my"] .confirm-ribbon-title {
+    display: none;
+}
+
+html[lang="my"] .myanmar-ribbon-title {
+    position: absolute;
+    inset: 0 30px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-family: "Noto Sans Myanmar", "Myanmar Sangam MN", "Myanmar Text", sans-serif;
+    font-size: 18px;
+    font-weight: 700;
+    line-height: 1.7;
+    letter-spacing: normal;
+    text-align: center;
+    color: #fff;
+    text-shadow: 0 2px 1px rgba(143, 40, 86, 0.35);
+    pointer-events: none;
+}
+
 .confirm-close {
     position: absolute;
     z-index: 3;
@@ -5200,3 +5231,89 @@ body.has-account-menu {
 .guide-section .guide-end-title + ul {
     margin-left: 24px;
 }
+/* Myanmar needs full syllable shaping and room above/below the baseline. */
+html[lang="my"] {
+    -webkit-text-size-adjust: 100%;
+    text-size-adjust: 100%;
+}
+
+html[lang="my"] .daily-title-text {
+    display: none;
+}
+
+html[lang="my"] .myanmar-daily-title {
+    inset-inline: 55px;
+    font-size: 16px;
+}
+
+html[lang="my"] .result-card {
+    display: flex;
+    flex-direction: column;
+    padding: 95px 22px 90px;
+}
+
+html[lang="my"] .result-card .result-content {
+    flex: 1 1 auto;
+    min-height: 0;
+    overflow-y: auto;
+    overscroll-behavior: contain;
+    padding: 4px 4px 10px;
+}
+
+html[lang="my"] .result-title,
+html[lang="my"] .result-copy-fail,
+html[lang="my"] .result-benefit p,
+html[lang="my"] .confirm-intro,
+html[lang="my"] .confirm-note,
+html[lang="my"] .renewal-note p {
+    line-height: 1.7;
+    letter-spacing: normal;
+    word-break: normal;
+    overflow-wrap: break-word;
+}
+
+html[lang="my"] .result-title,
+html[lang="my"] .result-copy-fail,
+html[lang="my"] .result-benefits {
+    width: 100%;
+    white-space: normal;
+}
+
+html[lang="my"] .result-benefits,
+html[lang="my"] .result-benefit {
+    height: auto;
+    min-height: 32px;
+}
+
+html[lang="my"] .result-benefits {
+    padding: 14px 12px;
+    gap: 14px;
+}
+
+html[lang="my"] .result-benefit {
+    grid-template-columns: 32px minmax(0, 1fr);
+    gap: 10px;
+}
+
+html[lang="my"] .result-card .confirm-button {
+    left: 50%;
+    transform: translateX(-50%);
+    font-size: 17px;
+    line-height: 1.7;
+}
+
+/* Keep each navigation label inside its own column. */
+html[lang="my"] .bottom-nav a {
+    min-width: 0;
+    gap: 0;
+    font-size: 8px;
+    line-height: 1.5;
+    white-space: normal;
+    text-align: center;
+}
+
+html[lang="my"] .bottom-nav a span {
+    max-width: 100%;
+    padding-inline: 2px;
+    overflow-wrap: break-word;
+}

+ 117 - 0
Kitty_Fall/Kitty_Fall/Kitty_Fall.Website/wwwroot/kitty/css/input.css

@@ -3358,6 +3358,37 @@ html[lang="my"] .package-action button {
     letter-spacing: 0;
 }
 
+/* Keep the full subscription heading on the curve even without SVG length adjustment. */
+.confirm-subscription-title text {
+    font-size: 20px;
+}
+
+/* Native text shaping preserves Myanmar combining marks on iOS. */
+.myanmar-ribbon-title {
+    display: none;
+}
+
+html[lang="my"] .confirm-ribbon-title {
+    display: none;
+}
+
+html[lang="my"] .myanmar-ribbon-title {
+    position: absolute;
+    inset: 0 30px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-family: "Noto Sans Myanmar", "Myanmar Sangam MN", "Myanmar Text", sans-serif;
+    font-size: 18px;
+    font-weight: 700;
+    line-height: 1.7;
+    letter-spacing: normal;
+    text-align: center;
+    color: #fff;
+    text-shadow: 0 2px 1px rgba(143, 40, 86, 0.35);
+    pointer-events: none;
+}
+
 .confirm-close {
     position: absolute;
     z-index: 3;
@@ -5200,3 +5231,89 @@ body.has-account-menu {
 .guide-section .guide-end-title + ul {
     margin-left: 24px;
 }
+/* Myanmar needs full syllable shaping and room above/below the baseline. */
+html[lang="my"] {
+    -webkit-text-size-adjust: 100%;
+    text-size-adjust: 100%;
+}
+
+html[lang="my"] .daily-title-text {
+    display: none;
+}
+
+html[lang="my"] .myanmar-daily-title {
+    inset-inline: 55px;
+    font-size: 16px;
+}
+
+html[lang="my"] .result-card {
+    display: flex;
+    flex-direction: column;
+    padding: 95px 22px 90px;
+}
+
+html[lang="my"] .result-card .result-content {
+    flex: 1 1 auto;
+    min-height: 0;
+    overflow-y: auto;
+    overscroll-behavior: contain;
+    padding: 4px 4px 10px;
+}
+
+html[lang="my"] .result-title,
+html[lang="my"] .result-copy-fail,
+html[lang="my"] .result-benefit p,
+html[lang="my"] .confirm-intro,
+html[lang="my"] .confirm-note,
+html[lang="my"] .renewal-note p {
+    line-height: 1.7;
+    letter-spacing: normal;
+    word-break: normal;
+    overflow-wrap: break-word;
+}
+
+html[lang="my"] .result-title,
+html[lang="my"] .result-copy-fail,
+html[lang="my"] .result-benefits {
+    width: 100%;
+    white-space: normal;
+}
+
+html[lang="my"] .result-benefits,
+html[lang="my"] .result-benefit {
+    height: auto;
+    min-height: 32px;
+}
+
+html[lang="my"] .result-benefits {
+    padding: 14px 12px;
+    gap: 14px;
+}
+
+html[lang="my"] .result-benefit {
+    grid-template-columns: 32px minmax(0, 1fr);
+    gap: 10px;
+}
+
+html[lang="my"] .result-card .confirm-button {
+    left: 50%;
+    transform: translateX(-50%);
+    font-size: 17px;
+    line-height: 1.7;
+}
+
+/* Keep each navigation label inside its own column. */
+html[lang="my"] .bottom-nav a {
+    min-width: 0;
+    gap: 0;
+    font-size: 8px;
+    line-height: 1.5;
+    white-space: normal;
+    text-align: center;
+}
+
+html[lang="my"] .bottom-nav a span {
+    max-width: 100%;
+    padding-inline: 2px;
+    overflow-wrap: break-word;
+}