Arno, from my own experience, from reading and from conversations with experienced developers: when it comes to supporting multiple screen sizes and with localization, there are no magic bullets. For localization, put all your lines in resource files or even data files.
Regarding screen sizes, I would not become too smart. Yes, make sure that none of your business / non-graphical interfaces are duplicated, but duplicate resource files, forms, etc. “I wouldn't worry about that.” Some graphical interfaces, such as Qt and GTK with automatic resizing and automatic layout of graphical GUI widgets (for example, Qt has spacer widgets). It works fine most of the time, but I still prefer explicit control. When programming the GUI, unexpected crashes often occur, having three independent sets of GUI components that will allow you to access them if they occur. Some examples of sources of problems: 1) Font size. 2) Windows availability settings. 3) Some national languages have longer average words than others; long words have problems with accommodation in existing real estate.
If I were in your place, I would look, for example, how browsers deal with this (for example, the mobile version or the desktop version), and I will try to find some practical tips on the Internet (for example, here in SO). I doubt that books on design patterns will be very helpful. Disclaimer: I am a skeptic with a design pattern.
source share