LCD print arrays of Strings with millis();

 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