<?xml version="1.0" encoding="UTF-8"?>
<messages locale="en">
  <message key="account.favorites.empty">Favorite shorts and series.</message>
  <message key="account.favorites.title">Favorites</message>
  <message key="account.live.title">Live Records</message>
  <message key="account.nav.favorites">Favorites</message>
  <message key="account.nav.live">Live</message>
  <message key="account.nav.profile">Profile</message>
  <message key="account.nav.records">Records</message>
  <message key="account.nav.shop">Shop Orders</message>
  <message key="account.nav.wallet">Points</message>
  <message key="account.profile.nickname">Nickname</message>
  <message key="account.profile.title">Edit Profile</message>
  <message key="account.record.liveTip">Live tip</message>
  <message key="account.record.unlock">Series unlock</message>
  <message key="account.records.title">Spending Records</message>
  <message key="account.shop.cta">View shop orders</message>
  <message key="account.shop.title">Shop Orders</message>
  <message key="account.wallet.balance">Current point balance: 8,800</message>
  <message key="account.wallet.cta">Recharge points</message>
  <message key="account.wallet.title">Recharge Management</message>
  <message key="action.enterLive">▶ Enter live room</message>
  <message key="action.favorite">Favorite</message>
  <message key="action.recharge">Recharge</message>
  <message key="action.remind">Set reminder</message>
  <message key="action.sendFlowers">Send flowers</message>
  <message key="action.viewProducts">View products</message>
  <message key="action.watchEpisode1">▶ Watch Episode 1</message>
  <message key="action.watchNow">▶ Watch now</message>
  <message key="auth.agreement.consent">I have read and agree to the JNN User Registration Agreement, User Agreement and Privacy Policy</message>
  <message key="auth.agreement.effective">Effective: August 23, 2026</message>
  <message key="auth.agreement.hint">This is client version JNN-REG-1.0. Before public release, project operations and legal counsel must confirm the contracting entity, contact information, and governing law.</message>
  <message key="auth.agreement.read">Read the JNN User Registration Agreement</message>
  <message key="auth.agreement.section1.body">By selecting the consent checkbox and creating an account, you confirm that you have read, understood, and accepted this agreement. You must have full legal capacity under applicable law. A minor may use JNN only after a guardian has read and accepted this agreement.</message>
  <message key="auth.agreement.section1.title">1. Acceptance and eligibility</message>
  <message key="auth.agreement.section2.body">Use an email address or mobile number that you are authorized to use and that can receive verification codes, complete verification as required, and protect your password and sign-in credentials. Do not impersonate another person or sell, rent, or transfer an account. Change your password and contact JNN promptly if you detect unauthorized access or credential exposure.</message>
  <message key="auth.agreement.section2.title">2. Registration and account security</message>
  <message key="auth.agreement.section3.body">JNN provides account, browsing, playback, and favorites features for short dramas, series, and related content. Content, quality, regional availability, and features may change because of licensing, devices, networks, or operations. Material changes will be communicated on the service or by another reasonable method.</message>
  <message key="auth.agreement.section3.title">3. Platform services</message>
  <message key="auth.agreement.section4.body">Before using recharges, points, content unlocks, tips, or shop services, confirm the price, quantity, validity period, and refund terms. Do not make a payment without authorization from a guardian or payment-account holder. The checkout page, applicable refund terms, and law govern each purchase.</message>
  <message key="auth.agreement.section4.title">4. Paid features and purchases</message>
  <message key="auth.agreement.section5.body">Do not use JNN for unlawful or infringing content, system attacks, bypassing access or payment controls, bulk scraping, service interference, malicious software, unauthorized sharing of restricted content, or fraud. JNN may issue warnings, restrict features, freeze an account, or terminate access when permitted by law.</message>
  <message key="auth.agreement.section5.title">5. Acceptable use</message>
  <message key="auth.agreement.section6.body">To register, secure accounts, and provide the service, JNN may process your email, mobile number, nickname, device and network information, and necessary usage records. JNN may send verification codes, security alerts, and essential service notices to your registered email or mobile number. Processing must follow the applicable privacy policy and law; non-essential marketing messages will not be sent without appropriate consent.</message>
  <message key="auth.agreement.section6.title">6. Personal information and notices</message>
  <message key="auth.agreement.section7.body">The JNN platform, software, brands, and lawfully licensed content are protected by intellectual-property rights. Unless law requires otherwise, each party is responsible for losses caused by its own fault. JNN will make reasonable efforts to restore interruptions caused by force majeure, networks, or third-party services. The parties should first seek an amicable resolution; unresolved matters will be handled under applicable law by a competent authority. Contact JNN through the About or customer-support entry.</message>
  <message key="auth.agreement.section7.title">7. Intellectual property, responsibility, and disputes</message>
  <message key="auth.agreement.title">JNN User Registration Agreement</message>
  <message key="auth.agreement.version">Version: JNN-REG-1.0</message>
  <message key="auth.error.agreementRequired">Read and accept the JNN User Registration Agreement before creating an account.</message>
  <message key="auth.error.codeExpired">The verification code has expired. Send a new code.</message>
  <message key="auth.error.codeInvalidOrExpired">The verification code is invalid or has expired.</message>
  <message key="auth.error.emailNotRegistered">This email address is not registered.</message>
  <message key="auth.error.invalidBirthYear">Enter a valid birth year between 1900 and this year.</message>
  <message key="auth.error.invalidCode">Enter the 6-digit verification code.</message>
  <message key="auth.error.invalidEmail">Enter a valid email address.</message>
  <message key="auth.error.invalidField">This value is invalid. Check it and try again.</message>
  <message key="auth.error.invalidPhone">Enter a valid mobile number for the selected country or region.</message>
  <message key="auth.error.passwordLength">Password must contain 6 to 128 characters.</message>
  <message key="auth.error.passwordMismatch">The passwords do not match.</message>
  <message key="auth.error.passwordRequired">Enter your password.</message>
  <message key="auth.error.phoneNotRegistered">This mobile number is not registered.</message>
  <message key="auth.error.phoneRegistered">This mobile number is already registered. Sign in or use another number.</message>
  <message key="auth.error.resetVerificationExpired">Verification has expired. Request a new code.</message>
  <message key="auth.forgot.button">Reset password</message>
  <message key="auth.forgot.description">Use an email or SMS verification code to set a new password.</message>
  <message key="auth.forgot.extraLink">Back to login</message>
  <message key="auth.forgot.extraText">Remembered it?</message>
  <message key="auth.forgot.title">Forgot Password</message>
  <message key="auth.form.birthYear">Birth year</message>
  <message key="auth.form.birthYearHint">Used for minor-content access; only the year is stored.</message>
  <message key="auth.form.birthYearPlaceholder">For example, 1995</message>
  <message key="auth.form.changeRecoveryAccount">Change account</message>
  <message key="auth.form.codeSent">Verification code sent. Check your email.</message>
  <message key="auth.form.confirmNewPassword">Confirm new password</message>
  <message key="auth.form.copy">Copy</message>
  <message key="auth.form.creatingAccount">Creating account…</message>
  <message key="auth.form.emailCodeSent">Email code sent. Check your inbox.</message>
  <message key="auth.form.emailVerificationCodePlaceholder">Enter the email verification code</message>
  <message key="auth.form.goToLogin">Log in</message>
  <message key="auth.form.newPassword">New password</message>
  <message key="auth.form.next">Next</message>
  <message key="auth.form.nicknameOptional">Nickname (optional)</message>
  <message key="auth.form.nicknamePlaceholder">How should we address you?</message>
  <message key="auth.form.passwordHint">Use 6–128 characters.</message>
  <message key="auth.form.requestId">Request ID</message>
  <message key="auth.form.resendIn">Resend in {seconds}s</message>
  <message key="auth.form.resetPassword">Reset password</message>
  <message key="auth.form.resettingPassword">Resetting password…</message>
  <message key="auth.form.returnToSignIn">Return to sign in</message>
  <message key="auth.form.sendCode">Send code</message>
  <message key="auth.form.sendCodeFailed">Failed to send the verification code. Please try again later.</message>
  <message key="auth.form.sendingCode">Sending verification code…</message>
  <message key="auth.form.signingIn">Signing in…</message>
  <message key="auth.form.smsCodeAccepted">SMS sent. Check your phone.</message>
  <message key="auth.form.smsVerificationCodePlaceholder">Enter the SMS verification code</message>
  <message key="auth.form.verificationCode">Verification code</message>
  <message key="auth.form.verificationCodePlaceholder">Enter the code sent to your email</message>
  <message key="auth.form.verifyingCode">Verifying code…</message>
  <message key="auth.greeting">Hello, {name}.</message>
  <message key="auth.loggingOut">Logging out…</message>
  <message key="auth.login.button">Log in</message>
  <message key="auth.login.description">Log in to watch, favorite, recharge, and tip.</message>
  <message key="auth.login.extraLink">Sign up</message>
  <message key="auth.login.extraText">No account?</message>
  <message key="auth.login.forgotLink">Forgot password?</message>
  <message key="auth.login.title">Log In</message>
  <message key="auth.loginLink">Log in</message>
  <message key="auth.logout">Log out</message>
  <message key="auth.logoutError">Could not log out. Please try again.</message>
  <message key="auth.message.accountFrozen">This account is frozen. Contact customer support for assistance.</message>
  <message key="auth.message.accountUnavailable">This account is currently unavailable. Contact customer support for assistance.</message>
  <message key="auth.message.checkFields">Check the highlighted fields.</message>
  <message key="auth.message.codeInvalidOrExpired">The verification code is invalid or has expired. Enter it again or request a new code.</message>
  <message key="auth.message.completed">Request completed.</message>
  <message key="auth.message.emailNotRegistered">This email address is not registered. Check it and try again.</message>
  <message key="auth.message.invalidCredentials">Account or password is incorrect.</message>
  <message key="auth.message.invalidEmailCredentials">Email or password is incorrect. Check your details and try again.</message>
  <message key="auth.message.invalidPhoneCredentials">Mobile number or password is incorrect. Check your details and try again.</message>
  <message key="auth.message.legalAcceptanceRequired">Read and accept the registration agreement, then try again.</message>
  <message key="auth.message.legalUnavailable">The registration agreement service is temporarily unavailable. Please try again later.</message>
  <message key="auth.message.localPhoneLoginBlocked">Phone sign-in is not enabled in this local test environment. Contact the development team.</message>
  <message key="auth.message.loginRejected">The server rejected the sign-in request without a recognized account status. Try again later or contact customer support.</message>
  <message key="auth.message.phoneNotRegistered">This mobile number is not registered. Check it and try again.</message>
  <message key="auth.message.rateLimited">Too many attempts. Try again in 60 seconds.</message>
  <message key="auth.message.requestFailed">The request failed. Please try again later.</message>
  <message key="auth.message.resetCodeVerified">Code verified. Set a new password.</message>
  <message key="auth.message.resetResultUnconfirmed">The reset result is unconfirmed. Try signing in with the new password to confirm; the system will not retry automatically.</message>
  <message key="auth.message.resetVerificationExpired">Verification has expired. Request a new code.</message>
  <message key="auth.message.smsRegionUnsupported">SMS verification is not available for this country or region.</message>
  <message key="auth.message.smsUnavailable">SMS verification is temporarily unavailable. Try again later.</message>
  <message key="auth.method.email">Email</message>
  <message key="auth.method.label">Choose verification method</message>
  <message key="auth.method.phone">Mobile number</message>
  <message key="auth.phone.commonCountries">Common countries</message>
  <message key="auth.phone.countryCode">Country or region code</message>
  <message key="auth.phone.currentCountry">Current country</message>
  <message key="auth.phone.hint">The calling code is submitted with a leading +, for example +86 13800138000.</message>
  <message key="auth.phone.otherCountries">Other countries</message>
  <message key="auth.phone.placeholder">Enter mobile number</message>
  <message key="auth.register.button">Create account</message>
  <message key="auth.register.description">Create an account with an email code or SMS verification code.</message>
  <message key="auth.register.extraLink">Log in</message>
  <message key="auth.register.extraText">Already have an account?</message>
  <message key="auth.register.title">Create account</message>
  <message key="auth.registerLink">Sign up</message>
  <message key="common.asianCatalog">Asian regions {count}/{total}</message>
  <message key="common.backHome">Back home</message>
  <message key="common.confirmPassword">Confirm password</message>
  <message key="common.confirmPasswordPlaceholder">Enter password again</message>
  <message key="common.currentLanguage">Current language: {language}</message>
  <message key="common.email">Email</message>
  <message key="common.emailPlaceholder">you@example.com</message>
  <message key="common.language">Language</message>
  <message key="common.password">Password</message>
  <message key="common.passwordPlaceholder">Enter password</message>
  <message key="common.phone">Mobile number</message>
  <message key="common.scoreSuffix">score</message>
  <message key="common.total">Total</message>
  <message key="common.viewAccount">Account center</message>
  <message key="common.yes">Yes</message>
  <message key="cover.filmIssue">FILM ISSUE</message>
  <message key="cover.liveFeature">LIVE FEATURE</message>
  <message key="cover.seriesIssue">SERIES ISSUE</message>
  <message key="cover.shortScene">SHORT SCENE</message>
  <message key="detail.field.regionYear">Region and year</message>
  <message key="detail.field.runtime">Runtime / episodes</message>
  <message key="detail.field.title">Title</message>
  <message key="detail.field.type">Type</message>
  <message key="detail.infoLabel">Details</message>
  <message key="detail.introEyebrow">ENGLISH</message>
  <message key="detail.introTitle">Introduction</message>
  <message key="detail.mediaLabel">Poster and stills</message>
  <message key="detail.poster">Poster</message>
  <message key="detail.profileEyebrow">PROFILE</message>
  <message key="detail.profileTitle">Profile</message>
  <message key="detail.related.liveProducts">Live Products</message>
  <message key="detail.related.series">Related Series</message>
  <message key="detail.related.shorts">Related Shorts</message>
  <message key="detail.still">Still</message>
  <message key="detail.storyEyebrow">STORY</message>
  <message key="detail.storyTitle">Story</message>
  <message key="filter.category">Category</message>
  <message key="filter.drawer">Filters</message>
  <message key="filter.sort">Sort</message>
  <message key="filter.status">Status</message>
  <message key="filter.type">Type</message>
  <message key="footer.afterSales">Shop Support</message>
  <message key="footer.contact">Contact</message>
  <message key="footer.privacy">Privacy</message>
  <message key="footer.recharge">Recharge Terms</message>
  <message key="footer.refund">Refund Rules</message>
  <message key="footer.tagline">JNN · Short-drama platform</message>
  <message key="footer.terms">Terms</message>
  <message key="home.daily.copy">Curated short drama recommendations with Chinese, English, and Thai data. Later this can be driven by backend operation slots.</message>
  <message key="home.daily.cta">Browse shorts</message>
  <message key="home.daily.eyebrow">DAILY PICK</message>
  <message key="home.daily.title">Daily Pick</message>
  <message key="home.eyebrow">New GL / BL releases · English</message>
  <message key="home.favorite">Favorite</message>
  <message key="home.impactCaption">Trending today · Asian GL / BL originals</message>
  <message key="home.localeLine">Asian originals · Trilingual catalog</message>
  <message key="home.recharge">Recharge points</message>
  <message key="home.section.series">Popular Series</message>
  <message key="home.section.topRated">Top Rated Series</message>
  <message key="home.upcoming.title">Coming Soon</message>
  <message key="home.walletPrimary">Thailand / Taiwan / Mainland China spotlight library</message>
  <message key="home.walletShare">Asian regions account for 95%+</message>
  <message key="home.watchNow">▶ Watch now</message>
  <message key="listing.live.cta">Enter live</message>
  <message key="listing.live.description">Creator talks, red carpets, director roundtables, behind-the-scenes screenings, and live shopping sessions.</message>
  <message key="listing.live.eyebrow">LIVE</message>
  <message key="listing.live.title">GL / BL Live Channel</message>
  <message key="listing.series.cta">Recharge points</message>
  <message key="listing.series.description">Traditional serialized TV dramas with longer episodes, clearly separated from short-form micro dramas.</message>
  <message key="listing.series.eyebrow">SERIES</message>
  <message key="listing.series.title">GL / BL TV Series</message>
  <message key="listing.shop.cta">Cart</message>
  <message key="listing.shop.description">Rainbow festival goods, GL/BL watchlists, posters, vouchers, and screening accessories.</message>
  <message key="listing.shop.eyebrow">SHOP</message>
  <message key="listing.shop.title">Pride Festival Merchandise</message>
  <message key="listing.shortVideos.cta">Recharge points</message>
  <message key="listing.shortVideos.description">Vertical micro dramas with many short episodes, each only a few minutes long, with Chinese, English, and Thai metadata.</message>
  <message key="listing.shortVideos.eyebrow">SHORT DRAMA</message>
  <message key="listing.shortVideos.title">GL / BL Short Dramas</message>
  <message key="media.alt.cover">cover</message>
  <message key="media.alt.product">product image</message>
  <message key="nav.about">About</message>
  <message key="nav.aria">Main navigation</message>
  <message key="nav.home">Home</message>
  <message key="nav.live">Live</message>
  <message key="nav.search">Search</message>
  <message key="nav.searchPlaceholder">Search dramas</message>
  <message key="nav.series">TV Series</message>
  <message key="nav.shop">Shop</message>
  <message key="nav.shorts">Short Dramas</message>
  <message key="notFound.description">This route is not configured yet. Please return to the home page.</message>
  <message key="notFound.title">Page Not Found</message>
  <message key="pay.alipay">Alipay International</message>
  <message key="pay.wechat">WeChat Pay International</message>
  <message key="playback.seriesComplete">The End</message>
  <message key="product.addCart">Add to cart</message>
  <message key="product.asian-watchlist-cards.fit">Watchlist recommendations, livestream guides, member tasks</message>
  <message key="product.asian-watchlist-cards.material">Thick cardstock, category index, writable coating</message>
  <message key="product.asian-watchlist-cards.package">52 watchlist cards, 1 ring clasp, 6 blank cards</message>
  <message key="product.bullet1">Unified visual theme built around the GL / BL / LGBTQ+ catalog.</message>
  <message key="product.bullet2">Works for festivals, livestreams, member bundles, and couple screening sets.</message>
  <message key="product.bullet3">Can bundle with short previews, live reservations, and recharge campaigns.</message>
  <message key="product.bullet4">Ready for backend replacement of real SKUs, stock, shipping, and service rules.</message>
  <message key="product.buyNow">Buy now</message>
  <message key="product.channelText">Physical goods, vouchers, and collectibles use their own product photography, not film stills.</message>
  <message key="product.coreHeading">Key Selling Points</message>
  <message key="product.couple-ticket-voucher.fit">Online screenings, premiere reservations, member gifts</message>
  <message key="product.couple-ticket-voucher.material">Digital redemption code and dynamic QR voucher</message>
  <message key="product.couple-ticket-voucher.package">1 digital card, 1 redemption code, 1 instruction note</message>
  <message key="product.detail.body">{title} is built around rainbow festivals, queer romance watchlists, and creator livestreams. It can be sold through live shopping, the standalone shop, or member point redemption.</message>
  <message key="product.detail.heading">Festival goods and keepsakes for GL / BL fans</message>
  <message key="product.detail.kicker">PRIDE CINEMA PICK</message>
  <message key="product.festival-tshirt.fit">Livestream hosts, festival volunteers, daily styling</message>
  <message key="product.festival-tshirt.material">230g cotton, relaxed fit, screen print</message>
  <message key="product.festival-tshirt.package">1 T-shirt, 1 size card, 1 theme sticker</message>
  <message key="product.field.channel">Shop channel</message>
  <message key="product.field.fit">Use cases</message>
  <message key="product.field.material">Material</message>
  <message key="product.field.package">Package</message>
  <message key="product.figureCaption">High-resolution product image for main visuals, detail pages, and admin asset management.</message>
  <message key="product.glbl-postcards.fit">Fan collecting, watchlist inserts, gift messages</message>
  <message key="product.glbl-postcards.material">400g ivory card, spot UV, rounded corners</message>
  <message key="product.glbl-postcards.package">24 postcards, 1 clear sleeve, 1 theme sticker</message>
  <message key="product.love-wins-blanket.fit">Home screenings, midnight livestreams, couple gift boxes</message>
  <message key="product.love-wins-blanket.material">Double-sided flannel, stitched edges, machine washable</message>
  <message key="product.love-wins-blanket.package">1 screening blanket, 1 storage strap, 1 care card</message>
  <message key="product.midnight-fragrance.fit">Home cinema, livestream backgrounds, gift box pairing</message>
  <message key="product.midnight-fragrance.material">Woody reed diffuser, glass bottle, flameless reeds</message>
  <message key="product.midnight-fragrance.package">100ml diffuser, 6 reeds, 1 fragrance card</message>
  <message key="product.pride-canvas-tote.fit">Festivals, daily commuting, livestream signing gift bag</message>
  <message key="product.pride-canvas-tote.material">12 oz canvas, water-resistant lining, rainbow woven label</message>
  <message key="product.pride-canvas-tote.package">1 canvas tote, 1 collector tag, 1 dust bag</message>
  <message key="product.pride-screening-badges.fit">Festival entry, bag styling, livestream giveaways</message>
  <message key="product.pride-screening-badges.material">Tinplate badges, matte film, pin backs</message>
  <message key="product.pride-screening-badges.package">8 badges, 1 theme backing card, 1 protective pouch</message>
  <message key="product.queer-poster-set.fit">Room decor, festival booths, signing events</message>
  <message key="product.queer-poster-set.material">250g art paper, matte lamination, A3 size</message>
  <message key="product.queer-poster-set.package">6 A3 posters, 1 poster tube, 1 numbered collector card</message>
  <message key="product.relatedTitle">Similar Products</message>
  <message key="product.service.authentic">Authentic goods</message>
  <message key="product.service.body">Shop orders use cash payments and support international Alipay, WeChat Pay, and cards. Physical goods ship by order, and users can track logistics or request support from the account center. Virtual goods and redeemed benefits follow platform rules.</message>
  <message key="product.service.payment">Secure payment</message>
  <message key="product.service.shipping">Shipping tracking</message>
  <message key="product.service.support">Support history</message>
  <message key="product.service.title">Packaging and Support</message>
  <message key="product.signed-still-book.fit">Collecting, creator signings, premium member gifts</message>
  <message key="product.signed-still-book.material">Hardcover binding, matte paper, silver numbered stamp</message>
  <message key="product.signed-still-book.package">1 still book, 1 signed page, 1 certificate</message>
  <message key="product.spec.afterSales">Support</message>
  <message key="product.spec.afterSalesValue">7-day return for eligible goods; redeemed virtual vouchers are non-refundable</message>
  <message key="product.spec.fit">Use</message>
  <message key="product.spec.headers.item">Item</message>
  <message key="product.spec.headers.value">Value</message>
  <message key="product.spec.material">Material</message>
  <message key="product.spec.name">Product name</message>
  <message key="product.spec.package">Package</message>
  <message key="product.subtitle-sticker-pack.fit">Phone cases, laptops, ticket albums, fan swaps</message>
  <message key="product.subtitle-sticker-pack.material">Waterproof PVC, clear release sheet, custom cuts</message>
  <message key="product.subtitle-sticker-pack.package">36 stickers and 1 theme envelope</message>
  <message key="product.tabs.detail">Product Details</message>
  <message key="product.tabs.service">Packaging and Support</message>
  <message key="product.tabs.specs">Specifications</message>
  <message key="product.ticket-stub-album.fit">Ticket collecting, date records, member check-in gifts</message>
  <message key="product.ticket-stub-album.material">PU cover, clear inner pages, magnetic clasp</message>
  <message key="product.ticket-stub-album.package">1 album, 2 index stickers, 12 date cards</message>
  <message key="simple.about.block1.body">JNN is operated by Centrium Limited. We focus on short dramas and provide services for discovering titles, reading synopses, selecting episodes, saving favourites, and keeping viewing history.</message>
  <message key="simple.about.block1.title">About JNN</message>
  <message key="simple.about.block2.body">JNN brings together short dramas across urban life, romance, suspense, period stories, family, personal growth, and other genres. Audiences can discover titles through categories, search, and recommendations, then review story, episode, and related-title information before watching. Specific titles, language versions, and viewing availability may vary because of rights, territory, and applicable rules.</message>
  <message key="simple.about.block2.title">Content and Experience</message>
  <message key="simple.about.block3.body">We value clear and accurate title information, respect content rights, and protect user privacy. JNN aims to provide a simple, welcoming, and understandable browsing and viewing experience for audiences from different language backgrounds.</message>
  <message key="simple.about.block3.title">Our Principles</message>
  <message key="simple.about.description">JNN is a short-drama discovery and viewing platform for international audiences, making stories easier to find and enjoy across languages.</message>
  <message key="simple.about.title">About Us</message>
  <message key="simple.addresses.description">Manage shipping addresses for shop orders.</message>
  <message key="simple.addresses.title">Shipping Address</message>
  <message key="simple.cart.checkout">Checkout</message>
  <message key="simple.cart.description">Confirm items, quantities, and totals before checkout.</message>
  <message key="simple.cart.title">Cart</message>
  <message key="simple.checkout.address">Shipping address</message>
  <message key="simple.checkout.confirm">Order confirmation</message>
  <message key="simple.checkout.description">Shop orders use cash payments and are recorded separately from video point spending.</message>
  <message key="simple.checkout.payment">Payment method</message>
  <message key="simple.checkout.submit">Submit order</message>
  <message key="simple.checkout.title">Shop Checkout</message>
  <message key="simple.contact.block1.body">Official support email: support@jiniangniang.com. For login, account, or playback problems, tell us whether you use JNN IOS (iPhone) or the JNN website. Include the app or browser version, device model, time of the issue, and relevant screenshots. Do not send passwords, verification codes, or complete payment details.</message>
  <message key="simple.contact.block1.title">Support and Help</message>
  <message key="simple.contact.block2.body">For personal data access, correction, deletion, or account closure requests, email support@jiniangniang.com with the subject “Privacy Request”. We may verify account ownership to protect your data. Copyright complaints should include the title, content link, explanation of your rights, and contact details. Business enquiries may use the same email.</message>
  <message key="simple.contact.block2.title">Privacy and Copyright Requests</message>
  <message key="simple.contact.block3.body">JNN is operated by Centrium Limited. Company address: ROOM 602, 6/F, KAI YUE COMMERCIAL BUILDING, NO. 2C ARGYLE STREET, MONG KOK, KOWLOON, HONG KONG. Use only the contact channels published on this page. Never share passwords, verification codes, or remote access to your device.</message>
  <message key="simple.contact.block3.title">Company Details and Security</message>
  <message key="simple.contact.block4.body">To access, correct, delete, or withdraw consent for personal information, close an account, or ask about processing rules, email support and mark the subject as “Privacy Request”.

