Skip to content

Instantly share code, notes, and snippets.

View sarimmehdi's full-sized avatar

Muhammad Sarim Mehdi sarimmehdi

View GitHub Profile
@sarimmehdi
sarimmehdi / CustomTransService.kt
Created September 3, 2025 23:48
Custom Translation Service
configure<TranslateGenieExtension> {
baseApiUrl = "https://your-custom-api.com/translate"
httpMethod = "POST"
keyForTextsToTranslate = "texts_to_translate"
keyForTargetLanguage = "target_language"
targetLanguagesList = listOf("es", "fr", "de")
responseKeyForTranslatedTextsArray = "results.translations"
additionalJsonBody = """{
"format": "android",
"preserve_formatting": true,
@sarimmehdi
sarimmehdi / GenieExample.kt
Last active September 3, 2025 23:41
Translate Genie Example
your-app/
├── app/
│ └── src/main/res/values/strings.xml (manual process)
├── authentication/
│ └── src/main/res/values/strings.xml (manual process)
├── payment/
│ └── src/main/res/values/strings.xml (manual process)
├── analytics/
│ └── src/main/res/values/strings.xml (manual process)
└── core/
@sarimmehdi
sarimmehdi / ConfigValid.kt
Last active September 3, 2025 23:42
Configuration Validation
// Root build.gradle.kts - ONE configuration for ALL modules
subprojects {
pluginManager.apply(rootProject.libs.plugins.translateGeniePluginId.get().pluginId)
configure<TranslateGenieExtension> {
baseApiUrl = "https://api.your-translator.com/translate"
keyForTextsToTranslate = "q"
keyForTargetLanguage = "target"
targetLanguagesList = listOf("es", "fr", "de", "it", "ja")
responseKeyForTranslatedTextsArray = "translatedText"
@sarimmehdi
sarimmehdi / XmlGen.kt
Last active September 3, 2025 23:42
XML Generation with Proper Formatting
./gradlew generateProjectTranslations
@sarimmehdi
sarimmehdi / ApiIntegration.kt
Last active September 3, 2025 23:43
Api Integration
ecommerce-app/
├── app/ (main application module)
├── user-authentication/ (login, registration)
├── product-catalog/ (product listings, search)
├── shopping-cart/ (cart, checkout)
├── payment-gateway/ (payment processing)
├── order-tracking/ (order history, tracking)
├── notifications/ (push notifications, alerts)
└── analytics/ (tracking, metrics)
@sarimmehdi
sarimmehdi / TransAttrRespect.kt
Last active September 3, 2025 23:43
Translatable Attribute Respect
<resources>
<string name="login_title">Welcome Back</string>
<string name="email_hint">Enter your email</string>
<string name="password_hint">Password</string>
<string name="forgot_password">Forgot password?</string>
</resources>
@sarimmehdi
sarimmehdi / ResTypeHandlingPlurals.kt
Last active September 3, 2025 23:44
Resource Type Handling - Plurals
<resources>
<string name="cart_empty">Your cart is empty</string>
<string name="add_to_cart">Add to Cart</string>
<string name="checkout_button">Proceed to Checkout</string>
<plurals name="items_in_cart">
<item quantity="one">%d item in cart</item>
<item quantity="other">%d items in cart</item>
</plurals>
</resources>
@sarimmehdi
sarimmehdi / ResTypeHandlingStringArrays.kt
Last active September 3, 2025 23:44
Resource Type Handling - String Arrays
<resources>
<string name="payment_method">Payment Method</string>
<string name="card_number">Card Number</string>
<string name="expiry_date">MM/YY</string>
<string name="payment_successful">Payment processed successfully</string>
</resources>
@sarimmehdi
sarimmehdi / ResourceTypeSimpleStrings.kt
Last active September 3, 2025 23:45
Resource Type Handling - Simple Strings
./gradlew generateProjectTranslations
@sarimmehdi
sarimmehdi / SecureXmlParsing.kt
Last active September 3, 2025 23:45
Secure XML Parsing
ecommerce-app/
├── user-authentication/
│ └── src/main/res/
│ ├── values/strings.xml
│ ├── values-es/strings.xml
│ ├── values-fr/strings.xml
│ └── values-de/strings.xml
├── shopping-cart/
│ └── src/main/res/
│ ├── values/strings.xml