Similarily, I have no issues with OTP ROM - all it has to do is contain static text strings and font data - no need to update
it ever
If you create Constant (CON) strings, you can store them categorically within a CALL/GOSUB routine. Using a Line variable (Line VAR BYTE) just set that to the text line needed.
Code:
Line VAR BYTE
Language VAR BYTE
String VAR BYTE[16] 'String buffer to hold ASCII text

Main:
Line = 1 'Welcome
IF Language = 1 THEN 'English
 GOSUB Get_English
ELSEIF Language = 2 THEN 'Spanish
 GOSUB Get_Spanish
ELSEIF Language = 3 THEN 'German
 GOSUB Get_German
ENDIF

Get_English:
 SELECT CASE Line
  CASE = 1 : String = "Welcome"
  CASE = 2 : String = "Select Language"
  CASE = 3 : String = ...etc
 END SELECT
RETURN

Get_Spanish:
 SELECT CASE Line
  CASE = 1 : String = "Bienvenidos"
  CASE = 2 : String = "sel idioma"
  CASE = 3 : String = ...etc
 END SELECT
RETURN

Get_German:
 SELECT CASE Line
  CASE = 1 : String = "Willkommen"
  CASE = 2 : String = "Sprache auswählen"
  CASE = 3 : String = ...etc
This should give you the idea.