@@ -277,7 +277,7 @@ validate_commit_message() {
277
277
add_warning 1 " Avoid mentioning C source filenames in the commit subject"
278
278
fi
279
279
280
- # 11a . Disallow parentheses in the commit subject.
280
+ # 7b . Disallow parentheses in the commit subject.
281
281
if [[ ${COMMIT_SUBJECT_TO_PROCESS} =~ [\(\) ] ]]; then
282
282
add_warning 1 " Avoid using parentheses '()' in commit subjects"
283
283
fi
@@ -334,8 +334,18 @@ validate_commit_message() {
334
334
# 13. Always use American English.
335
335
# ------------------------------------------------------------------------------
336
336
337
- # Use aspell to list misspelled words according to American English.
338
- MISSPELLED_WORDS=$( echo " $FULL_COMMIT_MSG " | $ASPELL --lang=en --list --home-dir=scripts --personal=aspell-pws)
337
+ # Alert if the commit message appears to be written in Chinese.
338
+ # This pattern matches any Chinese character (common CJK Unified Ideographs).
339
+ MISSPELLED_WORDS=$( echo " $FULL_COMMIT_MSG " | grep " [一-龥]" )
340
+ if [ -n " $MISSPELLED_WORDS " ]; then
341
+ add_warning 1 " Commit message appears to be written in Chinese: $MISSPELLED_WORDS "
342
+ fi
343
+
344
+ # Remove quoted text from FULL_COMMIT_MSG for spell checking.
345
+ MSG_FOR_SPELLCHECK=$( echo " $FULL_COMMIT_MSG " | sed -E " s/(['\" ][^'\" ]*['\" ])//g" )
346
+
347
+ # Use aspell to list misspelled words according to American English, ignoring quoted text.
348
+ MISSPELLED_WORDS=$( echo " $MSG_FOR_SPELLCHECK " | $ASPELL --lang=en --list --home-dir=scripts --personal=aspell-pws)
339
349
if [ -n " $MISSPELLED_WORDS " ]; then
340
350
add_warning 1 " Avoid using non-American English words"
341
351
fi
0 commit comments