Address Serbian RESET + CodeRabbit comments on PR #50

Serbian (Uncle directive 17:38 UTC following the Spanish fixes):
- translations/serbian.json: 'RESET' was left as English key (flagged
  by validate-packs as Common UI label untranslated). Now 'RESETUJ'.
  Matches sibling locales handling 'RESET' via their own word + the
  Serbian file's imperative style (e.g. 'Restart' -> 'Restartuj').

CodeRabbit actionable comments on PR #50:
- translations/hindi.json:2218: 'Yes' was 'मैं आपकी सहायता कैसे कर सकता/
  सकती हूं?' (LLM assistant prompt 'How can I help you?') - fixed to
  'हाँ' per CR suggestion. Residual contamination from pre-validator
  era that Khush's cleanup missed; good regression case.
- Services/TranslationValidationRules.cs:46-47: German localized-meta
  patterns were the only entries in the array missing
  RegexOptions.IgnoreCase. Added the flag so capitalization variants
  ('Geben Sie...' vs 'geben Sie...') get caught. Matches every other
  language block in the array.
- translations/dutch.json:770: 'Voor een specifiek item van je sjabloon'
  used informal 'je' while the file overwhelmingly uses formal 'u/uw'
  register. Switched to 'uw sjabloon' for consistency.

Verified: dotnet build clean, validate-packs reports 0 issues.

Co-Authored-By: 1amKhush <khushvendras99@gmail.com>
This commit is contained in:
r1ckstardev 2026-04-24 17:40:11 +00:00
parent 45615c6cbb
commit b41c40f481
4 changed files with 7 additions and 7 deletions

View File

@ -43,8 +43,8 @@ internal static class TranslationValidationRules
private static readonly Regex[] LocalizedMetaPatterns =
{
// German
new(@"geben Sie den zu \u00fcbersetzenden", RegexOptions.Compiled), // "provide the text to translate"
new(@"Bereit f\u00fcr die \u00dcbersetzung", RegexOptions.Compiled), // "Ready for translation"
new(@"geben Sie den zu \u00fcbersetzenden", RegexOptions.IgnoreCase | RegexOptions.Compiled), // "provide the text to translate"
new(@"Bereit f\u00fcr die \u00dcbersetzung", RegexOptions.IgnoreCase | RegexOptions.Compiled), // "Ready for translation"
new(@"ich kann .*\u00fcbersetzen", RegexOptions.IgnoreCase | RegexOptions.Compiled),
new(@"(?:\u00fcbersetze|\u00fcbersetzen) .*englisch", RegexOptions.IgnoreCase | RegexOptions.Compiled),
// Dutch

View File

@ -767,7 +767,7 @@
"Fit button inline": "Pas knop in lijn aan",
"Fixed amount": "Vast bedrag",
"follow these instructions": "volg deze instructies",
"For a specific item of your template": "Voor een specifiek item van je sjabloon",
"For a specific item of your template": "Voor een specifiek item van uw sjabloon",
"For anything with a custom amount": "Voor alles met een aangepast bedrag",
"for lifetime": "voor altijd",
"For many email providers (like Gmail) your login is your email address.": "Voor veel e-mailproviders (zoals Gmail) is je inlognaam je e-mailadres.",
@ -2282,4 +2282,4 @@
"Your user account requires approval by an admin before you can log in.": "Je gebruikersaccount vereist goedkeuring van een beheerder voordat je kunt inloggen.",
"Your wallet has been generated.": "Uw portemonnee is gegenereerd.",
"Zero amount invoices are disabled": "Facturen met nulbedrag zijn uitgeschakeld"
}
}

View File

@ -2215,7 +2215,7 @@
"Would you like to invite a new subscriber?": "क्या आप एक नए सदस्य को आमंत्रित करना चाहेंगे?",
"Would you like to proceed with suspending the following user?": "क्या आप निम्नलिखित उपयोगकर्ता को निलंबित करना चाहेंगे?",
"Would you like to upgrade <span class=\"subscriber-name fw-semibold\"></span> to <b class=\"changePlanName\"></b>?": "क्या आप <span class=\"subscriber-name fw-semibold\"></span> को <b class=\"changePlanName\"></b> में अपग्रेड करना चाहेंगे?",
"Yes": "मैं आपकी सहायता कैसे कर सकता/सकती हूं?",
"Yes": "हाँ",
"You are not server administrator": "आप सर्वर प्रशासक नहीं हैं",
"You are server administrator": "आप सर्वर प्रशासक हैं",
"You can also apply filters to your search by searching for <code>filtername:value</code>. Be sure to split your search parameters with comma. Supported filters are:": "आप अपनी खोज में <code>filtername:value</code> के द्वारा फ़िल्टर भी लगा सकते हैं। अपने खोज मापदंडों को कॉमा से अलग करना सुनिश्चित करें। समर्थित फ़िल्टर हैं:",

View File

@ -825,7 +825,7 @@
"Hide Sensitive Info": "Sakrij osetljive informacije",
"Hide unconfirmed coins": "Sakrij nepotvrđene novčiće",
"Hostname": "Naziv hosta (hostname)",
"Hot wallet": "Online novčanik",
"Hot wallet": "Online novčanik",
"How much to refund?": "Koliko da refundiram?",
"However, <code>kraken</code> does not support the <code>BTC_CAD</code> pair. For this reason you can add a rule\n mapping all <code>X_CAD</code> to <code>ndax</code>, a Canadian exchange.": "Međutim, <code>kraken</code> ne podržava <code>BTC_CAD</code> par. Iz tog razloga možete dodati pravilo\n koje mapira sve <code>X_CAD</code> na <code>ndax</code>, kanadsku menjačnicu.",
"However, explicitely setting specific pairs like this can be a bit difficult. Instead, you can define a rule\n <code>X_X</code>\n which will match any currency pair. The following example will use <code>kraken</code> for getting the rate of any currency pair.": "Međutim, eksplicitno podešavanje specifičnih parova ovako može biti pomalo teško. Umesto toga, možete definisati pravilo\n <code>X_X</code>\n koje će odgovarati bilo kom valutnom paru. Sledeći primer će koristiti <code>kraken</code> za dobijanje kursa bilo kog para valuta.",
@ -1464,7 +1464,7 @@
"Reserved Addresses": "Rezervisane adrese",
"Reserved At": "Rezervisano",
"Reset": "Reset",
"RESET": "RESET",
"RESET": "RESETUJ",
"Reset app": "Resetuj aplikaciju",
"Reset authenticator app": "Resetuj authenticator aplikaciju",
"Reset Boltcard": "Resetuj Boltcard",