To protect account security, we may verify account ownership. We will respond within the period required by applicable law or explain why more time is needed.</message>
  <message key="simple.contact.block4.title">Privacy Requests</message>
  <message key="simple.contact.block5.body">For recharge, deduction, duplicate payment, missing points, abnormal unlocks, or refund requests, provide the order number, payment channel reference, payment time, amount, account email, and error message.

We handle these matters under the Recharge Agreement, Refund Rules, and payment channel policies. For fraud, stolen payment methods, shared accounts, bulk refunds, or risk-control bypasses, we may pause service and request further verification.</message>
  <message key="simple.contact.block5.title">Payment, Refund, and Dispute Support</message>
  <message key="simple.contact.block6.body">The platform will not ask for login passwords, SMS codes, full bank card numbers, or remote device control. Use only the website and official emails listed on this page.

If you find a fake website, phishing link, abnormal charge, or stolen account, contact us immediately and change your password.</message>
  <message key="simple.contact.block6.title">Security Reminder</message>
  <message key="simple.contact.description">Support, privacy requests, and copyright enquiries for JNN IOS (iPhone) and the JNN website. Operated by Centrium Limited. Last updated: 2026-08-30.</message>
  <message key="simple.contact.title">Contact Us</message>
  <message key="simple.orders.addressCta">Shipping address</message>
  <message key="simple.orders.description">Shop orders are separate from point spending and include unpaid, pending shipment, shipped, completed, refunding, and refunded states.</message>
  <message key="simple.orders.title">My Shop Orders</message>
  <message key="simple.payment.confirm">Confirm payment</message>
  <message key="simple.payment.description">$1 = 100 points for paid content and tips.</message>
  <message key="simple.payment.failureDescription">Payment was not completed. Please go back and choose a payment method again.</message>
  <message key="simple.payment.failureTitle">Payment failed</message>
  <message key="simple.payment.method">Payment method</message>
  <message key="simple.payment.packages">Recharge packages</message>
  <message key="simple.payment.successDescription">Points have been added. You can view records in the account center.</message>
  <message key="simple.payment.successTitle">Payment successful</message>
  <message key="simple.payment.title">Recharge Points</message>
  <message key="simple.privacy.block1.body">To provide accounts, viewing, recharge, support, security risk control, and recommendations, we may collect registered email, nickname, login records, device information, IP address, browsing and viewing history, favorites, recharge orders, point ledgers, support conversations, and screenshots or proof submitted by users.

