package com.daklok.biblelockscreen.strings

// =============================================================================
// TEMPLATE FILE -- DO NOT COMPILE.
// (Filename ends in .kt.txt so Gradle ignores it. The CI validation script
//  also explicitly skips any file named StringsTemplate.kt.)
//
// Every line below looks like:
//     someField = "<TODO>", // "The original English text"
// The `// "..."` part is just a comment showing you the English original for
// context -- it's not code. Leave it there (or delete it once you've
// translated the line, your choice).
//
// HOW TO USE THIS TEMPLATE
// ------------------------
// 1. Copy this file to StringsXX.kt where XX is your ISO 639-1 language code
//    in uppercase (e.g. StringsPT.kt for Portuguese, StringsRU.kt for Russian).
//    IMPORTANT: rename the extension from .kt.txt to just .kt.
// 2. Rename the val below:  xxStrings  ->  ptStrings  (lowercase code + "Strings")
// 3. Replace each  <TODO>  with your translation, using the English text in
//    the trailing comment on that same line for context. Since every line's
//    placeholder is the same literal text (<TODO>), most editors let you
//    double-click one to select it and just type over it -- quick to do line
//    by line without retyping the quotes each time.
//    - Keep `%s` placeholders exactly as they are -- they're filled in at runtime.
//    - Keep `\"` escapes and any HTML/markup exactly as in the original.
//    - Don't change the property names on the left of `=`.
//    - You don't have to finish every line in one PR -- any line you leave
//      as <TODO> (or skip) just falls back to showing English in the app.
//      A partial translation is a completely fine first contribution.
// 4. Open `AppStrings.kt` (same folder) and:
//      a) add your code + language name to `availableLanguages`
//      b) add your code to the `getDefaultAppLanguage()` when-branch
// 5. Open `app/src/main/java/com/daklok/biblelockscreen/MainActivity.kt`,
//    find the `when` block that maps language codes to string instances
//    (search for `"EN" -> enStrings`), and add your case:
//         "PT" -> ptStrings
// 6. Create `app/src/main/assets/verses_XX.json` (copy verses_EN.json and
//    translate the entries -- see CONTRIBUTING.md for Bible copyright rules).
// 7. Commit and open a Pull Request. The CI validator will check your work.
//
// WHY THIS USES `AppStrings().apply { ... }` INSTEAD OF `AppStrings(field = "...")`
// -----------------------------------------------------------------------------
// AppStrings used to be a `data class` with ~250 String fields and default
// values. Kotlin synthesized a secondary constructor carrying one int
// bitmask per 32 fields plus a DefaultConstructorMarker — that constructor
// had ~258 parameters, exceeding the JVM method-parameter limit of 255 and
// causing `VerifyError: StringsENKt.<clinit>` on app launch.
// AppStrings is now a regular `class` with `var` fields + English defaults,
// so this `apply` block sets only the fields you've translated. Omitted
// fields automatically keep the English default — same partial-translation
// workflow as before, just different assignment syntax.
// =============================================================================

