diff --git a/utils/pas2js/docs/translation.html b/utils/pas2js/docs/translation.html
index 60019fbd42..2aa0bfb6f9 100644
--- a/utils/pas2js/docs/translation.html
+++ b/utils/pas2js/docs/translation.html
@@ -488,9 +488,19 @@ function(){
Type casting an integer to boolean, gives false for 0 and true otherwise.
A char is translated to a JS string, because JS lacks a native char type.
A char is a single JS char code. An UTF-16 codepoint can contain one or two char.
- Integers overflows at runtime differ from Delphi/FPC, due to the double format.
- For example adding var i: byte = 200; ... i:=i+100; will result in
- i=300 instead of i=44 as in Delphi/FPC.
+ Integers overflows at runtime differ from Delphi/FPC, due to the double format.
+ For example adding var i: byte = 200; ... i:=i+100; will result in
+ i=300 instead of i=44 as in Delphi/FPC.
+ When range checking {$R+} is enabled i=300 will raise an ERangeError.
+ type cast integer to integer, e.g. byte(aLongInt)
+
+ - with range checking enabled: error if outside range
+ - without range checking: emulates the FPC/Delphi behaviour:
+ e.g. byte(value) translates to value & 0xff,
+ shortint(value) translates to value & 0xff <<24 >> 24.
+
+
+ The mod-operator works 32-bit signed in JS.