Sensitive payment data such as card numbers or bank accounts are usually handled directly by payment providers. We keep only order numbers, amounts, payment status, channel identifiers, and necessary reconciliation information.</message>
  <message key="simple.privacy.block1.title">Information We Collect</message>
  <message key="simple.privacy.block2.body">We process personal information to perform the service contract, obtain consent, fulfill legal obligations, protect account and transaction security, handle user requests, and improve the service experience.

Typical uses include registration, login, catalog display, viewing progress, recharge and deductions, point issuance, refunds, support responses, abnormal transaction detection, anti-fraud, operational statistics, and legal compliance.</message>
  <message key="simple.privacy.block2.title">Purposes and Legal Bases</message>
  <message key="simple.privacy.block3.body">Payment records, precise verification materials, account security logs, complaints, and viewing records that may imply sexual orientation or preferences can be sensitive or higher-risk information. We process them only when necessary and apply stricter access controls.

The platform is for users with full civil capacity. Minors should use the service with guardian consent and guidance. Guardians may contact support if a minor recharges or submits information without consent.</message>
  <message key="simple.privacy.block3.title">Sensitive Information and Minors</message>
  <message key="simple.privacy.block4.body">To deliver the service, we may share or entrust necessary information with cloud providers, payment institutions, email or SMS services, support systems, risk-control systems, content licensors, analytics services, and legal or compliance advisers.

