From 4053e0ca6db2f8a0d5a467bde070377c37a8d794 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 19 Jul 2025 04:51:20 +0000 Subject: [PATCH 1/2] feat: mark non-English translation files as linguist-generated - Add linguist-generated attribute to all files in locales/ directory - Add linguist-generated attribute to non-English locale directories in src/i18n/locales/ - Add linguist-generated attribute to non-English locale directories in webview-ui/src/i18n/locales/ - Explicitly exclude English (en) directories from being marked as generated - Future-proof by listing all current non-English locales explicitly --- .gitattributes | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/.gitattributes b/.gitattributes index 02ddd6b634b..4dedb3badb3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,48 @@ src/assets/docs/demo.gif filter=lfs diff=lfs merge=lfs -text # Test snapshot files - mark as linguist-generated to exclude from GitHub language statistics *.snap linguist-generated=true + +# Non-English translation files - mark as linguist-generated to exclude from GitHub language statistics +# Root locales directory (contains only non-English translations) +locales/** linguist-generated=true + +# src/i18n/locales - all non-English translations +src/i18n/locales/ca/** linguist-generated=true +src/i18n/locales/de/** linguist-generated=true +src/i18n/locales/es/** linguist-generated=true +src/i18n/locales/fr/** linguist-generated=true +src/i18n/locales/hi/** linguist-generated=true +src/i18n/locales/id/** linguist-generated=true +src/i18n/locales/it/** linguist-generated=true +src/i18n/locales/ja/** linguist-generated=true +src/i18n/locales/ko/** linguist-generated=true +src/i18n/locales/nl/** linguist-generated=true +src/i18n/locales/pl/** linguist-generated=true +src/i18n/locales/pt-BR/** linguist-generated=true +src/i18n/locales/ru/** linguist-generated=true +src/i18n/locales/tr/** linguist-generated=true +src/i18n/locales/vi/** linguist-generated=true +src/i18n/locales/zh-CN/** linguist-generated=true +src/i18n/locales/zh-TW/** linguist-generated=true + +# webview-ui/src/i18n/locales - all non-English translations +webview-ui/src/i18n/locales/ca/** linguist-generated=true +webview-ui/src/i18n/locales/de/** linguist-generated=true +webview-ui/src/i18n/locales/es/** linguist-generated=true +webview-ui/src/i18n/locales/fr/** linguist-generated=true +webview-ui/src/i18n/locales/hi/** linguist-generated=true +webview-ui/src/i18n/locales/id/** linguist-generated=true +webview-ui/src/i18n/locales/it/** linguist-generated=true +webview-ui/src/i18n/locales/ja/** linguist-generated=true +webview-ui/src/i18n/locales/ko/** linguist-generated=true +webview-ui/src/i18n/locales/nl/** linguist-generated=true +webview-ui/src/i18n/locales/pl/** linguist-generated=true +webview-ui/src/i18n/locales/pt-BR/** linguist-generated=true +webview-ui/src/i18n/locales/ru/** linguist-generated=true +webview-ui/src/i18n/locales/tr/** linguist-generated=true +webview-ui/src/i18n/locales/vi/** linguist-generated=true +webview-ui/src/i18n/locales/zh-CN/** linguist-generated=true +webview-ui/src/i18n/locales/zh-TW/** linguist-generated=true + +# Future-proof pattern: any directory in i18n/locales that is not 'en' is linguist-generated +# Note: gitattributes doesn't support negative patterns, so we list each locale explicitly above From f2edfb4ebdcad5402bf85db1cc4e8c04937f2f7f Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 19 Jul 2025 05:01:29 +0000 Subject: [PATCH 2/2] refactor: simplify gitattributes using override pattern for English locales Instead of explicitly listing each non-English locale, we now: 1. Mark all locale directories as linguist-generated 2. Override English directories to be linguist-generated=false This approach is cleaner, more maintainable, and automatically handles new locales. --- .gitattributes | 45 +++++++-------------------------------------- 1 file changed, 7 insertions(+), 38 deletions(-) diff --git a/.gitattributes b/.gitattributes index 4dedb3badb3..284eab4f98a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -9,43 +9,12 @@ src/assets/docs/demo.gif filter=lfs diff=lfs merge=lfs -text # Root locales directory (contains only non-English translations) locales/** linguist-generated=true -# src/i18n/locales - all non-English translations -src/i18n/locales/ca/** linguist-generated=true -src/i18n/locales/de/** linguist-generated=true -src/i18n/locales/es/** linguist-generated=true -src/i18n/locales/fr/** linguist-generated=true -src/i18n/locales/hi/** linguist-generated=true -src/i18n/locales/id/** linguist-generated=true -src/i18n/locales/it/** linguist-generated=true -src/i18n/locales/ja/** linguist-generated=true -src/i18n/locales/ko/** linguist-generated=true -src/i18n/locales/nl/** linguist-generated=true -src/i18n/locales/pl/** linguist-generated=true -src/i18n/locales/pt-BR/** linguist-generated=true -src/i18n/locales/ru/** linguist-generated=true -src/i18n/locales/tr/** linguist-generated=true -src/i18n/locales/vi/** linguist-generated=true -src/i18n/locales/zh-CN/** linguist-generated=true -src/i18n/locales/zh-TW/** linguist-generated=true +# Mark all locale directories as generated first +src/i18n/locales/** linguist-generated=true +webview-ui/src/i18n/locales/** linguist-generated=true -# webview-ui/src/i18n/locales - all non-English translations -webview-ui/src/i18n/locales/ca/** linguist-generated=true -webview-ui/src/i18n/locales/de/** linguist-generated=true -webview-ui/src/i18n/locales/es/** linguist-generated=true -webview-ui/src/i18n/locales/fr/** linguist-generated=true -webview-ui/src/i18n/locales/hi/** linguist-generated=true -webview-ui/src/i18n/locales/id/** linguist-generated=true -webview-ui/src/i18n/locales/it/** linguist-generated=true -webview-ui/src/i18n/locales/ja/** linguist-generated=true -webview-ui/src/i18n/locales/ko/** linguist-generated=true -webview-ui/src/i18n/locales/nl/** linguist-generated=true -webview-ui/src/i18n/locales/pl/** linguist-generated=true -webview-ui/src/i18n/locales/pt-BR/** linguist-generated=true -webview-ui/src/i18n/locales/ru/** linguist-generated=true -webview-ui/src/i18n/locales/tr/** linguist-generated=true -webview-ui/src/i18n/locales/vi/** linguist-generated=true -webview-ui/src/i18n/locales/zh-CN/** linguist-generated=true -webview-ui/src/i18n/locales/zh-TW/** linguist-generated=true +# Then explicitly mark English directories as NOT generated (override the above) +src/i18n/locales/en/** linguist-generated=false +webview-ui/src/i18n/locales/en/** linguist-generated=false -# Future-proof pattern: any directory in i18n/locales that is not 'en' is linguist-generated -# Note: gitattributes doesn't support negative patterns, so we list each locale explicitly above +# This approach uses gitattributes' last-match-wins rule to exclude English while including all other locales