PageSourceSearch

https://proxyhat.com/_nuxt/DiqCaaJa.js

js proxyhat.com collected 2026-10-04 05:23:07 UTC 30,335 bytes, 83 lines download raw bytes

1import{x as G,u as I,a as R,Z as W,b as K,r as x,D as Q,$ as O,H as J,e as p,I as Z,h as l,j as e,n as C,w as u,m as T,t,s as d,k as g,l as h,S as _,q as X,_ as Y,B as ee,i as n,v as D,z as se,A as te,a6 as z}from"#entry";import{_ as oe}from"./CSPDypkX.js";import{u as ae}from"./Cz8sdWAb.js";const ie={class:"solution-page"},ne={class:"container"},le={class:"breadcrumb","aria-label":"Breadcrumb"},ce={class:"current"},re={class:"hero"},ue={class:"eyebrow"},de={class:"hero-title"},ge=["innerHTML"],he={class:"hero-cta"},pe={class:"trust-badges"},Ce={class:"badge"},Te={class:"badge"},ze={class:"badge"},ye={class:"definition-section"},me={class:"section-title"},ve=["innerHTML"],ke={class:"regions-section"},_e={class:"section-title"},be={class:"section-subtitle"},fe={class:"regions-grid"},we={class:"region-count"},$e={class:"why-section"},Se={class:"section-title"},xe={class:"why-grid"},De={class:"why-title"},Me={class:"why-desc"},Ae={class:"challenges-section"},Pe={class:"section-title"},Le={class:"section-subtitle"},Be={class:"challenges-grid"},He={class:"challenge-card"},je={class:"challenge-header"},qe={class:"solution-badge"},Ue={class:"solution-label"},Fe={class:"solution-text"},Ve={class:"challenge-card"},Ee={class:"challenge-header"},Ne={class:"solution-badge"},Ge={class:"solution-label"},Ie={class:"solution-text"},Re={class:"challenge-card"},We={class:"challenge-header"},Ke={class:"solution-badge"},Qe={class:"solution-label"},Oe={class:"solution-text"},Je={class:"challenge-card"},Ze={class:"challenge-header"},Xe={class:"solution-badge"},Ye={class:"solution-label"},es={class:"solution-text"},ss={class:"scenarios-section"},ts={class:"section-title"},os={class:"scenarios-grid"},as={class:"scenario-features"},is={class:"code-section"},ns={class:"section-title"},ls={class:"section-subtitle"},cs={class:"code-tabs"},rs=["onClick"],us={class:"protocol-toggle"},ds={class:"code-block"},gs={class:"code-links"},hs={href:"https://docs.proxyhat.com/",target:"_blank",rel:"noopener"},ps={class:"practices-section"},Cs={class:"section-title"},Ts={class:"practices-grid"},zs={class:"practice-number"},ys={class:"selection-section"},ms={class:"section-title"},vs={class:"section-subtitle"},ks={class:"selection-table-wrapper"},_s={class:"selection-table"},bs={class:"metrics-section"},fs={class:"section-title"},ws={class:"metrics-grid"},$s={class:"metric-value"},Ss={class:"metric-label"},xs={class:"metric-desc"},Ds={class:"compliance-section"},Ms={class:"section-title"},As={class:"compliance-grid"},Ps={class:"compliance-card"},Ls={class:"compliance-card"},Bs={class:"compliance-card"},Hs=["innerHTML"],js={class:"faq-section"},qs={class:"section-title"},Us={class:"faq-grid"},Fs={class:"faq-question"},Vs={class:"faq-answer"},Es={class:"final-cta"},Ns={class:"cta-card"},Gs={class:"cta-title"},Is={class:"cta-desc"},Rs={class:"cta-note"},Ws={__name:"localization-testing",setup(Ks){const{t:s}=I({useScope:"global"}),y=R(),M=W(),{isAuthenticated:v}=K(),{navigateToDashboard:A}=ae(),b=()=>v.value?A():M.push(y("/register")),k=x(0),m=x("http");Q({title:s("useCases.localizationTesting.seoTitle"),description:s("useCases.localizationTesting.seoDesc"),ogDescription:s("useCases.localizationTesting.seoOgDesc")}),O([{name:s("useCases.shared.breadcrumbHome"),url:"/"},{name:s("useCases.shared.breadcrumbUseCases"),url:"/use-cases"},{name:s("useCases.localizationTesting.breadcrumb"),url:"/use-cases/localization-testing"}]),J({name:s("useCases.localizationTesting.serviceSchemaName"),description:s("useCases.localizationTesting.serviceSchemaDescription"),serviceType:"Localization Testing Proxy Service",areaServed:s("useCases.localizationTesting.serviceSchemaArea")});const P={render(){return z("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[z("path",{d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9","stroke-linecap":"round","stroke-linejoin":"round"})])}},L={render(){return z("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[z("path",{d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z","stroke-linecap":"round","stroke-linejoin":"round"})])}},B={render(){return z("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[z("path",{d:"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1","stroke-linecap":"round","stroke-linejoin":"round"})])}},H={render(){return z("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[z("path",{d:"M13 10V3L4 14h7v7l9-11h-7z","stroke-linecap":"round","stroke-linejoin":"round"})])}},j=p(()=>[{icon:P,title:s("useCases.localizationTesting.whyAccessTitle"),description:s("useCases.localizationTesting.whyAccessDesc"),color:"#14b8a6"},{icon:L,title:s("useCases.localizationTesting.whyGeoTitle"),description:s("useCases.localizationTesting.whyGeoDesc"),color:"#f59e0b"},{icon:B,title:s("useCases.localizationTesting.whyConsistencyTitle"),description:s("useCases.localizationTesting.whyConsistencyDesc"),color:"#8b5cf6"},{icon:H,title:s("useCases.localizationTesting.whyScaleTitle"),description:s("useCases.localizationTesting.whyScaleDesc"),color:"#ec4899"}]),q=p(()=>[{key:"na",title:s("useCases.localizationTesting.regionNaTitle"),desc:s("useCases.localizationTesting.regionNaDesc"),count:s("useCases.localizationTesting.regionNaCount")},{key:"eu",title:s("useCases.localizationTesting.regionEuTitle"),desc:s("useCases.localizationTesting.regionEuDesc"),count:s("useCases.localizationTesting.regionEuCount")},{key:"ap",title:s("useCases.localizationTesting.regionApTitle"),desc:s("useCases.localizationTesting.regionApDesc"),count:s("useCases.localizationTesting.regionApCount")},{key:"latam",title:s("useCases.localizationTesting.regionLatamTitle"),desc:s("useCases.localizationTesting.regionLatamDesc"),count:s("useCases.localizationTesting.regionLatamCount")},{key:"me",title:s("useCases.localizationTesting.regionMeTitle"),desc:s("useCases.localizationTesting.regionMeDesc"),count:s("useCases.localizationTesting.regionMeCount")},{key:"af",title:s("useCases.localizationTesting.regionAfTitle"),desc:s("useCases.localizationTesting.regionAfDesc"),count:s("useCases.localizationTesting.regionAfCount")}]),U=p(()=>[{key:"ui",title:s("useCases.localizationTesting.scenarioUiTitle"),desc:s("useCases.localizationTesting.scenarioUiDesc"),features:[s("useCases.localizationTesting.scenarioUiFeature1"),s("useCases.localizationTesting.scenarioUiFeature2"),s("useCases.localizationTesting.scenarioUiFeature3")]},{key:"ecom",title:s("useCases.localizationTesting.scenarioEcomTitle"),desc:s("useCases.localizationTesting.scenarioEcomDesc"),features:[s("useCases.localizationTesting.scenarioEcomFeature1"),s("useCases.localizationTesting.scenarioEcomFeature2"),s("useCases.localizationTesting.scenarioEcomFeature3")]},{key:"content",title:s("useCases.localizationTesting.scenarioContentTitle"),desc:s("useCases.localizationTesting.scenarioContentDesc"),features:[s("useCases.localizationTesting.scenarioContentFeature1"),s("useCases.localizationTesting.scenarioContentFeature2"),s("useCases.localizationTesting.scenarioContentFeature3")]},{key:"search",title:s("useCases.localizationTesting.scenarioSearchTitle"),desc:s("useCases.localizationTesting.scenarioSearchDesc"),features:[s("useCases.localizationTesting.scenarioSearchFeature1"),s("useCases.localizationTesting.scenarioSearchFeature2"),s("useCases.localizationTesting.scenarioSearchFeature3")]},{key:"mobile",title:s("useCases.localizationTesting.scenarioMobileTitle"),desc:s("useCases.localizationTesting.scenarioMobileDesc"),features:[s("useCases.localizationTesting.scenarioMobileFeature1"),s("useCases.localizationTesting.scenarioMobileFeature2"),s("useCases.localizationTesting.scenarioMobileFeature3")]},{key:"ad",title:s("useCases.localizationTesting.scenarioAdTitle"),desc:s("useCases.localizationTesting.scenarioAdDesc"),features:[s("useCases.localizationTesting.scenarioAdFeature1"),s("useCases.localizationTesting.scenarioAdFeature2"),s("useCases.localizationTesting.scenarioAdFeature3")]}]),f=p(()=>{const o=m.value,a=o==="socks5"?"1080":"8080",r=o==="socks5"?"socks5":"http";return[{label:s("useCases.localizationTesting.codeTabPython"),code:`from proxyhat import ProxyHat
2import requests
3
4client = ProxyHat(api_key="ph_your_api_key")
5
6# List available countries for geo-testing
7countries = client.locations.countries()
8print(f"Available: {len(countries)} countries")
9
10# Create a sub-user for testing
11tester = client.sub_users.create(
12    proxy_password="secure_pass",
13    name="L10n Tester",
14)
15
16# Test localized content from different regions
17regions = {"us": "en-US", "de": "de-DE", "jp": "ja-JP"}
18
19for country, locale in regions.items():
20    proxy = {
21        "http": f"${r}://{tester.proxy_username}-country-{country}:{tester.proxy_password}@gate.proxyhat.com:${a}",
22        "https": f"${r}://{tester.proxy_username}-country-{country}:{tester.proxy_password}@gate.proxyhat.com:${a}",
23    }
24    response = requests.get("https://yourapp.com", proxies=proxy, timeout=30)
25    print(f"{locale}: {response.status_code}, length={len(response.text)}")`},{label:s("useCases.localizationTesting.codeTabNode"),code:`const { ProxyHat } = require("proxyhat");
26const axios = require("axios");
27const HttpsProxyAgent = require("https-proxy-agent");
28
29const client = new ProxyHat({ apiKey: "ph_your_api_key" });
30
31const countries = await client.locations.countries();
32console.log("Available: " + countries.length + " countries");
33
34const tester = await client.sub_users.create({
35  proxy_password: "secure_pass",
36  name: "L10n Tester",
37});
38
39const regions = { us: "en-US", de: "de-DE", jp: "ja-JP" };
40
41for (const [country, locale] of Object.entries(regions)) {
42  const proxyUrl = "${r}://" + tester.proxy_username
43    + "-country-" + country + ":"
44    + tester.proxy_password + "@gate.proxyhat.com:${a}";
45  const agent = new HttpsProxyAgent(proxyUrl);
46  const res = await axios.get("https://yourapp.com", { httpsAgent: agent });
47  console.log(locale + ": " + res.status);
48}`},{label:s("useCases.localizationTesting.codeTabGo"),code:`package main
49
50import (
51    "context"
52    "fmt"
53    "net/http"
54    "net/url"
55    proxyhat "github.com/ProxyHatCom/go-sdk"
56)
57
58func main() {
59    client := proxyhat.NewClient("ph_your_api_key")
60
61    countries, _ := client.Locations.Countries(context.Background())
62    fmt.Printf("Available: %d countries\\n", len(countries))
63
64    tester, _ := client.SubUsers.Create(context.Background(),
65        proxyhat.CreateSubUserParams{
66            ProxyPassword: "secure_pass",
67            Name:          proxyhat.String("L10n Tester"),
68        },
69    )
70
71    regions := map[string]string{"us": "en-US", "de": "de-DE", "jp": "ja-JP"}
72    for country, locale := range regions {
73        proxyURL, _ := url.Parse(fmt.Sprintf(
74            "${r}://%s-country-%s:%[email protected]:${a}",
75            tester.ProxyUsername, country, tester.ProxyPassword,
76        ))
77        httpClient := &http.Client{
78            Transport: &http.Transport{Proxy: http.ProxyURL(proxyURL)},
79        }
80        resp, _ := httpClient.Get("https://yourapp.com")
81        fmt.Printf("%s: %d\\n", locale, resp.StatusCode)
82    }
83}`}]}),F=p(()=>[{title:s("useCases.localizationTesting.practiceMatrixTitle"),desc:s("useCases.localizationTesting.practiceMatrixDesc")},{title:s("useCases.localizationTesting.practiceStickyTitle"),desc:s("useCases.localizationTesting.practiceStickyDesc")},{title:s("useCases.localizationTesting.practiceEdgeTitle"),desc:s("useCases.localizationTesting.practiceEdgeDesc")},{title:s("useCases.localizationTesting.practiceRegressionTitle"),desc:s("useCases.localizationTesting.practiceRegressionDesc")},{title:s("useCases.localizationTesting.practiceLegalTitle"),desc:s("useCases.localizationTesting.practiceLegalDesc")},{title:s("useCases.localizationTesting.practiceDocTitle"),desc:s("useCases.localizationTesting.practiceDocDesc")}]),V=p(()=>[{key:1,scenario:s("useCases.localizationTesting.selectionScenario1"),proxy:s("useCases.localizationTesting.selectionProxy1"),why:s("useCases.localizationTesting.selectionWhy1"),link:"/proxy/residential"},{key:2,scenario:s("useCases.localizationTesting.selectionScenario2"),proxy:s("useCases.localizationTesting.selectionProxy2"),why:s("useCases.localizationTesting.selectionWhy2"),link:"/proxy/residential"},{key:3,scenario:s("useCases.localizationTesting.selectionScenario3"),proxy:s("useCases.localizationTesting.selectionProxy3"),why:s("useCases.localizationTesting.selectionWhy3"),link:"/proxy/datacenter"},{key:4,scenario:s("useCases.localizationTesting.selectionScenario4"),proxy:s("useCases.localizationTesting.selectionProxy4"),why:s("useCases.localizationTesting.selectionWhy4"),link:"/proxy/mobile"},{key:5,scenario:s("useCases.localizationTesting.selectionScenario5"),proxy:s("useCases.localizationTesting.selectionProxy5"),why:s("useCases.localizationTesting.selectionWhy5"),link:"/proxy/residential"},{key:6,scenario:s("useCases.localizationTesting.selectionScenario6"),proxy:s("useCases.localizationTesting.selectionProxy6"),why:s("useCases.localizationTesting.selectionWhy6"),link:"/proxy/datacenter"}]),E=p(()=>[{key:"countries",value:s("useCases.localizationTesting.metricCountriesValue"),label:s("useCases.localizationTesting.metricCountriesLabel"),desc:s("useCases.localizationTesting.metricCountriesDesc")},{key:"ips",value:s("useCases.localizationTesting.metricIpsValue"),label:s("useCases.localizationTesting.metricIpsLabel"),desc:s("useCases.localizationTesting.metricIpsDesc")},{key:"targeting",value:s("useCases.localizationTesting.metricTargetingValue"),label:s("useCases.localizationTesting.metricTargetingLabel"),desc:s("useCases.localizationTesting.metricTargetingDesc")},{key:"uptime",value:s("useCases.localizationTesting.metricUptimeValue"),label:s("useCases.localizationTesting.metricUptimeLabel"),desc:s("useCases.localizationTesting.metricUptimeDesc")}]),w=p(()=>[{question:s("useCases.localizationTesting.faqQ1"),answer:s("useCases.localizationTesting.faqA1")},{question:s("useCases.localizationTesting.faqQ2"),answer:s("useCases.localizationTesting.faqA2")},{question:s("useCases.localizationTesting.faqQ3"),answer:s("useCases.localizationTesting.faqA3")},{question:s("useCases.localizationTesting.faqQ4"),answer:s("useCases.localizationTesting.faqA4")}]);return Z(w.value),(o,a)=>{const r=Y,$=ee,N=oe;return n(),l("section",ie,[e("div",ne,[e("nav",le,[C(r,{to:T(y)("/")},{default:u(()=>[d(t(o.$t("useCases.shared.breadcrumbHome")),1)]),_:1},8,["to"]),a[2]||(a[2]=e("span",{class:"separator"},"/",-1)),C(r,{to:T(y)("/use-cases")},{default:u(()=>[d(t(o.$t("useCases.shared.breadcrumbUseCases")),1)]),_:1},8,["to"]),a[3]||(a[3]=e("span",{class:"separator"},"/",-1)),e("span",ce,t(o.$t("useCases.localizationTesting.breadcrumb")),1)]),e("header",re,[e("div",ue,[a[4]||(a[4]=e("span",{class:"dot"},null,-1)),e("span",null,t(o.$t("useCases.localizationTesting.eyebrow")),1
83)]),e("h1",de,t(o.$t("useCases.localizationTesting.title")),1),e("p",{class:"hero-desc",innerHTML:o.$t("useCases.localizationTesting.heroDesc")},null,8,ge),e("div",he,[e("button",{class:"cta-btn primary",onClick:b},[C($,null,{fallback:u(()=>[e("span",null,t(o.$t("useCases.shared.getStarted")),1)]),default:u(()=>[e("span",null,t(T(v)?o.$t("useCases.shared.dashboard"):o.$t("useCases.shared.getStarted")),1)]),_:1}),a[5]||(a[5]=e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M13 7l5 5-5 5M6 12h12","stroke-linecap":"round","stroke-linejoin":"round"})],-1))]),C(r,{to:T(y)("/pricing"),class:"cta-btn secondary"},{default:u(()=>[e("span",null,t(o.$t("useCases.shared.viewPricing")),1)]),_:1},8,["to"])]),e("div",pe,[e("span",Ce,[a[6]||(a[6]=e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M9 12l2 2 4-4","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),d(" "+t(o.$t("useCases.localizationTesting.trustBadge1")),1)]),e("span",Te,[a[7]||(a[7]=e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M9 12l2 2 4-4","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),d(" "+t(o.$t("useCases.localizationTesting.trustBadge2")),1)]),e("span",ze,[a[8]||(a[8]=e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M9 12l2 2 4-4","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),d(" "+t(o.$t("useCases.localizationTesting.trustBadge3")),1)])])]),e("section",ye,[e("h2",me,t(o.$t("useCases.localizationTesting.definitionTitle")),1),e("p",{class:"definition-text",innerHTML:o.$t("useCases.localizationTesting.definitionText")},null,8,ve)]),e("section",ke,[e("h2",_e,t(o.$t("useCases.localizationTesting.regionsTitle")),1),e("p",be,t(o.$t("useCases.localizationTesting.regionsSubtitle")),1),e("div",fe,[(n(!0),l(g,null,h(q.value,i=>(n(),l("div",{key:i.key,class:"region-card"},[a[9]||(a[9]=e("div",{class:"region-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M3 21h18M3 10h18M3 7l9-4 9 4M4 10v11M20 10v11M8 14v3M12 14v3M16 14v3","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(i.title),1),e("p",null,t(i.desc),1),e("span",we,t(i.count),1)]))),128))])]),e("section",$e,[e("h2",Se,t(o.$t("useCases.localizationTesting.whyTitle")),1),e("div",xe,[(n(!0),l(g,null,h(j.value,(i,c)=>(n(),l("article",{key:c,class:"why-card",style:D({"--delay":`${c*.08}s`})},[e("div",{class:"why-icon",style:D({"--accent":i.color})},[(n(),se(te(i.icon)))],4),e("h3",De,t(i.title),1),e("p",Me,t(i.description),1)],4))),128))])]),e("section",Ae,[e("h2",Pe,t(o.$t("useCases.localizationTesting.challengesTitle")),1),e("p",Le,t(o.$t("useCases.localizationTesting.challengesSubtitle")),1),e("div",Be,[e("div",He,[e("div",je,[a[10]||(a[10]=e("span",{class:"challenge-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(o.$t("useCases.localizationTesting.challengeGeoTitle")),1)]),e("p",null,t(o.$t("useCases.localizationTesting.challengeGeoDesc")),1),e("div",qe,[e("span",Ue,t(o.$t("useCases.shared.proxyHatSolution")),1),e("span",Fe,[C(r,{to:T(y)("/proxy/residential"),class:"inline-link"},{default:u(()=>[d(t(o.$t("useCases.localizationTesting.challengeGeoSolutionLink")),1)]),_:1},8,["to"]),d(" "+t(o.$t("useCases.localizationTesting.challengeGeoSolution")),1)])])]),e("div",Ve,[e("div",Ee,[a[11]||(a[11]=e("span",{class:"challenge-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(o.$t("useCases.localizationTesting.challengeCurrencyTitle")),1)]),e("p",null,t(o.$t("useCases.localizationTesting.challengeCurrencyDesc")),1
83),e("div",Ne,[e("span",Ge,t(o.$t("useCases.shared.proxyHatSolution")),1),e("span",Ie,t(o.$t("useCases.localizationTesting.challengeCurrencySolution")),1)])]),e("div",Re,[e("div",We,[a[12]||(a[12]=e("span",{class:"challenge-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(o.$t("useCases.localizationTesting.challengeLangTitle")),1)]),e("p",null,t(o.$t("useCases.localizationTesting.challengeLangDesc")),1),e("div",Ke,[e("span",Qe,t(o.$t("useCases.shared.proxyHatSolution")),1),e("span",Oe,t(o.$t("useCases.localizationTesting.challengeLangSolution")),1)])]),e("div",Je,[e("div",Ze,[a[13]||(a[13]=e("span",{class:"challenge-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(o.$t("useCases.localizationTesting.challengeComplianceTitle")),1)]),e("p",null,t(o.$t("useCases.localizationTesting.challengeComplianceDesc")),1),e("div",Xe,[e("span",Ye,t(o.$t("useCases.shared.proxyHatSolution")),1),e("span",es,t(o.$t("useCases.localizationTesting.challengeComplianceSolution")),1)])])])]),e("section",ss,[e("h2",ts,t(o.$t("useCases.localizationTesting.scenariosTitle")),1),e("div",os,[(n(!0),l(g,null,h(U.value,i=>(n(),l("div",{key:i.key,class:"scenario-card"},[e("h3",null,t(i.title),1),e("p",null,t(i.desc),1),e("ul",as,[(n(!0),l(g,null,h(i.features,(c,S)=>(n(),l("li",{key:S},t(c),1))),128))])]))),128))])]),e("section",is,[e("h2",ns,t(o.$t("useCases.localizationTesting.codeTitle")),1),e("p",ls,t(o.$t("useCases.localizationTesting.codeSubtitle")),1),e("div",cs,[(n(!0),l(g,null,h(f.value,(i,c)=>(n(),l("button",{key:c,class:_(["code-tab",{active:k.value===c}]),onClick:S=>k.value=c},t(i.label),11,rs))),128))]),e("div",us,[e("button",{class:_(["protocol-btn",{active:m.value==="http"}]),onClick:a[0]||(a[0]=i=>m.value="http")},"HTTP",2),e("button",{class:_(["protocol-btn",{active:m.value==="socks5"}]),onClick:a[1]||(a[1]=i=>m.value="socks5")},"SOCKS5",2)]),e("div",ds,[e("pre",null,[e("code",null,t(f.value[k.value].code),1)])]),e("div",gs,[e("a",hs,[a[14]||(a[14]=e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25","stroke-linecap":"round","stroke-linejoin":"round"})],-1)),d(" "+t(o.$t("useCases.shared.docsLink")),1)]),a[15]||(a[15]=X('<a href="https://github.com/ProxyHatCom/python-sdk" target="_blank" rel="noopener" class="sdk-link" data-v-0da8eafb><svg viewBox="0 0 24 24" fill="currentColor" data-v-0da8eafb><path d="M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z" data-v-0da8eafb></path></svg> Python SDK </a><a href="https://github.com/ProxyHatCom/node-sdk" target="_blank" rel="noopener" class="sdk-link" data-v-0da8eafb><svg viewBox="0 0 24 24" fill="currentColor" data-v-0da8eafb><path d="M11.998 24c-.321 0-.641-.084-.922-.247L8.14 22.016c-.438-.245-.224-.332-.08-.383.627-.218.753-.268 1.422-.648.07-.039.162-.024.234.015l2.256 1.339a.307.307 0 00.288 0l8.795-5.076a.291.291 0 00.141-.251V6.937a.299.299 0 00-.144-.256l-8.79-5.072a.286.286 0 00-.285 0L3.389 6.682a.297.297 0 00-.146.254v10.074c0 .104.055.2.145.25l2.409 1.392c1.307.654 2.108-.116 2.108-.89V7.787c0-.149.119-.267.268-.267h1.167c.148 0 .268.118.268.267v9.974c0 1.744-.95 2.746-2.604 2.746-.508 0-.909 0-2.026-.55l-2.307-1.327A1.852 1.852 0 012 17.011V6.937A1.85 1.85 0 012.67 5.51l8.795-5.078a1.924 1.924 0 011.846 0l8.794 5.078c.554.32.896.916.896 1.556v10.074a1.853 1.853 0 01-.896 1.556l-8.795 5.078c-.28.163-.6.226-.92.226h.608z" data-v-0da8eafb></path></svg> Node.js SDK </a><a href="https://github.com/ProxyHatCom/go-sdk" target="_blank" rel="noopener" class="sdk-link" data-v-0da8eafb><svg viewBox="0 0 24 24" fill="currentColor" data-v-0da8eafb><path d="M1.811 10.231c-.047 0-.058-.023-.035-.059l.246-.315c.023-.035.081-.058.128-.058h4.172c.046 0 .058.035.035.07l-.199.303c-.023.036-.082.07-.117.07zM.047 11.306c-.047 0-.059-.023-.035-.058l.245-.316c.023-.035.082-.058.129-.058h5.328c.047 0 .07.035.058.07l-.093.28
83c-.012.047-.058.07-.105.07zm2.828 1.075c-.047 0-.059-.035-.035-.07l.163-.292c.023-.035.07-.07.117-.07h2.337c.047 0 .07.035.07.082l-.023.28c0 .047-.047.082-.082.082zm12.129-2.36c-.736.187-1.239.327-1.963.514-.176.046-.187.058-.34-.117-.174-.199-.303-.327-.548-.444-.737-.362-1.45-.257-2.115.175-.795.514-1.204 1.274-1.192 2.22.012.934.653 1.706 1.576 1.822.795.105 1.46-.175 1.987-.77.105-.13.198-.27.315-.434H10.47c-.245 0-.304-.152-.222-.35.152-.362.432-.97.596-1.274a.315.315 0 01.292-.187h4.253c-.023.316-.023.631-.07.947a4.983 4.983 0 01-.958 2.29c-.841 1.11-1.94 1.8-3.33 1.986-1.145.152-2.209-.07-3.143-.77-.865-.655-1.356-1.52-1.484-2.595-.152-1.274.222-2.419.993-3.424.83-1.086 1.928-1.776 3.272-2.02 1.098-.2 2.15-.07 3.096.571.62.41 1.063.97 1.356 1.648.07.105.023.164-.117.2z" data-v-0da8eafb></path></svg> Go SDK </a>',3))])]),e("section",ps,[e("h2",Cs,t(o.$t("useCases.localizationTesting.practicesTitle")),1),e("div",Ts,[(n(!0),l(g,null,h(F.value,(i,c)=>(n(),l("div",{key:c,class:"practice-card"},[e("span",zs,t(String(c+1).padStart(2,"0")),1),e("h3",null,t(i.title),1),e("p",null,t(i.desc),1)]))),128))])]),e("section",ys,[e("h2",ms,t(o.$t("useCases.localizationTesting.selectionTitle")),1),e("p",vs,t(o.$t("useCases.localizationTesting.selectionSubtitle")),1),e("div",ks,[e("table",_s,[e("thead",null,[e("tr",null,[e("th",null,t(o.$t("useCases.shared.monitoringScenario")),1),e("th",null,t(o.$t("useCases.shared.recommendedProxy")),1),e("th",null,t(o.$t("useCases.shared.why")),1)])]),e("tbody",null,[(n(!0),l(g,null,h(V.value,i=>(n(),l("tr",{key:i.key},[e("td",null,t(i.scenario),1),e("td",null,[C(r,{to:T(y)(i.link),class:"inline-link"},{default:u(()=>[d(t(i.proxy),1)]),_:2},1032,["to"])]),e("td",null,t(i.why),1)]))),128))])])])]),e("section",bs,[e("h2",fs,t(o.$t("useCases.localizationTesting.metricsTitle")),1),e("div",ws,[(n(!0),l(g,null,h(E.value,i=>(n(),l("div",{key:i.key,class:"metric-card"},[e("div",$s,t(i.value),1),e("div",Ss,t(i.label),1),e("div",xs,t(i.desc),1)]))),128))])]),e("section",Ds,[e("h2",Ms,t(o.$t("useCases.localizationTesting.complianceTitle")),1),e("div",As,[e("div",Ps,[a[16]||(a[16]=e("div",{class:"compliance-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(o.$t("useCases.localizationTesting.complianceGdprTitle")),1),e("p",null,t(o.$t("useCases.localizationTesting.complianceGdprDesc")),1)]),e("div",Ls,[a[17]||(a[17]=e("div",{class:"compliance-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(o.$t("useCases.localizationTesting.complianceLegitTitle")),1),e("p",null,t(o.$t("useCases.localizationTesting.complianceLegitDesc")),1)]),e("div",Bs,[a[18]||(a[18]=e("div",{class:"compliance-icon"},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("h3",null,t(o.$t("useCases.localizationTesting.complianceEnterpriseTitle")),1),e("p",null,t(o.$t("useCases.localizationTesting.complianceEnterpriseDesc")),1)])]),e("p",{class:"compliance-note",innerHTML:o.$t("useCases.localizationTesting.complianceNote",{termsLink:T(y)("/legal/terms")})},null,8,Hs)]),e("section",js,[e("h2",qs,t(o.$t("useCases.shared.faqTitle")),1),e("div",Us,[(n(!0),l(g,null,h(w.value,(i,c)=>(n(),l("div",{key:c,class:"faq-item"},[e("h3",Fs,t(i.question),1),e("div",null,[e("p",Vs,t(i.answer),1)])]))),128))])]),C(N,{page:"localization-testing"}),e("section",Es,[a[20]||(a[20]=e("div",{class:"cta-glow"},null,-1)),e("div",Ns,[e("h2",Gs,t(o.$t("useCases.localizationTesting.ctaTitle")),1),e("p",Is,t(o.$t("useCases.localizationTesting.ctaDesc")),1
83),e("button",{class:"cta-btn primary",onClick:b},[C($,null,{fallback:u(()=>[e("span",null,t(o.$t("useCases.shared.getAccess")),1)]),default:u(()=>[e("span",null,t(T(v)?o.$t("useCases.shared.dashboard"):o.$t("useCases.shared.getAccess")),1)]),_:1}),a[19]||(a[19]=e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M13 7l5 5-5 5M6 12h12","stroke-linecap":"round","stroke-linejoin":"round"})],-1))]),e("p",Rs,t(o.$t("useCases.localizationTesting.ctaNote")),1)])])])])}}},Zs=G(Ws,[["__scopeId","data-v-0da8eafb"]]);export{Zs as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.