For cross-border access or overseas service nodes, we evaluate data security under applicable law, disclose processing purposes and recipient categories where required, and use contracts, permission controls, encrypted transmission, and data minimization.</message>
  <message key="simple.privacy.block4.title">Sharing, Processing, and Cross-Border Access</message>
  <message key="simple.privacy.block5.body">You may request access, correction, supplementation, deletion, withdrawal of consent, account closure, explanations of processing rules, or limits on automated recommendations and marketing messages. Some requests may be delayed due to order retention, audit, dispute handling, security risk control, or legal duties.

Submit requests from your registered email to support@jiniangniang.com. We may verify identity before disclosure or deletion to protect the account.</message>
  <message key="simple.privacy.block5.title">User Rights</message>
  <message key="simple.privacy.block6.body">We keep personal information only for the period needed for the processing purpose. Orders, payments, logs, and dispute materials may be retained as required for finance, tax, cybersecurity, consumer protection, and limitation-period purposes.

We use access controls, encrypted transmission, log redaction, backup recovery, abnormal login alerts, payment status checks, and least-privilege internal access. No online service can guarantee absolute security, but we continually improve protection.</message>
  <message key="simple.privacy.block6.title">Retention and Security</message>
  <message key="simple.privacy.block7.body">When this Policy changes, the page will show a new update date. For material changes to processing purposes, information types, sharing recipients, or user rights, we may notify users through page prompts, email, or in-site messages.

