int previousLCDMillis = 0; //set first old time to 0
Every time the function (kalba()) is called, previousLCDMillis is set to 0. Probably not what you want? Make previousLCDMillis static so that it keeps its value from call to call. And make it unsigned long because it holds a time. The interval2 variable should, also, be unsigned long. All values that deal with time (millis() or micros()) should be unsigned long.
unsigned long currentLCDMillis = millis(); //check current time
unsigned long interval2 = 2000;
static unsigned long previousLCDMillis = 0; //set first old time to 0