У меня есть элемент управления, который локализован.Я использую конструктор VS Net и получаю MyControl.cs, MyControl.Designer.cs, MyControl.resx и некоторые MyControl.xx.resx для языков не по умолчанию.
Некоторые строки, которыеотображаются динамически, и мне нужно вызвать string.Format на них (например, у меня есть «Здравствуйте, вы бы хотели {0} сегодня?», и я мог бы отформатировать его, используя «читать книгу» или «смотреть телевизор»).Как мне обрабатывать эти динамические строки?
Пока что я добавил строку для форматирования в метку в конструкторе, но я не знаю, куда поместить замещающие строки.Я мог бы создать независимый файл Resx только для них, но это чувствуется как беспорядок только для нескольких строк.Я мог бы также иметь независимый файл resx для всех таких строк в моем приложении, но тогда это похоже на попурри, и это тоже звучит грязно.
Самый простой способ - просто добавить эти строки в существующий MyControl.resx.и MyControl.xx.resx, но я не знаю:
- , если это безопасно (т. е. будет ли с ними связываться дизайнер VS Net, точно так же, как я не должен вручную изменять метод InitializeComponent)
- как получить доступ к этим строкам (в InitializeComponent я вижу, как он используется для элемента управления
resources.ApplyResources(this.myLabel, "myLabel")
, но можно ли получить строку, не связанную с элементом управления, и можно ли избежать использования магических строк?)