For privacy questions, complaints, or rights requests, contact support@jiniangniang.com and mark the subject as “Privacy Request”.</message>
  <message key="simple.privacy.block7.title">Updates and Contact</message>
  <message key="simple.privacy.description">How we collect, use, store, share, and protect personal information. Last updated: 2026-06-22.</message>
  <message key="simple.privacy.title">Privacy Policy</message>
  <message key="simple.rechargeAgreement.block1.body">Points are in-platform digital benefits used to unlock shorts, series, tips, or specified campaigns. They are not cash, deposits, securities, virtual currency, or prepaid cards. Points do not accrue interest and cannot be withdrawn, bought, sold, gifted, inherited, or circulated outside the platform unless expressly required by law or platform rules.

Point balances, recharge records, spending records, and refund records follow the platform backend and payment channel reconciliation results.</message>
  <message key="simple.rechargeAgreement.block1.title">Nature of Points</message>
  <message key="simple.rechargeAgreement.block2.body">The page will display recharge packages, prices, credited points, bonus points, currency, payment channel, and campaign period. Before confirming payment, users should check the account, amount, package, and payment method.

Points usually arrive automatically after successful payment. If network delay, payment callback failure, or risk review causes non-arrival, keep payment proof and contact support.</message>
  <message key="simple.rechargeAgreement.block2.title">Pricing and Arrival</message>
  <message key="simple.rechargeAgreement.block3.body">Points can be used for paid episode unlocks, short drama episodes or packages, continued viewing after previews, flower tips, and other published digital services. Content may have territory, language, device, validity, or license limits.

