Files
MyIP/frontend/locales/en.json
T
jason5ng32andClaude Fable 5.1 c55634c8e0 Feat(asn): frontend groundwork for the ASN Profile tool
- Registry gate `requiresConfig`: a tool is listed in the Advanced Tools
  grid and the nav only when its backend config is present; the listing
  filter is one pure function. ASN Profile requires the Cloudflare key.
- `useAsnInfo` owns the Radar ASN fetch and its session cache, shared by
  the IP cards and the query dialog.
- ASN Info's traffic-share and connection-quality blocks become small
  components over pure helpers, reusable by the profile page.
- ASN Profile lands as a mock-data page for now.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 19:47:15 +08:00

1765 lines
91 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"user": {
"SignIn": "Sign In",
"SignInWithGoogle": "Sign In with Google",
"SignInWithGithub": "Sign In with GitHub",
"SignOut": "Sign Out",
"SignInToView": "Sign In to View",
"SignInToUse": "Please sign in to use",
"InvalidUserToken": "Invalid User Token",
"QuotaExceeded": "You've used up this month's free quota for this feature. It resets automatically next month.",
"QuotaSponsorCta": "Sponsor Us",
"ViewUsage": "View usage",
"Usage": {
"Title": "Usage Stats",
"Note": "Advanced features come with a free monthly quota, which resets automatically at the start of each month (UTC). Repeat IP advanced data queries are served from cache and don't use your quota.",
"IpinfoFeature": "IP Advanced Data",
"PercentUsed": "{percent}% used",
"SponsorNote": "Sponsoring on GitHub raises your monthly quotas."
},
"MyAchievements": "My Achievements",
"Fields": {
"User": "User",
"CreatedAt": "Created At",
"LastLogin": "Last Login",
"Level": "User Level",
"Fetching": "Fetching...",
"SignInMethods": "Sign-in"
},
"Level": {
"Standard": "Standard User",
"Premium": "Premium User",
"Owner": "Administrator",
"Developer": "Developer",
"HonoraryMember": "Honorary Member"
},
"Benefits": {
"Title": "Benefits & Usage",
"Benefit": "Benefits",
"Note1": "As an open-source product, IPCheck.ing is free to use. Maintaining it takes considerable effort and cost.",
"Note2": "To keep the project running sustainably and prevent abuse, some advanced features require signing in. Every signed-in user gets a generous monthly quota — if it's not enough for you, consider sponsoring us to unlock higher limits.",
"Current": "Current",
"Tiers": {
"Visitor": {
"Name": "Visitors",
"Item1": "IP lookup with multi-source comparison",
"Item2": "Connectivity and service availability checks",
"Item3": "WebRTC / DNS leak tests",
"Item4": "Speed test, global latency and MTR",
"Item5": "Whois, DNS resolver and more advanced tools",
"Item6": "No registration required — open source and self-hostable"
},
"SignedIn": {
"Name": "Signed-in Users",
"Item1": "Everything in Visitors",
"Item2": "View advanced IP data: quality score, proxy detection, network type and nativeness",
"Item3": "Use the invisibility test",
"Item4": "Use the in-depth DNS leak test",
"Item5": "View your achievement badges",
"Item6": "Ask IPilot, our AI assistant",
"Item7": "Advanced features come with a free monthly quota that resets every month"
},
"Sponsor": {
"Name": "Sponsors",
"Item1": "Everything in Signed-in Users",
"Item2": "Higher monthly quotas for advanced features",
"Item3": "Support the ongoing development of this open-source project"
}
}
},
"Achievements": {
"Title": "Achievements",
"Note": "While using IPCheck.ing, you may trigger some achievements. Here you can see all your achievements.",
"Get": "Obtained",
"GetCount": "Obtained Achievements",
"NotGet": "Not Yet",
"NotGetCount": "Not Yet Achievements",
"FooterNote": "Sometimes, there may be some time-limited achievements.",
"Congrats": "🎉 Congratulations",
"CongratsMessage": "You have achieved a new accomplishment!",
"NewAchievementIs": "The new achievement is:",
"Type": {
"IAmHuman": {
"Title": "I Am Human",
"Meet": "Use IPCheck.ing after logging in"
},
"BarelyEnough": {
"Title": "Barely Enough",
"Meet": "Download speed exceeds 100Mb/s"
},
"RapidPace": {
"Title": "Rapid Pace",
"Meet": "Download speed exceeds 500Mb/s"
},
"TorrentFlow": {
"Title": "Torrent Flow",
"Meet": "Download speed exceeds 1000Mb/s"
},
"SteadyGoing": {
"Title": "Steady Going",
"Meet": "Upload speed exceeds 50Mb/s"
},
"TooFastTooSimple": {
"Title": "Too Fast Too Simple",
"Meet": "Upload speed exceeds 200Mb/s"
},
"SwiftAscent": {
"Title": "Swift Ascent",
"Meet": "Upload speed exceeds 1000Mb/s"
},
"SurfaceCheck": {
"Title": "Surface Check",
"Meet": "Complete a security checklist item"
},
"HalfwayThere": {
"Title": "Halfway There",
"Meet": "Complete 50% of the security checklist"
},
"FullySecured": {
"Title": "Fully Secured",
"Meet": "Complete the entire security checklist"
},
"JustInCase": {
"Title": "Just In Case",
"Meet": "Complete a stealth test"
},
"HiddenWell": {
"Title": "Hidden Well",
"Meet": "Proxy and VPN probability are both 0 in the stealth test"
},
"SlipUp": {
"Title": "Slip Up",
"Meet": "Proxy or VPN probability is greater than 50% in the stealth test"
},
"CleverTrickery": {
"Title": "Clever Trickery",
"Meet": "Viewed all keyboard shortcuts"
},
"EnergySaver": {
"Title": "Energy Saver",
"Meet": "Set the program not to run automatically"
},
"ResourceHog": {
"Title": "Resource Hog",
"Meet": "Set multiple refreshes for availability"
},
"MakingBigNews": {
"Title": "Making Big News",
"Meet": "Advanced function calls exceed 1000 times"
},
"GenerousDonor": {
"Title": "Generous Donor",
"Meet": "Donated to the IPCheck.ing project"
},
"ItIsOpen": {
"Title": "It Is Open",
"Meet": "Found a blocked website in the Censorship Check"
},
"CuriousCat": {
"Title": "Curious Cat",
"Meet": "Query IPCheck.ing information in the Whois Search"
},
"CrossingTheWall": {
"Title": "Crossing The Wall",
"Meet": "All 8 test IPs are different in the Rule Test"
},
"GlobeTrotter": {
"Title": "Globe Trotter",
"Meet": "Reach 10 countries or regions in your IP history"
},
"HelloWorld": {
"Title": "Hello World",
"Meet": "Share a status on Earth Online"
},
"AddSweetAdd": {
"Title": "Add Sweet Add",
"Meet": "Add a custom target in the Connectivity test"
},
"PrettyDirty": {
"Title": "Pretty Dirty",
"Meet": "Any IP card shows a quality score of 1"
},
"SqueakyClean": {
"Title": "Squeaky Clean",
"Meet": "Any IP card shows a quality score of 100"
},
"WalkWithPenguins": {
"Title": "Walk With Penguins",
"Meet": "Any IP card locates you in Antarctica"
}
}
}
},
"nav": {
"id": "nav",
"Title": "IPCheck.ing",
"Navigation": "Navigation",
"IPInfo": "IP Infos",
"Connectivity": "Connectivity",
"ServiceStatus": "Service Status",
"WebRTC": "WebRTC Leak Test",
"DNSLeakTest": "DNS Leak Test",
"SpeedTest": "Speed Test",
"PingTest": "Global Latency",
"MTRTest": "MTR Test",
"RuleTest": "Rule Test",
"AdvancedTools": "Advanced Tools",
"SearchDocs": "Search docs…",
"DocsToolConfirm": "Share your current test results?",
"DocsToolSummary": "Read your on-page results",
"DocsToolRunConfirm": "Run tests on your page?",
"DocsToolRunSummary": "Ran your network tests",
"AskIPilot": "Ask IPilot",
"OpenDocs": "Open docs",
"DocsGreetingTitle": "How can I help?",
"DocsGreetingSubtitle": "Ask me anything about MyIP — the tools, your results, or self-hosting.",
"DocsQuestions": [
"Is my VPN leaking my real IP?",
"Why is my IP location wrong?",
"Compare my WebRTC test and DNS leak test results and give me suggestions",
"How do I read MTR results?",
"How do I deploy my own MyIP?",
"I want to sponsor the MyIP project"
],
"pulse": {
"title": "Earth Online",
"tooltip": "Visitors from around the world",
"others": "Others",
"shareStatus": "Share your status",
"liveMap": "Live visitor heatmap",
"noVisitors": "No visitors yet",
"quiet": "All quiet right now — be the first to share",
"loadError": "Couldn't load the latest activity — try again in a moment",
"share": "Visitor share",
"latest": "Latest",
"sent": "Sent",
"alreadySent": "This status has already been sent",
"rateLimited": "Only one status can be shared in a short period",
"limitedTitle": "Limited-time status",
"outages": {
"title": "Global Outage Events",
"outage": "Internet Outage",
"anomaly": "Traffic Anomaly",
"ongoing": "Ongoing",
"ended": "Recovered",
"started": "Started {time}",
"lasted": "Lasted {duration}",
"quiet": "All quiet — no outage events in the past 30 days",
"loadMore": "Load more",
"cause": {
"GOVERNMENT_DIRECTED": "Government Directed",
"POWER_OUTAGE": "Power Outage",
"CABLE_CUT": "Cable Cut",
"TECHNICAL_PROBLEM": "Technical Problem",
"MECHANICAL": "Mechanical Problem",
"UNKNOWN": "Unknown Cause",
"WEATHER": "Severe Weather",
"FIRE": "Fire",
"CYBERATTACK": "Cyberattack",
"NATURAL_DISASTER": "Natural Disaster",
"MAINTENANCE": "Maintenance",
"MILITARY_ACTION": "Military Action"
},
"level": {
"NATIONWIDE": "Nationwide",
"REGIONAL": "Regional",
"NETWORK": "Network"
}
},
"statuses": {
"fast": "Blazing fast network",
"ok": "All good here",
"slow": "Network feels slow",
"flaky": "Connection keeps dropping",
"blocked": "A site won't open",
"good": "Feeling good today",
"bad": "Rough day today",
"passing": "Just passing by",
"lag": "Game lag is unreal",
"newip": "Just got a new IP",
"vpn": "Cruising through a VPN",
"night": "Up late tonight",
"vibing": "Vibe coding",
"fixing": "Fixing the family Wi-Fi again",
"tuning": "Shaved off another 10ms",
"prgday": "Happy 0x100th day!",
"internetday": "LO and behold, happy Internet Day",
"halloween": "Trick or ping!",
"diwali": "Festival of lights (and fiber)",
"christmas": "Santa's on a low-latency route",
"newyear": "New year, new IP!",
"privacyday": "This status is end-to-end encrypted",
"lunar": "May all your red packets arrive",
"valentine": "Looking for a stable connection",
"jobs": "Stay hungry, stay foolish.",
"eid": "Eid Mubarak, world!",
"aprilfools": "My IP is 127.0.0.1",
"earthday": "Logging off to touch grass",
"turing": "This status was sent by a human. Probably.",
"emojiday": "📶🌍🎉✨",
"birthday": "Happy birthday, IPCheck.ing!"
},
"festivalDesc": {
"prgday": "Programmers' Day — the 256th day of the year, 0x100 in hex",
"internetday": "Oct 29, 1969: ARPANET tried to send LOGIN — it crashed after “LO”",
"halloween": "Halloween (Oct 31) — the scariest thing is still packet loss",
"diwali": "Diwali — may your lamps and your fiber both shine",
"christmas": "Christmas — sleigh on a dedicated line, zero jitter",
"newyear": "New Year — fireworks included, no extra bandwidth required",
"privacyday": "Data Privacy Day (Jan 28) — yes, we see the irony of broadcasting this",
"lunar": "Lunar New Year — zero packet loss on the red packets",
"valentine": "Valentine's Day — TCP and true love both start with a handshake",
"jobs": "Steve Jobs's birthday (Feb 24, 1955) — from his 2005 Stanford speech",
"eid": "Eid al-Fitr — warm wishes from this corner of Earth Online",
"aprilfools": "April Fools' Day — there's no place like 127.0.0.1",
"earthday": "Earth Day (Apr 22) — even Earth Online recommends a little Earth Offline",
"turing": "Alan Turing's birthday (Jun 23, 1912) — father of the Turing test",
"emojiday": "World Emoji Day (Jul 17) — words are so last century",
"birthday": "IPCheck.ing's birthday — v1.0 shipped on Nov 6, 2020"
}
},
"preferences": {
"title": "Preferences",
"preferenceTips": "These settings are saved in your browser for easy reuse. Some options require refreshing the page to take effect.",
"colorScheme": "Color Scheme",
"systemAuto": "Auto",
"colorLight": "Day",
"colorDark": "Night",
"ipSourcesToCheck": "Servers To Check IPs",
"ipSourcesToCheckTips": "Select the number of servers to check your IP address. The more servers you select, the more time it will take to complete the check.",
"appSettings": "Program Settings",
"autoRun": "Auto Run",
"autoRunTips": "IP info is always checked when the page loads. Choose which other modules run automatically on startup.",
"simpleMode": "Simple Mode",
"simpleModeTips": "Hide the description text of each module, suitable for users who are already familiar with the application.",
"connectivity": {
"defaultList": "Default List",
"defaultListTips": "The list the section opens on when the page loads.",
"multipleTests": "Multiple Refreshes",
"multipleTestsTips": "Run several checks per pass and show the lowest latency.",
"notifications": "Pop-up Alerts",
"notificationsTips": "Show the initial check's results as a pop-up alert.",
"titleOpensSite": "Card Title Opens Website",
"titleOpensSiteTips": "Clicking a card's title opens the site in a new tab; off leaves the title as plain text."
},
"ipHistory": "IP History",
"ipHistoryEnabled": "Record IP History",
"ipHistoryDays": "Retention Days",
"ipHistoryTips": "When enabled, detected IPs are recorded in this browser only and kept for the selected number of days. Turning it off stops recording; existing records stay until you clear them in the IP History panel.",
"ipDB": "IP Geolocation Database",
"ipDBTips": "You can select the default IP geolocation source to use. If the selected source is unavailable, the system will use the subsequent sources in order.",
"language": "Language Setting",
"languageTips": "Refreshing the browser will take effect. Languages in beta may contain incomplete translations."
},
"DocsPrompt": "Type your question…",
"DocsSignInTitle": "Sign In Required",
"DocsSignInMessage": "Sign in to ask IPilot"
},
"securitychecklist": {
"Title": "Security Checklist",
"Note": "This is a very comprehensive cybersecurity checklist covering aspects such as password security, browsing security, and mobile device security. In the current environment, information leaks can lead to significant losses, thus it is necessary to ensure that we protect our privacy and enhance the security of our access while connected to the internet.",
"Note2": "This list contains many items; you do not need to check everything at once. Progress will be saved in the browser, and you can return at any time to continue the checks.",
"Progress": "Check Progress",
"Item": "Item",
"Items": "Item(s) ",
"Priority": "Priority",
"Ignore": "Ignore",
"alert-total": "The security check has a total of",
"alert-checked": "You have completed",
"alert-ignored": "Ignored",
"alert-unchecked": "Unchecked.",
"Checked": "Checked",
"Ignored": "Ignored",
"Unchecked": "Unchecked",
"Basic": "Basic",
"Optional": "Optional",
"Essential": "Essential",
"Advanced": "Advanced",
"Reset": "Reset Checklist",
"ShowAll": "Show All",
"ShowUnchecked": "Show Unchecked",
"ShowIgnored": "Show Ignored",
"ShowChecked": "Show Checked"
},
"curl": {
"Title": "Command Line API",
"Note1": "Hey, turns out you also like using the terminal?",
"Note2_1": "You can use",
"Note2_2": "command, get the IP address of your machine in terminal",
"Note3": "is an optional path, adding it will obtain the geographical information of the IP",
"Note4": "is your IPCheck.ing API key",
"getIPv4": "Get local machine's IPv4 address",
"getIPv6": "Get local machine's IPv6 address",
"get6and4": "Get the preferred network exit IP address of the local machine",
"notAvailable": "This feature is not available yet"
},
"browserinfo": {
"Title": "Browser Information",
"Note": "This page displays two types of browser information: basic information derived from the browser's User Agent, and a browser fingerprint calculated through various data metrics. Browser fingerprints are akin to the fingerprints on your palm; the more information your browser exposes, the higher your uniqueness to websites, making you more easily trackable. Sometimes, even switching to incognito mode or changing browsers may not alter your fingerprint.",
"Note2": "The methods for calculating browser fingerprints are diverse, and different technical approaches may lead to inconsistent results. Here, we use a relatively simple method for calculation.",
"browser": {
"Infos": "Browser Information",
"browserName": "Browser Name",
"engineName": "Engine",
"osName": "Operating System",
"deviceVendor": "Manufacturer",
"cpuArchitecture": "CPU Architecture",
"gpu": "GPU",
"cpuCores": "CPU Cores",
"languages": "Languages",
"timezone": "Timezone",
"display": "Display",
"connection": "Connection",
"touchPoints": "Touch Points",
"doNotTrack": "Do Not Track",
"doNotTrackOn": "On",
"doNotTrackOff": "Off",
"doNotTrackUnset": "Not Set",
"pdfViewer": "PDF Viewer",
"pdfViewerYes": "Yes",
"pdfViewerNo": "No",
"cookieEnabled": "Cookies Enabled",
"cookieEnabledTrue": "Yes",
"cookieEnabledFalse": "No"
},
"fingerprint": {
"Infos": "Fingerprint Information",
"fingerprint": "Fingerprint Code",
"changeOption": "You can try changing the data used to calculate the browser fingerprint to observe variations (remember to compare it in incognito mode).",
"browserTips": "Some browsers, such as Safari, protect users from tracking by generating different fingerprint values each time, even when the same data is selected."
},
"options": {
"audio": "Audio",
"canvas": "Canvas",
"fonts": "Fonts",
"hardware": "Hardware",
"locales": "Languages",
"permissions": "Permissions",
"plugins": "Plugins",
"screen": "Screen",
"system": "Browser Version",
"webgl": "WebGL",
"math": "Math",
"intl": "Intl Formatters",
"mediaDevices": "Media Devices",
"speech": "Speech Synthesis",
"mathml": "MathML",
"webrtc": "WebRTC"
},
"components": {
"title": "Fingerprint Components",
"note": "Each component below contributes to the hash above. Toggle items in the Fingerprint panel to exclude them from the fingerprint."
},
"calError": "Failed to calculate browser information, please refresh and try again.",
"calculating": "Calculating..."
},
"censorshipcheck": {
"Title": "Censorship Check",
"Note": "Look up where a website has been blocked or interfered with over the past 30 days — and how — based on open data from OONI's global volunteer network. You can then verify suspicious regions with a Globalping realtime probe test. In some countries, internet censorship is clearly defined by law, while in others it is more vague.",
"Note2": "Please enter a URL or domain name to start the lookup:",
"Placeholder": "URL or Domain Name",
"Country": "Region",
"Status": "Status",
"City": "City",
"Network": "Network",
"invalidURL": "Invalid URL or Domain Name",
"fetchError": "Unable to fetch test results",
"HistoryTitle": "Global observations, past 30 days",
"SummaryFlagged": "Signs of blocking or interference were observed in {n} countries/regions over the past 30 days.",
"SummaryClean": "No clear signs of blocking were observed across {n} countries/regions over the past 30 days.",
"SummarySparseFlagged": "Over the past 30 days, only {total} countries/regions observed this website, {n} of which showed signs of blocking or interference.",
"SummarySparseClean": "Over the past 30 days, only {total} countries/regions observed this website ({m} measurements) — too little data to tell whether it is blocked.",
"NoData": "No measurements for this website in the past 30 days — which doesn't mean it isn't blocked. You can tick the heavily-censored countries below and run a realtime test.",
"OoniError": "Historical observation data is temporarily unavailable — the upstream API may be having issues. You can still tick countries below and run a realtime test.",
"TierConfirmed": "Confirmed blocked",
"TierLikely": "Likely blocked",
"TierSigns": "Partial interference",
"Measurements": "{n} measurements",
"AnomalyShare": "{pct}% anomalous",
"MethodDns": "DNS tampering",
"MethodTcpIp": "TCP blocking",
"MethodHttpFailure": "Connection failure",
"MethodHttpDiff": "Content tampering",
"RealtimeTitle": "Realtime Test",
"ResultsHint": "Results will appear here after you select probes and run the test.",
"SectionFlagged": "Flagged countries",
"PresetHighRisk": "Heavily-censored countries",
"PresetOpen": "Usually-open countries",
"RunVerify": "Run Realtime Test",
"RealtimeNote": "You can select multiple probes for real-time connectivity testing to comprehensively evaluate the website's block status. When running the test, 2 probes will be executed per country; matching results from both probes indicate higher reliability.",
"RealtimeFooterNote": "Realtime probes mostly run from datacenter networks; their results can differ from actual residential-network observations, as some websites may block access from datacenter networks. Please read them together and make a judgment based on the actual situation."
},
"invisibilitytest": {
"Title": "Invisibility Test",
"Note": "When you use a proxy or VPN, do the websites you visit really not know that you are using a proxy? Are you truly invisible? We will use various methods to try to calculate the vulnerabilities in your disguise and find evidence that you are using a proxy. Although some test results may not be completely accurate, this test is still highly informative.",
"Note2": "After clicking Run, the system will run a script that usually completes all tests within 10 seconds. During this process, your IP information, browser information, etc. will be collected and analyzed in the background.",
"fetchError": "Unable to fetch test results",
"scriptLoadError": "The test script failed to load, so the test cannot continue. Please check your network and try again.",
"yourIP": "Your main test IP is",
"proxyScore": "Proxy Percentage",
"VPNScore": "VPN Percentage",
"isProxy": "You may be using a proxy.",
"notProxy": "No evidence of you using a proxy was found.",
"isVPN": "You may be using a VPN.",
"notVPN": "No evidence of you using a VPN was found.",
"itemName": "Test Item",
"itemProxyResult": "Test Result",
"itemComment": "Analysis",
"agreement": "I agree",
"blocklist": {
"proxy": {
"title": "Proxy List",
"positive": "Your IP is in the Proxy list.",
"negative": "Your IP is not in the Proxy list."
},
"vpn": {
"title": "VPN List",
"positive": "Your IP is in the VPN list.",
"negative": "Your IP is not in the VPN list."
},
"vpnExitNode": {
"title": "VPN Exit Node List",
"positive": "Your IP is in the VPN exit node list.",
"negative": "Your IP is not in the VPN exit node list."
}
},
"tor": {
"title": "TOR Exit Node",
"positive": "Your IP is in the TOR exit node list.",
"negative": "Your IP is not in the TOR exit node list."
},
"headers": {
"title": "HTTP Headers",
"positive": "Your HTTP headers contain proxy information, indicating that you may be using a proxy.",
"negative": "Your HTTP headers do not contain proxy information."
},
"datacenter": {
"title": "Datacenter IP",
"positive": "Your IP is a datacenter IP, which is not typically used by regular users.",
"negative": "Your IP is not a datacenter IP."
},
"tcp": {
"title": "TCP Fingerprint",
"positive": "The system you are connecting to is different from your computer system, indicating that you may be using a proxy. Although the system's judgment may not be accurate, it is certain that the two systems are different.",
"computer": "Your computer system is: ",
"server": "The system you are connecting to may be: ",
"negative": "The system you are connecting to is the same as your computer system."
},
"timezone": {
"title": "Timezone Difference",
"positive": "Your timezone does not match the geolocation timezone of your IP, indicating that you may be using a proxy.",
"computer": "Your timezone is: ",
"server": "The geolocation timezone of your IP is: ",
"negative": "Your timezone matches the geolocation timezone of your IP."
},
"net": {
"title": "Network Behavior",
"positive": "Based on the client network behavior, it is found that you may be using a proxy or VPN.",
"negative": "Based on the client network behavior, it is found that you are not using a proxy or VPN."
},
"webrtc": {
"title": "WebRTC Detection",
"positive": "WebRTC detected multiple IP addresses from different regions, indicating that you may be using a proxy or VPN.",
"ipsAre": "The IP addresses are: ",
"negative": "No evidence of multiple IP addresses from different regions was found in WebRTC detection."
},
"flow": {
"title": "Traffic Characteristics",
"positive": "Based on the TCP/IP traffic characteristics, it is found that you may be using a proxy or VPN.",
"negative": "Based on the TCP/IP traffic characteristics, it is found that you are not using a proxy or VPN."
},
"latencyVSWS": {
"title": "TCP vs WebSocket Latency",
"positive": "The difference between TCP and WebSocket latency is large, indicating that you may be using a proxy or VPN.",
"fromTCP": "TCP latency value: ",
"fromWS": "WebSocket latency value: ",
"negative": "The difference between TCP and WebSocket latency is not large, indicating that you may not be using a proxy or VPN."
},
"latencyVSPing": {
"title": "TCP vs Ping Latency",
"positive": "TCP latency and Ping difference is large, indicating that you may be using a proxy or VPN.",
"fromTCP": "TCP latency value: ",
"fromPing": "Ping latency value: ",
"negative": "TCP latency and Ping difference is not large, indicating that you may not be using a proxy or VPN."
},
"highlatency": {
"title": "High Latency Analysis",
"positive": "High latency analysis indicates that you may be using a proxy or VPN.",
"negative": "No evidence of you using a proxy or VPN was found in high latency analysis."
}
},
"personacheck": {
"Title": "In-depth Persona Check",
"Note": "There is an old test: if it looks like a duck, swims like a duck and quacks like a duck, it probably is a duck. Sites read you the same way — your IP may claim you are in country A, but your time zone, languages, installed fonts, keyboard and a dozen other signals each tell their own story, and together they are the persona a site actually sees. This tool measures that persona, compares it against the local resident you want to be read as, and shows exactly where the two diverge.",
"NoteVs": "It asks a different question than the Invisibility Test. That one checks whether your proxy itself can be detected; this one checks who sites think they are looking at — and how far that picture is from the one you expect to present.",
"Note2": "Start by choosing the country you want to be read as a local of.",
"axis": {
"match": "Match with the target",
"coherence": "Internal consistency",
"leak": "Identity leak"
},
"zone": {
"expected": "Expected identity",
"optional": "Sharper signals (optional)",
"run": "Run the check"
},
"selectCountry": "Search for a country",
"noCountryMatch": "No matching country",
"noProfile": "This territory has no local profile to compare against.",
"languageSingle": "This country has a single primary language.",
"languageMulti": "This country has several languages — pick the one you want to present.",
"timezoneMulti": "This country spans several time zones — pick the one you want to present.",
"hourCycle": {
"h11": "12-hour clock (0–11)",
"h12": "12-hour clock",
"h23": "24-hour clock",
"h24": "24-hour clock (1–24)"
},
"profile": {
"timezone": "Time zone"
},
"runCompare": "Run the check",
"runError": "The check could not complete.",
"source": {
"ipinfo": "IP lookup",
"webrtc": "WebRTC",
"dnsleak": "DNS leak"
},
"report": {
"grade": {
"A": "🎉 You look every bit like a local of {country}",
"B": "😊 You look somewhat like a local of {country}",
"C": "🤔 You don't quite look like a local of {country}",
"D": "😅 You don't look like a local of {country}",
"unknown": "🤷 Not enough signal to grade"
},
"gradeNote": {
"A": "Every signal we can read agrees with the persona you chose.",
"B": "The persona mostly holds, but a few signals point elsewhere.",
"C": "Several signals disagree with the persona, or with each other — the results below show which.",
"D": "Most signals point somewhere other than this persona.",
"unknown": "Run the underlying tests first — there is too little to go on."
},
"counts": {
"leak": "{n} exposing",
"warning": "{n} inconsistent",
"match": "{n} passing",
"unknown": "{n} unmeasured",
"notApplicable": "{n} not applicable"
},
"nothingActionable": "Nothing to fix — every measurable signal fits the persona.",
"howToFix": "How to fix it",
"verdict": {
"match": "Fits the persona.",
"mismatch": "Contradicts the persona.",
"leak": "Exposes your real environment.",
"unnatural": "Internally inconsistent — two signals that should agree tell different stories, which draws more attention than a plain mismatch.",
"unknown": "Not measurable right now.",
"not-applicable": "No conclusion is possible here."
},
"visibility": {
"public": "Any site sees this",
"probed": "Sites that probe for it",
"risk-engine": "Anti-fraud systems"
},
"profileTitle": "Measurement details",
"state": {
"match": "Passed",
"mismatch": "Not local",
"unnatural": "Inconsistent",
"leak": "Exposed",
"unknown": "Not measured",
"not-applicable": "N/A"
}
},
"detail": {
"expected": "Expected",
"actual": "Actual",
"disputed": "Sources disagree",
"v4": "IPv4",
"v6": "IPv6",
"candidateCount": "Candidates",
"matching": "Matches expected",
"ipType": "Address type",
"expectedOffset": "Expected offset",
"actualOffset": "Actual offset",
"sameOffset": "Same offset",
"primary": "Primary language",
"primaryExpected": "Expected primary",
"demoted": "Listed but not first",
"timeZone": "Time zone",
"reportedOffset": "Offset from Date",
"zoneOffset": "Offset from zone",
"samples": "Samples",
"expectedScripts": "Expected scripts",
"installedScripts": "Installed scripts",
"expectedLanguages": "Expected languages",
"voiceLanguages": "Voice languages",
"voiceCount": "Voices",
"expectedLayout": "Expected layout",
"actualLayout": "Actual layout",
"headerPrimary": "Header primary",
"scriptPrimary": "Script primary",
"headerLanguages": "Header languages",
"ipZone": "IP time zone",
"browserZone": "Browser time zone",
"ipOffset": "IP offset",
"browserOffset": "Browser offset",
"colo": "Cloudflare PoP",
"gpsTimezone": "Time zone at your position",
"accuracyMetres": "Accuracy (m)",
"cardIssuer": "Issuing bank",
"cardNetwork": "Card network",
"cardTier": "Card tier",
"cardType": "Card type"
},
"checks": {
"ip-country": {
"title": "IP country",
"fix": "Part of your exits land outside the target country — with several proxy exits, different cards genuinely show different countries, and any one exit is what some site will see. The fractions above say how many exits agree. Route everything through nodes in the target country; if a single source disagrees about one IP, that node may just be mislabelled in its database, which is not fixable from your side.",
"what": "Which country the IP lookup cards on the home page place your exit address in — every source is read, and every exit has to sit in the target country."
},
"webrtc-leak": {
"title": "WebRTC exposure",
"fix": "Block WebRTC, or use a setup where it can only ever see the proxy address. The cost is real: video calls and voice conferencing stop working. A browser extension that filters WebRTC is gentler than disabling it outright, but the extension itself leaves traces of its own.",
"what": "Whether WebRTC hands out an address from a different country than your persona."
},
"dns-resolver-country": {
"title": "DNS resolver country",
"fix": "Use a resolver in the target country, or let the proxy handle DNS resolution. Note that a public resolver like 1.1.1.1 will not expose your location, but it will not support your persona either — it is equally neutral for every country.",
"what": "Which country the DNS resolvers answering for you sit in."
},
"asn-type": {
"title": "Address type",
"fix": "A datacenter range is the single loudest \"this is a proxy\" signal an address carries. A residential exit fixes it outright, but costs considerably more and varies a lot in quality.",
"what": "Whether your address belongs to a residential ISP or a datacenter range."
},
"timezone-vs-persona": {
"title": "Time zone vs persona",
"fix": "Change the time zone at the operating-system level — that way every browser API stays consistent with itself. Extensions that override the time zone often change only part of it, creating the contradictions flagged under the coherence checks, which is worse than not changing it at all.",
"what": "Whether your browser's time zone is the one a local would have."
},
"language-match": {
"title": "Browser language",
"fix": "Change the language in your system or browser settings rather than rewriting a single HTTP header. The order matters too: sites read the whole list, and a local would rarely lead with a foreign language.",
"what": "Whether the language your browser leads with is one a local would use."
},
"script-fonts": {
"title": "Writing-system fonts",
"fix": "A machine set up for this locale ships that writing system's fonts. Installing them by hand is possible but rarely worth it: it changes one signal while the rest of the system stays in its original language, which usually creates more contradictions than it resolves. If this needs to hold up, the system language itself is the thing to change.",
"what": "Whether fonts for this country's writing system are installed on the machine."
},
"speech-voices": {
"title": "Speech synthesis voices",
"fix": "Text-to-speech packs follow the language your OS was installed with, and essentially no proxy or spoofing extension touches them. Adding a voice pack for the target language is a real fix, with the same caveat as fonts: one changed signal inside an otherwise unchanged system reads as deliberate.",
"what": "Which languages the text-to-speech packs on your system cover."
},
"keyboard-layout": {
"title": "Keyboard layout",
"fix": "Your physical keyboard layout is not what is typical for the target country. Only Chromium browsers expose this, so it is a narrower signal than the others — but wherever it is readable, it is hard to fake without changing the actual keyboard.",
"what": "Which physical keyboard layout your machine reports."
},
"edge-geo-consensus": {
"title": "Edge geolocation",
"fix": "Cloudflare's own reading of your exit address disagrees with the target country. When this and the IP lookup contradict each other, the address is more likely mislabelled in one database than actually moving — but every site behind Cloudflare sees this verdict, not the other one.",
"what": "Cloudflare's own reading of your exit address, formed independently of the databases above."
},
"accept-language-header": {
"title": "Language header vs script",
"fix": "The Accept-Language header your browser sends on the wire does not match what navigator.languages reports to scripts. Almost nothing produces this except an extension that rewrote one and left the other. Change the language in your browser or system settings instead — that moves both at once.",
"what": "Whether the language header sent on the wire matches what scripts are told. Deliberately independent of the target country: a pass only says your two language channels agree — whether the language itself fits is the Browser language check's job. Half-applied language spoofs fail exactly here."
},
"ip-timezone-vs-browser": {
"title": "IP time zone vs browser",
"fix": "The time zone of your exit IP and the one your browser reports are different places. This holds whichever country you are aiming for: a real machine sits somewhere, and both should say the same somewhere. Usually it means the proxy moved your address but not your system clock.",
"what": "Whether the time zone of your IP and the one your browser reports agree."
},
"gps-location": {
"title": "Device location (GPS)",
"fix": "Your device reports being physically in a different country than the one you are aiming for. No proxy touches this: any site that asks for your location gets the real answer, and browser extensions that fake it typically leave the accuracy and timing patterns intact. The realistic options are to deny location permission for sites that ask, or to accept that this one will not hold up.",
"what": "Which country your device reports being physically in."
},
"payment-region": {
"title": "Card issuer country",
"fix": "Your card was issued in a different country than the one you are presenting as. Merchants see the issuing country before almost anything else, and payment risk systems weigh it heavily against the address and IP. There is no browser-side fix for this — it is a property of the card itself.",
"what": "Which country issued the card behind the prefix you entered."
},
"intl-number-format": {
"title": "Number format",
"what": "How your browser groups digits and marks decimals.",
"fix": "Your browser groups numbers the way its own region does, not the way the target country does. This is separate from the language: a machine can carry the right language tag while its region still says elsewhere. Change the region — not just the language — in your system settings: Region on Windows, Language & Region on macOS."
},
"intl-date-format": {
"title": "Date format",
"what": "The order and separators your browser uses when writing a date.",
"fix": "Your browser writes dates in a different order or with different separators than a local would. Like the number format, this follows the system region rather than the language, and changing the region is what moves it."
},
"intl-hour-cycle": {
"title": "Clock format",
"what": "Whether your browser presents a 12-hour or 24-hour clock — the convention sites see when they format times.",
"fix": "The clock format follows the browser's language, not the system's 24-hour toggle — most browsers ignore that switch entirely (Safari is the main exception). To present the target country's convention, switch the browser's language or region to a locale of that country."
},
"timezone-authenticity": {
"title": "Time zone authenticity",
"what": "Whether the time zone your browser reports is the machine's real one.",
"fix": "The zone your browser reports is not the one the machine actually runs on: Intl and Date disagree, or past dates do not follow that zone's daylight-saving rules. This matters because it means the timezone check above passed on a value that is not real — a site reading the clock directly sees through it. Set the zone in your operating system rather than with an extension, and both the current offset and the historical rules move together."
}
},
"reason": {
"no-marker-script": "No marker writing system",
"bin-lookup-failed": "The card lookup service could not be reached — the digits may well be fine; try again later.",
"bin-not-recognized": "The card database did not recognize this prefix — a typo is the most common cause; double-check the digits and run again.",
"font-probe-unavailable": "Canvas unavailable",
"no-voice-packs": "No voice packs installed",
"keyboard-api-unavailable": "Not exposed by this browser",
"no-layout-expectation": "No layout expectation for this country",
"no-persona-languages": "Persona has no language set",
"geolocation-unsupported": "Geolocation not supported",
"ip-no-country": "The IP lookup returned no country",
"ip-no-type": "No source reported the network type",
"ip-no-timezone": "No source reported a time zone",
"webrtc-no-candidates": "WebRTC produced no candidates",
"dns-no-country": "No resolver could be located"
},
"optional": {
"gpsNote": "GPS position is one of the dimensions the check can measure — share it if you want it compared too.",
"gpsButton": "Share location",
"gpsGranted": "Location received.",
"gpsFailed": {
"denied": "Permission denied — this check will report as not measured.",
"timeout": "The location request timed out.",
"unavailable": "Your device could not determine a position.",
"unsupported": "This browser has no geolocation support."
},
"cardNote": "Sometimes you also want to pay as a local. Enter your card's first 6-8 digits and the check tells you whether the card reads as issued in that country.",
"cardError": "6 to 8 digits needed — enter at least 6 to look up the issuer.",
"cardReady": "Prefix ready — the issuing country is looked up when the check runs."
},
"dependencies": {
"note": "The check needs the results of all of these base tests — run any that are missing before starting:",
"runButton": "Run the missing tests",
"runButtonRunning": "Running the missing tests…",
"measured": "{n} of {total} measured",
"allReady": "All tests have run"
},
"step": {
"country": "Target country",
"language": "Main language",
"location": "Location",
"card": "Card prefix",
"awaitingCountry": "Pick a country first",
"otherTests": "Base tests"
},
"emptyHint": "Pick the country you want to look local to, then run the check.",
"readyHint": "Ready. Run the check to see how local you look.",
"value": {
"yes": "Yes",
"no": "No"
}
},
"advancedtools": {
"OpenInNewTab": "Open in new tab",
"BackToHome": "Back to Home",
"Title": "Advanced Tools",
"Note": "People who want the very best from their network usually reach for extra tools to fine-tune their connection.",
"PingTestNote": "Ping your IP from around the world",
"MTRTestNote": "Trace your network route from around the world",
"DNSResolverNote": "Real-time multi-channel DNS resolution",
"EnhancedDnsLeakTest": "Captures every recursive resolver, with ECS and DNSSEC analysis",
"RuleTestNote": "Check the rule settings of proxy software",
"CensorshipCheck": "Check which countries a website is blocked in",
"ServiceStatus": "Check the live availability of well-known AI and developer services, and whether a recent incident explains the outage you're seeing",
"Whois": "Search for domain/IP/ASN registration information",
"AsnProfile": "Identity, scale, announced prefixes, global footprint, connectivity and registration of any AS",
"InvisibilityTest": "Check if you are using a proxy or VPN",
"MacChecker": "Query information of a physical address",
"IpCalculator": "Subnet math, notation conversion and IPv6 insight for any IP, prefix or range",
"BrowserInfo": "Check browser information and fingerprint",
"SecurityChecklist": "Guide to securing your digital life",
"PersonaCheck": "Compare what sites see against the country you want to look local to"
},
"macchecker": {
"Title": "MAC Lookup",
"Note": "Query the manufacturer of a physical address (MAC address), whether it is unicast/multicast, global/local, etc. Supports querying with a complete 12-digit address or just the prefix. You can also use this tool to verify if the physical address you generated meets your needs.",
"Note2": "Please enter a physical address to start the query:",
"Placeholder": "F0:2F:4B:01:0A:AA",
"invalidMAC": "Invalid physical address",
"fetchError": "Unable to fetch query results",
"company": "Manufacturer",
"macPrefix": "Physical address prefix",
"address": "Registered address",
"country": "Registered country/region",
"blockStart": "Start block",
"blockEnd": "End block",
"blockSize": "Block size",
"blockType": "Block type",
"blockRange": "Block range",
"isRand": "Random address",
"isPrivate": "Private data",
"isMulticast": "Multicast address",
"isUnicast": "Unicast address",
"isGlobal": "Global address",
"isLocal": "Local address",
"property": "Address property",
"value": "Value",
"manufacturer": "Manufacturer details"
},
"ipcalculator": {
"Title": "IP Calculator",
"Note": "Paste an IPv4 or IPv6 address, a CIDR prefix, an address range, a list of prefixes, a plain number, or one of the odd spellings that browsers still accept — the calculator recognises the input on its own and shows only what applies. Reach for it when you are carving up a subnet (network, broadcast, usable hosts, netmask, wildcard, splitting into smaller blocks), when you want to understand an IPv6 address (its type, an embedded IPv4, whether the interface identifier gives away a MAC), when a firewall or ACL needs a range expressed as the fewest CIDR blocks or a long list of prefixes collapsed, or when a bare number in a log or a suspicious URL has to be turned back into a normal address. Everything is computed in your browser; nothing is sent anywhere.",
"Note2": "Enter an IP, prefix, range, list or number to calculate:",
"Placeholder": "2001:db8::1/64",
"Calculate": "Calculate",
"Examples": "See examples",
"exampleObfuscated": "Obfuscated",
"exampleEui64": "EUI-64",
"MyIPs": "My IPs",
"copy": "Copy",
"copyAll": "Copy all",
"yes": "Yes",
"no": "No",
"kind": {
"ipv4": "IPv4",
"ipv4Cidr": "IPv4 prefix",
"ipv6": "IPv6",
"ipv6Cidr": "IPv6 prefix",
"integer": "Integer",
"hex": "Hexadecimal",
"range": "Range",
"cidrList": "Prefix list"
},
"scope": {
"global": "Globally routable",
"private": "Private",
"shared": "Shared (CGNAT)",
"loopback": "Loopback",
"linkLocal": "Link-local",
"multicast": "Multicast",
"documentation": "Documentation",
"reserved": "Reserved",
"unspecified": "Unspecified",
"broadcast": "Broadcast"
},
"invalid": {
"empty": "Enter something to calculate",
"listNoValid": "None of the items is a valid IP or prefix",
"cidrPrefix": "The prefix length after / is out of range for this family",
"cidrAddress": "The part before / is not a valid IP",
"ipv6Syntax": "Not a valid IPv6 address",
"hexTooLarge": "Hex value is longer than 128 bits",
"integerTooLarge": "Integer is larger than 128 bits",
"badOctal": "A number starting with 0 is read as octal, and 8 and 9 are not octal digits",
"range": "Both ends of a range must be valid IPs of the same family",
"unrecognized": "Unrecognized input"
},
"section": {
"Network": "Network",
"Representations": "Representations",
"Obfuscated": "Obfuscated notations",
"AsIPv6": "As IPv6",
"Split": "Split into subnets",
"Address": "Address",
"Type": "Type details",
"InterfaceId": "Interface identifier",
"Prefix": "Prefix",
"Range": "Range",
"Cidrs": "CIDR blocks",
"IPv4Blocks": "IPv4 blocks",
"IPv6Blocks": "IPv6 blocks"
},
"network": "Network",
"broadcast": "Broadcast",
"netmask": "Netmask",
"wildcard": "Wildcard mask",
"firstHost": "First host",
"lastHost": "Last host",
"firstAddress": "First",
"lastAddress": "Last",
"usable": "Usable hosts",
"total": "Total",
"ptr": "PTR record",
"ptrZone": "Reverse zone",
"class": "Class",
"rfc3021Note": "A /31 (RFC 3021) or /32 has no separate network or broadcast address; every address is usable.",
"networkBits": "Network bits",
"hostBits": "Host bits",
"prefixLength": "Prefix length",
"decimal": "Decimal",
"hex": "Hexadecimal",
"octal": "Octal",
"binary": "Binary",
"obfuscatedNote": "Browsers and most libraries also accept these spellings — the reason naive IP filters can be bypassed.",
"dottedHex": "Dotted hex",
"dottedOctal": "Dotted octal",
"shortForm": "Short form ({parts} parts)",
"mapped": "IPv4-mapped",
"mappedHex": "IPv4-mapped (hex)",
"compat": "IPv4-compatible",
"nat64": "NAT64",
"sixToFour": "6to4 prefix",
"splitTo": "Split to",
"showingFirst": "Showing the first {shown} of {total} subnets",
"subnetCount": "{count} subnets",
"compressed": "Compressed",
"expanded": "Expanded",
"zone": "Zone",
"embeddedIPv4": "Embedded IPv4",
"teredoServer": "Teredo server",
"teredoClient": "Teredo client",
"teredoPort": "Teredo port",
"teredoCone": "Cone NAT",
"locallyAssigned": "Locally assigned (fd00::/8)",
"globalId": "Global ID",
"subnetId": "Subnet ID",
"mcastScope": "Multicast scope",
"flags": "Flags",
"flagT": "T (transient)",
"flagP": "P (prefix-based)",
"flagR": "R (embedded RP)",
"noFlags": "None",
"solicitedNodeSuffix": "Solicited-node suffix",
"iid": "Interface ID",
"mac": "MAC from EUI-64",
"solicitedNode": "Solicited-node multicast",
"universalMac": "The interface ID is a modified EUI-64 derived from a globally unique MAC, so it identifies the hardware wherever the device goes.",
"localMac": "The interface ID is a modified EUI-64 built from a locally administered MAC.",
"privacyIid": "The interface ID is not EUI-64 shaped: a privacy extension, a randomised or a manually chosen identifier.",
"subnetRouterAnycast": "All-zero interface ID: the subnet-router anycast address of this prefix.",
"slash64s": "/64 subnets",
"start": "Start",
"end": "End",
"aggregated": "Single block",
"aggregationSummary": "{input} blocks in, {output} out, {addresses} addresses",
"invalidTokens": "Ignored: {list}"
},
"whois": {
"Title": "Whois Search",
"Note": "Whois search is a service used to retrieve registration information. By entering a domain name, an IP address or an AS number (e.g. AS13335), you can retrieve information such as the registration details, registrar, registration date, expiration date, and more. The Whois information for domain names, IP addresses and AS numbers may have different fields. Additionally, some less common top-level domains (TLDs) may not have available information for Whois queries.",
"Note2": "Please enter a domain name, IP or AS number (e.g. AS13335) to start the query:",
"Note3": "Whois information contains various types of fields. The following is the raw text information",
"Placeholder": "Domain, IP or AS number",
"invalidURL": "Invalid domain name, IP or AS number",
"reservedIP": "Private or reserved IP addresses have no public registry record, so there is nothing to look up.",
"noData": "No Whois or RDAP data is published for this query. Some top-level domains do not offer a public lookup service.",
"fetchError": "Unable to fetch query results or query results are empty",
"Provider": "Information Provider"
},
"asnprofile": {
"Title": "ASN Profile"
},
"enhanceddnsleaktest": {
"Title": "In-depth DNS Leak Test",
"Note": "The homepage DNS leak test already gave you a rough idea of whether you're leaking and where your DNS traffic exits. This deeper test adds more dimensions: it captures more of your resolver exit IPs, checks whether any of them forwards a prefix of your real IP upstream via ECS, and checks whether they support DNSSEC — so you come away with a more complete picture of your DNS chain's security posture.",
"Note2": "Click Run to start. The test usually completes within a few seconds. We fire several DNS probes in the background and let our authoritative DNS server capture the recursive resolver exit IPs you're actually using — a typical run captures 20–40 records. If no resolvers show up at all, your browser's DNS cache probably absorbed the requests; just wait a moment and try again.",
"Note3": "Since this is an in-depth test, you'll run into some specialized concepts on this page (ECS, DNSSEC, etc.). No worries — after running the test, check the \"Field reference\" at the bottom of the page for a short explanation of each column.",
"Run": "Run test",
"RunAgain": "Run again",
"RunningProbes": "Sending DNS probes...",
"PollingResult": "Collecting results...",
"FetchError": "Failed to fetch DNS leak test results. Please try again later.",
"Empty": "No DNS resolvers were captured for this session. This usually means the browser DNS cache absorbed the request — try again in a moment.",
"TableTitle": "Captured DNS queries",
"DedupeToggle": "Hide duplicates",
"Flow": {
"Probing": "Sending probe {current} / {total}...",
"Waiting": "Waiting for recursive DNS to reach our name server (usually 1–3 s).",
"Fetching": "Fetching captured DNS queries...",
"Done": "Test complete."
},
"DnssecChip": {
"Signed": "DNSSEC signatures requested",
"Unsigned": "DNSSEC signatures not requested",
"Validated": "DNSSEC validation normal",
"CdSet": "DNSSEC validation disabled"
},
"Summary": {
"ResolverCount": "Unique resolvers",
"RawCount": "Raw captures",
"DnssecPosture": "DNSSEC posture",
"DnssecGood": "DNSSEC-aware — every resolver requested signatures and none of them skipped validation.",
"DnssecNoDo": "Weak — at least one resolver did not request DNSSEC signatures.",
"DnssecCdSet": "Suspicious — at least one resolver asked to skip DNSSEC validation.",
"DnssecNone": "No signal yet."
},
"Fields": {
"ResolverIP": "Resolver IP",
"Location": "Location",
"ASN": "Org / ASN",
"QueryType": "Record type",
"Transport": "Transport protocol",
"ECS": "ECS"
},
"Legend": {
"Title": "Field reference",
"ResolverIP": "The egress IP of the recursive DNS resolver that actually reached our authoritative name server. If you use a VPN, compare its ASN with the ASN of your VPN exit — a mismatch means your DNS queries are bypassing the VPN tunnel (i.e., leaking).",
"QueryType": "The record type the resolver asked for on behalf of your browser (A, AAAA, HTTPS, etc.). Browsers typically fire A and AAAA queries together.",
"Transport": "DNS defaults to UDP. TCP usually means the response was large — and responses tend to be large because they carry DNSSEC records.",
"ECS": "EDNS Client Subnet — some recursive resolvers attach a prefix of your real IP (typically IPv4 /24 or IPv6 /48) when forwarding queries to upstream authoritative servers. That means a segment of your IP becomes known to servers along the DNS chain, which can be used for CDN geo-routing but also chips away at your anonymity.",
"DO": "DNSSEC OK — a check means the recursive resolver actively requested DNSSEC signatures on this query, so the chain carries cryptographic verification; a cross means the query went out without signatures, so a tampered response on the wire could go undetected.",
"CD": "Checking Disabled — a check means the caller did not ask to skip DNSSEC validation, so the recursive resolver performs normal signature verification; a cross means the caller explicitly asked to skip validation and will accept responses even when signatures don't match. Normally this should be a check; if you see a cross, it's usually because of a debugging tool or a client's security-downgrade behavior, and in rare cases a signal of man-in-the-middle tampering on the path."
}
},
"dnsresolver": {
"Title": "DNS Resolution",
"Note": "Resolve one domain against well-known public DNS providers around the world at the same time — over both classic DNS and DNS-over-HTTPS — and compare what each one answers. When the answers differ between providers or regions, it usually means a CDN is steering traffic to a nearby node, a cache somewhere is stale, or the record is being filtered or redirected along the way. Pick a record type, enter a domain or URL, and run the query: each row shows which country the resolver sits in, and the table can be filtered by region.",
"Note2": "Please enter a URL or domain name to start resolution:",
"Placeholder": "URL or Domain Name",
"invalidURL": "Invalid URL or Domain Name",
"fetchError": "Unable to fetch resolution results",
"Provider": "DNS Provider",
"Result": "Resolution Result",
"Record": "Record",
"AllRegions": "All Regions"
},
"ruletest": {
"Title": "Rule Test",
"Name": "Test",
"Note": "Rule test is used to determine if the proxy software's domain-based rules are set correctly. Before conducting the test, you need to refer to the card below and set different domain-based routing rules for the 8 different URLs of IPCheck.ing in your proxy software. Usually, the rule settings may use a format like: DOMAIN, ptest-3.ipcheck.ing, POLICY. The specific format may vary depending on the proxy software you are using.",
"StatusWait": "Awaiting Test",
"StatusTesting": "Testing…",
"StatusError": "Test Error",
"Country": "Proxy region",
"RefreshAll": "Refresh All"
},
"Tooltips": {
"RefreshIPCard": "Refresh IP Card",
"SaveAsImage": "Save as image",
"RefreshConnectivityTests": "Refresh Connectivity Tests",
"RefreshWebRTC": "Refresh WebRTC Leak Test",
"RefreshDNSLeakTest": "Refresh DNS Leak Test",
"SpeedTestButton": "Start/Pause Speed Test",
"ShowASNInfo": "Show AS Details",
"ShowASNHistory": "Show ASN History",
"ShowASNConnectivity": "Show ASN Connectivity",
"CopyIP": "Copy IP Address",
"CopySdpLog": "Copy SDP Log",
"ViewOnMap": "View location on map",
"ShowCountryTraffic": "Show Online Activity Pattern",
"InfoMask": "Hide IP Information",
"IPHistory": "View IP History",
"ShareReport": "Create Diagnostic Report",
"QueryIP": "Query IP Address",
"GithubLink": "View Source Code on GitHub"
},
"report": {
"Title": "Diagnostic Report",
"Note": "Bundle your completed test results into one report and share it with a friend or an AI assistant for network diagnosis. Nothing leaves this device until you copy, download or create a link.",
"SectionsLabel": "Tests to include",
"NotTested": "not tested",
"MaskTail": "Mask IP tails",
"TtlLabel": "Auto-delete after",
"Ttl1": "1 day",
"Ttl3": "3 days",
"Ttl7": "7 days",
"Preview": "Preview shared content",
"CreateLink": "Create Share Link",
"CopyAI": "Copy to ask AI",
"DownloadJson": "Download JSON",
"CopyLink": "Copy Link",
"NoSelection": "Select at least one test first.",
"CreateFailed": "Creating the share link failed, please try again later.",
"LinkOnce": "This link is shown only once — copy it now. Anyone with the link can view the report until it expires.",
"ExpiresAt": "The report auto-deletes at {time}.",
"CopiedTitle": "Copied",
"CopiedMessage": "Report copied — paste it to any AI assistant.",
"ai": {
"Heading": "MyIP Network Diagnostic Report",
"Intro": "This report was generated by MyIP ({origin}) at {time} from network tests run in the user's browser. Field names are stable schema identifiers; all latency values are in milliseconds.",
"Masked": "Note: IP addresses are partially masked for privacy (IPv4: last octet, IPv6: interface half, shown as \"x\").",
"Instruction": "Based on the data above, analyze the health of this network. Point out anomalies (DNS leaks, WebRTC exposure, proxy/VPN traits, packet loss, high latency, routing issues) and give concrete troubleshooting suggestions.",
"Sections": {
"ipinfo": "Public IP addresses as seen by multiple independent sources (sources may disagree when a proxy or split routing is involved).",
"connectivity": "Browser reachability probes against well-known websites; timeMs is the displayed round-trip, minTimeMs the best of repeated rounds.",
"webrtc": "IPs exposed through WebRTC STUN — if these differ from the main public IP, the real address may be leaking past a proxy/VPN.",
"dnsleak": "Egress IPs of the DNS resolvers that actually answered the browser's lookups — resolvers not belonging to the user's ISP/VPN provider indicate a DNS leak.",
"speedtest": "Bandwidth, latency and loaded latency (bufferbloat) measured against Cloudflare; scores rate streaming/gaming/RTC experience, higher is better.",
"pingtest": "ICMP ping statistics toward the user's IP from Globalping probes around the world.",
"mtrtest": "Per-hop MTR traceroutes toward the user's IP from probes around the world; loss at intermediate hops can be mere ICMP rate-limiting, sustained loss from one hop onward indicates a real problem.",
"ruletest": "Egress IPs observed when fetching 8 test endpoints — more than one unique IP means traffic is split across different routes (e.g. proxy rules).",
"browserinfo": "Browser, OS and display environment of the tested device.",
"invisibility": "Proxy/VPN detection scores (0-100, higher = more likely detected) with the individual detection signals that flagged.",
"enhanceddnsleak": "Resolver-level DNS capture: every resolver IP that queried the test domain, with transport, ECS exposure and DNSSEC flags (do/cd).",
"persona": "How closely the browser matches a local resident of the chosen country: an overall grade plus each check's verdict. Verdicts only — the underlying values are deliberately not stored in a shared report."
}
}
},
"reportPage": {
"Loading": "Loading report…",
"NotFound": "Report not found or expired",
"NotFoundNote": "Shared reports auto-delete when they expire.",
"LoadFailed": "Failed to load the report, please retry later.",
"Unsupported": "This report was created with a different version of the site and cannot be displayed.",
"GeneratedBy": "Diagnostic report generated at {origin} on {time}",
"Stale": "This report is more than 3 days old — the network may have changed since.",
"TestMine": "Test my own network",
"Col": {
"Source": "Source",
"Name": "Name",
"IP": "IP",
"Location": "Location",
"ISP": "ISP",
"Status": "Status",
"Server": "Server",
"Provider": "Provider",
"Target": "Target",
"UniqueIPs": "Unique egress IPs",
"Resolvers": "Resolvers"
},
"Dnssec": {
"ok": "DNSSEC enabled",
"partial": "DNSSEC partially enabled",
"none": "DNSSEC not enabled"
}
},
"ipHistory": {
"Title": "IP History",
"Notes": "IPs detected while you use this site are recorded here. The data is stored only in this browser — it never syncs to your account or leaves your device. You can adjust the record retention time in the \"Preferences\".",
"Empty": "No records yet. IPs will appear here once the homepage tests detect them.",
"FilterByType": "Filter by IP type",
"FilterByCountry": "Filter by country / region",
"UnknownCountry": "Unknown",
"NoMatch": "No records match the selected filters.",
"ClearAll": "Clear History",
"ClearConfirm": "Click again to confirm",
"ViewMode": "History view",
"ByIP": "By IP",
"ByDate": "By date",
"UniqueIPCounts": "Tag counts: unique IPs across all retained records.",
"DailyRecordCounts": "Tag counts: records across all retained dates (one per IP per day).",
"LastSeen": "Last seen: {date}",
"FirstSeen": "First seen: {date}",
"RecordDates": "All recorded dates",
"MapTitle": "IP countries / regions",
"MapUnavailable": "Map unavailable. You can still use the country filters.",
"MapSelect": "Click to filter this country / region",
"MapUnselect": "Click to remove this country / region filter",
"ViewMap": "View map"
},
"ipInfos": {
"Title": "IP Infos",
"Notes": "The program will first check your IP address from several different probes (including IPv4 and IPv6), and then query the corresponding geographical data from the IP lookup data source you selected. If there is only 1 IP stack, the source without data will be displayed as empty.",
"Source": "IP Probe",
"Country": "Region",
"Region": "State",
"City": "City",
"TimeZone": "Time Zone",
"ISP": "ISP",
"ASN": "ASN",
"Coordinates": "Coordinates",
"IPv4Error": "Fetch Failed or No IPv4 Address",
"IPv6Error": "Fetch Failed or No IPv6 Address",
"type": "Type",
"anonymity": {
"label": "Anonymizer",
"tor": "Tor exit",
"relay": "iCloud Private Relay",
"residential": "Residential proxy",
"suspectedResidential": "Suspected residential proxy",
"proxy": "Proxy",
"proxySuspected": "Possible proxy",
"vpn": "VPN",
"vpnSuspected": "Possible VPN",
"none": "Not detected"
},
"qualityScore": "IP Quality",
"qualityScoreUnknown": "Score Unknown",
"advancedUnlockCta": "To avoid abuse, sign in to view the following information",
"advancedQuotaCta": "Monthly quota for IP advanced data used up",
"ASNInfo": {
"trafficPercentage": "Traffic Percentage: ",
"note": "Data for this AS : ",
"asnName": "AS Name : ",
"asnOrgName": "AS Organization : ",
"asnCountryCode": "AS Country : ",
"estimatedUsers": "Estimated Users : ",
"prefixesV4": "IPv4 Prefixes : ",
"prefixesV6": "IPv6 Prefixes : ",
"upstreamCount": "Upstream ASes : ",
"downstreamCount": "Downstream ASes : ",
"peerCount": "Peering ASes : ",
"connectionQuality": "Average Connection Quality: ",
"connectionQualityTooltip": "Aggregated from Cloudflare speed tests run by users on this ASN",
"speedDownload": "Download : ",
"speedUpload": "Upload : ",
"latency": "Latency : ",
"jitter": "Jitter : ",
"IPv4_Pct": "IPv4",
"IPv6_Pct": "IPv6",
"HTTP_Pct": "HTTP",
"HTTPS_Pct": "HTTPS",
"Desktop_Pct": "Desktop",
"Mobile_Pct": "Mobile",
"Bot_Pct": "Bot",
"Human_Pct": "Human",
"moreData": "More Data : "
},
"ASNHistory": {
"announcedPrefixes": "Announced Prefixes: ",
"note": "Historical ASN announcements for this IP: ",
"empty": "No historical routing data found for this IP.",
"error": "Failed to load ASN history.",
"seenBy": "RIPE RIS visibility: {pct}% — peak {peers} full-feed peers"
},
"ASNConnectivity": {
"note": "Upstream paths from this AS toward the Tier 1 global transit providers: ",
"empty": "No upstream connectivity data available for this AS.",
"error": "Failed to load ASN connectivity.",
"expand": "Expand",
"dialogTitle": "Network connectivity for AS{asn}",
"legendOrigin": "Origin",
"legendTier1": "Tier 1 ISP",
"legendIntermediate": "Intermediate AS",
"legendTransit": "Transit",
"legendPeering": "Peering",
"zoomIn": "Zoom in",
"zoomOut": "Zoom out",
"zoomReset": "Reset zoom"
},
"advancedData": {
"type": {
"Residential": "Residential",
"Wireless": "Wireless",
"Business": "Business",
"Hosting": "Hosting",
"unknownType": "Unknown Type"
},
"Nativeness": "ASN-Geo match",
"NativeIPYes": "Aligned",
"NativeIPNo": "Mismatched",
"nativenessTooltip": "Whether the ASN's registered country matches the IP's geolocation country"
},
"scoreDetails": {
"toggle": "Score details",
"explainTitle": "How the score was reached",
"explain": {
"unknownOperator": "an unidentified operator",
"summary": {
"lowRisk": "IP address {ip} is operated by {operator} and has a quality score of {score}/100, which we consider low risk.",
"mediumRisk": "IP address {ip} is operated by {operator} and has a quality score of {score}/100, which we consider moderate risk.",
"highRisk": "IP address {ip} is operated by {operator} and has a quality score of {score}/100, which we consider high risk."
},
"network": {
"datacenter": "It belongs to a hosting / data center network rather than a standard home or mobile connection.",
"mobile": "It is on a mobile network, where one address is often shared by many users.",
"satellite": "It is on a satellite internet network, not ordinary home or business broadband.",
"isp": "It is on an ISP access network (home or business broadband), not a hosting provider."
},
"anonymity": {
"none": "No VPN, proxy, Tor or private relay use has been detected on it.",
"tor": "It is part of the Tor anonymity network.",
"relay": "It is an iCloud Private Relay exit, shared by many Apple users.",
"proxySingle": "A single source identifies it as a proxy.",
"proxyMulti": "Multiple independent sources identify it as a proxy.",
"residentialProxy": "It has been identified as a residential proxy exit.",
"residentialProxySuspected": "This IP was observed on {date} as a suspected residential (home) proxy exit.",
"residentialProxySuspectedUndated": "This IP has been observed as a suspected residential (home) proxy exit.",
"vpnSingle": "A single source identifies it as a VPN or anonymizing service.",
"vpnMulti": "Multiple independent sources identify it as a VPN or anonymizing service."
},
"anonymityLastSeen": "This was last observed on {date}.",
"reputation": {
"none": "No significant abuse reports or blocklist entries were found for it.",
"low": "There is minor abuse evidence against it (reports or blocklist entries).",
"lowDated": "There is minor abuse evidence against it; the latest abuse report is from {date}.",
"medium": "There is notable abuse evidence against it (reports or blocklist entries).",
"mediumDated": "There is notable abuse evidence against it; the latest abuse report is from {date}.",
"high": "There is strong abuse evidence against it (reports or blocklist entries).",
"highDated": "There is strong abuse evidence against it; the latest abuse report is from {date}."
},
"asn": {
"none": "Its network (ASN) shows no more abuse or VPN activity than is typical across the Internet.",
"low": "Its network (ASN) shows somewhat more abuse or VPN activity than is typical.",
"medium": "Its network (ASN) shows clearly elevated abuse or VPN activity.",
"high": "Its network (ASN) shows very high abuse or VPN activity."
}
},
"tagsTitle": "All attributes",
"tagState": {
"yes": "Yes",
"no": "No",
"suspected": "Suspected"
},
"tags": {
"isDatacenter": "Data center",
"isResidential": "Residential line",
"isMobile": "Mobile network",
"isSatellite": "Satellite",
"isProxy": "Proxy",
"isVPN": "VPN",
"isResidentialProxy": "Residential proxy",
"isRelay": "iCloud Private Relay",
"isTor": "Tor",
"isAbuser": "Abuse history",
"isCrawler": "Crawler",
"isNative": "ASN-Geo match"
}
},
"countryTraffic": {
"subtitle": "Typical weekly online activity in this country/region — view human-generated traffic only, or all traffic (including bot/automated traffic).",
"human": "Human Only",
"loading": "Loading...",
"error": "Failed to load online activity."
}
},
"serviceStatus": {
"Title": "Service Status",
"Note": "When a service won't open, it might not be your problem — the service itself could be down. Currently, people are using a lot of AI products, and when the AI product doesn't reply, they don't know if it's their problem or the service's problem. This section shows the live availability of well-known AI services; expand a card to see each sub-service's status and recent incidents.",
"Refresh": "Refresh Service Status",
"LastChecked": "Last checked",
"AllOperational": "All Systems Operational",
"ComponentsTitle": "Services",
"IncidentsTitle": "Recent Incidents",
"NoComponents": "No service details available.",
"NoRecentIncidents": "No recent incidents.",
"Loading": "Loading…",
"Checking": "Checking…",
"IncidentsError": "Couldn't load incidents.",
"ComponentsError": "Couldn't load services.",
"indicator": {
"minor": "Minor Issues",
"major": "Major Outage",
"critical": "Critical Outage",
"maintenance": "Under Maintenance",
"unknown": "Status unavailable"
},
"component": {
"operational": "Operational",
"degraded_performance": "Degraded",
"partial_outage": "Partial Outage",
"major_outage": "Major Outage",
"under_maintenance": "Maintenance"
},
"incidentStatus": {
"investigating": "Investigating",
"identified": "Identified",
"monitoring": "Monitoring",
"resolved": "Resolved",
"postmortem": "Postmortem",
"scheduled": "Scheduled",
"in_progress": "In Progress",
"verifying": "Verifying",
"completed": "Completed"
}
},
"connectivity": {
"Title": "Network Connectivity",
"Note": "This test checks your connectivity to a website. The higher the latency, the slower your connection to that site. You can import or add other websites you frequently use to the test list for quick testing.",
"StatusWait": "Awaiting Test",
"StatusTesting": "Testing…",
"StatusAvailable": "OK",
"StatusUnavailable": "Unavailable",
"StatusTimeout": "Timeout or Unavailable",
"checking": "Checking...",
"minTestTime": "Min Test Time: ",
"RefreshThisTest": "Refresh This Test",
"OpenSite": "Open website",
"RoundCount": "Round {n}: ",
"addCustom": {
"AddCard": "Add Test",
"Title": "Add a custom test",
"Hint": "We test by loading the site's favicon over HTTPS. Some sites may not be reachable this way. Custom tests are saved locally in your browser.",
"ProbeBlockedNote": "Some sites' security policies block cross-origin probes — they can show as unreachable even though they open fine.",
"NameLabel": "Name",
"NamePlaceholder": "e.g. Wikipedia",
"UrlLabel": "URL",
"UrlPlaceholder": "e.g. wikipedia.org",
"Add": "Add",
"Remove": "Remove test",
"NameRequired": "Please enter a name.",
"UrlRequired": "Please enter a URL.",
"InvalidUrl": "That doesn't look like a valid URL.",
"LimitReached": "You've reached the 60 tests limit.",
"LastTargetTitle": "Can't Remove",
"LastTargetMessage": "At least one test site must remain."
},
"importDialog": {
"Title": "Add / Import Tests",
"CustomOption": "Add Custom",
"ImportOption": "Import a List",
"SiteCount": "{n} sites",
"Import": "Import",
"NotEnoughCapacity": "Not enough capacity — this list needs {need} slots, only {free} left.",
"Destination": "Add to",
"ImportAsNew": "Import as a new list"
},
"lists": {
"Tab": "Lists",
"Mine": "My Sites",
"Manage": "Manage lists",
"NewListPlaceholder": "New list name",
"Create": "Create",
"LimitReached": "You can keep up to {limit} lists.",
"Rename": "Rename",
"Delete": "Delete",
"MoveUp": "Move up",
"MoveDown": "Move down",
"DeleteNotEmpty": "Remove all its sites before deleting this list.",
"MineUndeletable": "The default list can't be deleted.",
"Save": "Save",
"Cancel": "Cancel",
"Hint": "A list must be emptied before it can be deleted; \"My Sites\" always stays."
},
"importLists": {
"defaults": "System Defaults",
"iran": "Iran Essentials",
"russia": "Russia Essentials",
"india": "India Essentials",
"china": "China Essentials",
"brazil": "Brazil Essentials",
"nigeria": "Nigeria Essentials",
"germany": "Germany Essentials",
"ai": "AI Services",
"social": "Social & Messaging",
"productivity": "Work & Productivity",
"education": "Online Education",
"streaming": "Streaming",
"music": "Music & Audio",
"sports": "Sports",
"travel": "Travel & Booking",
"gaming": "Gaming",
"developer": "Developer",
"cloud": "Cloud & CDN",
"finance": "Finance & Payments",
"crypto": "Crypto Exchanges",
"ecommerce": "Global E-commerce",
"news": "News & Wiki"
}
},
"webrtc": {
"id": "webrtc",
"Title": "WebRTC Leak Test",
"Name": "WebRTC Connection",
"Note": "When the browser obtains network addresses through WebRTC, it may bypass your VPN or proxy and expose your real IP to websites. This test checks which IP is exposed when you connect over WebRTC; if the returned IP address or region is not what you expect, there may be a risk of WebRTC leaks and you may need to adjust your proxy settings. Besides the IP used for WebRTC connections, we also detect your NAT type.",
"StatusWait": "Awaiting Test",
"StatusTesting": "Testing…",
"StatusError": "Connection Error",
"StatusUnavailable": "WebRTC Unavailable",
"SdpLog": "SDP Log",
"NATType": {
"srflx": "Port Restricted Cone or Symmetric",
"prflx": "Port Restricted Cone",
"relay": "Symmetric",
"host": "Full Cone",
"unknown": "Unknown Type"
}
},
"dnsleaktest": {
"Name": "DNS Endpoint Test",
"Title": "DNS Leak Test",
"Note": "Even while you are using a VPN or proxy, DNS queries may still be sent over your local network, exposing the domains of the sites you visit. ISPs, firewalls, public Wi-Fi providers and others along the path can intercept them and learn which sites you are visiting. This test visits a newly generated domain name to detect which region your DNS queries go through; if the returned region differs from the region of the VPN/proxy you are using, there may be a risk of DNS leaks.",
"EndpointCountry": "Endpoint Region",
"StatusWait": "Awaiting Test",
"StatusTesting": "Testing…",
"StatusError": "Test Error"
},
"speedtest": {
"Title": "Speed Test",
"Note": "The speed test will be conducted using Cloudflare's edge network. You can choose the packet size for download and upload according to your needs. During the test, packets will be uploaded and downloaded 4 times — please be mindful of data usage. Since Cloudflare does not deploy edge nodes in every country worldwide, the results are for reference only; actual speeds may be faster.",
"Download": "Download",
"Upload": "Upload",
"Latency": "Latency",
"Jitter": "Jitter",
"loadedLatency": "Loaded latency: ",
"videoStreaming": "Video Streaming",
"gaming": "Gaming",
"rtc": "Video Chatting",
"score": "Based on the speed test, got the following quality scores:",
"connectionFrom": "Finished speed test from your machine, IP: ",
"connectionTo": " to test server:",
"connectionEnd": " .",
"testFailed": "Could not reach the speed test server. Please check your connection and try again.",
"phases": {
"probe": "Preliminary test",
"latency": "Latency test",
"download": "Download test",
"upload": "Upload test"
},
"phasePaused": "{phase} — paused",
"phaseFinished": "Test complete",
"phaseFailed": "Test failed",
"quality": {
"bad": "Bad",
"poor": "Poor",
"average": "Average",
"good": "Good",
"great": "Great"
}
},
"globalping": {
"Selected": "Regions selected: ",
"Suggested": "Suggested regions",
"NoProbe": "No probes available in this country/region",
"GroupFull": "Up to {max} countries/regions — deselect some first",
"UnreachableTarget": "Probes run on the public internet, so private and reserved addresses cannot be reached from any country.",
"ResultsHint": "Results will appear here after you select probes and run the test.",
"Asia": "Asia",
"Europe": "Europe",
"Africa": "Africa",
"Americas": "Americas",
"Oceania": "Oceania"
},
"pingtest": {
"EnterIPLabel": "Enter an IP to test",
"EnterIPPlaceholder": "e.g. 1.1.1.1",
"UseStored": "Use a stored IP",
"id": "pingtest",
"Title": "Global Latency Test",
"Note": "Ping test is a network tool used to measure the round-trip time of data packets between two endpoints (servers). It is a key metric for evaluating network performance.",
"Note2": "In the test below, IPCheck.ing uses Globalping's worldwide probes to send small packets of data from servers around the world to your IP address, measuring the time it takes for these packets to travel from the server to your device and back. Through these Ping tests from different geographical locations, you can gain a comprehensive view of the speed and stability of your device's connection to the global network.",
"Note3": "Please select your IP address for testing.",
"SelectIP": "Select an IP Address",
"Region": "Region",
"MinDelay": "Min Delay (ms)",
"MaxDelay": "Max Delay (ms)",
"AvgDelay": "Avg Delay (ms)",
"TotalPackets": "Total Packets",
"PacketLoss": "Packet Loss",
"ReceivedPackets": "Received",
"DroppedPackets": "Dropped",
"Error": "Test failed, it looks like your IP is not allowed to perform Ping test."
},
"mtrtest": {
"EnterIPLabel": "Enter an IP to test",
"EnterIPPlaceholder": "e.g. 1.1.1.1",
"UseStored": "Use a stored IP",
"Title": "MTR Test",
"Note": "The MTR (My Traceroute) test uses Globalping's worldwide probes to perform detailed route tracing of your IP address from servers located in different continents and regions around the world. MTR combines the functionality of traditional traceroute and ping commands to diagnose the quality and performance of network connections in real-time.",
"Note2": "This process covers the complete path from various geographical locations to your network environment, providing information on latency and packet loss for each hop. Whether it's congestion in the routing path, latency issues at a specific node, or packet loss during transmission, the MTR test provides critical diagnostic information.",
"Note3": "Please select your IP address for testing.",
"SelectIP": "Select an IP Address",
"Region": "Region",
"Error": "Test failed, it looks like your IP is not allowed to perform MTR test.",
"ColHost": "Host",
"ColIP": "IP",
"ColASN": "ASN",
"ColLoss": "Loss",
"ColSent": "Sent",
"ColDrop": "Dropped",
"ColRecv": "Received",
"ColLast": "Last",
"ColAvg": "Avg",
"ColBest": "Best",
"ColWorst": "Worst",
"ColStDev": "StDev",
"ColJitter": "Jitter",
"NoReply": "No response"
},
"ipcheck": {
"Title": "IP Check",
"Placeholder": "e.g. 1.1.1.1",
"Error": "Please enter a valid IPv4 or IPv6 address.",
"reservedIP": "Private, loopback and other reserved addresses have no geolocation, so there is nothing to look up.",
"NoData": "Unable to fetch information for this IP. It may be unroutable (e.g. 0.0.0.0, private address) or the upstream source has no data for it."
},
"alert": {
"refreshEverythingMessage": "Refreshing all data, please wait...",
"refreshEverythingTitle": "Refreshing",
"OhNo": "Oh No!",
"Congrats": "Congrats!",
"OhNo_Message": "Connectivity test failed, some websites are not accessible.",
"Congrats_Message": "All connectivity tests passed, you can access all websites.",
"maskedInfoTitle": "IPs Masked",
"maskedInfoMessage": "Sharing screenshots won't reveal your IPs.",
"unmaskedInfoTitle": "IPs Unmasked",
"unmaskedInfoMessage": "Be careful when sharing screenshots.",
"SignInFailed": "Sign In Failed",
"SignInFailedReason": "Reason",
"IpGeoSourceFallbackTitle": "IP Geolocation Source Switched",
"IpGeoSourceFallbackMessage": "{from} is temporarily unavailable — this result comes from {to} for now.",
"SignInEmailTakenTitle": "This email is already in use",
"SignInEmailTakenMessage": "An account already exists for this email address. Please sign in with {other} instead."
},
"shortcutKeys": {
"GoToTop": "Go to Top",
"GoToBottom": "Go to Bottom",
"ToggleDarkMode": "Toggle Dark Mode",
"RefreshEverything": "Refresh Everything",
"RefreshIPCard": "Refresh IP Card",
"RefreshConnectivityTests": "Refresh Connectivity Tests",
"RefreshWebRTC": "Refresh WebRTC Leak Test",
"RefreshDNSLeakTest": "Refresh DNS Leak Test",
"SpeedTestButton": "Start/Pause Speed Test",
"PingTest": "Open Global Latency Test panel",
"MTRTest": "Open MTR Test panel",
"RuleTest": "Open Rule Test panel",
"DNSResolver": "Open DNS Resolution panel",
"IPCheck": "Query IP Address",
"ToggleInfoMask": "Toggle Info Masking",
"IPHistory": "Open IP History panel",
"ShareReport": "Open Share Report dialog",
"Help": "Show Shortcut Keys",
"HelpNote": "People who use shortcuts are really awesome!",
"GoNext": "Next Card",
"GoPrevious": "Previous Card",
"OpenHighlightedTool": "Open Highlighted Card (Tool or Website)",
"RefreshRuleTests": "Refresh Rule Tests",
"CensorshipCheck": "Open Censorship Check panel",
"Pulse": "Open Earth Online panel",
"Whois": "Open Whois Search panel",
"ServiceStatus": "Open Service Status panel",
"InvisibilityTest": "Open Invisibility Test panel",
"EnhancedDnsLeakTest": "Open In-depth DNS Leak Test panel",
"MacChecker": "Open MAC lookup panel",
"IpCalculator": "Open IP Calculator panel",
"BrowserInfo": "Open Browser Info panel",
"SecurityChecklist": "Open Security Checklist panel",
"PersonaCheck": "Open In-depth Persona Check panel"
},
"page": {
"title": "IPCheck.ing - Check My IP Address and Geolocation - IP Leak Test - DNS Leak Test - IP Quality Check - Test Network Speed - All-in-one IP Toolbox",
"description": "A better and open-source IP toolbox: check your IP address & geolocation, test IP for WebRTC and DNS IP leaks, run an IP quality check, browser fingerprint check, plus speed test, global latency test, MTR test, Whois search, and more.",
"keywords": "MyIP, IP tool, IP check, IP Leak Check, IP quality check, IP lookup, DNS leak test, WebRTC leak test, browser fingerprint check, speed test, global latency test, MTR test, DNS lookup, Whois search",
"footerLink": "https://github.com/jason5ng32/MyIP",
"copyRightName": "Originally from ",
"copyRightLink": "https://ipcheck.ing",
"copyRightLinkName": "IPCheck.ing"
},
"helpModal": {
"Title": "Keyboard Shortcuts"
},
"about": {
"Title": "About",
"project": [
"IPCheck.ing is a free all-in-one IP toolbox that helps you check your own IP information, test website availability, examine DNS exit information, and run speed tests, global latency tests, MTR tests and more.",
"This is an open-source project — click the GitHub icon at the bottom of the page to browse the source code.",
"If you are unsure how a feature works, open the \"Help Center\" link at the bottom of the page. The documentation is thorough: beyond describing each feature, it also explains networking concepts and how to troubleshoot network problems.",
"If you would like to take part in the open-source project, click the \"Contribute Code\" button at the bottom of the page to see how."
],
"founderTitle": "About the Founder",
"founder": [
"This started out as a side project for Jason Ng (阿禅) to learn Vue.js and how to write code with AI. As it collected more and more stars on GitHub, he refactored it heavily and added many genuinely useful features. We hope you enjoy it.",
"He is not a professional programmer. Most of the time he works as a product manager, a blogger, a motorcycle rider and a geek — but he loves coding, open source and sharing.",
"You can find a more detailed introduction about him at the links below:"
],
"contactTitle": "Contact Us",
"contact": [
"If you run into trouble using IPCheck.ing or deploying the MyIP project, head to the \"Help Center\" first. If you cannot find the answer there and are stuck, open an issue on GitHub or reach us by email.",
"And if you hit a bug and enjoy coding (or coding with AI), you are very welcome to send us a PR with your fix.",
"Our email: i[AT]ipcheck.ing."
],
"personal": "Personal Website",
"blog": "Blog Posts",
"linkedIn": "LinkedIn",
"twitter": "Twitter",
"Sponsor": "Sponsor Us",
"Privacy": "Privacy",
"HelpCenter": "Help Center",
"Contribute": "Contribute Code",
"Close": "Close"
},
"acknowledgement": {
"Title": "Acknowledgement",
"Note1": "This project could not have been completed without the support and help from some enthusiastic individuals and organizations, as well as those who provided inspiration or open-sourced their code. Many thanks to them:"
},
"changelog": {
"Title": "Changelog",
"add": "Added",
"improve": "Improved",
"fix": "Fixed"
},
"pwa": {
"appDescription": "All in one IP Toolbox",
"installDescription": "You've already used IPCheck.ing {count} times — install it as an app for a smoother experience and quicker access."
}
}