Skip to content

Commit 71a2c97

Browse files
committed
feat: 补充翻译本地化识别规则
扩展 SaaS 页面规则,新增本地化、在线翻译、网站翻译和翻译管理平台的资源 URL 匹配。 覆盖 Tolgee、locize、Localazy、POEditor、SimpleLocalize、Weblate、Localizely、OneSky、WOVN.io、Smartcat、TransPerfect GlobalLink、MotionPoint、Lingotek、Unbabel、LanguageWire、TextUnited、ModernMT、Pairaphrase、Transcy、LangShop,并补充对应技术链接。 将版本升至 1.1.51。 验证:npx prettier --write .;npx prettier --check .;pnpm run typecheck;pnpm run lint;JSON/正则全量校验;pnpm run build;版本一致性检查;git diff --check。
1 parent 4812397 commit 71a2c97

3 files changed

Lines changed: 111 additions & 1 deletion

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "stackprism",
33
"private": true,
4-
"version": "1.1.50",
4+
"version": "1.1.51",
55
"type": "module",
66
"description": "StackPrism 用于检测网页前端、后端、CDN、SaaS、广告营销、统计、登录、支付、网站程序和主题模板线索。",
77
"scripts": {

public/rules/page/saas-services-page.json

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,96 @@
791791
{
792792
"name": "Lokalise",
793793
"patterns": ["ota\\.lokalise\\.com|lokalise\\.cloud|lokalise\\.com/[^\\s\"'<>]*(?:ota|sdk|in-context)"]
794+
},
795+
{
796+
"name": "Tolgee",
797+
"patterns": ["cdn\\.tolgee\\.io|app\\.tolgee\\.io|tolgee\\.io/[^\\s\"'<>]*(?:sdk|cdn|translations|api)"]
798+
},
799+
{
800+
"name": "locize",
801+
"patterns": ["api\\.locize\\.app|cdn\\.locize\\.com|locize\\.app|locize\\.com/[^\\s\"'<>]*(?:i18n|translations|sdk|api)"]
802+
},
803+
{
804+
"name": "Localazy",
805+
"patterns": ["api\\.localazy\\.com|cdn\\.localazy\\.com|localazy\\.com/[^\\s\"'<>]*(?:api|cdn|download|widget)"]
806+
},
807+
{
808+
"name": "POEditor",
809+
"patterns": ["api\\.poeditor\\.com|poeditor\\.com/[^\\s\"'<>]*(?:api|projects|localization)"]
810+
},
811+
{
812+
"name": "SimpleLocalize",
813+
"patterns": [
814+
"cdn\\.simplelocalize\\.io|api\\.simplelocalize\\.io|simplelocalize\\.io/[^\\s\"'<>]*(?:cdn|api|translations|editor)"
815+
]
816+
},
817+
{
818+
"name": "Weblate",
819+
"patterns": [
820+
"hosted\\.weblate\\.org|weblate\\.org/[^\\s\"'<>]*(?:widgets|api|projects)|weblate[^\\s\"'<>]*\\.(?:js|css)(?:\\?|$)"
821+
]
822+
},
823+
{
824+
"name": "Localizely",
825+
"patterns": ["api\\.localizely\\.com|cdn\\.localizely\\.com|localizely\\.com/[^\\s\"'<>]*(?:api|sdk|translations)"]
826+
},
827+
{
828+
"name": "OneSky",
829+
"patterns": ["api\\.oneskyapp\\.com|platform\\.oneskyapp\\.com|oneskyapp\\.com/[^\\s\"'<>]*(?:api|translations|localization)"]
830+
},
831+
{
832+
"name": "WOVN.io",
833+
"patterns": ["j\\.wovn\\.io|cdn\\.wovn\\.io|wovn\\.io/[^\\s\"'<>]*(?:js|widget|translation|api)"]
834+
},
835+
{
836+
"name": "Smartcat",
837+
"patterns": [
838+
"smartcat\\.com/[^\\s\"'<>]*(?:website-translator|translations|api|widget)|smartcat\\.ai/[^\\s\"'<>]*(?:api|translate)"
839+
]
840+
},
841+
{
842+
"name": "TransPerfect GlobalLink",
843+
"patterns": [
844+
"globallink\\.transperfect\\.com|translations\\.com/[^\\s\"'<>]*(?:globallink|api|live|translations)|transperfect\\.com/[^\\s\"'<>]*globallink"
845+
]
846+
},
847+
{
848+
"name": "MotionPoint",
849+
"patterns": ["cdn\\.motionpoint\\.com|motionpoint\\.com/[^\\s\"'<>]*(?:translate|translation|proxy|js)"]
850+
},
851+
{
852+
"name": "Lingotek",
853+
"patterns": ["api\\.lingotek\\.com|cloud\\.lingotek\\.com|lingotek\\.com/[^\\s\"'<>]*(?:api|cloud|translations)"]
854+
},
855+
{
856+
"name": "Unbabel",
857+
"patterns": ["api\\.unbabel\\.com|unbabel\\.com/[^\\s\"'<>]*(?:api|translation|widget|chat)"]
858+
},
859+
{
860+
"name": "LanguageWire",
861+
"patterns": ["api\\.languagewire\\.com|languagewire\\.com/[^\\s\"'<>]*(?:api|translate|translation|platform)"]
862+
},
863+
{
864+
"name": "TextUnited",
865+
"patterns": ["textunited\\.com/[^\\s\"'<>]*(?:api|translation|widget|website-translation)|api\\.textunited\\.com"]
866+
},
867+
{
868+
"name": "ModernMT",
869+
"patterns": ["api\\.modernmt\\.com|modernmt\\.com/[^\\s\"'<>]*(?:api|translate|translation)"]
870+
},
871+
{
872+
"name": "Pairaphrase",
873+
"patterns": ["pairaphrase\\.com/[^\\s\"'<>]*(?:api|translation|translate|portal)|app\\.pairaphrase\\.com"]
874+
},
875+
{
876+
"name": "Transcy",
877+
"patterns": [
878+
"cdn\\.transcy\\.io|transcy\\.io/[^\\s\"'<>]*(?:widget|translate|currency|localization)|fireapps\\.io/[^\\s\"'<>]*transcy"
879+
]
880+
},
881+
{
882+
"name": "LangShop",
883+
"patterns": ["cdn\\.langshop\\.app|langshop\\.app/[^\\s\"'<>]*(?:widget|translate|localization|currency)"]
794884
}
795885
]
796886
},