Bonus, campaign, or compensation points may have separate validity periods, use scopes, and refund limits shown on campaign pages or support replies.</message>
  <message key="simple.rechargeAgreement.block3.title">Use Scope</message>
  <message key="simple.rechargeAgreement.block4.body">Minors should recharge only with guardian consent and guidance. If a guardian believes there was an unauthorized minor recharge, they should promptly provide account information, payment proof, guardianship proof, and usage details for review under law, channel rules, and actual consumption.

If we detect stolen payments, money laundering risks, chargebacks, bulk registration, abnormal refunds, scripts, or point resale, we may pause crediting, freeze points, limit the account, or request more proof.</message>
  <message key="simple.rechargeAgreement.block4.title">Minors and Abnormal Transactions</message>
  <message key="simple.rechargeAgreement.block5.body">Once points arrive, unused points that meet legal, payment channel, or platform refund rules may be reviewed for refund. Portions used to unlock content, tip, redeem benefits, or join campaigns generally cannot be returned as cash.

System errors, duplicate charges, failed arrival that cannot be reissued, or long-term unavailability caused by the platform may be handled under the Refund Rules.</message>
  <message key="simple.rechargeAgreement.block5.title">Refunds and Reversal</message>
  <message key="simple.rechargeAgreement.block6.body">Where invoices or receipts are required by local law, users may submit order information according to page instructions. Exchange rates, bank fees, taxes, chargeback fees, and third-party channel restrictions follow payment provider and local legal rules.