val xxStrings = AppStrings().apply {

    test = "<TODO>" // "Generate"
    generatingBtn = "<TODO>" // "Generating..."
    generating = "<TODO>" // "Generating wallpaper..."
    done = "<TODO>" // "Done"
    updateTime = "<TODO>" // "Time of daily update"
    tapToEdit = "<TODO>" // "Tap to edit position and size"
    appName = "<TODO>" // "Bible Lock Screen"
    settings = "<TODO>" // "App Settings"
    dailyWallpaper = "<TODO>" // "Daily Wallpaper Change"
    active = "<TODO>" // "Active (every day at %s:00)"
    inactive = "<TODO>" // "Disabled"
    textCustomization = "<TODO>" // "Text Customization"
    bold = "<TODO>" // "Bold"
    shadow = "<TODO>" // "Shadow"
    textSize = "<TODO>" // "Text Size"
    textWidth = "<TODO>" // "Text Width"
    textHeight = "<TODO>" // "Text Position"
    textAlpha = "<TODO>" // "Transparency"
    bgBlur = "<TODO>" // "Background Blur"
    bgDarknessLabel = "<TODO>" // "Background Darkness"
    anotherPhoto = "<TODO>" // "Change Photo"
    selectPhotoFirst = "<TODO>" // "Select a photo first"
    appearance = "<TODO>" // "Appearance"
    system = "<TODO>" // "System"
    light = "<TODO>" // "Light"
    dark = "<TODO>" // "Dark"
    dynamicColor = "<TODO>" // "Material You (System Colors)"
    haptics = "<TODO>" // "Haptic Feedback"
    hapticsDesc = "<TODO>" // "Vibrations when editing the widget"
    support = "<TODO>" // "Support"
    supportDesc = "<TODO>" // "If you like the app and want to support its development, you can buy me a coffee ☕"
    donate = "<TODO>" // "Donate"
    close = "<TODO>" // "Close"
    dragHint = "<TODO>" // "Drag dots for size and width\nDrag the center to move"
    cancel = "<TODO>" // "Cancel"
    clickToSelect = "<TODO>" // "Tap to select photo"
    loading = "<TODO>" // "Loading verse..."
    appLanguage = "<TODO>" // "App Language"
    verseLanguage = "<TODO>" // "Verse Language"
    language = "<TODO>" // "Language"
    dailyWorkerOn = "<TODO>" // "Enabled!\nWallpaper will change tomorrow at %s:00."
    dailyWorkerOff = "<TODO>" // "Daily change disabled."
    fontModern = "<TODO>" // "Modern"
    fontBook = "<TODO>" // "Book"
    fontMono = "<TODO>" // "Typewriter"
    fontCursive = "<TODO>" // "Cursive"
    fontLight = "<TODO>" // "Light"
    fontCondensed = "<TODO>" // "Condensed"
    langSk = "<TODO>" // "Slovenčina"
    langEn = "<TODO>" // "English"
    langCz = "<TODO>" // "Čeština"
    batteryWarningTitle = "<TODO>" // "Battery Warning"
    batteryWarningDesc = "<TODO>" // "For the automatic wallpaper change to work reliably in the background, please disable battery optimization for this app."
    batteryWarningButton = "<TODO>" // "Disable Optimization"
    customVerseTitle = "<TODO>" // "Custom Text"
    customVerseHint = "<TODO>" // "Verse text..."
    customRefHint = "<TODO>" // "Coordinates (e.g. John 3:16)"
    applyCustom = "<TODO>" // "Apply"
    autoWallpaper = "<TODO>" // "Automatic Wallpaper Change"
    autoWallpaperIntervalLabel = "<TODO>" // "Change interval"
    autoWallpaperEvery1h = "<TODO>" // "Every hour"
    autoWallpaperEvery2h = "<TODO>" // "Every 2 hours"
    autoWallpaperEvery3h = "<TODO>" // "Every 3 hours"
    autoWallpaperEvery6h = "<TODO>" // "Every 6 hours"
    autoWallpaperEvery12h = "<TODO>" // "Every 12 hours"
    autoWallpaperEvery24h = "<TODO>" // "Every 24 hours (daily)"
    autoWallpaperOnScreenOff = "<TODO>" // "On screen off"
    autoWallpaperOnScreenOffDesc = "<TODO>" // "Verse changes every time you lock the phone"
    autoWallpaperTimeLabel = "<TODO>" // "Daily change time"
    autoWallpaperActiveHourly = "<TODO>" // "Active (every %sh)"
    autoWallpaperActiveDaily = "<TODO>" // "Active (daily at %s:00)"
    autoWallpaperActiveScreenOff = "<TODO>" // "Active (on lock)"
    autoWorkerOn = "<TODO>" // "Enabled! Wallpaper will change based on your interval."
    autoWorkerOff = "<TODO>" // "Automatic change disabled."
    colorPickerTitle = "<TODO>" // "Select color"
    colorPickerBrightness = "<TODO>" // "Brightness"
    colorPickerVerseColor = "<TODO>" // "Verse color"
    wallpaperTargetLabel = "<TODO>" // "Apply wallpaper to"
    wallpaperTargetLock = "<TODO>" // "Lock screen"
    wallpaperTargetHome = "<TODO>" // "Home screen"
    wallpaperTargetBoth = "<TODO>" // "Both"
    vdbTitle = "<TODO>" // "Verse databases"
    vdbSubtitle = "<TODO>" // "Create, import or export collections"
    vdbManage = "<TODO>" // "Manage"
    vdbNewDatabase = "<TODO>" // "New database"
    vdbEditPrefix = "<TODO>" // "Edit ·"
    vdbImportExport = "<TODO>" // "Import / Export"
    vdbCreateNew = "<TODO>" // "Create new"
    vdbSectionCustom = "<TODO>" // "Custom"
    vdbSectionBuiltIn = "<TODO>" // "Built-in"
    vdbHint = "<TODO>" // "Tap \"Use\" on a custom database to make it your active verse source — or pick it later via Settings → Verse Language."
    vdbUse = "<TODO>" // "Use"
    vdbUsed = "<TODO>" // "Activated"
    vdbDeleteTitle = "<TODO>" // "Delete"
    vdbDeleteText = "<TODO>" // "verses will be permanently removed."
    vdbDelete = "<TODO>" // "Delete"
    vdbDeleted = "<TODO>" // "Deleted"
    vdbVerses = "<TODO>" // "verses"
    vdbCustomLabel = "<TODO>" // "Custom"
    vdbCodeLabel = "<TODO>" // "Code"
    vdbCodePlaceholder = "<TODO>" // "e.g. KJV"
    vdbCodeHint = "<TODO>" // "Select this in Settings → Verse Language"
    vdbUpdate = "<TODO>" // "Update"
    vdbSave = "<TODO>" // "Save"
    vdbNoVerses = "<TODO>" // "No verses — tap + below to add"
    vdbVersesFilled = "<TODO>" // "filled"
    vdbVerse = "<TODO>" // "verse"
    vdbVersePlural = "<TODO>" // "verses"
    vdbClearAll = "<TODO>" // "Clear all"
    vdbNoVersesYet = "<TODO>" // "No verses yet"
    vdbAddFirstVerse = "<TODO>" // "Tap the button below to add your first verse"
    vdbAddVerse = "<TODO>" // "Add verse"
    vdbVerseText = "<TODO>" // "Verse text"
    vdbReference = "<TODO>" // "Reference"
    vdbReferencePlaceholder = "<TODO>" // "e.g. John 3:16"
    vdbVerseCard = "<TODO>" // "Verse"
    vdbUpdated = "<TODO>" // "Updated"
    vdbCreated = "<TODO>" // "Created"
    vdbErrorCode = "<TODO>" // "Enter a database code"
    vdbErrorVerse = "<TODO>" // "Add at least one verse"
    vdbErrorFailed = "<TODO>" // "Failed"
    vdbImportTitle = "<TODO>" // "Import"
    vdbImportJson = "<TODO>" // "Import JSON file"
    vdbImportDesc = "<TODO>" // "Pick a verse .json from your device"
    vdbBrowse = "<TODO>" // "Browse"
    vdbImporting = "<TODO>" // "Importing..."
    vdbImportCodeTitle = "<TODO>" // "Database code"
    vdbImportCodeDesc = "<TODO>" // "Enter a short code for this database (e.g. KJV). It overrides a built-in database if the code matches."
    vdbImport = "<TODO>" // "Import"
    vdbImportSuccess = "<TODO>" // "Imported %d verses as"
    vdbImportFailed = "<TODO>" // "Import failed"
    vdbExportCustom = "<TODO>" // "Export — Custom"
    vdbExportBuiltIn = "<TODO>" // "Export — Built-in"
    vdbExport = "<TODO>" // "Export"
    vdbExporting = "<TODO>" // "Saving to Downloads…"
    vdbExportDone = "<TODO>" // "Saved to Downloads"
    vdbExportFailed = "<TODO>" // "Export failed"
    vdbJsonFormat = "<TODO>" // "JSON format"
    backupTitle = "<TODO>" // "Backup & Restore"
    backupExport = "<TODO>" // "Back up settings"
    backupExportDesc = "<TODO>" // "Saves all settings, wallpaper, and databases to a single file"
    backupImport = "<TODO>" // "Restore from backup"
    backupImportDesc = "<TODO>" // "Replaces all current settings, wallpaper, and databases"
    backupExporting = "<TODO>" // "Backing up…"
    backupImporting = "<TODO>" // "Restoring…"
    backupExportSuccess = "<TODO>" // "Backup saved · %d settings, %d databases"
    backupImportSuccess = "<TODO>" // "Backup restored · %d settings, %d databases. Restarting…"
    backupExportFailed = "<TODO>" // "Backup failed"
    backupImportFailed = "<TODO>" // "Restore failed"
    backupConfirmTitle = "<TODO>" // "Restore from backup?"
    backupConfirmDesc = "<TODO>" // "This will replace all your current settings, wallpaper, and databases. This cannot be undone."
    wpScreenTitle = "<TODO>" // "Wallpapers"
    wpScreenSubtitle = "<TODO>" // "Manage your wallpapers and auto-cycling"
    wpGalleryEmpty = "<TODO>" // "No wallpapers"
    wpGalleryEmptyDesc = "<TODO>" // "Add your first wallpaper — pick a photo from your gallery."
    wpAdd = "<TODO>" // "Add wallpaper"
    wpSetActive = "<TODO>" // "Set active"
    wpActive = "<TODO>" // "Active"
    wpDelete = "<TODO>" // "Remove"
    wpDeleteConfirm = "<TODO>" // "Remove this wallpaper?"
    wpDeleteConfirmDesc = "<TODO>" // "The wallpaper will be permanently removed from the app."
    wpCycleTitle = "<TODO>" // "Auto-cycling"
    wpCycleDesc = "<TODO>" // "Automatically cycle through wallpapers on a schedule"
    wpCycleInterval = "<TODO>" // "Cycle interval"
    wpCycleDailyHour = "<TODO>" // "Daily change time"
    wpCycleOnScreenOff = "<TODO>" // "On lock"
    wpCycleOnScreenOffDesc = "<TODO>" // "Change wallpaper every time you lock the phone"
    wpNightMode = "<TODO>" // "Night mode"
    wpNightModeDesc = "<TODO>" // "Use a different wallpaper at night"
    wpNightStart = "<TODO>" // "Night starts"
    wpNightEnd = "<TODO>" // "Night ends"
    wpActiveBadge = "<TODO>" // "Active"
    wpNightBadge = "<TODO>" // "Night"
    wpCycleModeVerse = "<TODO>" // "On verse change"
    wpCycleModeInterval = "<TODO>" // "Custom interval"
    wpCycleModeScreenOff = "<TODO>" // "On every lock"
    wpCycleModeDayNight = "<TODO>" // "Day / Night"
    wpCycleModeVerseDesc = "<TODO>" // "Wallpaper changes with the verse"
    wpCycleModeDayNightDesc = "<TODO>" // "Automatically switch between day and night wallpaper"
    wpCycleDayWallpaper = "<TODO>" // "Day wallpaper"
    wpCycleNightWallpaper = "<TODO>" // "Night wallpaper"
    wpCycleModeIntervalDesc = "<TODO>" // "Change at fixed intervals"
    wpCycleModeScreenOffDesc = "<TODO>" // "Change on every screen lock"
    wpDualLockWarning = "<TODO>" // "It could take up to 3 seconds to update wallpaper while screen is off."
    wpDayStart = "<TODO>" // "Day starts"
    wpDayEnd = "<TODO>" // "Day ends"
    wpViewAll = "<TODO>" // "View all"
    wpViewAllTitle = "<TODO>" // "All wallpapers"
    wpSelectMode = "<TODO>" // "Select"
    wpDeleteSelected = "<TODO>" // "Delete selected"
    wpSelected = "<TODO>" // "selected"
    wpDeleteAllConfirm = "<TODO>" // "Delete selected wallpapers?"
    wpDeleteAllConfirmDesc = "<TODO>" // "The selected wallpapers will be permanently removed from the app."
    wpPageHint = "<TODO>" // "Swipe left for wallpapers →"
    vdbSourceDefault = "<TODO>" // "Default"
    vdbSourceCustom = "<TODO>" // "Custom"
    vdbSourceFavorites = "<TODO>" // "Favorites"
    vdbFavoritesCycling = "<TODO>" // "Cycling through %d favorite verses"
    vdbFavoritesEmptyCta = "<TODO>" // "Add some favorites first"
    vdbEmptyCustom = "<TODO>" // "No custom databases yet"
    vdbEmptyCustomDesc = "<TODO>" // "Create your own verse collection — for example KJV or another translation."
    vdbEmptyCustomCta = "<TODO>" // "Create new database"
    vdbWarningCodeBuiltin = "<TODO>" // "Code \"%s\" is already used by a built-in database. You can still use it — the custom DB will share the code."
    vdbWarningCodeCustom = "<TODO>" // "Code \"%s\" already exists as a custom database. Saving will overwrite it."
    vdbImportConflictTitle = "<TODO>" // "Code already exists"
    vdbImportConflictDesc = "<TODO>" // "A custom database with code \"%s\" already exists. Enter a different code, or keep \"%s\" to overwrite."
    vdbImportConflictAction = "<TODO>" // "Import with this code"
    vdbOverwriteTitle = "<TODO>" // "Overwrite database?"
    vdbOverwriteDesc = "<TODO>" // "A custom database with code \"%s\" already exists. Saving will permanently replace its verses. This action cannot be undone."
    vdbOverwriteConfirm = "<TODO>" // "Overwrite"

    // --- Share verse as image ---
    share = "<TODO>" // "Share"
    shareDialogTitle = "<TODO>" // "Share verse"
    shareDialogDesc = "<TODO>" // "Choose an action"
    shareAction = "<TODO>" // "Share"
    shareActionDesc = "<TODO>" // "Send the image via other apps"
    saveToGalleryAction = "<TODO>" // "Save to gallery"
    saveToGalleryActionDesc = "<TODO>" // "Save the image to this device"
    shareSuccess = "<TODO>" // "Verse shared"
    shareFailed = "<TODO>" // "Failed to share verse"
    saveSuccess = "<TODO>" // "Verse saved to gallery"
    saveFailed = "<TODO>" // "Failed to save to gallery"
    shareImageDesc = "<TODO>" // "Image with verse for sharing"

    // --- Favorite verses ---
    favorites = "<TODO>" // "Favorites"
    favoritesTitle = "<TODO>" // "Favorite verses"
    favoritesEmpty = "<TODO>" // "You don't have any favorite verses yet"
    favoritesEmptyDesc = "<TODO>" // "Add a verse by tapping the star in the preview."
    addToFavorites = "<TODO>" // "Add to favorites"
    removeFromFavorites = "<TODO>" // "Remove from favorites"
    favoritesCount = "<TODO>" // "%d favorites"
    setAsWallpaper = "<TODO>" // "Set as wallpaper"
    confirmRemoveFavoriteTitle = "<TODO>" // "Remove from favorites?"
    confirmRemoveFavoriteDesc = "<TODO>" // "This verse will be removed from your favorites."
    addedToFavorites = "<TODO>" // "Verse added to favorites"
    removedFromFavorites = "<TODO>" // "Verse removed from favorites"
    addedOn = "<TODO>" // "Added %s"
}

