Home
<
<
translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const
<
!settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[key
Second-Hand Bikes
Shop All Second-HandSee More
Custom Builds
See MoreShop All Second-Hand
Custom Builds for saleCustom Builds
See More
Custom Build Inspiration
Custom Builds for sale
Custom Build Inspiration
Services
See More
Services
WorkshopSee More
See More
Workshop PricesWorkshop
See More
Book a Service
Cycle To Work Schemes
Parts & ComponentsInsure Your Bike
See More
Parts & Components
Brands
See MoreSee More
Hope
Brands
See More
Enve
Hope
Cockpit
See More
Enve
Handlebars
Cockpit
See More
Handlebars
Stems
Grips & Bar-Tape
Headsets
Brakes
See More
Complete Brakes
Brake Rotors
Brake Pads
Brake Spares
Custom Builds for sale
Custom Build Inspiration
Services
See More
Workshop
See More
Workshop Prices
Book a Service
Track Your Service
Services
Workshop
Workshop Prices
Book a Service
Track Your Service
Other
Custom Builds
Cycle To Work Schemes
Insure Your Bike
Parts & Components
Brands
Hope
Enve
Open search barServices
Open cart
My Account
Workshop
Workshop Prices
Open cart
Book a Service
Open navigation menu
Open search bar
Open cart
#ProductTemplate--template--16831240536290__main { background: #ffffff; } .shop-pay-terms { --payment-terms-background-color: #ffffff }
Gloria
Trek
Yeti
Ridgeback
Brother
Genesis
Gloves
Singular
Clothing
Enigma
Socks
Frog
KonaEssentials
Cleaners, Degreasers and Lubrication
Surly
Maintenance
Early Rider
Notify me when this product is available:
Open cart
Open navigation menu
Open search bar
Open cart
<
Custom Build Inspiration