Payments through Apple, Google, credit cards, wallets, or other third-party channels are also subject to those channel terms and refund policies.</message>
  <message key="simple.rechargeAgreement.block6.title">Receipts, Taxes, and Channel Rules</message>
  <message key="simple.rechargeAgreement.description">Point recharge, arrival, use, refund boundaries, and risk reminders. Last updated: 2026-06-22.</message>
  <message key="simple.rechargeAgreement.title">Recharge Agreement</message>
  <message key="simple.refundPolicy.block1.body">Refund handling considers consumer protection, e-commerce, contract, cybersecurity, payment channel rules, and digital content immediate-delivery practices. We protect users' rights to know prices, benefits, validity, and refund conditions while preventing abusive refunds and payment circumvention.

Before applying, confirm the order type: unused recharged points, unlocked content, duplicate charge, missing points, playback fault, unauthorized minor recharge, or other abnormal issue.</message>
  <message key="simple.refundPolicy.block1.title">Basic Principles</message>
  <message key="simple.refundPolicy.block2.body">The following can usually be reviewed: duplicate charges; paid points not arriving for a long time and cannot be reissued; system error causing wrong account or amount; paid content cannot play due to platform reasons and cannot be restored; content removed shortly after payment due to platform reasons; verified unauthorized minor recharge.

Users should provide registered email, order number, payment proof, screenshots, device information, and time of occurrence.</message>
  <message key="simple.refundPolicy.block2.title">Usually Eligible for Review</message>
  <message key="simple.refundPolicy.block3.body">The following are usually not refundable: content already started or fully used; unlocked episodes, packages, or tips; refunds based only on personal preference, plot dissatisfaction, or mistaken operation after benefits were consumed; losses caused by shared accounts, leaked passwords, or point resale; account limits caused by rule violations.

Mandatory refund rights under law or payment channel rules remain unaffected.</message>
  <message key="simple.refundPolicy.block3.title">Usually Not Refundable</message>
  <message key="simple.refundPolicy.block4.body">Eligible refunds are usually returned to the original payment path or to the platform point account. If payment providers, banks, card networks, or app stores are involved, arrival time follows third-party processing.

We will review as soon as complete materials are received. Complex cases may require further verification with content owners, payment channels, or risk-control teams.</message>
  <message key="simple.refundPolicy.block4.title">Refund Method and Timing</message>
  <message key="simple.refundPolicy.block5.body">For minor recharge refund requests, guardians should provide guardianship proof, minor usage details, payment proof, and account information. We evaluate recharge frequency, consumed content, viewing records, device, and login environment.

For card theft, chargebacks, or third-party payment disputes, we may suspend related points and account rights until payment risk is resolved.</message>
  <message key="simple.refundPolicy.block5.title">Minors, Stolen Payments, and Chargebacks</message>
  <message key="simple.refundPolicy.block6.body">For frequent abnormal refunds, bulk micro-refunds, repeated refunds after viewing, false evidence, refusal to verify, or channel loophole abuse, we may reject refunds, limit payments, freeze accounts, and preserve evidence.

If users disagree with the result, they may submit additional materials by support email for review.</message>
  <message key="simple.refundPolicy.block6.title">Refund Abuse and Appeals</message>
  <message key="simple.refundPolicy.description">Recharge, paid content, abnormal orders, and refund review process. Last updated: 2026-06-22.</message>
  <message key="simple.refundPolicy.title">Refund Rules</message>
  <message key="simple.shopAfterSales.block1.body">Physical goods can request after-sales support by order. Virtual goods and vouchers are generally non-refundable after redemption. Final rules need operations and legal confirmation.</message>
  <message key="simple.shopAfterSales.block1.title">Support note</message>
  <message key="simple.shopAfterSales.description">Product refunds, support, and logistics are separate from video point refunds.</message>
  <message key="simple.shopAfterSales.title">Shop After-Sales Rules</message>
  <message key="simple.terms.block1.body">These Terms apply to the JNN website, mobile pages, account system, shorts, series, point recharges, tipping, support, and related admin services. By registering, logging in, browsing, recharging, unlocking content, or continuing to use the service, you confirm that you have read and accepted these Terms.

If you use the platform on behalf of an organization, you must have proper authority. If you do not agree, stop registering, recharging, or using paid content.</message>
  <message key="simple.terms.block1.title">Acceptance and Scope</message>
  <message key="simple.terms.block2.body">You must provide accurate and reachable registration information and are responsible for viewing, recharge, unlock, tipping, favorites, and support actions under your account. You may not rent, lend, transfer, sell accounts, or access the platform through bots, credential stuffing, scraping, or similar tools.

If your account is stolen, has abnormal login activity, or has unauthorized payment, change your password and contact support immediately. We will help verify losses caused by poor account custody, account sharing, or leaked codes, but do not promise to assume all responsibility.</message>
  <message key="simple.terms.block2.title">Account Registration and Security</message>
  <message key="simple.terms.block3.body">The platform provides shorts, series, posters, stills, subtitles, multilingual metadata, and recommendations. Unless stated otherwise, users receive a personal, non-commercial, non-transferable, non-sublicensable streaming or limited viewing right, not ownership of films, images, subtitles, or assets.

Content may be adjusted, removed, or restricted due to copyright terms, territory licenses, compliance review, maintenance, licensor withdrawal, or changes in law. We will make reasonable efforts to protect paid rights but cannot guarantee permanent availability of all content.</message>
  <message key="simple.terms.block3.title">Content Service and License Scope</message>
  <message key="simple.terms.block4.body">Users may not upload, post, spread, or assist in spreading illegal, infringing, harassing, hateful, minor-inappropriate, malicious advertising, malware, cracking tools, hotlink resources, secretly recorded videos, unauthorized reposts, or paywall-circumvention materials.