// -----------------------------------------------------------------------------
// LOCALIZED LANGUAGE NAMES (top-level)
// -----------------------------------------------------------------------------
// This map lives OUTSIDE AppStrings because it's a Map<String, String>, not
// a single UI string — it's the localized name of EVERY available language,
// used by the Settings → App Language / Verse Language pickers to render
// entries as "Native (Localized)" (e.g. an Slovak user sees "Italiano (Taliančina)").
//
// If you skip this section entirely, the picker falls back to the English
// `enLocalizedLangNames` map defined in AppStrings.kt — partial translations
// still work, you just won't see your language's translations of language
// names in the picker.
//
// To add your language's translations:
//   1. Rename `xxLocalizedLangNames` to use your lowercase code
//      (e.g. `ptLocalizedLangNames`).
//   2. Fill in each `<TODO>` with the name of that language in YOUR language.
//   3. Register it in `localizedLangNamesFor()` in AppStrings.kt
//      (one new when-branch, e.g. `"PT" -> ptLocalizedLangNames`).

val xxLocalizedLangNames: Map<String, String> = mapOf(
    "EN" to "<TODO>",   // "English"
    "SK" to "<TODO>",   // "Slovak"
    "CZ" to "<TODO>",   // "Czech"
    "ES" to "<TODO>",   // "Spanish"
    "IT" to "<TODO>",   // "Italian"
    "FR" to "<TODO>",   // "French"
    "DE" to "<TODO>",   // "German"
    "HU" to "<TODO>",   // "Hungarian"
    "PL" to "<TODO>"    // "Polish"
)