Можно сделать редкий контроль :
svn co url/to/repo mywc --depth=files
, который получит Вас туалет только с файлами в нем, никакими подпапками. Можно теперь получить все папки, которые Вы хотите с
svn up url/to/repo/subfolder1 --set-depth infinity
svn up url/to/repo/subfolder2 --set-depth infinity
svn up url/to/repo/subfolder3 --set-depth infinity
...
WPF широко поддерживает локализацию . Возможно, вы сможете это использовать? К сожалению, я думаю, что изменить язык пользовательского интерфейса во время выполнения несколько сложно, и вам, вероятно, придется придумать свою собственную схему.
Кроме того, поскольку модель представления не зависит от пользовательского интерфейса, я не думаю, что хранить строки пользовательского интерфейса в view-модели - хорошее решение. Они принадлежат воззрению.
Вот отличная статья о локализации WPF . Он имеет дело с техникой локализации, поддерживаемой Microsoft, и несколькими альтернативными
Я бы не рекомендовал "официальное" решение для локализации ... его действительно сложно использовать, он изменяет ваш XAML (добавляет атрибуты x: Uid к каждому элементу, который может быть локализован), и от MS нет хороших инструментов, чтобы сделать это простым решением. Старая добрая локализация resx намного проще в использовании и довольно хорошо интегрируется с WPF с помощью всего лишь нескольких приемов (а именно, расширений разметки и / или прикрепленных свойств). Кроме того, вы можете легко изменить язык интерфейса во время выполнения благодаря системе привязки.
Вместо того, чтобы иметь строки пользовательского интерфейса в вашей модели представления, вы можете сохранить их в ресурсах сборки и получить к ним доступ непосредственно из XAML, используя x: Static
:
<TextBlock Text="{x:Static props:Resources.MyLabel}"/>
Пространство имен props
должно ссылаться на пространство имен Properties
вашей сборки:
xmlns:props="clr-namespace:My.Assembly.Properties"
Вот пара статей, которые могут быть интересны:
Локализация приложений WPF с помощью Locbaml
Вы можете использовать расширение настраиваемой разметки для поиска локализованных значений и обновления их при изменении культуры пользовательского интерфейса.
Вот пример того, как это может работать:
<Label x:Name="lblResxHelloWorldMarkupExtension1Value"
Content="{res:Res Id=HelloWorld,Default=Hello#}"
Margin="{res:Res Id=HelloWorldMargin,Default=10}"
Width="{res:Res Id=HelloWorldWidth,
ResourceSet=WpfClickOnce.MyFormRes, Default=50}" />
Этот пример взят из отличного руководства по локализации WPF, авторами которого являются Рик Страл и Мишель Леру Бустаманте, здесь: http://wpflocalization.codeplex.com/ . Загрузите руководство с этого сайта, где этот метод подробно описан в форме документа и с примером приложения.
Еще одно приятное преимущество этого подхода - то, что он работает в дизайнере.