Users may not reverse engineer, scrape, record and distribute, bulk download, resell points, or disrupt normal operations. Depending on severity, we may delete content, restrict features, suspend accounts, deny abusive refunds, preserve evidence, and cooperate with lawful authorities.</message>
  <message key="simple.terms.block4.title">User Conduct</message>
  <message key="simple.terms.block5.body">Paid content, points, previews, free first episodes, per-episode unlocks, package unlocks, tipping, and campaigns follow the page display and specific rules. Points are in-platform digital benefits for designated services. They are not cash, deposits, or prepaid cards and, unless required by law or platform rules, cannot be withdrawn, transferred, or traded offline.

Recharges and refunds are governed by the Recharge Agreement and Refund Rules. If a price, benefit, or campaign page conflicts with these Terms, the more specific and newer rule applies.</message>
  <message key="simple.terms.block5.title">Fees, Points, and Special Rules</message>
  <message key="simple.terms.block6.body">The platform pages, trademarks, logos, layout, software, film metadata, images, subtitles, copy, and recommendation structures are protected by copyright, trademark, and related laws. Without authorization, they may not be copied, adapted, translated, compiled, publicly communicated, or commercially used.

To the extent permitted by law, the platform is responsible for service interruptions caused by force majeure, network failures, third-party payments, or licensors only according to its fault. Disputes should first be submitted to support for negotiation; unresolved disputes will be handled by the competent forum allowed by applicable law.</message>
  <message key="simple.terms.block6.title">IP, Liability, and Disputes</message>
  <message key="simple.terms.description">Rules for accounts, viewing, points, intellectual property, user conduct, and disputes. Last updated: 2026-06-22.</message>
  <message key="simple.terms.title">Terms of Service</message>
  <message key="status.completed">Completed</message>
  <message key="status.freeEntry">Free entry</message>
  <message key="status.pendingShipment">Pending shipment</message>
  <message key="status.replayPurchased">Replay purchased</message>
  <message key="status.reserved">Reserved</message>
  <message key="table.address">Address</message>
  <message key="table.amount">Amount</message>
  <message key="table.benefit">Benefit</message>
  <message key="table.content">Content</message>
  <message key="table.default">Default</message>
  <message key="table.live">Live</message>
  <message key="table.logistics">Logistics</message>
  <message key="table.order">Order</message>
  <message key="table.phone">Phone</message>
  <message key="table.points">Points</message>
  <message key="table.product">Product</message>
  <message key="table.purpose">Purpose</message>
  <message key="table.quantity">Quantity</message>
  <message key="table.recipient">Recipient</message>
  <message key="table.status">Status</message>
  <message key="table.subtotal">Subtotal</message>
  <message key="table.time">Time</message>
  <message key="table.unitPrice">Unit price</message>
  <message key="token.badge">Badge</message>
  <message key="token.behindScenes">Behind scenes</message>
  <message key="token.bestSeller">Best seller</message>
  <message key="token.bl">BL Men</message>
  <message key="token.collectorSet">Collector set</message>
  <message key="token.exclusive">Exclusive</message>
  <message key="token.extras">Extras</message>
  <message key="token.favorite">Favorite</message>
  <message key="token.festivalMerch">Festival merch</message>
  <message key="token.firstEpisodeFree">First episode free</message>
  <message key="token.free">Free</message>
  <message key="token.gl">GL Women</message>
  <message key="token.hd">HD</message>
  <message key="token.highRated">High rated</message>
  <message key="token.hot">Hot</message>
  <message key="token.inStock">In stock</message>
  <message key="token.interview">Interview</message>
  <message key="token.latest">Latest</message>
  <message key="token.lgbtq">LGBTQ+</message>
  <message key="token.lifestyle">Lifestyle</message>
  <message key="token.limited">Limited</message>
  <message key="token.liveNow">Live now</message>
  <message key="token.liveSameStyle">Live same style</message>
  <message key="token.liveShopping">Live shopping</message>
  <message key="token.lowPrice">Low price</message>
  <message key="token.lowStock">Low stock</message>
  <message key="token.lowestPrice">Lowest price</message>
  <message key="token.merch">Merch</message>
  <message key="token.newArrival">New</message>
  <message key="token.paid">Paid</message>
  <message key="token.poster">Poster</message>
  <message key="token.premiere">Premiere</message>
  <message key="token.preview">Preview</message>
  <message key="token.productSpecial">Product special</message>
  <message key="token.replay">Replay</message>
  <message key="token.reserve">Reserved</message>
  <message key="token.screening">Screening</message>
  <message key="token.set">Set</message>
  <message key="token.sticker">Sticker</message>
  <message key="token.stockFirst">Stock first</message>
  <message key="token.tipsEnabled">Tips enabled</message>
  <message key="token.topRated">Top rated</message>
  <message key="token.upcoming">Upcoming</message>
  <message key="token.virtualProduct">Virtual item</message>
  <message key="token.virtualTicket">Virtual ticket</message>
  <message key="token.voucher">Voucher</message>
  <message key="token.watchlist">Watchlist</message>
  <message key="watch.cart">Cart</message>
  <message key="watch.episode1">Episode 1</message>
  <message key="watch.episode2">Episode 2</message>
  <message key="watch.favorite">Favorite</message>
  <message key="watch.flowers">Send flowers</message>
  <message key="watch.info">Viewing Info</message>
  <message key="watch.liveInteraction">Live Interaction</message>
  <message key="watch.liveProducts">Live Products</message>
  <message key="watch.liveSubtitle">Live status: live now · free entry · tip and buy live products on the side</message>
  <message key="watch.related">Related</message>
  <message key="watch.seriesSubtitle">Playback status: first episode free · next episode requires points</message>
  <message key="watch.shortSubtitle">Short playback · free/preview · favorite and tip enabled</message>
  <message key="word.件">items</message>
  <message key="word.分">score</message>
  <message key="word.天售后">day support</message>
  <message key="word.已售">Sold</message>
  <message key="word.库存">Stock</message>
  <message key="word.挂商品">linked products</message>
  <message key="word.积分">points</message>
  <message key="word.集">eps</message>
</messages>
