1/* GriGsi Check (/check/) â i18n dictionary + language switching. */ 2(function () { 3 'use strict'; 4 5 var EN = { 6 'meta.title': 'GriGsi â The trust layer for the AI-powered world', 7 'skip': 'Skip to interactive demo', 8 'nav.trust': 'Trust', 9 'nav.proof': 'Proof', 10 'nav.space': 'Space', 11 'nav.intelligence': 'Intelligence', 12 'cta.check': 'Check something', 13 'cta.build': 'Build with GriGsi', 14 'hero.title': 'The trust layer for the AI-powered world.', 15 'hero.subhead': 'When anything can be generated, trust must be understood.', 16 'hero.lead': 'GriGsi helps you understand what is real, what can be trusted, what is uncertain and what can be proven.', 17 'cta.tools': 'See all tools', 18 'hero.hint': 'Choose something you want to understand, verify or prove.', 19 'flow.choose': 'Choose', 20 'flow.input': 'Input', 21 'flow.analyze': 'Analyze', 22 'flow.understand': 'Understand', 23 'demo.label': 'Check now', 24 'demo.title': 'Paste a message or link', 25 'demo.help': 'Stop. Check. Then act. One field â text, link, or both. We auto-detect signals and the domain, plus related GriGsi checks (Trust, Noise, Dig, Proofâ¦). Nothing sensitive is uploaded unless needed.', 26 'demo.shareHint': 'Also works from the extension, desktop app, and phone Share.', 27 'demo.inputLabel': 'What should we check', 28 'demo.safety': 'Do not paste passwords, PINs, or card data. If there is a link, we use only the domain.', 29 'demo.analyze': 'Check', 30 'demo.reset': 'Clear', 31 'demo.verdictNone': 'No signals marked', 32 'demo.verdictWarn': 'Some signals found â be careful', 33 'demo.verdictHigh': 'Multiple signals found â high risk', 34 'demo.verdictText': 'Check carefully before you continue.', 35 'demo.verdictTextNone': 'No red flags detected in this text, but always check carefully before you continue.', 36 'demo.verdictTextWarn': 'A few warning signs appeared. Read them below and verify independently before you act.', 37 'demo.verdictTextHigh': 'This has strong signs of a scam. Do not send money or share codes â verify through an official channel first.', 38 'demo.moneyTitle': '01 · Financial scams', 39 'demo.shopTitle': '02 · Online shopping', 40 'demo.adviceTitle': 'What to do', 41 'demo.adviceNone': 'No specific red flags matched â still verify the sender and domain independently.', 42 'demo.externalTitle': 'External reports (automatic)', 43 'demo.domainLine': 'Domain: â', 44 'demo.domainLabel': 'Domain:', 45 'demo.extLoading': 'Loading summary from ScamAdviser / VirusTotalâ¦', 46 'demo.scamadviser': 'Original ScamAdviser', 47 'demo.virustotal': 'Original VirusTotal', 48 'demo.extHint': 'We show a short summary here in GriGsi. The full report stays with the source.', 49 'demo.happenedTitle': 'If you already paid or shared data', 50 'demo.happened1': 'Stop contact. Do not send more money. Keep the messages.', 51 'demo.happened2': 'Call the bank on the official number. Ask to block the card and review transactions.', 52 'demo.happened3': 'From a clean device, change passwords and turn on extra sign-in protection.', 53 'demo.happened4': 'Report to the police and, for financial cases, to the financial supervision authority.', 54 'demo.happenedWarn': 'Warning: "recovery for a fee" is often a second scam.', 55 'demo.omniTitle': 'From GriGsi â related checks', 56 'demo.omniHint': 'We run Trust, Dig, Noise, Proof and other tools that make sense for this selection. The decision stays with you.', 57 'demo.omniLoading': 'Searching GriGsiâ¦', 58 'demo.disclaimer': 'Educational check. If there is real risk, contact your bank and the competent authorities.', 59 'demo.errorEmpty': 'Paste something to check first.', 60 'demo.fromShare': 'Filled in automatically from Share.', 61 'demo.statusAnalyzing': 'Analyzingâ¦', 62 'demo.statusDone': 'Check complete.', 63 'ai.loading': 'GriGsi AI is analyzingâ¦', 64 'ai.checkedTitle': 'What I checked', 65 'ai.unavailable': 'The AI explanation is not available right now â see the detailed check below.', 66 'problem.kicker': 'The problem', 67 'problem.title': 'The internet is becoming harder to trust.', 68 'chip.images': 'Images', 69 'chip.voices': 'Voices', 70 'chip.videos': 'Videos', 71 'chip.documents': 'Documents', 72 'chip.identities': 'Identities', 73 'chip.ai': 'AI decisions', 74 'problem.line': 'Almost anything can now be generated.', 75 'problem.q': 'So what can you actually trust?', 76 'answer.kicker': 'The GriGsi answer', 77 'answer.title': 'Understand. Verify. Prove.', 78 'answer.copy': 'GriGsi provides a connected system for moving from uncertainty to understanding â not three unrelated products.', 79 'pillar.trust.h': 'Can I trust this?', 80 'pillar.trust.p': 'GriGsi analyzes signals, context, origin and risk to help people understand what can be trusted and why.', 81 'ex.links': 'links', 82 'ex.websites': 'websites', 83 'ex.information': 'information', 84 'ex.identities': 'identities', 85 'ex.digital': 'digital content', 86 'ex.ai': 'AI outputs', 87 'pillar.trust.cta': 'Explore Trust', 88 'pillar.proof.h': 'Can it be proven?', 89 'pillar.proof.p': 'GriGsi helps people understand origin, evidence, authenticity and digital history.', 90 'ex.provenance': 'content provenance', 91 'ex.authorship': 'authorship', 92 'ex.evidence': 'evidence', 93 'ex.verification': 'verification', 94 'ex.records': 'digital records', 95 'pillar.proof.cta': 'Explore Proof', 96 'pillar.space.h': 'Connect without giving away everything.', 97 'pillar.space.p': 'Create temporary, privacy-first spaces for communication and collaboration.', 98 'pillar.space.quote': 'Connect. Do what you need to do. Leave no unnecessary permanent connection behind.', 99 'pillar.space.cta': 'Explore Space', 100 'how.kicker': 'How it works', 101 'how.title': 'From uncertainty to understanding.', 102 'how.s1': 'Bring something', 103 'how.s1.a': 'A link', 104 'how.s1.b': 'A file', 105 'how.s1.c': 'An image', 106 'how.s1.d': 'A document', 107 'how.s1.e': 'An identity', 108 'how.s1.f': 'A claim', 109 'how.s1.g': 'An AI output', 110 'how.s2': 'GriGsi analyzes it', 111 'how.s2.a': 'Signals', 112 'how.s2.b': 'Origin', 113 'how.s2.c': 'Context', 114 'how.s2.d': 'Evidence', 115 'how.s2.e': 'Risk', 116 'how.s3': 'Understand the result', 117 'how.s3.a': 'What can be trusted', 118 'how.s3.b': 'What is uncertain', 119 'how.s3.c': 'What can be proven', 120 'how.s3.d': 'Why the system reached the conclusion', 121 'how.note': 'The result is explainable.', 122 'diff.kicker': 'Differentiator', 123 'diff.title': 'A score is not an explanation.', 124 'diff.generic': 'Generic system', 125 'diff.score': 'Trust score', 126 'diff.g1': 'No context.', 127 'diff.g2': 'No reasoning.', 128 'diff.g3': 'No explanation.', 129 'diff.why': 'Why?', 130 'diff.origin': 'Origin', 131 'diff.originV': 'Verified from a primary source.', 132 'diff.evidence': 'Evidence', 133 'diff.evidenceV': '4 independent signals.', 134 'diff.risk': 'Risk', 135 'diff.riskV': 'No major risk indicators detected.', 136 'diff.context': 'Context', 137 'diff.contextV': 'Consistent with available information.', 138 'diff.conf': 'Confidence', 139 'diff.confV': 'High.', 140 'diff.foot': 'GriGsi does not just give answers. It shows the reasoning behind them.', 141 'eco.kicker': 'Ecosystem', 142 'eco.title': 'One trust layer. Many ways to understand the world.', 143 'eco.trust.h': 'Verification', 144 'eco.trust.p': 'Verification, safety and reliability â Trust Check and community signals.', 145 'eco.proof.h': 'Provenance', 146 'eco.proof.p': 'Origin, evidence and authenticity for digital records.', 147 'eco.space.h': 'Private connection', 148 'eco.space.p': 'Privacy-first communication and interaction.', 149 'eco.intel.h': 'Analysis', 150 'eco.intel.p': 'Similarity, analysis and data intelligence.', 151 'eco.cta': 'Explore the full ecosystem', 152 'future.kicker': 'Looking ahead', 153 'future.title': 'Built for the world that comes next.', 154 'future.1': 'AI agents', 155 'future.2': 'synthetic media', 156 'future.3': 'digital provenance', 157 'future.4': 'cybersecurity', 158 'future.5': 'privacy-first interaction', 159 'future.6': 'identity signals', 160 'future.7': 'evidence systems', 161 'future.8': 'data intelligence', 162 'future.copy': 'As the digital world becomes more powerful, it also becomes harder to verify.', 163 'future.note': 'GriGsi is designed for that future.', 164 'privacy.kicker': 'Privacy', 165 'privacy.title': 'Trust should not require surrendering your privacy.', 166 'privacy.1': 'Data minimization', 167 'privacy.2': 'User control', 168 'privacy.3': 'Transparency', 169 'privacy.4': 'Explainability', 170 'privacy.5': 'Privacy-first design', 171 'privacy.key': 'The more you know, the less you should need to expose.', 172 'final.title': 'What do you want to understand, verify or prove?', 173 'final.copy': 'The future will not have less information. It will have more uncertainty. GriGsi helps make sense of it.', 174 'footer.privacy': 'Privacy', 175 'footer.how': 'How it works', 176 'footer.api': 'API', 177 'footer.eco': 'Ecosystem', 178 'footer.home': 'Main home', 179 'footer.tools': 'All tools', 180 'logo.aria': 'GriGsi home',
181 'nav.primary': 'Primary', 182 'lang.group': 'Language', 183 'menu.open': 'Open menu', 184 'nav.mobile': 'Mobile', 185 'flow.aria': 'Product flow', 186 'problem.chips': 'What can be generated', 187 'diff.scoreAria': '87 out of 100', 188 'footer.nav': 'Footer', 189 'demo.placeholder': 'Paste an SMS, email, chat, listing and/or link â all in one field.', 190 'signal.money.urgency': 'Pressure to act immediately or a countdown / threat.', 191 'signal.money.urgency.advice': 'Real institutions rarely demand instant action â slow down and verify separately.', 192 'signal.money.paymentMethod': 'Asks for payment by wire transfer, crypto, or gift cards.', 193 'signal.money.paymentMethod.advice': 'Never send money through a channel that cannot be traced or refunded.', 194 'signal.money.sensitiveCode': 'Asks for your PIN, CVV, or a one-time code (OTP).', 195 'signal.money.sensitiveCode.advice': 'No bank or GriGsi will ever ask for your PIN or one-time code.', 196 'signal.money.tooGood': 'Promises a prize, inheritance, or return that is unusually large.', 197 'signal.money.tooGood.advice': 'If it sounds too good to be true, it almost always is.', 198 'signal.money.accountVerify': 'Asks you to "verify" or "unlock" your account via a link.', 199 'signal.money.accountVerify.advice': 'Type the official address yourself instead of clicking the link.', 200 'signal.money.advanceFee': 'Asks for a small fee first to release a larger sum.', 201 'signal.money.advanceFee.advice': 'Legitimate payouts never require you to pay first.', 202 'signal.shop.hugeDiscount': 'Extreme discount or clearance price far below market value.', 203 'signal.shop.hugeDiscount.advice': 'Compare the price with the official store before paying.', 204 'signal.shop.noBuyerProtection': 'Only accepts bank transfer or crypto â no card or platform protection.', 205 'signal.shop.noBuyerProtection.advice': 'Prefer payment methods that let you dispute or reverse a charge.', 206 'signal.shop.lookalikeDomain': "The link's domain imitates a known brand.", 207 'signal.shop.lookalikeDomain.advice': 'Check the exact spelling of the domain before you trust it.', 208 'signal.shop.fakeUrgency': 'Claims only a few items are left or the offer ends in minutes.', 209 'signal.shop.fakeUrgency.advice': 'Manufactured urgency is a classic pressure tactic â take your time.', 210 'signal.shop.moveOffPlatform': 'Asks you to continue the payment outside the marketplace.', 211 'signal.shop.moveOffPlatform.advice': 'Moving off-platform removes any buyer protection you had.', 212 'signal.shop.unexpectedFee': 'Asks for an extra customs or delivery fee to release your package.', 213 'signal.shop.unexpectedFee.advice': "A courier will not ask you to pay a stranger's bank account for release.", 214 'omni.trust.tool': 'TRUST', 215 'omni.trust.title': 'Trust Check', 216 'omni.trust.summary': 'Verify this link or claim in more depth.', 217 'omni.trust.cta': 'Open Trust Check', 218 'omni.proof.tool': 'PROOF', 219 'omni.proof.title': 'Proof', 220 'omni.proof.summary': 'Check the origin and authenticity of the content.', 221 'omni.proof.cta': 'Open Proof', 222 'omni.noise.tool': 'NOISE', 223 'omni.noise.title': 'Noise analyzer', 224 'omni.noise.summary': 'Analyze the text itself for manipulation patterns.', 225 'omni.noise.cta': 'Open Noise analyzer', 226 'omni.intel.tool': 'INTELLIGENCE', 227 'omni.intel.title': 'Similarity', 228 'omni.intel.summary': 'Compare against known content and patterns.', 229 'omni.intel.cta': 'Open Similarity' 230 }; 231 232 var BG = { 233 'meta.title': 'GriGsi â ÐлаÑÑÑÑ Ð½Ð° довеÑие за ÑвеÑа на изкÑÑÑÐ²ÐµÐ½Ð¸Ñ Ð¸Ð½ÑелекÑ', 234 'skip': 'ÐÑеÑкоÑи кÑм инÑеÑакÑивнаÑа демонÑÑÑаÑиÑ', 235 'nav.trust': 'ÐовеÑие', 236 'nav.proof': 'ÐоказаÑелÑÑво', 237 'nav.space': 'ÐÑоÑÑÑанÑÑво', 238 'nav.intelligence': 'ÐнÑелигенÑноÑÑ', 239 'cta.check': 'ÐÑовеÑи неÑо', 240 'cta.build': 'ÐзгÑади Ñ GriGsi', 241 'hero.title': 'ÐлаÑÑÑÑ Ð½Ð° довеÑие за ÑвеÑа на изкÑÑÑÐ²ÐµÐ½Ð¸Ñ Ð¸Ð½ÑелекÑ.', 242 'hero.subhead': 'ÐогаÑо вÑиÑко може да бÑде генеÑиÑано, довеÑиеÑо ÑÑÑбва да бÑде ÑазбÑано.', 243 'hero.lead': 'GriGsi помага да ÑазбеÑÐµÑ ÐºÐ¾Ðµ е иÑÑинÑко, на какво може да Ñе вÑÑва, кое е неÑигÑÑно и кое може да бÑде докаÐ
243·Ð°Ð½Ð¾.', 244 'cta.tools': 'Ðиж вÑиÑки инÑÑÑÑменÑи', 245 'hero.hint': 'ÐзбеÑи неÑо, коеÑо иÑÐºÐ°Ñ Ð´Ð° ÑазбеÑеÑ, пÑовеÑÐ¸Ñ Ð¸Ð»Ð¸ докажеÑ.', 246 'flow.choose': 'ÐзбеÑи', 247 'flow.input': 'ÐÑведи', 248 'flow.analyze': 'Ðнализ', 249 'flow.understand': 'РазбеÑи', 250 'demo.label': 'ÐÑовеÑи Ñега', 251 'demo.title': 'ÐоÑÑави ÑÑобÑение или линк', 252 'demo.help': 'СпÑи. ÐÑовеÑи. ÐоÑле дейÑÑвай. Ðдно поле â ÑекÑÑ, линк или и двеÑе. ÐвÑомаÑиÑно Ñазпознаваме пÑизнаÑи и домейна, плÑÑ ÑвÑÑзани пÑовеÑки на GriGsi (ÐовеÑие, ШÑм, ÐÑовеÑка, ÐоказаÑелÑÑвоâ¦). ÐиÑо ÑÑвÑÑвиÑелно не Ñе каÑва, оÑвен ако не е Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾.', 253 'demo.shareHint': 'РабоÑи и Ð¾Ñ ÑазÑиÑениеÑо, наÑÑолноÑо пÑиложение и ÑподелÑне Ð¾Ñ ÑелеÑона.', 254 'demo.inputLabel': 'Ðакво да пÑовеÑим', 255 'demo.safety': 'Ðе поÑÑавÑй паÑоли, ÐÐРкодове или данни на каÑÑа. Ðко има линк, използваме Ñамо домейна.', 256 'demo.analyze': 'ÐÑовеÑи', 257 'demo.reset': 'ÐзÑиÑÑи', 258 'demo.verdictNone': 'ÐÑма оÑбелÑзани пÑизнаÑи', 259 'demo.verdictWarn': 'ÐÑкÑиÑи Ñа пÑизнаÑи â внимавай', 260 'demo.verdictHigh': 'ÐÑкÑиÑи Ñа множеÑÑво пÑизнаÑи â виÑок ÑиÑк', 261 'demo.verdictText': 'ÐÑовеÑи внимаÑелно, пÑеди да пÑодÑлжиÑ.', 262 'demo.verdictTextNone': 'Ð ÑекÑÑа не Ñа оÑкÑиÑи ÑÑевожни пÑизнаÑи, но винаги пÑовеÑÑвай внимаÑелно, пÑеди да пÑодÑлжиÑ.', 263 'demo.verdictTextWarn': 'ÐоÑÐ²Ð¸Ñ Ð° Ñе нÑколко пÑедÑпÑедиÑелни пÑизнака. ÐÑоÑеÑи ги по-Ð´Ð¾Ð»Ñ Ð¸ пÑовеÑи незавиÑимо, пÑеди да дейÑÑваÑ.', 264 'demo.verdictTextHigh': 'Това има Ñилни пÑизнаÑи на измама. Ðе изпÑаÑай паÑи и не ÑподелÑй кодове â пÑÑво пÑовеÑи пÑез оÑиÑиален канал.', 265 'demo.moneyTitle': '01 · ФинанÑови измами', 266 'demo.shopTitle': '02 · Ðнлайн пазаÑÑване', 267 'demo.adviceTitle': 'Ðакво да напÑавиÑ', 268 'demo.adviceNone': 'Ðе ÑÑÐ²Ð¿Ð°Ð´Ð½Ð°Ñ Ð° конкÑеÑни пÑизнаÑи â вÑе пак пÑовеÑи подаÑÐµÐ»Ñ Ð¸ домейна незавиÑимо.', 269 'demo.externalTitle': 'ÐÑнÑни пÑовеÑки', 270 'demo.domainLine': 'Ðомейн: â', 271 'demo.domainLabel': 'Ðомейн:', 272 'demo.extLoading': 'ÐаÑеждане на ÑезÑме Ð¾Ñ ScamAdviser / VirusTotalâ¦', 273 'demo.scamadviser': 'ÐÑигинал в ScamAdviser', 274 'demo.virustotal': 'ÐÑигинал в VirusTotal', 275 'demo.extHint': 'ТÑк показваме кÑаÑко ÑезÑме в GriGsi. ÐÑлниÑÑ Ð´Ð¾ÐºÐ»Ð°Ð´ оÑÑава пÑи изÑоÑника.', 276 'demo.happenedTitle': 'Ðко веÑе Ñи плаÑил/а или Ñподелил/а данни', 277 'demo.happened1': 'СпÑи конÑакÑа. Ðе изпÑаÑай повеÑе паÑи. Ðапази ÑÑобÑениÑÑа.', 278 'demo.happened2': 'Ðбади Ñе на банкаÑа на оÑиÑÐ¸Ð°Ð»Ð½Ð¸Ñ Ð½Ð¾Ð¼ÐµÑ. ÐоиÑкай да блокиÑÐ°Ñ ÐºÐ°ÑÑаÑа и пÑовеÑи ÑÑанзакÑииÑе.', 279 'demo.happened3': 'ÐÑ ÑиÑÑо ÑÑÑÑойÑÑво Ñмени паÑолиÑе и вклÑÑи допÑлниÑелна заÑиÑа пÑи Ð²Ñ Ð¾Ð´.', 280 'demo.happened4': 'Ðодай Ñигнал в полиÑиÑÑа, а пÑи ÑинанÑови ÑлÑÑаи â и до ÐомиÑиÑÑа за ÑинанÑов надзоÑ.', 281 'demo.happenedWarn': 'Ðнимание: âвÑзÑÑановÑване ÑÑеÑÑ ÑакÑаâ ÑеÑÑо е вÑоÑа измама.', 282 'demo.omniTitle': 'ÐÑ GriGsi â ÑвÑÑзани пÑовеÑки', 283 'demo.omniHint': 'ÐÑÑкаме ÐовеÑие, ÐÑовеÑка, ШÑм, ÐоказаÑелÑÑво и дÑÑги инÑÑÑÑменÑи, коиÑо Ð¸Ð¼Ð°Ñ ÑмиÑÑл за ÑлÑÑаÑ. РеÑениеÑо оÑÑава Ñвое.', 284 'demo.omniLoading': 'ТÑÑÑене в GriGsiâ¦', 285 'demo.disclaimer': 'ÐбÑазоваÑелна пÑовеÑка. ÐÑи Ñеален ÑиÑк Ñе ÑвÑÑжи Ñ Ð±Ð°Ð½ÐºÐ°Ñа Ñи и компеÑенÑниÑе оÑгани.', 286 'demo.errorEmpty': 'ÐоÑÑави неÑо за пÑовеÑка пÑÑво.', 287 'demo.fromShare': 'ÐопÑлнено авÑомаÑиÑно Ð¾Ñ ÑподелÑне.', 288 'demo.statusAnalyzing': 'ÐнализиÑанеâ¦', 289 'demo.statusDone': 'ÐÑовеÑкаÑа пÑиклÑÑи.', 290 'ai.loading': 'GriGsi AI анализиÑаâ¦', 291 'ai.checkedTitle': 'Ðакво пÑовеÑÐ¸Ñ ', 292 'ai.unavailable': 'AI обÑÑнениеÑо вÑеменно не е налиÑно â виж подÑобнаÑа пÑовеÑка по-долÑ.', 293 'problem.kicker': 'ÐÑоблемÑÑ', 294 'problem.title': 'Ðа инÑеÑÐ½ÐµÑ ÑÑава вÑе по-ÑÑÑдно да Ñе вÑÑва.', 295 'chip.images': 'ÐзобÑажениÑ', 296 'chip.voices': 'ÐлаÑове', 297 'chip.videos': 'Ðидеа', 298 'chip.documents': 'ÐокÑменÑи', 299 'chip.identities': 'СамолиÑноÑÑи', 300 'chip.ai': 'РеÑÐµÐ½Ð¸Ñ Ð½Ð° ÐÐ', 301 'problem.line': 'ÐоÑÑи вÑиÑко веÑе може да бÑде генеÑиÑано.', 302 'problem.q': 'Тогава на какво наиÑÑина Ð¼Ð¾Ð¶ÐµÑ Ð´Ð° вÑÑваÑ?', 303 'answer.kicker': 'ÐÑговоÑÑÑ Ð½Ð° GriGsi', 304 'answer.title': 'РазбеÑи. ÐÑовеÑи. Ðокажи.', 305 'answer.copy': 'GriGsi пÑедлага ÑвÑÑзана ÑиÑÑема за пÑеминаване Ð¾Ñ Ð½ÐµÑигÑÑноÑÑ ÐºÑм ÑазбиÑане â не ÑÑи неÑвÑÑзани пÑодÑкÑа.', 306 'pillar.trust.h': 'Ðога ли да Ñе довеÑÑ Ð½Ð° Ñова?', 307 'pillar.trust.p': 'GriGsi анализиÑа пÑизнаÑи, конÑекÑÑ, пÑÐ¾Ð¸Ð·Ñ Ð¾Ð´ и ÑиÑк, за да помогне да ÑазбеÑÐµÑ Ð½Ð° какво може да Ñе вÑÑва и заÑо.', 308 'ex.links': 'линкове', 309 'ex.websites': 'ÑебÑайÑове', 310 'ex.information': 'инÑоÑмаÑиÑ', 311 'ex.identities': 'ÑамолиÑноÑÑи',
312 'ex.digital': 'дигиÑално ÑÑдÑÑжание', 313 'ex.ai': 'ÑезÑлÑаÑи Ð¾Ñ ÐÐ', 314 'pillar.trust.cta': 'Разгледай ÐовеÑие', 315 'pillar.proof.h': 'Ðоже ли да бÑде доказано?', 316 'pillar.proof.p': 'GriGsi помага да ÑазбеÑÐµÑ Ð¿ÑÐ¾Ð¸Ð·Ñ Ð¾Ð´, доказаÑелÑÑва, авÑенÑиÑноÑÑ Ð¸ дигиÑална иÑÑоÑиÑ.', 317 'ex.provenance': 'пÑÐ¾Ð¸Ð·Ñ Ð¾Ð´ на ÑÑдÑÑжаниеÑо', 318 'ex.authorship': 'авÑоÑÑÑво', 319 'ex.evidence': 'доказаÑелÑÑва', 320 'ex.verification': 'веÑиÑикаÑиÑ', 321 'ex.records': 'дигиÑални запиÑи', 322 'pillar.proof.cta': 'Разгледай ÐоказаÑелÑÑво', 323 'pillar.space.h': 'СвÑÑжи Ñе, без да ÑазкÑÐ¸Ð²Ð°Ñ Ð²ÑиÑко.', 324 'pillar.space.p': 'СÑздавай вÑеменни пÑоÑÑÑанÑÑва Ñ Ð¿ÑиоÑиÑÐµÑ Ð²ÑÑÑ Ñ Ð¿Ð¾Ð²ÐµÑиÑелноÑÑÑа за обÑÑване и ÑÑÑÑÑдниÑеÑÑво.', 325 'pillar.space.quote': 'СвÑÑжи Ñе. ÐапÑави каквоÑо ÑÑÑбва. Ðе оÑÑавÑй излиÑна ÑÑайна вÑÑзка Ñлед Ñебе Ñи.', 326 'pillar.space.cta': 'Разгледай ÐÑоÑÑÑанÑÑво', 327 'how.kicker': 'Ðак ÑабоÑи', 328 'how.title': 'ÐÑ Ð½ÐµÑигÑÑноÑÑ ÐºÑм ÑазбиÑане.', 329 'how.s1': 'ÐонеÑи неÑо', 330 'how.s1.a': 'Ðинк', 331 'how.s1.b': 'Файл', 332 'how.s1.c': 'ÐзобÑажение', 333 'how.s1.d': 'ÐокÑменÑ', 334 'how.s1.e': 'СамолиÑноÑÑ', 335 'how.s1.f': 'ТвÑÑдение', 336 'how.s1.g': 'РезÑлÑÐ°Ñ Ð¾Ñ ÐÐ', 337 'how.s2': 'GriGsi го анализиÑа', 338 'how.s2.a': 'ÐÑизнаÑи', 339 'how.s2.b': 'ÐÑÐ¾Ð¸Ð·Ñ Ð¾Ð´', 340 'how.s2.c': 'ÐонÑекÑÑ', 341 'how.s2.d': 'ÐоказаÑелÑÑва', 342 'how.s2.e': 'РиÑк', 343 'how.s3': 'РазбеÑи ÑезÑлÑаÑа', 344 'how.s3.a': 'Ðа какво може да Ñе вÑÑва', 345 'how.s3.b': 'Ðое е неÑигÑÑно', 346 'how.s3.c': 'Ðое може да бÑде доказано', 347 'how.s3.d': 'ÐаÑо ÑиÑÑемаÑа ÑÑигна до Ñози извод', 348 'how.note': 'РезÑлÑаÑÑÑ Ðµ обÑÑним.', 349 'diff.kicker': 'Разлика', 350 'diff.title': 'ÐÑенкаÑа не е обÑÑнение.', 351 'diff.generic': 'Ðбикновена ÑиÑÑема', 352 'diff.score': 'ÐÑенка на довеÑие', 353 'diff.g1': 'Ðез конÑекÑÑ.', 354 'diff.g2': 'Ðез обоÑновка.', 355 'diff.g3': 'Ðез обÑÑнение.', 356 'diff.why': 'ÐаÑо?', 357 'diff.origin': 'ÐÑÐ¾Ð¸Ð·Ñ Ð¾Ð´', 358 'diff.originV': 'ÐоÑвÑÑдено Ð¾Ñ Ð¿ÑÑвиÑен изÑоÑник.', 359 'diff.evidence': 'ÐоказаÑелÑÑва', 360 'diff.evidenceV': '4 незавиÑими пÑизнака.', 361 'diff.risk': 'РиÑк', 362 'diff.riskV': 'Ðе Ñа оÑкÑиÑи ÑеÑиозни ÑиÑкови индикаÑоÑи.', 363 'diff.context': 'ÐонÑекÑÑ', 364 'diff.contextV': 'СÑоÑвеÑÑÑва на налиÑнаÑа инÑоÑмаÑиÑ.', 365 'diff.conf': 'УвеÑеноÑÑ', 366 'diff.confV': 'ÐиÑока.', 367 'diff.foot': 'GriGsi не пÑоÑÑо дава оÑговоÑи. Той показва ÑазÑÑждениÑÑа зад ÑÑÑ .', 368 'eco.kicker': 'ÐкоÑиÑÑема', 369 'eco.title': 'Ðдин плаÑÑ Ð½Ð° довеÑие. Ðного наÑини да ÑазбеÑÐµÑ ÑвеÑа.', 370 'eco.trust.h': 'ÐеÑиÑикаÑиÑ', 371 'eco.trust.p': 'ÐеÑиÑикаÑиÑ, ÑигÑÑноÑÑ Ð¸ надеждноÑÑ â ÐÑовеÑка на довеÑие и Ñигнали Ð¾Ñ Ð¾Ð±ÑноÑÑÑа.', 372 'eco.proof.h': 'ÐÑÐ¾Ð¸Ð·Ñ Ð¾Ð´', 373 'eco.proof.p': 'ÐÑÐ¾Ð¸Ð·Ñ Ð¾Ð´, доказаÑелÑÑва и авÑенÑиÑноÑÑ Ð·Ð° дигиÑални запиÑи.', 374 'eco.space.h': 'ÐиÑна вÑÑзка', 375 'eco.space.p': 'ÐбÑÑване и взаимодейÑÑвие Ñ Ð¿ÑиоÑиÑÐµÑ Ð²ÑÑÑ Ñ Ð¿Ð¾Ð²ÐµÑиÑелноÑÑÑа.', 376 'eco.intel.h': 'Ðнализ', 377 'eco.intel.p': 'Ð¡Ñ Ð¾Ð´ÑÑво, анализ и ÑÐ°Ð·Ð±Ð¾Ñ Ð½Ð° данни.', 378 'eco.cta': 'Разгледай ÑÑлаÑа екоÑиÑÑема', 379 'future.kicker': 'Ðоглед напÑед', 380 'future.title': 'СÑздадено за ÑвеÑа, койÑо идва.', 381 'future.1': 'ÐРагенÑи', 382 'future.2': 'ÑинÑеÑиÑно ÑÑдÑÑжание',
383 'future.3': 'дигиÑален пÑÐ¾Ð¸Ð·Ñ Ð¾Ð´', 384 'future.4': 'кибеÑÑигÑÑноÑÑ', 385 'future.5': 'взаимодейÑÑвие Ñ Ð¿ÑиоÑиÑÐµÑ Ð½Ð° повеÑиÑелноÑÑÑа', 386 'future.6': 'Ñигнали за ÑамолиÑноÑÑ', 387 'future.7': 'ÑиÑÑеми за доказаÑелÑÑва', 388 'future.8': 'ÑÐ°Ð·Ð±Ð¾Ñ Ð½Ð° данни', 389 'future.copy': 'ÐолкоÑо по-моÑен ÑÑава дигиÑалниÑÑ ÑвÑÑ, Ñолкова по-ÑÑÑдно е да Ñе пÑовеÑÑва.', 390 'future.note': 'GriGsi е ÑÑздаден за Ñова бÑдеÑе.', 391 'privacy.kicker': 'ÐовеÑиÑелноÑÑ', 392 'privacy.title': 'ÐовеÑиеÑо не ÑÑÑбва да изиÑква да Ñе оÑÐºÐ°Ð¶ÐµÑ Ð¾Ñ Ð¿Ð¾Ð²ÐµÑиÑелноÑÑÑа Ñи.', 393 'privacy.1': 'ÐинимизиÑане на данниÑе', 394 'privacy.2': 'ÐонÑÑол за поÑÑебиÑелÑ', 395 'privacy.3': 'ÐÑозÑаÑноÑÑ', 396 'privacy.4': 'ÐбÑÑнимоÑÑ', 397 'privacy.5': 'Ðизайн Ñ Ð¿ÑиоÑиÑÐµÑ Ð½Ð° повеÑиÑелноÑÑÑа', 398 'privacy.key': 'ÐолкоÑо повеÑе знаеÑ, Ñолкова по-малко ÑÑÑбва да ÑазкÑиваÑ.', 399 'final.title': 'Ðакво иÑÐºÐ°Ñ Ð´Ð° ÑазбеÑеÑ, пÑовеÑÐ¸Ñ Ð¸Ð»Ð¸ докажеÑ?', 400 'final.copy': 'ÐÑдеÑеÑо нÑма да има по-малко инÑоÑмаÑиÑ. Ще има повеÑе неÑигÑÑноÑÑ. GriGsi помага да й Ñе намеÑи ÑмиÑÑл.', 401 'footer.privacy': 'ÐовеÑиÑелноÑÑ', 402 'footer.how': 'Ðак ÑабоÑи', 403 'footer.api': 'API', 404 'footer.eco': 'ÐкоÑиÑÑема', 405 'footer.home': 'ÐаÑална ÑÑÑаниÑа', 406 'footer.tools': 'ÐÑиÑки инÑÑÑÑменÑи', 407 'logo.aria': 'GriGsi наÑало',
408 'nav.primary': 'ÐÑновно менÑ', 409 'lang.group': 'Ðзик', 410 'menu.open': 'ÐÑвоÑи менÑÑо', 411 'nav.mobile': 'Ðобилно менÑ', 412 'flow.aria': 'ÐоÑок на пÑодÑкÑа', 413 'problem.chips': 'Ðое може да бÑде генеÑиÑано', 414 'diff.scoreAria': '87 Ð¾Ñ 100', 415 'footer.nav': 'Ðолно менÑ', 416 'demo.placeholder': 'ÐоÑÑави SMS, имейл, ÑаÑ, обÑва и/или линк â вÑиÑко в едно поле.', 417 'signal.money.urgency': 'ÐаÑиÑк да дейÑÑÐ²Ð°Ñ Ð½ÐµÐ·Ð°Ð±Ð°Ð²Ð½Ð¾ или обÑаÑно бÑоене / Ð·Ð°Ð¿Ð»Ð°Ñ Ð°.', 418 'signal.money.urgency.advice': 'ÐÑÑинÑкиÑе инÑÑиÑÑÑии ÑÑдко изиÑÐºÐ²Ð°Ñ Ð½ÐµÐ·Ð°Ð±Ð°Ð²Ð½Ð¾ дейÑÑвие â забави ÑемпоÑо и пÑовеÑи оÑделно.', 419 'signal.money.paymentMethod': 'ÐÑка плаÑане ÑÑез банков пÑевод, кÑипÑо или подаÑÑÑни каÑÑи.', 420 'signal.money.paymentMethod.advice': 'Ðикога не изпÑаÑай паÑи по наÑин, койÑо не може да бÑде пÑоÑледен или вÑзÑÑановен.', 421 'signal.money.sensitiveCode': 'ÐÑка ÑÐ²Ð¾Ñ ÐÐÐ, CVV или еднокÑаÑен код (OTP).', 422 'signal.money.sensitiveCode.advice': 'ÐиÑо банкаÑа, ниÑо GriGsi Ñе поиÑÐºÐ°Ñ ÐÐРили еднокÑаÑен код.', 423 'signal.money.tooGood': 'ÐбеÑава пеÑалба, наÑледÑÑво или Ð´Ð¾Ñ Ð¾Ð´Ð½Ð¾ÑÑ, необиÑайно голÑма.', 424 'signal.money.tooGood.advice': 'Ðко звÑÑи пÑекалено добÑе, за да е иÑÑина, обикновено не е.', 425 'signal.money.accountVerify': 'ÐÑка да âпоÑвÑÑдиÑâ или âоÑклÑÑиÑâ акаÑнÑа Ñи пÑез линк.', 426 'signal.money.accountVerify.advice': 'ÐÑведи оÑиÑÐ¸Ð°Ð»Ð½Ð¸Ñ Ð°Ð´ÑÐµÑ Ñам/а, вмеÑÑо да наÑиÑÐºÐ°Ñ Ð»Ð¸Ð½ÐºÐ°.', 427 'signal.money.advanceFee': 'ÐÑка малка ÑакÑа пÑÑво, за да âоÑвободиâ по-голÑма ÑÑма.', 428 'signal.money.advanceFee.advice': 'ÐÑÑинÑкиÑе изплаÑÐ°Ð½Ð¸Ñ Ð½Ð¸ÐºÐ¾Ð³Ð° не изиÑÐºÐ²Ð°Ñ Ð¿ÑÑво Ñи да плаÑиÑ.', 429 'signal.shop.hugeDiscount': 'ÐÑайно намаление или ÑазпÑодажна Ñена, Ð´Ð°Ð»ÐµÑ Ð¿Ð¾Ð´ пазаÑнаÑа ÑÑойноÑÑ.', 430 'signal.shop.hugeDiscount.advice': 'СÑавни ÑенаÑа Ñ Ð¾ÑиÑÐ¸Ð°Ð»Ð½Ð¸Ñ Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½, пÑеди да плаÑиÑ.', 431 'signal.shop.noBuyerProtection': 'ÐÑиема Ñамо банков пÑевод или кÑипÑо â без заÑиÑа Ð¾Ñ ÐºÐ°ÑÑа или плаÑÑоÑма.', 432 'signal.shop.noBuyerProtection.advice': 'ÐÑедпоÑиÑай наÑини на плаÑане, пÑи коиÑо Ð¼Ð¾Ð¶ÐµÑ Ð´Ð° оÑпоÑÐ¸Ñ Ð¸Ð»Ð¸ вÑÑÐ½ÐµÑ ÑÑмаÑа.', 433 'signal.shop.lookalikeDomain': 'ÐомейнÑÑ Ð½Ð° линка имиÑиÑа познаÑа маÑка.', 434 'signal.shop.lookalikeDomain.advice': 'ÐÑовеÑи ÑоÑÐ½Ð¸Ñ Ð¸Ð·Ð³Ð¾Ð²Ð¾Ñ Ð½Ð° домейна, пÑеди да Ð¼Ñ Ñе довеÑиÑ.', 435 'signal.shop.fakeUrgency': 'ТвÑÑди, Ñе оÑÑÐ°Ð²Ð°Ñ Ð¼Ð°Ð»ÐºÐ¾ бÑойки или оÑеÑÑаÑа изÑиÑа Ñлед минÑÑи.', 436 'signal.shop.fakeUrgency.advice': 'ÐзкÑÑÑвено ÑÑздаденаÑа ÑпеÑноÑÑ Ðµ клаÑиÑеÑка ÑакÑика за наÑиÑк â не бÑÑзай.', 437 'signal.shop.moveOffPlatform': 'ÐÑка да пÑодÑÐ»Ð¶Ð¸Ñ Ð¿Ð»Ð°ÑанеÑо извÑн плаÑÑоÑмаÑа.', 438 'signal.shop.moveOffPlatform.advice': 'ÐзлизанеÑо извÑн плаÑÑоÑмаÑа пÑÐµÐ¼Ð°Ñ Ð²Ð° заÑиÑаÑа, коÑÑо Ñи имал/а каÑо кÑпÑваÑ.', 439 'signal.shop.unexpectedFee': 'ÐÑка допÑлниÑелна миÑниÑеÑка ÑакÑа или ÑакÑа за доÑÑавка, за да âоÑвободиâ пÑаÑкаÑа.', 440 'signal.shop.unexpectedFee.advice': 'ÐÑÑиеÑÑка ÑиÑма нÑма да поиÑка да плаÑÐ¸Ñ Ð¿Ð¾ ÑÑжда лиÑна ÑмеÑка за оÑвобождаване.', 441 'omni.trust.tool': 'ÐÐÐÐÐ ÐÐ', 442 'omni.trust.title': 'ÐÑовеÑка на довеÑие', 443 'omni.trust.summary': 'ÐÑовеÑи Ñози линк или ÑвÑÑдение по-задÑлбоÑено.', 444 'omni.trust.cta': 'ÐÑвоÑи ÐÑовеÑка на довеÑие', 445 'omni.proof.tool': 'ÐÐÐÐÐÐТÐÐСТÐÐ', 446 'omni.proof.title': 'ÐоказаÑелÑÑво', 447 'omni.proof.summary': 'ÐÑовеÑи пÑÐ¾Ð¸Ð·Ñ Ð¾Ð´Ð° и авÑенÑиÑноÑÑÑа на ÑÑдÑÑжаниеÑо.', 448 'omni.proof.cta': 'ÐÑвоÑи ÐоказаÑелÑÑво', 449 'omni.noise.tool': 'ШУÐ', 450 'omni.noise.title': 'ÐнализаÑÐ¾Ñ Ð½Ð° ÑÑм', 451 'omni.noise.summary': 'ÐнализиÑай ÑÐ°Ð¼Ð¸Ñ ÑекÑÑ Ð·Ð° манипÑлаÑивни модели.', 452 'omni.noise.cta': 'ÐÑвоÑи ÐнализаÑÐ¾Ñ Ð½Ð° ÑÑм', 453 'omni.intel.tool': 'ÐÐТÐÐÐÐÐÐТÐÐСТ',
454 'omni.intel.title': 'Ð¡Ñ Ð¾Ð´ÑÑво', 455 'omni.intel.summary': 'СÑавни Ñ Ð¿Ð¾Ð·Ð½Ð°Ñо ÑÑдÑÑжание и модели.', 456 'omni.intel.cta': 'ÐÑвоÑи Ð¡Ñ Ð¾Ð´ÑÑво' 457 }; 458 459 var DICTS = { en: EN, bg: BG }; 460 var STORAGE_KEY = 'grigsi_lang'; 461 462 function detectDefault() { 463 try { 464 var saved = window.localStorage.getItem(STORAGE_KEY); 465 if (saved === 'bg' || saved === 'en') return saved; 466 } catch (e) { /* localStorage unavailable */ } 467 return (navigator.language || '').toLowerCase().indexOf('bg') === 0 ? 'bg' : 'en'; 468 } 469 470 var current = detectDefault(); 471 472 function t(key) { 473 var dict = DICTS[current] || EN; 474 return Object.prototype.hasOwnProperty.call(dict, key) ? dict[key] : (EN[key] || key); 475 } 476 477 function applyToDom() { 478 document.documentElement.setAttribute('lang', current); 479 480 var nodes = document.querySelectorAll('[data-i18n]'); 481 for (var i = 0; i < nodes.length; i++) { 482 nodes[i].textContent = t(nodes[i].getAttribute('data-i18n')); 483 } 484 485 var ariaNodes = document.querySelectorAll('[data-i18n-aria]'); 486 for (var j = 0; j < ariaNodes.length; j++) { 487 ariaNodes[j].setAttribute('aria-label', t(ariaNodes[j].getAttribute('data-i18n-aria'))); 488 } 489 490 var placeholderNodes = document.querySelectorAll('[data-i18n-placeholder]'); 491 for (var k = 0; k < placeholderNodes.length; k++) { 492 placeholderNodes[k].setAttribute('placeholder', t(placeholderNodes[k].getAttribute('data-i18n-placeholder'))); 493 } 494 495 var bgBtn = document.getElementById('hv1-lang-bg'); 496 var enBtn = document.getElementById('hv1-lang-en'); 497 if (bgBtn && enBtn) { 498 bgBtn.classList.toggle('is-on', current === 'bg'); 499 bgBtn.setAttribute('aria-pressed', current === 'bg' ? 'true' : 'false'); 500 enBtn.classList.toggle('is-on', current === 'en'); 501 enBtn.setAttribute('aria-pressed', current === 'en' ? 'true' : 'false'); 502 } 503 504 var drawerBtns = document.querySelectorAll('[data-hv1-lang]'); 505 for (var d = 0; d < drawerBtns.length; d++) { 506 var btn = drawerBtns[d]; 507 var isOn = btn.getAttribute('data-hv1-lang') === current; 508 btn.classList.toggle('is-on', isOn); 509 btn.setAttribute('aria-pressed', isOn ? 'true' : 'false'); 510 } 511 } 512 513 function setLang(lang) { 514 if (lang !== 'bg' && lang !== 'en') return; 515 current = lang; 516 try { window.localStorage.setItem(STORAGE_KEY, lang); } catch (e) { /* ignore */ } 517 applyToDom(); 518 document.dispatchEvent(new CustomEvent('hv1:langchange', { detail: { lang: lang } })); 519 } 520 521 function wireButtons() { 522 var bgBtn = document.getElementById('hv1-lang-bg'); 523 var enBtn = document.getElementById('hv1-lang-en'); 524 if (bgBtn) bgBtn.addEventListener('click', function () { setLang('bg'); }); 525 if (enBtn) enBtn.addEventListener('click', function () { setLang('en'); }); 526 527 var drawerBtns = document.querySelectorAll('[data-hv1-lang]'); 528 for (var i = 0; i < drawerBtns.length; i++) { 529 (function (btn) { 530 btn.addEventListener('click', function () { 531 setLang(btn.getAttribute('data-hv1-lang')); 532 }); 533 })(drawerBtns[i]); 534 } 535 } 536 537 window.HV1_I18N = { 538 t: t, 539 setLang: setLang, 540 getLang: function () { return current; }, 541 apply: applyToDom 542 }; 543 544 wireButtons(); 545 applyToDom(); 546})();
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.