public/tech-links.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,6 +1163,26 @@
11631163
"Langify": "https://langify-app.com",
11641164
"ConveyThis": "https://www.conveythis.com",
11651165
"Lokalise": "https://lokalise.com",
1166+
"Tolgee": "https://tolgee.io",
1167+
"locize": "https://locize.com",
1168+
"Localazy": "https://localazy.com",
1169+
"POEditor": "https://poeditor.com",
1170+
"SimpleLocalize": "https://simplelocalize.io",
1171+
"Weblate": "https://weblate.org",
1172+
"Localizely": "https://localizely.com",
1173+
"OneSky": "https://www.oneskyapp.com",
1174+
"WOVN.io": "https://wovn.io",
1175+
"Smartcat": "https://www.smartcat.com",
1176+
"TransPerfect GlobalLink": "https://www.transperfect.com/globallink",
1177+
"MotionPoint": "https://www.motionpoint.com",
1178+
"Lingotek": "https://www.lingotek.com",
1179+
"Unbabel": "https://unbabel.com",
1180+
"LanguageWire": "https://www.languagewire.com",
1181+
"TextUnited": "https://www.textunited.com",
1182+
"ModernMT": "https://www.modernmt.com",
1183+
"Pairaphrase": "https://www.pairaphrase.com",
1184+
"Transcy": "https://fireapps.io/transcy",
1185+
"LangShop": "https://langshop.app",
11661186
"Atlassian Statuspage": "https://www.atlassian.com/software/statuspage",
11671187
"Instatus": "https://instatus.com",
11681188
"Better Stack Status Page": "https://betterstack.com/status-page",

0 commit comments

Comments
 (0)