always use frontend strings but convert to backend strings when saving
this resolves various localization problems where we got confused between frontend strings (localized) and backend strings (english-y config file strings). in an attempt to keep this change fairly conservatively the entire code base now should assume that Value instances inside the Permission object are localized and must be delocalized for writing to file. for filesystem entries that was kind of working already and has been extended to cover (hopefully) all branches where writeouts occur. for dbus entries this is now also the behavior and assisted by back and forth conversion helper functions. dbus entries also had their config file manipulation adjusted to be a tad easier to read and a lot more reliable further refactoring is advised: ideally there'd be a sensible split between frontend and backend strings so the backend code only ever deals with backend strings and the conversion for displaying happens separately from that. also the config file writing/management seems overly fragile at a glance. the config file management possibly should get split out of the model so it is easier to comprehensively unit test it. there should just never be a case where the config breaks because of us :| BUG: 465818 FIXED-IN: 5.27.1