1+ rules :
2+ - id : codacy.java.i18n.enforce-localized-output
3+ severity : WARNING
4+ languages :
5+ - java
6+ patterns :
7+ - pattern-either :
8+ # Detect direct string literals
9+ - pattern : System.out.println("...");
10+ - pattern : System.out.print("...");
11+ - pattern : System.err.println("...");
12+ - pattern : System.err.print("...");
13+ # Detect string concatenation
14+ - pattern : System.out.println($X + ...);
15+ - pattern : System.out.print($X + ...);
16+ - pattern : System.err.println($X + ...);
17+ - pattern : System.err.print($X + ...);
18+ # Detect String.format without ResourceBundle
19+ - pattern : System.out.println(String.format(...));
20+ - pattern : System.out.print(String.format(...));
21+ - pattern-not : System.out.println($BUNDLE.getString(...))
22+ - pattern-not : System.out.print($BUNDLE.getString(...))
23+ - pattern-not : System.err.println($BUNDLE.getString(...))
24+ - pattern-not : System.err.print($BUNDLE.getString(...))
25+ - pattern-not : System.out.println($BUNDLE.getObject(...))
26+ - pattern-not : System.out.print($BUNDLE.getObject(...))
27+ # Allow println without arguments (blank lines)
28+ - pattern-not : System.out.println()
29+ - pattern-not : System.err.println()
30+ message : >-
31+ Use localized messages instead of hardcoded strings.
32+ System.out.println() should use ResourceBundle.getString() or equivalent localization method.
33+ Example: System.out.println(messages.getString("key")) where messages is of type java.util.ResourceBundle
34+ metadata :
35+ category : codestyle
36+ subcategory : i18n
37+ description : Enforces use of ResourceBundle for all user-facing output to ensure proper internationalization
38+ technology :
39+ - java
40+ impact : MEDIUM
41+ confidence : LOW
42+ likelihood : HIGH
43+
44+ - id : codacy.js.i18n.no-hardcoded-alert-concat
45+ severity : WARNING
46+ languages :
47+ - js
48+ - ts
49+ pattern-either :
50+ # Direct hardcoded alert strings
51+ - pattern : alert("...")
52+ - pattern : window.alert("...")
53+ # String concatenation in alerts
54+ - pattern : alert("..." + ...)
55+ - pattern : alert(... + "...")
56+ - pattern : window.alert("..." + ...)
57+ - pattern : window.alert(... + "...")
58+ pattern-not : alert(t(...))
59+ message : >-
60+ Avoid hardcoded or concatenated strings in alerts. Use an i18n translation function (e.g., t("key")) with interpolation.
61+ metadata :
62+ category : codestyle
63+ subcategory : i18n
64+ description : Flags hardcoded and concatenated strings in alert dialogs to enforce localization
65+ technology :
66+ - javascript
67+ - typescript
68+ impact : MEDIUM
69+ confidence : LOW
70+ likelihood : HIGH
71+
72+ - id : codacy.js.i18n.no-hardcoded-locale-date
73+ severity : WARNING
74+ languages :
75+ - js
76+ - ts
77+ pattern-regex : " \\ .(toLocale(Date|Time)?String)\\ (\" [^\" ]+\" "
78+ message : Avoid hardcoded locale strings in date/time formatting.
79+ metadata :
80+ category : codestyle
81+ subcategory : i18n
82+ description : Flags explicit locale strings in date/time formatting which can break localization
83+ technology :
84+ - javascript
85+ - typescript
86+ impact : MEDIUM
87+ confidence : LOW
88+ likelihood : HIGH
89+
90+ - id : codacy.js.i18n.no-hardcoded-number-format
91+ severity : WARNING
92+ languages :
93+ - js
94+ - ts
95+ pattern-regex : " \\ .toFixed\\ ([^)]*\\ )"
96+ message : >-
97+ Avoid using toFixed for user-visible number formatting. Use locale-aware formatting or translation helpers.
98+ metadata :
99+ category : codestyle
100+ subcategory : i18n
101+ description : Flags toFixed used for UI number formatting; recommends locale-aware alternatives
102+ technology :
103+ - javascript
104+ - typescript
105+ impact : MEDIUM
106+ confidence : LOW
107+ likelihood : HIGH
108+
109+ - id : codacy.js.i18n.no-raw-jsx-text
110+ severity : WARNING
111+ languages :
112+ - js
113+ - ts
114+ pattern-regex : " <(h1|h2|h3|h4|h5|h6|p|span|div|td|th)[^>]*>[^<{]*[A-Za-z][^<{]*</\\ 1>"
115+ message : >-
116+ Avoid raw text in JSX for user-facing content. Use i18n translation functions (e.g., t("key")) with interpolation.
117+ metadata :
118+ category : codestyle
119+ subcategory : i18n
120+ description : Flags raw text nodes in JSX elements to enforce localization of UI strings
121+ technology :
122+ - javascript
123+ - typescript
124+ impact : MEDIUM
125+ confidence : LOW
126+ likelihood : MEDIUM
127+
0 commit comments