{
    "nav": {
      "scan": "Scan",
      "info": "Device Info",
      "dfu": "Firmware Update",
      "privacy": "Privacy Policy"
    },
    "home": {
      "title": "POWERFUN Settings",
      "scan": "Scan Devices",
      "privacy": "Privacy Policy",
      "version": "Version v0.0.1",
      "powerMeter": "Power Meter",
      "paddle": "Paddle",
      "T5trainer": "T5 Trainer"
    },
    "scan": {
      "title": "Scan Devices",
      "scanning": "Scanning...",
      "noDevice": "No Devices Found",
      "tipScanning": "(Make sure the device is powered on and awake)",
      "tipBluetooth": "(Please enable Bluetooth in settings)",
      "noName": "[No Name]",
      "rssiUnit": "dBm"
    
    },
    "t5Scan": {
      "title": "Scan T5 Trainer",
      "scanning": "Scanning...",
      "noDevice": "No T5 trainers found",
      "tipScanning": "(Make sure the trainer is powered on and awake)",
      "tipBluetooth": "(Please enable Bluetooth in settings)"
    },
    "paddleScan": {
      "title": "Scan Paddle",
      "scanning": "Scanning...",
      "noDevice": "No paddle devices found",
      "tipScanning": "(Make sure the paddle device is powered on and awake)",
      "tipBluetooth": "(Please enable Bluetooth in settings)",
      "noName": "[No Name]",
      "rssiUnit": "dBm"
    },
    "common": {
      "notice": "Notice",
      "unknown": "Unknown",
      "unknownDevice": "Unknown Device",
      "yes": "Yes",
      "no": "No"
    },
    "info2": {
      "waitingAction": "Waiting",
      "notMatched": "Not Matched",
      "checkFailed": "Check Failed",
      "unknownBoatType": "Unknown boat type",
      "readAbnormal": "Unexpected response: {{hex}}",
      "writingBoat": "Writing {{boatName}}...",
      "writtenWaitRead": "Written {{boatName}}, reading back in 200ms...",
      "requestingBoatRead": "Requesting boat type...",
      "setSuccess": "Set success: {{boatName}}",
      "notMatch": "Mismatch: expected {{expected}}, actual {{actual}}",
      "readResult": "Read result: {{hex}}",
      "actionFailed": "Action failed: {{message}}",
      "failed": "Failed",
      "waitFff3Timeout": "Timeout waiting for FFF3 response",
      "currentBoat": "✅ Current boat type: {{boatName}}",
      "readCurrentBoat": "Current boat type read: {{boatName}}",
      "disconnectedNeedReconnect": "Device disconnected. Reconnect before upgrading.",
      "defaultReadFailed": "Connected, but initial boat type read failed",
      "connectOrReadFailed": "Connection or read failed",
      "connectOrReadFailedAlert": "Bluetooth connection failed or device info read failed",
      "cadence": "Cadence",
      "cadenceUnit": "RPM (strokes/min)",
      "boatSelect": "Boat Type",
      "boatSwitching": "Switching boat type...",
      "retry": "Please retry",
      "boatKayak": "Kayak",
      "boatRowing": "Rowing",
      "boatRacing": "Racing",
      "latestFirmware": "Latest Firmware",
      "checking": "Checking..."
    },
    "info3": {
      "bikeTypeFollow": "Follow Software",
      "bikeTypeRoad": "Road Bike",
      "bikeTypeMtb26": "Mountain Bike 26\"",
      "bikeTypeMtb275": "Mountain Bike 27.5\"",
      "bikeTypeMtb29": "Mountain Bike 29\"",
      "bikeTypeSmallWheel": "Small Wheel Bike",
      "ergOn": "On",
      "ergOff": "Off",
      "readUsedHoursTimeout": "Timeout reading usage hours",
      "readUsedMileageTimeout": "Timeout reading usage mileage",
      "powerTrimRangeError": "Please enter a value between 50.00 and 200.00 with up to 2 decimals",
      "deviceNotReady": "Device is not ready yet. Please try again later",
      "invalidWeight": "Please enter a valid weight",
      "waitFff3Timeout": "Timeout waiting for FFF3 response",
      "readPowerTrimTimeout": "Timeout reading current power trim",
      "waitWeightAckTimeout": "Timeout waiting for weight setting confirmation",
      "readWeightTimeout": "Timeout reading current weight",
      "readBikeTypeTimeout": "Timeout reading bike type",
      "waitBikeTypeAckTimeout": "Timeout waiting for bike type confirmation",
      "readErgTimeout": "Timeout reading ERG smoothing",
      "waitErgAckTimeout": "Timeout waiting for ERG smoothing confirmation",
      "connectReadFailed": "Device connection or read failed",
      "readFailed": "Read failed",
      "connecting": "Connecting",
      "pendingTag": "Pending",
      "settingTag": "Applying",
      "currentWeightValue": "Current: {{value}} kg",
      "currentPowerTrimValue": "Current: {{value}} %",
      "currentTextValue": "Current: {{value}}",
      "usedMileage": "Usage Mileage",
      "speedKph": "Speed/km/h",
      "weightSetting": "Weight Setting",
      "powerTrim": "Power Trim",
      "bikeType": "Bike Type",
      "ergSmooth": "ERG Smoothing",
      "settingWeight": "Setting weight...",
      "weightSetDone": "Weight set successfully",
      "weightSetFailed": "Weight setting failed",
      "settingPowerTrim": "Setting power trim...",
      "powerTrimSetDone": "Power trim set successfully",
      "powerTrimSetFailed": "Power trim setting failed",
      "settingBikeType": "Setting bike type...",
      "bikeTypeSetDone": "Bike type set successfully",
      "bikeTypeSetFailed": "Bike type setting failed",
      "settingErgSmooth": "Setting ERG smoothing...",
      "ergSmoothSetDone": "ERG smoothing set successfully",
      "ergSmoothSetFailed": "ERG smoothing setting failed",
      "confirmWeightChange": "Set weight to {{value}}kg?",
      "confirmPowerTrimChange": "Set power trim to {{value}}%?",
      "helpText": "Hold to view help"
    },
    "spindown": {
      "title": "Spindown",
      "headerTitle": "Trainer Spindown",
      "connecting": "Connecting",
      "connected": "Connected",
      "targetLabel": "Target Speed",
      "targetHint": "Ride to reach the target speed first",
      "currentSpeed": "Current Speed",
      "statusReach36": "Ride to reach {{speed}} km/h",
      "statusReached36": "Reached {{high}} km/h. Stop pedaling and wait until speed drops to {{low}} km/h",
      "statusCalibrating": "Spindown in progress, please wait",
      "statusCompleted": "Spindown completed",
      "deviceNotReady": "Device not ready, please try again",
      "connectFailed": "Failed to connect. Please go back and try again",
      "timeout": "Timed out waiting for spindown time",
      "failedRetry": "Spindown failed, please try again",
      "step1Title": "Ride to {{speed}} km/h",
      "step1Desc": "Automatically proceeds after reaching the target speed",
      "step2Title": "Stop pedaling and coast",
      "step2Desc": "Starts spindown automatically when speed drops to {{speed}} km/h",
      "step3Title": "Spindown Completed",
      "step3Loading": "Reading spindown time...",
      "step3Pending": "Will appear here after completion",
      "loading": "Connecting and preparing spindown...",
      "result": "Spindown completed, time {{seconds}}s",
      "retry": "Restart Spindown"
    },
    "dfu": {
      "title": "Firmware Update",
      "preparing": "Preparing...",
      "reading": "Reading...",
      
      "bluetoothName": "Bluetooth Name",
      "latestVersion": "Latest Version",
      "currentVersion": "Current Version",
      "upgradeStatus": "Update Status",
      
      "stateConnecting": "Connecting…",
      "stateStarting": "Initializing…",
      "stateEnablingDfuMode": "Enabling DFU Mode…",
      "stateUploading": "Uploading Firmware…",
      "stateValidating": "Validating Firmware…",
      "stateDisconnecting": "Disconnecting…",
      "stateCompleted": "Update Completed",
      "stateAborted": "Aborted",
      "stateFailed": "Update Failed",
      "stateInitializing": "Starting…",
      "stateErrored": "Update Error!",
      
      "pleaseWait": "Please Wait",
      "doNotReturn": "Updating in progress, do not go back or close the app!",
      
      "cannotUpgrade": "Cannot Update",
      "hardwareNotFound": "Firmware not found for hardware version {hardware}",
      "noNeedUpgrade": "No Update Needed",
      "alreadyLatest": "Already the latest firmware, no update needed",
      
      "upgradeSuccess": "Update Successful",
      "upgradeSuccessMessage": "Update successful, please reconnect the device",
      "upgradeFailed": "Update Failed",
      "dfuFailed": "DFU Failed",
      
      "confirm": "OK"
    },
    "privacy": {
      "title": "Privacy Policy",
      "content": "This application respects and protects the personal privacy of all users. This Privacy Policy applies only to the POWERFUN Settings App products or services provided by Wuxi Zhixingpai Sports Culture Development Co., Ltd. Please read and fully understand this policy before using our products or services.\n\n1. How We Collect and Use Your Information\n\n1. The POWERFUN Settings App does not require registration or login and does not collect any personal information.\n\n2. During your use of our products or services, we may use the following permissions:\n- Android ID\n- Storage\n- Location\n- Bluetooth\n\n3. Third-party SDK usage:\n\n(1) Tencent Bugly  \nProvider: Tencent Computer Systems Company Limited  \nPurpose: crash reporting and performance monitoring.\n\n(2) Aliyun OSS  \nProvider: Alibaba Cloud Computing Co., Ltd.  \nPurpose: storage of configuration and firmware update files.\n\n2. Updates to This Policy\n\nWe may update this policy from time to time. Changes will be published on this page.\n\n3. Contact Us\n\nEmail: bike99@qq.com\n\nWuxi Zhixingpai Sports Culture Development Co., Ltd.  \nEffective date: July 1, 2019"
    },
    "settings": {
      "title": "Settings",
      "language": "Language",
      "privacy": "Privacy Policy",
      "version": "Version"
    },
    "languageModal": {
      "title": "Language"
    },
    "info": {
      "title": "Device Info",
      "bluetoothName": "Bluetooth Name",
      "idNumber": "ID Number",
      "firmwareVersion": "Firmware Version",
      "battery": "Battery",
      "connectionStatus": "Connection Status",
      "connected": "Connected",
      "disconnected": "Disconnected",
      "reading": "Reading...",
      
      "power": "Power/W",
      "cadence": "Cadence/RPM",
      "balance": "L/R Balance/%",
      "balanceHeader": "L / R",
      
      "powerTrimTitle": "Power Trim Settings",
      "currentTrim": "Current Trim",
      "trimPlaceholder": "Enter 50-200",
      "updateValue": "Update Value",
      
      "calibrateButton": "Calibrate Zero",
      "calibrating": "Calibrating... Waiting for device",
      "firmwareUpgrade": "Firmware Update",
      
      "readingInfo": "Reading information...",
      "readSuccess": "Read successfully!",
      "writingTrim": "Writing power trim...",
      "trimUpdateSuccess": "Power trim updated successfully!",
      
      "disconnectTitle": "Notice",
      "disconnectMessage": "Device disconnected, please reconnect",
      "reconnectMessage": "Please reconnect the device",
      "confirm": "OK",
      
      "trimRangeAlert": "Power trim adjusts the power meter's high and low deviation. Default value is 100%. Adjustable range is 50%-200%. Please enter a number between 50 and 200 without the % symbol. Click the button below to update the power meter after entering.",
      "deviceNotConnected": "Device not connected",
      "writeFailed": "Write failed",
      
      "calibrationSuccess": "Calibration Successful",
      "calibrationValue": "Calibration Value",
      "calibrationError": "Calibration Error",
      "calibrationTimeout": "Device not responding, please try again",
      "calibrationFormatError": "Invalid response format from device",
      "calibrationSendError": "Failed to send calibration command",
      "error": "Error"
    }
  }
