Refactor translations and update blog and Anti-Fingerprinting Shield Plus pages

- Removed unused translation sections for blog and Anti-Fingerprinting Shield Plus to streamline the codebase.
- Updated blog page to utilize dynamic translations based on the selected language.
- Enhanced Anti-Fingerprinting Shield Plus page to fetch translations correctly, improving maintainability and user experience.
This commit is contained in:
becarta
2025-05-14 00:38:25 +02:00
parent 71c674392b
commit b5fbfec352
4 changed files with 29 additions and 582 deletions

View File

@@ -75,10 +75,6 @@ export interface Translation {
description: string;
}[];
};
blog: {
title: string;
information: string;
};
homepage: {
actions: {
learnMore: string;
@@ -131,85 +127,6 @@ export interface Translation {
description: string;
};
};
antifp: {
title: string;
description: string;
summary: string;
viewOnGreasyFork: string;
howToInstall: string;
step1: string;
step2: string;
step3: string;
step4: string;
moreDetails: string;
features: {
title: string;
items: string[];
};
notes: {
title: string;
items: string[];
};
targetAudience: string;
};
eap: {
menu: string;
title: string;
intro: string;
whatItDoes: {
title: string;
items: string[];
screenshot: string;
};
howItWorks: {
title: string;
steps: string[];
};
privacy: {
title: string;
items: string[];
};
notDo: {
title: string;
items: string[];
};
trustedBlocked: {
title: string;
steps: string[];
};
safeBrowsing: {
title: string;
content: string;
report: string;
reportLink: string;
};
audience: {
title: string;
items: string[];
};
requirements: {
title: string;
items: string[];
};
troubleshooting: {
title: string;
notFlagged: string;
notFlaggedReasons: string[];
falsePositive: string;
falsePositiveReasons: string[];
};
updates: {
title: string;
features: string[];
};
screenshots: {
settings: string;
popup: string;
settingsImg: string;
popupImg: string;
mainImg: string;
};
};
}
export const supportedLanguages = ['en', 'nl', 'de', 'fr'] as const;
@@ -648,165 +565,7 @@ export const translations: Record<string, Translation> = {
'Experienced in providing advanced technical support for complex IT issues that require in-depth knowledge and specialized expertise. Proficient in troubleshooting, diagnosing, and resolving critical system problems across various platforms and applications.',
},
],
},
blog: {
title: 'Explore my insightful articles on my blog',
information:
"Welcome to my blog, where I share insights, tips, and solutions on Microsoft 365, Nexthink, Power Automate, PowerShell, and other automation tools. Whether you're looking to streamline workflows, enhance productivity, or dive into technical problem-solving, you'll find practical content to support your journey.",
},
antifp: {
title: 'Anti-Fingerprinting Shield Plus Advanced Privacy Protection (AFS+)',
description: 'Advanced browser fingerprint spoofing for better privacy and online anonymity.',
summary: 'Browser fingerprinting uses subtle data like your screen size, system language, canvas output, and GPU info to uniquely identify your device — even without cookies. AFS+ fights this by spoofing or blocking many fingerprinting methods, while maintaining realism and compatibility.',
viewOnGreasyFork: 'View on GreasyFork',
howToInstall: 'How to Install',
step1: 'Install a userscript manager such as Tampermonkey or Violentmonkey.',
step2: 'Visit the Anti-Fingerprinting Shield Plus GreasyFork page.',
step3: 'Click the "Install this script" button.',
step4: 'Follow the prompts to add the script to your userscript manager.',
moreDetails: 'For more details and updates, visit the GreasyFork page linked above.',
features: {
title: 'What it does',
items: [
'Spoofs navigator.language and navigator.languages',
'Randomizes navigator.platform (Windows, Mac, Linux, etc.)',
'Spoofs navigator.userAgent from a realistic set',
'Randomizes hardwareConcurrency (CPU cores)',
'Spoofs screen size (width, height, innerWidth, innerHeight)',
'Disables TouchEvent and ontouchstart',
'Blocks Battery API',
'Blocks Sensor APIs (motion/orientation)',
'Blocks or spoofs mediaDevices.enumerateDevices',
'Empties navigator.plugins and mimeTypes',
'Adds noise to canvas fingerprinting',
'Spoofs WebGL vendor, renderer, texture size',
'Adds noise to audio fingerprinting',
'Blocks beforeunload traps',
'Prevents fingerprinting in subframes (runs top-frame only)'
]
},
notes: {
title: 'Notes',
items: [
'This script does not protect against WebRTC leaks. Use uBlock Origin or disable STUN in your browser.',
'Font fingerprinting is not blocked (only possible via extensions or advanced techniques).',
'A few sites may misbehave if they rely heavily on fingerprint data or blocked APIs.'
]
},
targetAudience: 'Built for privacy enthusiasts, testers, and developers who want greater control over browser tracking.'
},
eap: {
menu: 'Enterprise App Protection',
title: 'Enterprise App Protection (EAP) Advanced Phishing Defense',
intro: 'Protect yourself and your organization from phishing attacks that impersonate common enterprise applications like DocuSign, Salesforce, Microsoft 365, and hundreds more.',
whatItDoes: {
title: 'What This Extension Does',
items: [
'Automatically scans links in your browser and emails in real time',
'Alerts you when a link claims to be from a trusted enterprise app but leads to an unofficial domain',
'Uses Google Safe Browsing API to detect phishing and malware threats beyond known fake domains',
'Maintains an up-to-date database of legitimate enterprise application domains',
'Detects dynamically added links (e.g., in Outlook Web, Teams, SharePoint)',
'Works with 150+ enterprise applications',
'Functions completely offline after initial setup (except for Safe Browsing checks)'
],
screenshot: 'Enterprise App Protection Screenshot',
},
howItWorks: {
title: 'How It Works',
steps: [
'Scans all links and detects if any enterprise applications are mentioned',
'Verifies if the associated links actually go to official domains',
'Checks Google Safe Browsing to detect malware and phishing links not in its internal database',
'Detects links inside dynamically loaded content',
'Shows a clear warning if a potential impersonation attempt is detected'
]
},
privacy: {
title: 'Privacy & Security',
items: [
'Zero Data Collection: This extension does not collect, store, or transmit any personal data, browsing history, or email content.',
'Completely Offline: After initial installation, all domain checks are performed locally on your device.',
'No Cloud Processing: All link analysis happens directly in your browser.',
'Uses Google Safe Browsing API: Checks URLs against Google\'s real-time phishing and malware database.',
'Open Source: All code is available for review.'
]
},
notDo: {
title: 'What This Extension Doesn\'t Do',
items: [
'Does NOT access, read, or store your email content or attachments.',
'Does NOT track your browsing history.',
'Does NOT require an account or registration.',
'Does NOT send any data back to our servers.',
'Does NOT modify or alter any content—it only shows warnings.',
'Does NOT prevent you from visiting any websites.'
]
},
trustedBlocked: {
title: 'Trusted & Blocked Domains',
steps: [
'Open the extension options page.',
'Add or remove domains under "Trusted Domains" or "Blocked Domains".',
'Click "Update Database" to apply changes.'
]
},
safeBrowsing: {
title: 'Google Safe Browsing API',
content: 'This extension integrates with Google Safe Browsing to detect additional phishing and malware sites. If Google does not recognize a site as unsafe, it will not be flagged unless it is in the blocked domains list.',
report: 'Report new phishing domains to Google',
reportLink: 'https://safebrowsing.google.com/safebrowsing/report_phish/'
},
audience: {
title: 'Perfect For',
items: [
'Business professionals who regularly use enterprise applications',
'IT security teams looking to protect their organizations',
'Anyone concerned about phishing attacks targeting business services',
'Organizations using multiple cloud-based enterprise applications',
'Microsoft 365 users (Outlook, Teams, SharePoint) who want extra security'
]
},
requirements: {
title: 'System Requirements',
items: [
'Google Chrome 88+ / Microsoft Edge 88+',
'Works with Microsoft Outlook Web, Teams, and SharePoint',
'Internet connection required for Safe Browsing checks (optional)'
]
},
troubleshooting: {
title: 'Troubleshooting',
notFlagged: 'Why is a suspicious site not flagged?',
notFlaggedReasons: [
'It might not be in the domains.json database.',
'Google Safe Browsing does not recognize it as a phishing site.',
'The domain may be a legitimate subdomain of an official service.'
],
falsePositive: 'Why is a link incorrectly flagged?',
falsePositiveReasons: [
'If the link contains a word matching an app name but is not actually phishing.',
'You can add the domain to "Trusted Domains" in the options page.'
]
},
updates: {
title: 'Latest Updates',
features: [
'Dynamic Link Scanning: Detects phishing links inside emails, Teams, and SharePoint without reloading the page.',
'Google Safe Browsing Support: Detects additional phishing sites beyond known fake domains.',
'Improved Matching: Ensures only full app names trigger warnings.',
'Optimized Performance: No duplicate warnings, reduced false positives.',
'No More Debugging Logs: Production-ready version with clean console logs.'
]
},
screenshots: {
settings: 'Settings Page',
popup: 'Extension Popup',
settingsImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/SettingPage.png',
popupImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/ExtensionPopup.png',
mainImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/EnterpriseAppProtection.png'
}
},
}
},
nl: {
metadata: {
@@ -848,7 +607,7 @@ export const translations: Record<string, Translation> = {
title: 'Over mij',
content: [
"Met meer dan 15 jaar IT-ervaring ben ik een gepassioneerde IT-systemen- en automatiseringsmanager die uitblinkt in het leveren van optimale oplossingen voor complexe cloud- en on-premise systemen. Ik richt mij op het stimuleren van automatisering met Power Automate, het bouwen van intelligente chatbots in Copilot Studio en het integreren van API's om werkstromen te stroomlijnen. Ik beheer ook de Microsoft 365-omgeving, ondersteun derde-lijnsaanvragen en verhoog de efficiëntie met tools zoals Power Apps, Nexthink en TOPdesk.",
'Vroeger leidde ik de implementaties van Microsoft 365 en SharePoint Online, migreerde ik mailsystemen en verbeterde ik de automatisering met SCCM. Daarnaast richtte ik Bergsma IT op, waarmee ik kleine bedrijven hielp de overstap naar de cloud te maken en beheer ik op maat gemaakte WordPress-websites.',
'Vroeger leidde ik de implementaties van Microsoft 365 en SharePoint Online, migreerde ik mailsystemen, en verbeterde ik de automatisering met SCCM. Daarnaast richtte ik Bergsma IT op, waarmee ik kleine bedrijven hielp de overstap naar de cloud en beheer ik op maat gemaakte WordPress-websites.',
'Ik ben gecertificeerd in Microsoft Teams Administration, Azure Fundamentals en Nexthink Administration. Mijn missie is IT-excellentie te bevorderen door het optimaliseren van cloudoplossingen, het automatiseren van processen en het leveren van uitstekende technische ondersteuning.',
],
},
@@ -1239,164 +998,6 @@ export const translations: Record<string, Translation> = {
},
],
},
blog: {
title: 'Ontdek mijn inzichtelijke artikelen op mijn blog',
information:
'Welkom op mijn blog, waar ik inzichten, tips en oplossingen deel over Microsoft 365, Nexthink, Power Automate, PowerShell en andere automatiseringstools. Of je nu werkstromen wilt stroomlijnen, productiviteit wilt verhogen of wilt duiken in technische probleemoplossing, je vindt hier praktische content om je reis te ondersteunen.',
},
antifp: {
title: 'Anti-Fingerprinting Shield Plus Geavanceerde Privacybescherming (AFS+)',
description: 'Geavanceerde browser fingerprint spoofing voor betere privacy en online anonimiteit.',
summary: 'Browser fingerprinting gebruikt subtiele gegevens zoals uw schermgrootte, systeemtaal, canvas-output en GPU-informatie om uw apparaat uniek te identificeren — zelfs zonder cookies. AFS+ bestrijdt dit door veel fingerprinting-methoden te spoofen of te blokkeren, terwijl realisme en compatibiliteit behouden blijven.',
viewOnGreasyFork: 'Bekijk op GreasyFork',
howToInstall: 'Installatie-instructies',
step1: 'Installeer een userscript manager zoals Tampermonkey of Violentmonkey.',
step2: 'Bezoek de Anti-Fingerprinting Shield Plus GreasyFork pagina.',
step3: 'Klik op de "Installeer dit script" knop.',
step4: 'Volg de instructies om het script toe te voegen aan uw userscript manager.',
moreDetails: 'Voor meer details en updates, bezoek de hierboven gelinkte GreasyFork pagina.',
features: {
title: 'Wat het doet',
items: [
'Spooft navigator.language en navigator.languages',
'Randomiseert navigator.platform (Windows, Mac, Linux, etc.)',
'Spooft navigator.userAgent uit een realistische set',
'Randomiseert hardwareConcurrency (CPU-cores)',
'Spooft schermgrootte (width, height, innerWidth, innerHeight)',
'Schakelt TouchEvent en ontouchstart uit',
'Blokkeert Battery API',
'Blokkeert Sensor APIs (beweging/oriëntatie)',
'Blokkeert of spooft mediaDevices.enumerateDevices',
'Maakt navigator.plugins en mimeTypes leeg',
'Voegt ruis toe aan canvas fingerprinting',
'Spooft WebGL vendor, renderer, texture grootte',
'Voegt ruis toe aan audio fingerprinting',
'Blokkeert beforeunload traps',
'Voorkomt fingerprinting in subframes (s\'exécute uniquement dans le cadre principal)'
]
},
notes: {
title: 'Opmerkingen',
items: [
'Dit script beschermt niet tegen WebRTC-lekken. Gebruik uBlock Origin of schakel STUN uit in uw browser.',
'Font fingerprinting wordt niet geblokkeerd (alleen mogelijk via extensies of geavanceerde technieken).',
'Enkele websites kunnen niet goed werken als ze sterk afhankelijk zijn van fingerprint data of geblokkeerde APIs.'
]
},
targetAudience: 'Gebouwd voor privacy-enthousiastelingen, testers en ontwikkelaars die meer controle willen over browsertracking.'
},
eap: {
menu: 'Enterprise App Protection',
title: 'Enterprise App Protection (EAP) Advanced Phishing Defense',
intro: 'Protect yourself and your organization from phishing attacks that impersonate common enterprise applications like DocuSign, Salesforce, Microsoft 365, and hundreds more.',
whatItDoes: {
title: 'What This Extension Does',
items: [
'Automatically scans links in your browser and emails in real time',
'Alerts you when a link claims to be from a trusted enterprise app but leads to an unofficial domain',
'Uses Google Safe Browsing API to detect phishing and malware threats beyond known fake domains',
'Maintains an up-to-date database of legitimate enterprise application domains',
'Detects dynamically added links (e.g., in Outlook Web, Teams, SharePoint)',
'Works with 150+ enterprise applications',
'Functions completely offline after initial setup (except for Safe Browsing checks)'
],
screenshot: 'Enterprise App Protection Screenshot',
},
howItWorks: {
title: 'How It Works',
steps: [
'Scans all links and detects if any enterprise applications are mentioned',
'Verifies if the associated links actually go to official domains',
'Checks Google Safe Browsing to detect malware and phishing links not in its internal database',
'Detects links inside dynamically loaded content',
'Shows a clear warning if a potential impersonation attempt is detected'
]
},
privacy: {
title: 'Privacy & Security',
items: [
'Zero Data Collection: This extension does not collect, store, or transmit any personal data, browsing history, or email content.',
'Completely Offline: After initial installation, all domain checks are performed locally on your device.',
'No Cloud Processing: All link analysis happens directly in your browser.',
'Uses Google Safe Browsing API: Checks URLs against Google\'s real-time phishing and malware database.',
'Open Source: All code is available for review.'
]
},
notDo: {
title: 'What This Extension Doesn\'t Do',
items: [
'Does NOT access, read, or store your email content or attachments.',
'Does NOT track your browsing history.',
'Does NOT require an account or registration.',
'Does NOT send any data back to our servers.',
'Does NOT modify or alter any content—it only shows warnings.',
'Does NOT prevent you from visiting any websites.'
]
},
trustedBlocked: {
title: 'Trusted & Blocked Domains',
steps: [
'Open the extension options page.',
'Add or remove domains under "Trusted Domains" or "Blocked Domains".',
'Click "Update Database" to apply changes.'
]
},
safeBrowsing: {
title: 'Google Safe Browsing API',
content: 'This extension integrates with Google Safe Browsing to detect additional phishing and malware sites. If Google does not recognize a site as unsafe, it will not be flagged unless it is in the blocked domains list.',
report: 'Report new phishing domains to Google',
reportLink: 'https://safebrowsing.google.com/safebrowsing/report_phish/'
},
audience: {
title: 'Perfect For',
items: [
'Business professionals who regularly use enterprise applications',
'IT security teams looking to protect their organizations',
'Anyone concerned about phishing attacks targeting business services',
'Organizations using multiple cloud-based enterprise applications',
'Microsoft 365 users (Outlook, Teams, SharePoint) who want extra security'
]
},
requirements: {
title: 'System Requirements',
items: [
'Google Chrome 88+ / Microsoft Edge 88+',
'Works with Microsoft Outlook Web, Teams, and SharePoint',
'Internet connection required for Safe Browsing checks (optional)'
]
},
troubleshooting: {
title: 'Troubleshooting',
notFlagged: 'Why is a suspicious site not flagged?',
notFlaggedReasons: [
'It might not be in the domains.json database.',
'Google Safe Browsing does not recognize it as a phishing site.',
'The domain may be a legitimate subdomain of an official service.'
],
falsePositive: 'Why is a link incorrectly flagged?',
falsePositiveReasons: [
'If the link contains a word matching an app name but is not actually phishing.',
'You can add the domain to "Trusted Domains" in the options page.'
]
},
updates: {
title: 'Latest Updates',
features: [
'Dynamic Link Scanning: Detects phishing links inside emails, Teams, and SharePoint without reloading the page.',
'Google Safe Browsing Support: Detects additional phishing sites beyond known fake domains.',
'Improved Matching: Ensures only full app names trigger warnings.',
'Optimized Performance: No duplicate warnings, reduced false positives.',
'No More Debugging Logs: Production-ready version with clean console logs.'
]
},
screenshots: {
settings: 'Settings Page',
popup: 'Extension Popup',
settingsImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/SettingPage.png',
popupImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/ExtensionPopup.png',
mainImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/EnterpriseAppProtection.png'
}
},
},
de: {
metadata: {
@@ -1829,164 +1430,6 @@ export const translations: Record<string, Translation> = {
},
],
},
blog: {
title: 'Entdecken Sie meine aufschlussreichen Artikel in meinem Blog',
information:
'Willkommen in meinem Blog, wo ich Einblicke, Tipps und Lösungen zu Microsoft 365, Nexthink, Power Automate, PowerShell und anderen Automatisierungstools teile. Ob Sie Arbeitsabläufe optimieren, die Produktivität steigern oder in technische Problemlösungen eintauchen möchten, hier finden Sie praktische Inhalte zur Unterstützung Ihrer Reise.',
},
antifp: {
title: 'Anti-Fingerprinting Shield Plus Erweiterter Privatsphärenschutz (AFS+)',
description: 'Fortschrittliche Browser-Fingerprint-Spoofing für bessere Privatsphäre und Online-Anonymität.',
summary: 'Browser-Fingerprinting verwendet subtile Daten wie Ihre Bildschirmgröße, Systemsprache, Canvas-Ausgabe und GPU-Informationen, um Ihr Gerät eindeutig zu identifizieren — selbst ohne Cookies. AFS+ bekämpft dies durch Spoofing oder Blockieren vieler Fingerprinting-Methoden, während Realismus und Kompatibilität erhalten bleiben.',
viewOnGreasyFork: 'Auf GreasyFork ansehen',
howToInstall: 'Installationsanleitung',
step1: 'Installieren Sie einen Userscript-Manager wie Tampermonkey oder Violentmonkey.',
step2: 'Besuchen Sie die Anti-Fingerprinting Shield Plus GreasyFork-Seite.',
step3: 'Klicken Sie auf die Schaltfläche "Dieses Skript installieren".',
step4: 'Folgen Sie den Anweisungen, um das Skript zu Ihrem Userscript-Manager hinzuzufügen.',
moreDetails: 'Für weitere Details und Updates besuchen Sie die oben verlinkte GreasyFork-Seite.',
features: {
title: 'Funktionen',
items: [
'Spooft navigator.language und navigator.languages',
'Randomisiert navigator.platform (Windows, Mac, Linux, etc.)',
'Spooft navigator.userAgent aus einem realistischen Satz',
'Randomiseert hardwareConcurrency (CPU-Kerne)',
'Spooft Bildschirmgröße (width, height, innerWidth, innerHeight)',
'Deaktiviert TouchEvent und ontouchstart',
'Blockiert Battery API',
'Blockiert Sensor APIs (Bewegung/Orientierung)',
'Blockiert oder spooft mediaDevices.enumerateDevices',
'Leert navigator.plugins und mimeTypes',
'Fügt Rauschen zum Canvas-Fingerprinting hinzu',
'Spooft WebGL-Hersteller, Renderer, Texturgröße',
'Fügt Rauschen zum Audio-Fingerprinting hinzu',
'Bloqueert beforeunload-Fallen',
'Verhindert Fingerprinting in Subframes (läuft nur im Top-Frame)'
]
},
notes: {
title: 'Hinweise',
items: [
'Dieses Skript schützt nicht vor WebRTC-Lecks. Verwenden Sie uBlock Origin oder deaktivieren Sie STUN in Ihrem Browser.',
'Font-Fingerprinting wird nicht blockiert (nur möglich über Erweiterungen oder fortgeschrittene Techniken).',
'Einige Websites können fehlerhaft funktionieren, wenn sie stark von Fingerprint-Daten oder blockierten APIs abhängig sind.'
]
},
targetAudience: 'Entwickelt für Privatsphäre-Enthusiasten, Tester und Entwickler, die mehr Kontrolle über Browser-Tracking wünschen.'
},
eap: {
menu: 'Enterprise App Protection',
title: 'Enterprise App Protection (EAP) Advanced Phishing Defense',
intro: 'Protect yourself and your organization from phishing attacks that impersonate common enterprise applications like DocuSign, Salesforce, Microsoft 365, and hundreds more.',
whatItDoes: {
title: 'What This Extension Does',
items: [
'Automatically scans links in your browser and emails in real time',
'Alerts you when a link claims to be from a trusted enterprise app but leads to an unofficial domain',
'Uses Google Safe Browsing API to detect phishing and malware threats beyond known fake domains',
'Maintains an up-to-date database of legitimate enterprise application domains',
'Detects dynamically added links (e.g., in Outlook Web, Teams, SharePoint)',
'Works with 150+ enterprise applications',
'Functions completely offline after initial setup (except for Safe Browsing checks)'
],
screenshot: 'Enterprise App Protection Screenshot',
},
howItWorks: {
title: 'How It Works',
steps: [
'Scans all links and detects if any enterprise applications are mentioned',
'Verifies if the associated links actually go to official domains',
'Checks Google Safe Browsing to detect malware and phishing links not in its internal database',
'Detects links inside dynamically loaded content',
'Shows a clear warning if a potential impersonation attempt is detected'
]
},
privacy: {
title: 'Privacy & Security',
items: [
'Zero Data Collection: This extension does not collect, store, or transmit any personal data, browsing history, or email content.',
'Completely Offline: After initial installation, all domain checks are performed locally on your device.',
'No Cloud Processing: All link analysis happens directly in your browser.',
'Uses Google Safe Browsing API: Checks URLs against Google\'s real-time phishing and malware database.',
'Open Source: All code is available for review.'
]
},
notDo: {
title: 'What This Extension Doesn\'t Do',
items: [
'Does NOT access, read, or store your email content or attachments.',
'Does NOT track your browsing history.',
'Does NOT require an account or registration.',
'Does NOT send any data back to our servers.',
'Does NOT modify or alter any content—it only shows warnings.',
'Does NOT prevent you from visiting any websites.'
]
},
trustedBlocked: {
title: 'Trusted & Blocked Domains',
steps: [
'Open the extension options page.',
'Add or remove domains under "Trusted Domains" or "Blocked Domains".',
'Click "Update Database" to apply changes.'
]
},
safeBrowsing: {
title: 'Google Safe Browsing API',
content: 'This extension integrates with Google Safe Browsing to detect additional phishing and malware sites. If Google does not recognize a site as unsafe, it will not be flagged unless it is in the blocked domains list.',
report: 'Report new phishing domains to Google',
reportLink: 'https://safebrowsing.google.com/safebrowsing/report_phish/'
},
audience: {
title: 'Perfect For',
items: [
'Business professionals who regularly use enterprise applications',
'IT security teams looking to protect their organizations',
'Anyone concerned about phishing attacks targeting business services',
'Organizations using multiple cloud-based enterprise applications',
'Microsoft 365 users (Outlook, Teams, SharePoint) who want extra security'
]
},
requirements: {
title: 'System Requirements',
items: [
'Google Chrome 88+ / Microsoft Edge 88+',
'Works with Microsoft Outlook Web, Teams, and SharePoint',
'Internet connection required for Safe Browsing checks (optional)'
]
},
troubleshooting: {
title: 'Troubleshooting',
notFlagged: 'Why is a suspicious site not flagged?',
notFlaggedReasons: [
'It might not be in the domains.json database.',
'Google Safe Browsing does not recognize it as a phishing site.',
'The domain may be a legitimate subdomain of an official service.'
],
falsePositive: 'Why is a link incorrectly flagged?',
falsePositiveReasons: [
'If the link contains a word matching an app name but is not actually phishing.',
'You can add the domain to "Trusted Domains" in the options page.'
]
},
updates: {
title: 'Latest Updates',
features: [
'Dynamic Link Scanning: Detects phishing links inside emails, Teams, and SharePoint without reloading the page.',
'Google Safe Browsing Support: Detects additional phishing sites beyond known fake domains.',
'Improved Matching: Ensures only full app names trigger warnings.',
'Optimized Performance: No duplicate warnings, reduced false positives.',
'No More Debugging Logs: Production-ready version with clean console logs.'
]
},
screenshots: {
settings: 'Settings Page',
popup: 'Extension Popup',
settingsImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/SettingPage.png',
popupImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/ExtensionPopup.png',
mainImg: 'https://raw.githubusercontent.com/rrpbergsma/EnterpriseAppProtection/refs/heads/main/EnterpriseAppProtection.png'
}
},
},
fr: {
metadata: {

View File

@@ -12,6 +12,7 @@ import { getStaticPathsBlogPost, blogPostRobots } from '~/utils/blog';
import { findImage } from '~/utils/images';
import type { MetaData } from '~/types';
import RelatedPosts from '~/components/blog/RelatedPosts.astro';
import { getBlogTranslation, supportedLanguages } from '~/i18n/translations.blog';
export const prerender = true;
@@ -23,13 +24,17 @@ type Props = InferGetStaticPropsType<typeof getStaticPaths>;
const { post } = Astro.props as Props;
// Try to extract lang from post or fallback to 'en'
const lang = post?.lang && supportedLanguages.includes(post.lang) ? post.lang : 'en';
const blogT = getBlogTranslation(lang);
const url = getCanonical(getPermalink(post.permalink, 'post'));
const image = (await findImage(post.image)) as ImageMetadata | string | undefined;
const metadata = merge(
{
title: post.title,
description: post.excerpt,
title: blogT.title,
description: blogT.information,
robots: {
index: blogPostRobots?.index,
follow: blogPostRobots?.follow,

View File

@@ -2,7 +2,7 @@
export const prerender = true;
import Layout from '~/layouts/PageLayout.astro';
import { getTranslation, supportedLanguages } from '~/i18n/translations';
import { getAntifpTranslation, supportedLanguages } from '~/i18n/translations.antifp';
export async function getStaticPaths() {
return supportedLanguages.map((lang) => ({
@@ -15,22 +15,22 @@ if (!supportedLanguages.includes(lang)) {
return Astro.redirect('/en/antifp');
}
const t = getTranslation(lang);
const t = getAntifpTranslation(lang);
const metadata = {
title: t.antifp.title,
description: t.antifp.description,
title: t.title,
description: t.description,
};
---
<Layout metadata={metadata}>
<div class="max-w-3xl mx-auto px-4 py-8">
<h1 class="text-3xl font-bold mb-4">{t.antifp.title}</h1>
<h1 class="text-3xl font-bold mb-4">{t.title}</h1>
<p class="mb-4">
<a href="https://greasyfork.org/en/scripts/534570-anti-fingerprinting-shield-plus" target="_blank" rel="noopener noreferrer" class="text-blue-600 underline">{t.antifp.viewOnGreasyFork}</a>
<a href="https://greasyfork.org/en/scripts/534570-anti-fingerprinting-shield-plus" target="_blank" rel="noopener noreferrer" class="text-blue-600 underline">{t.viewOnGreasyFork}</a>
</p>
<p class="mb-6 text-lg">
{t.antifp.summary}
{t.summary}
</p>
<figure class="mb-8">
@@ -38,29 +38,29 @@ const metadata = {
<figcaption class="text-center text-gray-500 text-sm mt-2">This screenshot shows the settings panel for Anti-Fingerprinting Shield Plus, where all fingerprinting protection options are enabled.</figcaption>
</figure>
<h2 class="text-2xl font-semibold mb-4">{t.antifp.features.title}</h2>
<h2 class="text-2xl font-semibold mb-4">{t.features.title}</h2>
<ul class="list-disc list-inside mb-8 space-y-2">
{t.antifp.features.items.map((item) => (
{t.features.items.map((item) => (
<li class="text-gray-700">{item}</li>
))}
</ul>
<h2 class="text-2xl font-semibold mb-4">{t.antifp.howToInstall}</h2>
<h2 class="text-2xl font-semibold mb-4">{t.howToInstall}</h2>
<ol class="list-decimal list-inside mb-8 space-y-2">
<li>{t.antifp.step1}</li>
<li>{t.antifp.step2}</li>
<li>{t.antifp.step3}</li>
<li>{t.antifp.step4}</li>
<li>{t.step1}</li>
<li>{t.step2}</li>
<li>{t.step3}</li>
<li>{t.step4}</li>
</ol>
<h2 class="text-2xl font-semibold mb-4">{t.antifp.notes.title}</h2>
<h2 class="text-2xl font-semibold mb-4">{t.notes.title}</h2>
<ul class="list-disc list-inside mb-8 space-y-2">
{t.antifp.notes.items.map((item) => (
{t.notes.items.map((item) => (
<li class="text-gray-700">{item}</li>
))}
</ul>
<p class="text-gray-600 italic">{t.antifp.targetAudience}</p>
<p class="mt-4 text-gray-600">{t.antifp.moreDetails}</p>
<p class="text-gray-600 italic">{t.targetAudience}</p>
<p class="mt-4 text-gray-600">{t.moreDetails}</p>
</div>
</Layout>

View File

@@ -2,7 +2,7 @@
export const prerender = true;
import Layout from '~/layouts/PageLayout.astro';
import { getTranslation, supportedLanguages } from '~/i18n/translations';
import { getEapTranslation, supportedLanguages } from '~/i18n/translations.eap';
export async function getStaticPaths() {
return supportedLanguages.map((lang) => ({
@@ -15,8 +15,7 @@ if (!supportedLanguages.includes(lang)) {
return Astro.redirect('/en/eap');
}
const t = getTranslation(lang);
const eap = t.eap;
const eap = getEapTranslation(lang);
const metadata = {
title: eap.title,