Rewrote translation framework and translated entire application.

Route still requires further translation.
This commit is contained in:
2015-12-21 22:47:14 +01:00
parent 1208af0e5b
commit 711675e389
69 changed files with 1584 additions and 427 deletions
+1 -17
View File
@@ -80,22 +80,6 @@ namespace NavCityBreda
// STATIC HELPER FUNCTIONS
// =========================
public static string RouteWaypointsFolder
{
get
{
return "Routes/Waypoints/";
}
}
public static string RouteImagesFolder
{
get
{
return "Routes/Images/";
}
}
public static Size ScreenSize
{
get
@@ -117,7 +101,7 @@ namespace NavCityBreda
}
}
public static string RouteImagesFolder { get { return "Routes/img/"; } }
@@ -1,26 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Xaml.Data;
namespace NavCityBreda.Helpers
{
class BoolToVisitedConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if ((bool)value)
return "Visited";
else
return "Not visited";
}
public object ConvertBack(object value, Type targetType, object parameter, string language)
{
//Not implemented
return null;
}
}
}
+12 -7
View File
@@ -11,26 +11,31 @@ namespace NavCityBreda.Helpers
{
class JSONParser
{
public static Route LoadRoute(string file)
public static Route LoadRoute(string foldername)
{
if (!File.Exists(file))
throw new FileNotFoundException("The file does not exist: " + file);
if (!Directory.Exists("Routes/" + foldername))
throw new FileNotFoundException("The route folder does not exist: " + foldername);
string json = File.ReadAllText(file);
string datafile = "Routes/" + foldername + "/data.json";
if (!File.Exists(datafile))
throw new FileNotFoundException("The route data file does not exist.");
string json = File.ReadAllText(datafile);
JObject o = JObject.Parse(json);
string error;
if (!ValidateRouteObject(o, out error))
throw new FileLoadException("Invalid Route information in " + file + ", " + error);
throw new FileLoadException("Invalid Route information in " + datafile + ", " + error);
Route r = new Route((string)o["name"], (string)o["description"], (string)o["landmarks"]);
Route r = new Route((string)o["name"], (string)o["description"], (string)o["landmarks"], foldername);
JToken[] waypoints = o["waypoints"].ToArray();
int count = 0;
foreach(JToken t in waypoints)
{
if(!ValidateWaypointObject(t, out error))
throw new FileLoadException("Invalid Waypoint information in " + file + ", " + error);
throw new FileLoadException("Invalid Waypoint information in " + datafile + ", " + error);
Waypoint w;
+5 -1
View File
@@ -12,6 +12,9 @@ namespace NavCityBreda.Helpers
{
private static ApplicationDataContainer LOCAL_SETTINGS = ApplicationData.Current.LocalSettings;
public delegate void OnLanguageUpdateHandler(EventArgs e);
public static event OnLanguageUpdateHandler OnLanguageUpdate;
public static bool Tracking {
get
{
@@ -32,7 +35,8 @@ namespace NavCityBreda.Helpers
{
ApplicationLanguages.PrimaryLanguageOverride = lang;
await Task.Delay(TimeSpan.FromMilliseconds(100));
App.rootFrame.Navigate(typeof(MainPage));
//App.rootFrame.Navigate(typeof(MainPage));
OnLanguageUpdate(new EventArgs());
}
public static string CurrentLanguage { get { return ApplicationLanguages.PrimaryLanguageOverride; } }
+4 -13
View File
@@ -86,7 +86,7 @@ namespace NavCityBreda
private async void AwaitInitialize()
{
while (App.RouteManager.LoadingElement != "Done")
while (App.RouteManager.Status == Model.RouteManager.RouteStatus.LOADING)
{
await Task.Delay(TimeSpan.FromMilliseconds(150));
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
@@ -95,22 +95,13 @@ namespace NavCityBreda
});
}
while (App.Geo.Connected == null)
{
await Task.Delay(TimeSpan.FromMilliseconds(150));
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
splashProgressText.Text = "Waiting on GPS...";
});
}
Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
{
// Navigate to mainpage
rootFrame.Navigate(typeof(MainPage));
App.rootFrame = rootFrame;
// Place the frame in the current Window
Window.Current.Content = rootFrame;
// Navigate to mainpage
App.rootFrame = rootFrame;
rootFrame.Navigate(typeof(MainPage));
});
}
+204
View File
@@ -0,0 +1,204 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Cellular" xml:space="preserve">
<value>Cellular</value>
</data>
<data name="Description" xml:space="preserve">
<value>Description</value>
</data>
<data name="Disabled" xml:space="preserve">
<value>Disabled</value>
</data>
<data name="Done" xml:space="preserve">
<value>Done</value>
</data>
<data name="Help" xml:space="preserve">
<value>Help</value>
</data>
<data name="Initializing" xml:space="preserve">
<value>Initializing</value>
</data>
<data name="IPAddress" xml:space="preserve">
<value>IP Address</value>
</data>
<data name="Landmark" xml:space="preserve">
<value>Landmark</value>
</data>
<data name="Landmarks" xml:space="preserve">
<value>Landmarks</value>
</data>
<data name="Language" xml:space="preserve">
<value>Language</value>
</data>
<data name="Loading" xml:space="preserve">
<value>Loading</value>
</data>
<data name="Map" xml:space="preserve">
<value>Map</value>
</data>
<data name="MapTileSource" xml:space="preserve">
<value>Map tile provider</value>
</data>
<data name="NoData" xml:space="preserve">
<value>No data</value>
</data>
<data name="NotAvailable" xml:space="preserve">
<value>Not available</value>
</data>
<data name="NotInitialized" xml:space="preserve">
<value>Not initialized</value>
</data>
<data name="NotVisited" xml:space="preserve">
<value>Not visited</value>
</data>
<data name="Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Route" xml:space="preserve">
<value>Route</value>
</data>
<data name="Satellite" xml:space="preserve">
<value>Satellite</value>
</data>
<data name="Searching" xml:space="preserve">
<value>Searching</value>
</data>
<data name="Settings" xml:space="preserve">
<value>Settings</value>
</data>
<data name="StartRoute" xml:space="preserve">
<value>Start route</value>
</data>
<data name="StopRoute" xml:space="preserve">
<value>Stop route</value>
</data>
<data name="Unknown" xml:space="preserve">
<value>Unknown</value>
</data>
<data name="Visited" xml:space="preserve">
<value>Visited</value>
</data>
<data name="Waypoint" xml:space="preserve">
<value>Waypoint</value>
</data>
<data name="WiFi" xml:space="preserve">
<value>WiFi</value>
</data>
</root>
@@ -117,31 +117,88 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="MenuItemHelp.Text" xml:space="preserve">
<data name="Cellular" xml:space="preserve">
<value>GSM</value>
</data>
<data name="Description" xml:space="preserve">
<value>Beschrijving</value>
</data>
<data name="Disabled" xml:space="preserve">
<value>Uitgeschakelt</value>
</data>
<data name="Done" xml:space="preserve">
<value>Klaar</value>
</data>
<data name="Help" xml:space="preserve">
<value>Hulp</value>
</data>
<data name="MenuItemSettings.Text" xml:space="preserve">
<value>Instellingen</value>
<data name="Initializing" xml:space="preserve">
<value>Initaliseren</value>
</data>
<data name="PageTitleDefault.Text" xml:space="preserve">
<value>Welkom</value>
<data name="IPAddress" xml:space="preserve">
<value>IP Adres</value>
</data>
<data name="PageTitleHelp" xml:space="preserve">
<value>Hulp</value>
</data>
<data name="PageTitleMap" xml:space="preserve">
<value>Kaart</value>
</data>
<data name="PageTitleRoute" xml:space="preserve">
<value>Route</value>
</data>
<data name="PageTitleRouteDetail" xml:space="preserve">
<value>Route Details</value>
</data>
<data name="PageTitleSettings" xml:space="preserve">
<value>Instellingen</value>
</data>
<data name="PageTitleWaypoint" xml:space="preserve">
<data name="Landmark" xml:space="preserve">
<value>Bezienswaardigheid</value>
</data>
<data name="Landmarks" xml:space="preserve">
<value>Bezienswaardigheden</value>
</data>
<data name="Language" xml:space="preserve">
<value>Taal</value>
</data>
<data name="Loading" xml:space="preserve">
<value>Laden</value>
</data>
<data name="Map" xml:space="preserve">
<value>Kaart</value>
</data>
<data name="MapTileSource" xml:space="preserve">
<value>Kaart bron</value>
</data>
<data name="NoData" xml:space="preserve">
<value>Geen data</value>
</data>
<data name="NotAvailable" xml:space="preserve">
<value>Niet beschikbaar</value>
</data>
<data name="NotInitialized" xml:space="preserve">
<value>Niet geïnitialiseerd</value>
</data>
<data name="NotVisited" xml:space="preserve">
<value>Niet bezocht</value>
</data>
<data name="Ready" xml:space="preserve">
<value>Klaar</value>
</data>
<data name="Route" xml:space="preserve">
<value>Route</value>
</data>
<data name="Satellite" xml:space="preserve">
<value>Satelliet</value>
</data>
<data name="Searching" xml:space="preserve">
<value>Zoeken</value>
</data>
<data name="Settings" xml:space="preserve">
<value>Instellingen</value>
</data>
<data name="StartRoute" xml:space="preserve">
<value>Route starten</value>
</data>
<data name="StopRoute" xml:space="preserve">
<value>Route stoppen</value>
</data>
<data name="Unknown" xml:space="preserve">
<value>Onbekend</value>
</data>
<data name="Visited" xml:space="preserve">
<value>Bezocht</value>
</data>
<data name="Waypoint" xml:space="preserve">
<value>Wegwijzer</value>
</data>
<data name="WiFi" xml:space="preserve">
<value>WiFi</value>
</data>
</root>
+5 -5
View File
@@ -52,7 +52,7 @@
<RelativePanel Grid.Row="0">
<Button RelativePanel.AlignLeftWithPanel="True" Name="NavButton" Click="NavButton_Click" VerticalAlignment="Stretch" FontFamily="Segoe MDL2 Assets" Content="&#xE700;" FontSize="28" />
<TextBlock RelativePanel.RightOf="NavButton" FontSize="28" Margin="10,0,0,0" Name="PageTitle" x:Uid="PageTitleDefault"/>
<TextBlock RelativePanel.RightOf="NavButton" FontSize="28" Margin="10,0,0,0" Name="PageTitle" Text="{Binding Map}" />
</RelativePanel>
<!-- http://stackoverflow.com/questions/32108362/uwp-swipe-to-open-splitview-pane-->
@@ -67,25 +67,25 @@
<ListBoxItem Name="NavListMap">
<StackPanel Style="{StaticResource NavStackPanel}">
<TextBlock Style="{StaticResource NavIcon}" Text="&#xE909;"/>
<TextBlock Style="{StaticResource NavText}" x:Uid="MenuItemMap" Text="[MenuItemMap]"/>
<TextBlock Style="{StaticResource NavText}" Text="{Binding Map}"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem Name="NavListRoute">
<StackPanel Style="{StaticResource NavStackPanel}">
<TextBlock Style="{StaticResource NavIcon}" Text="&#xE7AD;"/>
<TextBlock Style="{StaticResource NavText}" x:Uid="MenuItemRoute" Text="[MenuItemRoute]"/>
<TextBlock Style="{StaticResource NavText}" Text="{Binding Route}"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem Name="NavListHelp">
<StackPanel Style="{StaticResource NavStackPanel}">
<TextBlock Style="{StaticResource NavIcon}" Text="&#xE897;"/>
<TextBlock Style="{StaticResource NavText}" x:Uid="MenuItemHelp"/>
<TextBlock Style="{StaticResource NavText}" Text="{Binding Help}"/>
</StackPanel>
</ListBoxItem>
<ListBoxItem Name="NavListSettings">
<StackPanel Style="{StaticResource NavStackPanel}">
<TextBlock Style="{StaticResource NavIcon}" Text="&#xE713;"/>
<TextBlock Style="{StaticResource NavText}" x:Uid="MenuItemSettings"/>
<TextBlock Style="{StaticResource NavText}" Text="{Binding Settings}"/>
</StackPanel>
</ListBoxItem>
</ListBox>
+4 -9
View File
@@ -1,5 +1,5 @@
using NavCityBreda.Helpers;
using NavCityBreda.ViewModel;
using NavCityBreda.ViewModels;
using NavCityBreda.Views;
using System;
using System.Collections.Generic;
@@ -33,9 +33,9 @@ namespace NavCityBreda
this.InitializeComponent();
Frame.Navigated += Frame_Navigated;
SystemNavigationManager.GetForCurrentView().BackRequested += OnBackRequested;
this.DataContext = new MainPageVM();
Frame.Navigate(typeof(MapView));
this.DataContext = new MenuVM();
}
private void OnBackRequested(object sender, BackRequestedEventArgs e)
@@ -77,26 +77,21 @@ namespace NavCityBreda
PageTitle.Text = "Nav City Breda";
break;
case "helpview":
PageTitle.Text = Util.Loader.GetString("PageTitleHelp");
NavList.SelectedIndex = 2;
break;
case "settingsview":
PageTitle.Text = Util.Loader.GetString("PageTitleSettings");
NavList.SelectedIndex = 3;
break;
case "mapview":
PageTitle.Text = Util.Loader.GetString("PageTitleMap");
NavList.SelectedIndex = 0;
break;
case "routedetailview":
PageTitle.Text = Util.Loader.GetString("PageTitleRouteDetail");
NavList.SelectedIndex = 1;
break;
case "routeview":
PageTitle.Text = Util.Loader.GetString("PageTitleRoute");
NavList.SelectedIndex = 1;
break;
case "landmarkview":
PageTitle.Text = Util.Loader.GetString("PageTitleWaypoint");
break;
}
+4 -2
View File
@@ -14,7 +14,9 @@ namespace NavCityBreda.Model
{
public class Landmark : Waypoint
{
public string Description { get; private set; }
private string _desckey;
public string Description { get { return Util.Loader.GetString(_desckey); } }
public string Image { get; private set; }
private bool _visited;
@@ -45,7 +47,7 @@ namespace NavCityBreda.Model
private void Create(Geopoint p, string name, string desc, int num, string image_loc)
{
_visited = false;
Description = desc;
_desckey = desc;
if (image_loc == "" || !File.Exists(App.RouteImagesFolder + image_loc))
image_loc = "default.jpg";
Image = "/" + App.RouteImagesFolder + image_loc;
+15 -7
View File
@@ -15,9 +15,16 @@ namespace NavCityBreda.Model
{
public GeoboundingBox Bounds { get { return _route.BoundingBox; } }
public string Name { get; private set; }
public string Description { get; private set; }
public string LandmarksDescription { get; private set; }
private string _namekey;
public string Name { get { return Util.Loader.GetString( _namekey ); } }
private string _desckey;
public string Description { get { return Util.Loader.GetString( _desckey ); } }
private string _landdesckey;
public string LandmarksDescription { get { return Util.Loader.GetString( _landdesckey ); } }
private string foldername { get; set; }
public List<Landmark> Landmarks
{
@@ -33,11 +40,12 @@ namespace NavCityBreda.Model
private MapRoute _route;
public MapRoute RouteObject { get { return _route; } }
public Route(string name, string desc, string landmarks)
public Route(string name, string desc, string landmarks, string folder)
{
Name = name;
Description = desc;
LandmarksDescription = landmarks;
_namekey = name;
_desckey = desc;
_landdesckey = landmarks;
foldername = folder;
_waypoints = new List<Waypoint>();
}
+19 -12
View File
@@ -1,6 +1,7 @@
using NavCityBreda.Helpers;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
@@ -36,7 +37,7 @@ namespace NavCityBreda.Model
private MapRoute _routetolandmark;
public MapRoute RouteToLandmark { get { return _routetolandmark; } }
public enum RouteStatus { STOPPED, STARTED }
public enum RouteStatus { LOADING, STOPPED, STARTED }
public RouteStatus Status;
CoreDispatcher dispatcher;
@@ -46,8 +47,8 @@ namespace NavCityBreda.Model
_routes = new List<Route>();
dispatcher = App.Dispatcher;
LoadingElement = "Initializing...";
Status = RouteStatus.STOPPED;
LoadingElement = Util.Loader.GetString("Initializing") + "...";
Status = RouteStatus.LOADING;
GeofenceMonitor.Current.GeofenceStateChanged += Current_GeofenceStateChanged;
LoadRoutes();
}
@@ -75,7 +76,7 @@ namespace NavCityBreda.Model
});
_currentlandmark = i;
LandmarkVisited(i, LandmarkVisitedEventArgs.VisitedStatus.ENTERED);
Util.SendToastNotification(i.Name, "You have visited a landmark.");
Util.SendToastNotification(i.Name, "TRANSLATED MESSAGE");
UpdateRoute();
}
@@ -88,19 +89,25 @@ namespace NavCityBreda.Model
private async void LoadRoutes()
{
string[] routefiles = Directory.GetFiles(App.RouteWaypointsFolder);
string[] routefolders = Directory.GetDirectories("Routes/");
_routes.Clear();
foreach(string file in routefiles)
foreach(string folder in routefolders)
{
Route r = JSONParser.LoadRoute(file);
LoadingElement = "Loading " + r.Name + "...";
await r.CalculateRoute();
_routes.Add(r);
Debug.WriteLine(folder);
string foldername = Path.GetFileName(folder);
if (foldername != "img")
{
Route r = JSONParser.LoadRoute(foldername);
LoadingElement = Util.Loader.GetString("Loading") + " " + r.Name + "...";
await r.CalculateRoute();
_routes.Add(r);
}
}
LoadingElement = "Done";
LoadingElement = Util.Loader.GetString("Done") + "...";
Status = RouteStatus.STOPPED;
}
public async void UpdateRoute()
@@ -114,7 +121,7 @@ namespace NavCityBreda.Model
public void StartRoute(Route r)
{
Util.SendToastNotification("Test", "I am testing this shit.");
Util.SendToastNotification("Starting", "TRANSLATED MESSAGE");
App.Geo.ClearHistory();
_currentroute = r;
+6 -3
View File
@@ -12,20 +12,23 @@ namespace NavCityBreda.Model
public class Waypoint
{
public Geopoint Location { get; protected set; }
public string Name { get; protected set; }
protected string _namekey;
public string Name { get { return Util.Loader.GetString( _namekey ); } }
public int Order { get; protected set; }
public Waypoint(Geopoint p, string name, int num)
{
Location = p;
Name = name;
_namekey = name;
Order = num;
}
public Waypoint(double la, double lo, string name, int num)
{
Location = new Geopoint(new BasicGeoposition() { Altitude = 0, Latitude = la, Longitude = lo });
Name = name;
_namekey = name;
Order = num;
}
+47 -94
View File
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NavCityBreda</RootNamespace>
<AssemblyName>NavCityBreda</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<DefaultLanguage>en</DefaultLanguage>
<TargetPlatformIdentifier>UAP</TargetPlatformIdentifier>
<TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion>
<TargetPlatformMinVersion>10.0.10240.0</TargetPlatformMinVersion>
@@ -108,21 +108,48 @@
<Content Include="Assets\SplashScreen.scale-150.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Waypoints\historische_kilometer.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<PRIResource Include="Strings\ja-JP\Resources.resw" />
<PRIResource Include="Strings\de-DE\Resources.resw" />
<PRIResource Include="Strings\nl-NL\Resources.resw" />
<Content Include="Routes\historische_kilometer\data.json" />
<Content Include="Routes\img\default.jpg" />
<Content Include="Routes\img\historische_kilometer_1.jpg" />
<Content Include="Routes\img\historische_kilometer_10.jpg" />
<Content Include="Routes\img\historische_kilometer_11.jpg" />
<Content Include="Routes\img\historische_kilometer_12.jpg" />
<Content Include="Routes\img\historische_kilometer_13.jpg" />
<Content Include="Routes\img\historische_kilometer_14.jpg" />
<Content Include="Routes\img\historische_kilometer_15.jpg" />
<Content Include="Routes\img\historische_kilometer_16.jpg" />
<Content Include="Routes\img\historische_kilometer_17.jpg" />
<Content Include="Routes\img\historische_kilometer_18.jpg" />
<Content Include="Routes\img\historische_kilometer_19.jpg" />
<Content Include="Routes\img\historische_kilometer_2.jpg" />
<Content Include="Routes\img\historische_kilometer_20.jpg" />
<Content Include="Routes\img\historische_kilometer_21.jpg" />
<Content Include="Routes\img\historische_kilometer_22.jpg" />
<Content Include="Routes\img\historische_kilometer_23.jpg" />
<Content Include="Routes\img\historische_kilometer_24.jpg" />
<Content Include="Routes\img\historische_kilometer_25.jpg" />
<Content Include="Routes\img\historische_kilometer_26.jpg" />
<Content Include="Routes\img\historische_kilometer_3.jpg" />
<Content Include="Routes\img\historische_kilometer_4.jpg" />
<Content Include="Routes\img\historische_kilometer_5.jpg" />
<Content Include="Routes\img\historische_kilometer_6.jpg" />
<Content Include="Routes\img\historische_kilometer_7.jpg" />
<Content Include="Routes\img\historische_kilometer_8.jpg" />
<Content Include="Routes\img\historische_kilometer_9.jpg" />
<PRIResource Include="Routes\historische_kilometer\lang\en\Resources.resw" />
<PRIResource Include="Routes\historische_kilometer\lang\nl\Resources.resw" />
<PRIResource Include="Routes\historische_kilometer\lang\de\Resources.resw" />
<PRIResource Include="Languages\ja\Resources.resw" />
<PRIResource Include="Languages\de\Resources.resw" />
<PRIResource Include="Languages\nl\Resources.resw" />
<None Include="project.json" />
<PRIResource Include="Strings\en-US\Resources.resw" />
<PRIResource Include="Languages\en\Resources.resw" />
</ItemGroup>
<ItemGroup>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
<Compile Include="Helpers\BoolToCheckmarkConverter.cs" />
<Compile Include="Helpers\BoolToVisitedConverter.cs" />
<Compile Include="Helpers\BoudingBox.cs" />
<Compile Include="Helpers\Extensions.cs" />
<Compile Include="Helpers\JSONParser.cs" />
@@ -142,9 +169,14 @@
<Compile Include="Model\RouteManager.cs" />
<Compile Include="Model\Waypoint.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="ViewModel\MenuVM.cs" />
<Compile Include="ViewModel\RouteDetailVM.cs" />
<Compile Include="ViewModel\RouteVM.cs" />
<Compile Include="ViewModels\HelpVM.cs" />
<Compile Include="ViewModels\LandmarkVM.cs" />
<Compile Include="ViewModels\MapVM.cs" />
<Compile Include="ViewModels\MainPageVM.cs" />
<Compile Include="ViewModels\RouteDetailVM.cs" />
<Compile Include="ViewModels\RouteVM.cs" />
<Compile Include="ViewModels\SettingsVM.cs" />
<Compile Include="ViewModels\TemplateVM.cs" />
<Compile Include="Views\HelpView.xaml.cs">
<DependentUpon>HelpView.xaml</DependentUpon>
</Compile>
@@ -196,87 +228,6 @@
<Content Include="Assets\Wide310x150Logo.scale-200.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\default.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_1.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_10.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_11.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_12.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_13.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_14.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_15.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_16.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_17.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_18.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_19.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_2.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_20.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_21.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_22.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_23.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_24.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_25.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_26.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_3.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_4.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_5.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_6.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_7.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_8.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Routes\Images\historische_kilometer_9.jpg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
@@ -331,7 +282,9 @@
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Folder Include="Routes\historische_kilometer\lang\ja\" />
</ItemGroup>
<PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '14.0' ">
<VisualStudioVersion>14.0</VisualStudioVersion>
</PropertyGroup>
@@ -0,0 +1,322 @@
{
"name": "RouteName",
"description": "RouteDescription",
"landmarks": "RouteLandmarks",
"waypoints": [
{
"name": "VVVName",
"landmark": true,
"description": "VVVDescription",
"image": "historische_kilometer_1.jpg",
"latitude": 51.594112,
"longitude": 4.779417
},
{
"name": "LZName",
"landmark": true,
"description": "LZDescription",
"image": "historische_kilometer_3.jpg",
"latitude": 51.593278,
"longitude": 4.779388
},
{
"name": "NBMName",
"landmark": true,
"description": "NBMDescription",
"image": "historische_kilometer_4.jpg",
"latitude": 51.5925,
"longitude": 4.779695
},
{
"name": "WPY1",
"landmark": false,
"latitude": 51.5925,
"longitude": 4.779388
},
{
"name": "LHName",
"landmark": true,
"description": "LHDescription",
"image": "historische_kilometer_5.jpg",
"latitude": 51.592833,
"longitude": 4.778472
},
{
"name": "WPY2",
"landmark": false,
"latitude": 51.592667,
"longitude": 4.777917
},
{
"name": "WPY3",
"landmark": false,
"latitude": 51.590612,
"longitude": 4.777
},
{
"name": "KBName",
"landmark": true,
"description": "KBDescription",
"image": "historische_kilometer_9.jpg",
"latitude": 51.590612,
"longitude": 4.776167
},
{
"name": "Stadhouderspoort",
"landmark": true,
"description": "De Stathouderspoort is een poort in Breda",
"image": "historische_kilometer_11.jpg",
"latitude": 51.589695,
"longitude": 4.776138
},
{
"name": "Kruising Kasteelplein/Cingelstaart",
"landmark": false,
"latitude": 51.590333,
"longitude": 4.776
},
{
"name": "Bocht Cingelstraat",
"landmark": false,
"latitude": 51.590388,
"longitude": 4.775
},
{
"name": "Huis van Brecht",
"landmark": true,
"description": "Het Huis van Brecht is een van de meer historyse gebouwen in Breda.",
"image": "historische_kilometer_7.jpg",
"latitude": 51.590028,
"longitude": 4.774362
},
{
"name": "Spanjaardsgat",
"landmark": true,
"description": "Het Spanjaardsgat is een monument",
"image": "historische_kilometer_6.jpg",
"latitude": 51.590195,
"longitude": 4.773445
},
{
"name": "Begin Vismarkt",
"landmark": true,
"description": "pilsje pakt, ontdekt (overigens ook zonder dat pilsje) al heel gauw, dat dit plein het mooiste uitzicht biedt op de grote toren van de Grote Kerk. Vanaf deze plek kunt u ook de mooie brede onderbouw van die toren bewonderen. Er is veel te zien op dit pleintje. Links op de hoek van de Havermarkt en Reigerstraat ziet u het huis 'De Arent', gebouwd rond ca. 1490. Het heeft nu een zeventiende eeuwse trapgevel en is in 1966 geheel gerestaureerd en verbouwd tot restaurant. Tegenover u op de Havermarkt bevinden zich nog twee panden die uw aandacht verdienen. Havermarkt nummer 5 dateert uit de zestiende en zeventiend eeuw. 'De Vogelstruys' op Havermarkt 21 is een opmerkelijk zeventiende eeuws monument met een hoge, niet symmetrische trapgevel. Ook dit huis heeft in de loop de eeuwen allerlei functies en bestemmingen gehad. Het was onder meer refugiehuis voor de zusters van Catharinadal in de zeventiende eeuw. Voor het beeldje 'De Troubadour', dat aan het eind van de Havermarkt prijkt, zijn vier exemplaren vervaardigd. De andere drie werden onthuld in Diest, Orange en Dillenburg, de zustersteden van Breda in de in 1963 tot stand gekomen Unie van Oranjesteden. Een stukje verder in de Visserstraat (nr. 31), aan de rechterkant, staat een fraai bakstenen huis uit de 17e eeuw met overblijfselen van een zestiende eeuwse gothische woning, de Drie Moren geheten. ",
"image": "historische_kilometer_20.jpg",
"latitude": 51.589833,
"longitude": 4.773333
},
{
"name": "Begin Havenmarkt",
"landmark": true,
"description": "De haven markt die hier gevestigt is bestaat sins 1934.....",
"image": "historische_kilometer_19.jpg",
"latitude": 51.589362,
"longitude": 4.774445
},
{
"name": "Kruising Torenstraat/Kerkplein",
"landmark": true,
"description": "In 1969 werden in Breda de Torenfeesten gehouden uit vreugde over de afsluiting van de restauratieperiode van de Grote Toren, die 25 jaar in beslag nam. Al die tijd hebben de Bredanaars, maar zij niet alleen, tegen een toren aangekeken die zijn schoonheid achter een netwerk van steigers verborgen hield. Ook tussen 1995 en 1997 werd de schoonheid van de Grote of Onze Lieve Vrouwe Kerk tijdelijk verborgen gehouden achter steigers. In bijna drie jaar tijd werd de kerk wederom van binnen gerestaureerd. De restauratie was onderverdeeld in drie fasen. In de eerste fase stonden onder andere werkzaamheden als het schoonspuiten van de buitenzijde, het repareren van het voegwerk en de glas-in-loodramen en het schilderen van de binnenzijde centraal. In de tweede fase werd de vloerverwarming aangelegd; In de derde fase is de rest van de kerk gerestaureerd. Uit onderzoek is vast komen te staan dat in 1410 de bouw van de kerk is begonnen. In de zestiende eeuw is de kerk aan de zuidzijde en aan de noordzijde uitgebreid met enkele kapellen, de huidige consistoriekamer en de kootomgang. De toren kwam in 1509 gereed; In 1468 was daarvoor de eerste steen gelegd,zodat de bouwperiode alles bij elkaar toch wel veertig jaar heeft geduurd. De torenspits brandde in 1694 af. In de jaren daarna werd hij herbouwd, onder andere met hout dat door stadhouderkoning Willem de derde uit zijn bossen was geschonken. In 1702 kon de haan er weer op worden geplaatst. Het is duidelijk dat de Heren van Breda, met name de Nassaufs, een belangrijke bijdrage hebben geleverd aan de wordingsgeschiedenis van de Grote Kerk. Die Heren van Breda liggen er ook begraven; Hun graftomben zijn ware kunsthistorische pronkstukken. Prins Willem van Oranje, die in 1584 in Delft werd vermoord, had in de Grote Kerk onder het prachtige grafmonument van Graaf Engelbert de Tweede een laatste rustplaats gereserveerd, maar zijn stoffelijk overschot en die van de na hem komende Oranjevorsten werden voortaan in Delft te aarde besteld. ",
"latitude": 51.588778,
"longitude": 4.774888
},
{
"name": "Grote Kerk",
"landmark": true,
"description": "de bisschop van Breda keerde na een afwezigheid van 32 jaar aan het begin van 2001 terug naar de Antoniuskerk die daarmee de status van kathedraal opnieuw verwierf. Aan de voorgevel zijn duidelijk de drie soorten antieke zuilen te zien. Van onder naar boven: Dorische, Ionische en Corinthische zuilen. Het beeld boven de ingang stelt 'de Godsdienst' voor. Binnen valt direct de schitterende houten preekstoel op. Hierin is in verschillende panelen het leven van H. Antonius uitgebeeld. Even verder bevinden zich restanten of alleen maar herinneringen aan twee zeer voorname hofhuizen, het Huis Ocrum, waarin tot 1994 de Kunstacademie St. Joost was gevestigd en het Huis Hersbeeck, thans pastorie. In 1667 verbleven in beide huizen de Engelse gezanten, die deelnamen aan de Vredesonderhandelingen van Breda. De afgevaardigden van de Raad van State gebruikten het pand (nr. 16) wanneer zij in de stad op dienstreis waren, maar ook koning Lodewijk Napoleon heeft er gelogeerd. De erker van dit pand had een controlerende functie: de pastoor kon goed in de gaten houden wie er naar de kerk ging. Het Huis Ocrum (nr. 18) was van 1848 tot 1952 rooms burgerweeshuis. Dat kunt u nog zien aan de kinderkopjes die aan de 19e eeuwse voorgevel van het academiegebouw zijn aangebracht. De rode kleur van dit huis (na de restauratie aangebracht) zal door de loop der jaren een mooie grijs rode kleur van dit huis (na de restauratie aangebracht) zal door de loop der jaren een mooie grijs rode kleur krijgen. ",
"image": "historische_kilometer_10.jpg",
"latitude": 51.588833,
"longitude": 4.775278
},
{
"name": "Kruising Torenstraat/Kerkplein",
"landmark": false,
"latitude": 51.588778,
"longitude": 4.774888
},
{
"name": "Het Poortje",
"landmark": true,
"description": "Het Poortje ..........",
"latitude": 51.588195,
"longitude": 4.775138
},
{
"name": "Ridderstraat",
"landmark": true,
"description": "Ridderstraat ..........",
"latitude": 51.587083,
"longitude": 4.77575
},
{
"name": "Grote Markt",
"landmark": true,
"description": "De Grote Markt",
"image": "historische_kilometer_17.jpg",
"latitude": 51.587417,
"longitude": 4.776555
},
{
"name": "Bevrijdingsmonument",
"landmark": true,
"description": "Dit monument is geplaats naar de bevrijding in 1951 om dit te herdenken.",
"image": "historische_kilometer_24.jpg",
"latitude": 51.588028,
"longitude": 4.776333
},
{
"name": "Stadhuis",
"landmark": true,
"description": "De hoofdingang van het standhuis bevindt zich boven het bordes, dat bewaakt wordt door twee zandstenen leeuwen. Het stadhuis, zoals dat er nu uitziet, kwam pas in 1767 tot stand. Het zijn eigenlijk vier huizen, die toen door de bouwmeester van Oranje, Philips Willem Schonck, achter één gevel werden verborgen. Het oudste deel is de grote hal. Al in de vijftiende eeuw werd daarnaast ook een zgn. 'Cleyn raedthuys' in gebruik genomen. In 1898 kwam het meest rechtse huis, het 'Liggend Hert' erbij, dat nog steeds een aparte gevel. heeft. Ondanks het feit dat het stadhuis slechts beperkt geopend is voor het publiek, willen we u de volgende informatie over de binnen zijde ervan toch niet onthouden. Vrouwe Justitia boven de hoofdingang en het houten beeld achter in de hal geven aan dat in het stadhuis vroeger ook recht gesproken werd. De balie van de vroegere rechtbank, eens staande tegen de achtermuur van de hal, wordt nu in het Breda's Museum bewaard. Links hangt een grote kopie van het beroemde schilderij van Velasques 'Las Lanzas', dat de overgave van Breda aan de Spaanse bevelhebber Spinola (1625) in beeld brengt. Het oorspronkelijke schilderij hangt in het Prado te Madrid. Het stadhuis wordt nog gebruikt voor openbare raadsvergaderingen en voor het sluiten van huwelijken. De burgemeester, wethouders en gemeete-ambtenaren huizen sinds februari 1992 in het nieuwe Stadskantoor aan de Claudius Prinsenlaan in Breda. Door het poortgebouw rechts van het stadhuis lopen we het Stadserf op. Midden op dit pleintje herinnert het beeldje De Turfschipper van Gerarda Rueb, aan de legendarische overval in 1590 van Adriaan van Bergen met zijn Turfschip. (De VVV Breda verkoopt hiervan een replica). ",
"latitude": 51.58875,
"longitude": 4.776112
},
{ // corordinaten
"name": "terug naar de grote markt",
"landmark": false,
"latitude": 51.587972,
"longitude": 4.776362
},
{
"name": "zuidpunt Grote makrt",
"landmark": false,
"latitude": 51.5875,
"longitude": 4.776555
},
{
"name": "Antonius van Paduakerk",
"landmark": true,
"description": "Antonius van Paduakerk",
"latitude": 51.587638,
"longitude": 4.77725
},
{
"name": "Kruising St.Janstraat/Molenstraat",
"landmark": false,
"latitude": 51.588278,
"longitude": 4.7785
},
{
"name": "Bibliotheek",
"landmark": true,
"description": "In de Molenstraat ziet u recht de Bibliotheek, ontworpen door architect Herman Hertzberger. Omdat de Molenstraat vrij smal is, heeft de architect ruimte gecreëerd door de bibliotheek schuin oplopende wanden te geven. Op de plaats van de bibliotheek (op de hoek met de Oude Vest) bevond zich vroeger een poort. Boven deze poort bevond zich 's Heeren Gevangenhuys, waar de zwaarst gestraften werden ondergebracht. De plaats is nog met keitjes in het asfalt aangegeven; de asfaltweg is de plaats van de oude stadsgracht. ",
"latitude": 51.588,
"longitude": 4.778945
},
{
"name": "Kruising Molenstraat/Kloosterplein",
"landmark": true,
"description": "Kruising Molenstraat/Kloosterplein",
"latitude": 51.587362,
"longitude": 4.780222
},
{
"name": "Kloosterkazerne",
"landmark": true,
"description": "Op deze hoek ziet u aan de overkant een voornaam monument uit de geschiedenis van Breda: de kloosterkazerne. Het is een deel van het vroegere zusterklooster St. Catharinadal, dat hier sinds 1295 gevestigd was. Het huidige gebouw dateert uit 1504. In 1645 werden de zusters Norbertinessen vanuit Breda naar Oosterhout verdreven. ",
"latitude": 51.587722,
"longitude": 4.781028
},
{
"name": "Chasse theater",
"landmark": true,
"description": "Chasse theater",
"latitude": 51.58775,
"longitude": 4.782
},
{
"name": "Kruising Kloosterplein/Vlaszak",
"landmark": false,
"latitude": 51.58775,
"longitude": 4.78125
},
{
"name": "Binding van Isaac",
"landmark": true,
"description": "Binding van Isaac",
"latitude": 51.588612,
"longitude": 4.780888
},
{
"name": "Kruising Vlaszak/Boschstraat",
"landmark": false,
"latitude": 51.5895,
"longitude": 4.780445
},
{
"name": "Beyerd",
"landmark": true,
"description": "Beyerd",
"latitude": 51.589667,
"longitude": 4.781
},
{
"name": "Kruising Vlaszak/Boschstraat",
"landmark": false,
"latitude": 51.5895,
"longitude": 4.780445
},
{
"name": "Gasthuispoort",
"landmark": true,
"description": "Gasthuispoort",
"latitude": 51.589555,
"longitude": 4.78
},
{
"name": "Ingang Veemarktstraat",
"landmark": false,
"latitude": 51.589417,
"longitude": 4.779862
},
{
"name": "1e bocht Veemarktstraatt",
"landmark": false,
"latitude": 51.589028,
"longitude": 4.779695
},
{
"name": "Kruising Veemarktstraat/St.Annastraat",
"landmark": false,
"latitude": 51.588555,
"longitude": 4.778333
},
{
"name": "Willem Merkxtuin",
"landmark": true,
"description": "Willem Merkxtuin",
"latitude": 51.589112,
"longitude": 4.777945
},
{
"name": "Kruising St.Annastraat/Catharinastraat",
"landmark": false,
"latitude": 51.589667,
"longitude": 4.777805
},
{
"name": "Begijnenhof",
"landmark": true,
"description": "Begijnenhof",
"latitude": 51.589695,
"longitude": 4.778362
},
{
"name": "Kruising St.Annastraat/Catharinastraat",
"landmark": false,
"latitude": 51.589667,
"longitude": 4.777805
},
{
"name": "Einde stadswandeling",
"landmark": true,
"description": "Einde stadswandeling",
"latitude": 51.5895,
"longitude": 4.77625
}
]
}
@@ -117,31 +117,7 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="MenuItemHelp.Text" xml:space="preserve">
<value>Help</value>
</data>
<data name="MenuItemSettings.Text" xml:space="preserve">
<value>Settings</value>
</data>
<data name="PageTitleDefault.Text" xml:space="preserve">
<value>Welcome</value>
</data>
<data name="PageTitleHelp" xml:space="preserve">
<value>Help</value>
</data>
<data name="PageTitleMap" xml:space="preserve">
<value>Map</value>
</data>
<data name="PageTitleRoute" xml:space="preserve">
<value>Route</value>
</data>
<data name="PageTitleRouteDetail" xml:space="preserve">
<value>Route Detail</value>
</data>
<data name="PageTitleSettings" xml:space="preserve">
<value>Settings</value>
</data>
<data name="PageTitleWaypoint" xml:space="preserve">
<value>Waypoint</value>
<data name="RouteDescription" xml:space="preserve">
<value>Historischen Kilometer</value>
</data>
</root>
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="KBDescription" xml:space="preserve">
<value>TRANSLATE: Dit plein bevindt zich aan de zuiderzijde van het kasteel. U heeft zo een mooi uitzicht op de monumentale poort, de zgn. Stadhouderspoort met het wapen van stadhouder Willem de Vijfde, dat overigens pas later is aangebracht. Achter u ziet u het ruiterstandbeeld van stadhouder koning Willem III geplaatst. Voor dit standbeeld werd onder de burgerij van Breda een inzameling gehouden die f 47.000,-- opbracht. Voor de oude Nassaustad Breda is de stadhouderkoning van grote betekenis geweest. Hij voltooide na anderhalve eeuw de verbouwing van het Kasteel. Hendrik de Derde van Nassau en zijn (drede) vrouw Mencia de Mendoza hebben veel in Breda ver- toefd, maar verbleven dan toch bij voorkeur in de vertrekken boven de overigens al lang geleden gesloopte watermolen op het terrein van het Kasteel. Rechts van de poort bevindt zich het zgn. Blokhuis, de ambts- woning van de gouveneur van de KMA. Willem van Oranje woonde daar in een aangrenzende ruimte, maar Prins Maurits prefereerde de watermolen als dagelijks verblijf. Prins Philips Willem (1554-1618), de oudste en roomskatholieke zoon van Willem van Oranje, die vele jaren in Spaanse balling- schap verbleef en in Diest werd begraven, is de eerste Oranje geweest, die met zijn vrouw ook in het Kasteel ging wonen. Hij liet het park Valkenberg verfraaien en het Kasteel echt als een paleis inrichten. Bij zijn dood in 1618 werden in Breda tweeënveertig dagen achtereen de kerkklokken geluid. Op de plaats van de vensters, links en rechts van de poort, bevonden zich in de zestiende en zeventiende eeuw sierlijke open galerijen. Het muisgrijze gebouw links van de kasteelpoort werd gebouwd in 1867. Het maakt thans ook deel uit van het KMA gebouwen complex. Meer geschiedenis schuilt et achter de witte pui van het gebouw.</value>
</data>
<data name="KBName" xml:space="preserve">
<value>Castle of Breda</value>
</data>
<data name="LHDescription" xml:space="preserve">
<value>TRANSLATE: Tot 1812 deed dit park dienst als kasteeltuin voor de Heren van Breda. Het park dankt zijn naam aan een val- kenhuis, dat aan de rand ervan stond en van waaruit de kasteelbewoners en hun gasten de valkenjacht bedreven. Het park was van orgine een echt bos met hoge bomen. In de zeventiende eeuw verdween dat karakter door de aanleg van een tuin naar Franse stijl. Eén replica van de 17 beelden staat verderop in het park, in een speciaal aangelegd perkje. Dit perkje is een herinnering aan de Franse stijltuin. Het originele beeld is te bezichtigen in het Breda's Museum. In 1995 is het Valkenberg in een nieuw jasje gestoken. In het hele park zijn paden verlegd, struiken en bosschages weggehaald en nieuwe verlichting aangebracht. Daarnaast zijn er nieuwe banken in het park geplaatst en speelvoorzieningen voor de kinderen gemaakt. Bij opgravingen in het park zijn de fundamenten van een middeleeuwse muurtoren en van de stenen muur gevonden, die tot 1537 klein Breda omringde. Van twee muurtorens is een klein stukje opgebouwd.</value>
</data>
<data name="LHName" xml:space="preserve">
<value>The Light House</value>
</data>
<data name="LZDescription" xml:space="preserve">
<value>The Love Sister is a statue in the center of Breda. In Dutch it is known as the Liefdeszuster.</value>
</data>
<data name="LZName" xml:space="preserve">
<value>Love Sister</value>
</data>
<data name="NBMDescription" xml:space="preserve">
<value>TRANSLATE: Bij de ingang van het stadspark, het Valkenberg, staat een monument dat u iets vertelt over de wordings-geschiedenis van de stad Breda, maar vooral over de Heren van de stad uit het Huis van Nassau en de 500-jarige band tussen Breda en het Huis van Nassau. Op 3 juli 1905 werd het Nassau-Baronie-monument, zoals het officieel heet, met veel feestelijk vertoon door Koningin Wilhelmina onthuld. Het beeld herinnert aan het feit, dat in 1404 Graaf Engelbert, de eerste Bredase Nassau en zijn gemalin, Johanna van Polanen, werden ingehuldigd als Heer en Vrouwe van Breda. De ontwerper is de welbekende dr. P.J.H. Cuypers, die o.m. het Rijksmuseum en het Centraal Station in Amsterdam ontwierp. Op dit monument zijn niet alleen de wapenschilden van twintig gemeenten in en rond de Baronie aangebracht maar ook de Leeuw van Nassau die boven alles uittorent met koningskroon, zwaard en wapenschild. In de drie reliëfs is de 'blijde incomste' van Graaf Engelbert en zijn gemalin afgebeeld. De poorters bieden de sleutel van de stad aan.</value>
</data>
<data name="NBMName" xml:space="preserve">
<value>Nassau Baronie Monument</value>
</data>
<data name="RouteDescription" xml:space="preserve">
<value>The historical kilometer through Breda</value>
</data>
<data name="RouteLandmarks" xml:space="preserve">
<value>Castle of Breda, Big Church, City Hall</value>
</data>
<data name="RouteName" xml:space="preserve">
<value>Historical kilometer</value>
</data>
<data name="VVVDescription" xml:space="preserve">
<value>Tourist information office of Breda</value>
</data>
<data name="VVVName" xml:space="preserve">
<value>Tourist Information</value>
</data>
<data name="WPY1" xml:space="preserve">
<value>Path west of monument</value>
</data>
<data name="WPY3" xml:space="preserve">
<value>End of Park</value>
</data>
<data name="WYP2" xml:space="preserve">
<value>Navigation point</value>
</data>
</root>
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="KBDescription" xml:space="preserve">
<value>Dit plein bevindt zich aan de zuiderzijde van het kasteel. U heeft zo een mooi uitzicht op de monumentale poort, de zgn. Stadhouderspoort met het wapen van stadhouder Willem de Vijfde, dat overigens pas later is aangebracht. Achter u ziet u het ruiterstandbeeld van stadhouder koning Willem III geplaatst. Voor dit standbeeld werd onder de burgerij van Breda een inzameling gehouden die f 47.000,-- opbracht. Voor de oude Nassaustad Breda is de stadhouderkoning van grote betekenis geweest. Hij voltooide na anderhalve eeuw de verbouwing van het Kasteel. Hendrik de Derde van Nassau en zijn (drede) vrouw Mencia de Mendoza hebben veel in Breda ver- toefd, maar verbleven dan toch bij voorkeur in de vertrekken boven de overigens al lang geleden gesloopte watermolen op het terrein van het Kasteel. Rechts van de poort bevindt zich het zgn. Blokhuis, de ambts- woning van de gouveneur van de KMA. Willem van Oranje woonde daar in een aangrenzende ruimte, maar Prins Maurits prefereerde de watermolen als dagelijks verblijf. Prins Philips Willem (1554-1618), de oudste en roomskatholieke zoon van Willem van Oranje, die vele jaren in Spaanse balling- schap verbleef en in Diest werd begraven, is de eerste Oranje geweest, die met zijn vrouw ook in het Kasteel ging wonen. Hij liet het park Valkenberg verfraaien en het Kasteel echt als een paleis inrichten. Bij zijn dood in 1618 werden in Breda tweeënveertig dagen achtereen de kerkklokken geluid. Op de plaats van de vensters, links en rechts van de poort, bevonden zich in de zestiende en zeventiende eeuw sierlijke open galerijen. Het muisgrijze gebouw links van de kasteelpoort werd gebouwd in 1867. Het maakt thans ook deel uit van het KMA gebouwen complex. Meer geschiedenis schuilt et achter de witte pui van het gebouw.</value>
</data>
<data name="KBName" xml:space="preserve">
<value>Kasteel van Breda</value>
</data>
<data name="LHDescription" xml:space="preserve">
<value>Tot 1812 deed dit park dienst als kasteeltuin voor de Heren van Breda. Het park dankt zijn naam aan een val- kenhuis, dat aan de rand ervan stond en van waaruit de kasteelbewoners en hun gasten de valkenjacht bedreven. Het park was van orgine een echt bos met hoge bomen. In de zeventiende eeuw verdween dat karakter door de aanleg van een tuin naar Franse stijl. Eén replica van de 17 beelden staat verderop in het park, in een speciaal aangelegd perkje. Dit perkje is een herinnering aan de Franse stijltuin. Het originele beeld is te bezichtigen in het Breda's Museum. In 1995 is het Valkenberg in een nieuw jasje gestoken. In het hele park zijn paden verlegd, struiken en bosschages weggehaald en nieuwe verlichting aangebracht. Daarnaast zijn er nieuwe banken in het park geplaatst en speelvoorzieningen voor de kinderen gemaakt. Bij opgravingen in het park zijn de fundamenten van een middeleeuwse muurtoren en van de stenen muur gevonden, die tot 1537 klein Breda omringde. Van twee muurtorens is een klein stukje opgebouwd.</value>
</data>
<data name="LHName" xml:space="preserve">
<value>The Light House</value>
</data>
<data name="LZDescription" xml:space="preserve">
<value>De liefdeszuster is een standbeeld in het centrum van Breda</value>
</data>
<data name="LZName" xml:space="preserve">
<value>Liefdeszuster</value>
</data>
<data name="NBMDescription" xml:space="preserve">
<value>Bij de ingang van het stadspark, het Valkenberg, staat een monument dat u iets vertelt over de wordings-geschiedenis van de stad Breda, maar vooral over de Heren van de stad uit het Huis van Nassau en de 500-jarige band tussen Breda en het Huis van Nassau. Op 3 juli 1905 werd het Nassau-Baronie-monument, zoals het officieel heet, met veel feestelijk vertoon door Koningin Wilhelmina onthuld. Het beeld herinnert aan het feit, dat in 1404 Graaf Engelbert, de eerste Bredase Nassau en zijn gemalin, Johanna van Polanen, werden ingehuldigd als Heer en Vrouwe van Breda. De ontwerper is de welbekende dr. P.J.H. Cuypers, die o.m. het Rijksmuseum en het Centraal Station in Amsterdam ontwierp. Op dit monument zijn niet alleen de wapenschilden van twintig gemeenten in en rond de Baronie aangebracht maar ook de Leeuw van Nassau die boven alles uittorent met koningskroon, zwaard en wapenschild. In de drie reliëfs is de 'blijde incomste' van Graaf Engelbert en zijn gemalin afgebeeld. De poorters bieden de sleutel van de stad aan.</value>
</data>
<data name="NBMName" xml:space="preserve">
<value>Nassau Baronie Monument</value>
</data>
<data name="RouteDescription" xml:space="preserve">
<value>De historische kilometer door Breda</value>
</data>
<data name="RouteLandmarks" xml:space="preserve">
<value>Kasteel van Breda, Grote Kerk, Stadhuis</value>
</data>
<data name="RouteName" xml:space="preserve">
<value>Historische kilometer</value>
</data>
<data name="VVVDescription" xml:space="preserve">
<value>VVV van Breda</value>
</data>
<data name="VVVName" xml:space="preserve">
<value>VVV</value>
</data>
<data name="WPY1" xml:space="preserve">
<value>Pad ten westen van monument</value>
</data>
<data name="WPY3" xml:space="preserve">
<value>Einde park</value>
</data>
<data name="WYP2" xml:space="preserve">
<value>Navigatiepunt</value>
</data>
</root>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Before

Width:  |  Height:  |  Size: 332 KiB

After

Width:  |  Height:  |  Size: 332 KiB

Before

Width:  |  Height:  |  Size: 229 KiB

After

Width:  |  Height:  |  Size: 229 KiB

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 238 KiB

Before

Width:  |  Height:  |  Size: 385 KiB

After

Width:  |  Height:  |  Size: 385 KiB

Before

Width:  |  Height:  |  Size: 276 KiB

After

Width:  |  Height:  |  Size: 276 KiB

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 284 KiB

Before

Width:  |  Height:  |  Size: 273 KiB

After

Width:  |  Height:  |  Size: 273 KiB

Before

Width:  |  Height:  |  Size: 262 KiB

After

Width:  |  Height:  |  Size: 262 KiB

Before

Width:  |  Height:  |  Size: 295 KiB

After

Width:  |  Height:  |  Size: 295 KiB

Before

Width:  |  Height:  |  Size: 360 KiB

After

Width:  |  Height:  |  Size: 360 KiB

Before

Width:  |  Height:  |  Size: 303 KiB

After

Width:  |  Height:  |  Size: 303 KiB

Before

Width:  |  Height:  |  Size: 347 KiB

After

Width:  |  Height:  |  Size: 347 KiB

Before

Width:  |  Height:  |  Size: 415 KiB

After

Width:  |  Height:  |  Size: 415 KiB

Before

Width:  |  Height:  |  Size: 335 KiB

After

Width:  |  Height:  |  Size: 335 KiB

Before

Width:  |  Height:  |  Size: 299 KiB

After

Width:  |  Height:  |  Size: 299 KiB

Before

Width:  |  Height:  |  Size: 230 KiB

After

Width:  |  Height:  |  Size: 230 KiB

Before

Width:  |  Height:  |  Size: 662 KiB

After

Width:  |  Height:  |  Size: 662 KiB

Before

Width:  |  Height:  |  Size: 457 KiB

After

Width:  |  Height:  |  Size: 457 KiB

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 256 KiB

Before

Width:  |  Height:  |  Size: 467 KiB

After

Width:  |  Height:  |  Size: 467 KiB

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 339 KiB

Before

Width:  |  Height:  |  Size: 385 KiB

After

Width:  |  Height:  |  Size: 385 KiB

Before

Width:  |  Height:  |  Size: 307 KiB

After

Width:  |  Height:  |  Size: 307 KiB

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 373 KiB

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 330 KiB

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

-87
View File
@@ -1,87 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Devices.Geolocation;
using Windows.UI.Core;
namespace NavCityBreda.ViewModel
{
public class MenuVM : INotifyPropertyChanged
{
CoreDispatcher dispatcher;
public MenuVM()
{
dispatcher = App.Dispatcher;
App.Geo.OnPositionUpdate += Geo_OnPositionUpdate;
App.Geo.OnStatusUpdate += Geo_OnStatusUpdate;
}
private void Geo_OnStatusUpdate(object sender, Model.StatusUpdatedEventArgs e)
{
dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
NotifyPropertyChanged(nameof(Status));
});
}
private void Geo_OnPositionUpdate(object sender, Model.PositionUpdatedEventArgs e)
{
dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
NotifyPropertyChanged(nameof(Source));
NotifyPropertyChanged(nameof(Accuracy));
});
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public string Status
{
get
{
return App.Geo.Status.ToString();
}
}
public string Source
{
get
{
if (App.Geo.Connected == true && App.Geo.Position != null)
return App.Geo.Position.Coordinate.PositionSource.ToString();
else
return "N/A";
}
}
public string Accuracy
{
get
{
if (App.Geo.Connected == true && App.Geo.Position != null)
return App.Geo.Position.Coordinate.Accuracy.ToString() + "m";
else
return "0m";
}
}
public string Year
{
get
{
int year = DateTime.Now.Year;
return year.ToString();
}
}
}
}
-24
View File
@@ -1,24 +0,0 @@
using NavCityBreda.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NavCityBreda.ViewModel
{
class RouteVM
{
private List<Route> _routes;
public RouteVM()
{
_routes = App.RouteManager.Routes;
}
public List<Route> GetRoutes()
{
return _routes;
}
}
}
+24
View File
@@ -0,0 +1,24 @@
using NavCityBreda.Helpers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Core;
namespace NavCityBreda.ViewModels
{
public class HelpVM : TemplateVM
{
public HelpVM() : base(Util.Loader.GetString("Help"))
{
}
protected override void UpdatePropertiesToNewLanguage()
{
}
}
}
+91
View File
@@ -0,0 +1,91 @@
using NavCityBreda.Helpers;
using NavCityBreda.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Core;
namespace NavCityBreda.ViewModels
{
public class LandmarkVM : TemplateVM
{
Landmark landmark;
string address;
public LandmarkVM(Landmark l) : base(l.Name)
{
this.landmark = l;
address = Util.Loader.GetString("Searching") + "...";
LoadStreet();
}
protected override void UpdatePropertiesToNewLanguage()
{
NotifyPropertyChanged(nameof(Visited));
NotifyPropertyChanged(nameof(DescriptionTitle));
NotifyPropertyChanged(nameof(Description));
}
public string Address
{
get
{
return address;
}
}
public string Image
{
get
{
return landmark.Image;
}
}
public bool IsVisited
{
get
{
return landmark.Visited;
}
}
public string Visited
{
get
{
if (landmark.Visited)
return Util.Loader.GetString("Visited");
else
return Util.Loader.GetString("NotVisited");
}
}
public string DescriptionTitle
{
get
{
return Util.Loader.GetString("Description");
}
}
public string Description
{
get
{
return landmark.Description;
}
}
private async void LoadStreet()
{
address = await Util.FindAddress(landmark.Location);
NotifyPropertyChanged(nameof(Address));
}
}
}
+151
View File
@@ -0,0 +1,151 @@
using NavCityBreda.Helpers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.Devices.Geolocation;
using Windows.UI.Core;
namespace NavCityBreda.ViewModels
{
public class MainPageVM : TemplateVM
{
public MainPageVM() : base(Util.Loader.GetString("Loading"))
{
App.Geo.OnPositionUpdate += Geo_OnPositionUpdate;
App.Geo.OnStatusUpdate += Geo_OnStatusUpdate;
}
protected override void UpdatePropertiesToNewLanguage()
{
NotifyPropertyChanged(nameof(Map));
NotifyPropertyChanged(nameof(Help));
NotifyPropertyChanged(nameof(Route));
NotifyPropertyChanged(nameof(Settings));
NotifyPropertyChanged(nameof(Status));
NotifyPropertyChanged(nameof(Source));
NotifyPropertyChanged(nameof(Accuracy));
}
public string Map
{
get
{
return Util.Loader.GetString("Map");
}
}
public string Help
{
get
{
return Util.Loader.GetString("Help");
}
}
public string Route
{
get
{
return Util.Loader.GetString("Route");
}
}
public string Settings
{
get
{
return Util.Loader.GetString("Settings");
}
}
private void Geo_OnStatusUpdate(object sender, Model.StatusUpdatedEventArgs e)
{
dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
NotifyPropertyChanged(nameof(Status));
});
}
private void Geo_OnPositionUpdate(object sender, Model.PositionUpdatedEventArgs e)
{
dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
NotifyPropertyChanged(nameof(Source));
NotifyPropertyChanged(nameof(Accuracy));
});
}
public string Status
{
get
{
switch(App.Geo.Status)
{
case PositionStatus.Disabled:
return Util.Loader.GetString("Disabled");
case PositionStatus.Initializing:
return Util.Loader.GetString("Initializing");
case PositionStatus.NoData:
return Util.Loader.GetString("NoData");
default:
case PositionStatus.NotAvailable:
return Util.Loader.GetString("NotAvailable");
case PositionStatus.NotInitialized:
return Util.Loader.GetString("NotInitialized");
case PositionStatus.Ready:
return Util.Loader.GetString("Ready");
}
}
}
public string Source
{
get
{
if (App.Geo.Connected == true && App.Geo.Position != null)
switch(App.Geo.Position.Coordinate.PositionSource)
{
case PositionSource.Cellular:
return Util.Loader.GetString("Cellular");
case PositionSource.IPAddress:
return Util.Loader.GetString("IPAddress");
case PositionSource.Satellite:
return Util.Loader.GetString("Satellite");
case PositionSource.WiFi:
return Util.Loader.GetString("WiFi");
default:
case PositionSource.Unknown:
return Util.Loader.GetString("Unknown");
}
else
return Util.Loader.GetString("Unknown");
}
}
public string Accuracy
{
get
{
if (App.Geo.Connected == true && App.Geo.Position != null)
return App.Geo.Position.Coordinate.Accuracy.ToString() + "m";
else
return Util.Loader.GetString("Unknown");
}
}
public string Year
{
get
{
int year = DateTime.Now.Year;
return year.ToString();
}
}
}
}
+30
View File
@@ -0,0 +1,30 @@
using NavCityBreda.Helpers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Core;
namespace NavCityBreda.ViewModels
{
public class MapVM : TemplateVM
{
public MapVM() : base(Util.Loader.GetString("Map"))
{
}
protected override void UpdatePropertiesToNewLanguage()
{
}
internal void UpdateMap()
{
if(App.MainPage != null)
App.MainPage.Title = Util.Loader.GetString("Map");
}
}
}
@@ -6,20 +6,30 @@ using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Core;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
namespace NavCityBreda.ViewModel
namespace NavCityBreda.ViewModels
{
public class RouteDetailVM : INotifyPropertyChanged
public class RouteDetailVM : TemplateVM
{
Route route;
public RouteDetailVM(Route r)
public RouteDetailVM(Route r) : base(r.Name)
{
this.route = r;
}
protected override void UpdatePropertiesToNewLanguage()
{
NotifyPropertyChanged(nameof(Description));
NotifyPropertyChanged(nameof(DescriptionTitle));
NotifyPropertyChanged(nameof(LandmarksTitle));
NotifyPropertyChanged(nameof(StartRouteText));
NotifyPropertyChanged(nameof(StopRouteText));
}
public string Description
{
get
@@ -28,6 +38,22 @@ namespace NavCityBreda.ViewModel
}
}
public string DescriptionTitle
{
get
{
return Util.Loader.GetString("Description");
}
}
public string LandmarksTitle
{
get
{
return Util.Loader.GetString("Landmarks");
}
}
public string Time
{
get
@@ -72,6 +98,14 @@ namespace NavCityBreda.ViewModel
}
}
public string StartRouteText
{
get
{
return Util.Loader.GetString("StartRoute");
}
}
public bool StopEnabled
{
get
@@ -80,19 +114,20 @@ namespace NavCityBreda.ViewModel
}
}
public string StopRouteText
{
get
{
return Util.Loader.GetString("StopRoute");
}
}
public void UpdateRoute()
{
NotifyPropertyChanged(nameof(StartEnabled));
NotifyPropertyChanged(nameof(StopEnabled));
NotifyPropertyChanged(nameof(Landmarks));
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void NotifyPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
App.MainPage.Title = route.Name;
}
}
}
+35
View File
@@ -0,0 +1,35 @@
using NavCityBreda.Helpers;
using NavCityBreda.Model;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Core;
namespace NavCityBreda.ViewModels
{
public class RouteVM : TemplateVM
{
private List<Route> _routes;
public RouteVM() : base(Util.Loader.GetString("Route"))
{
_routes = App.RouteManager.Routes;
}
protected override void UpdatePropertiesToNewLanguage()
{
NotifyPropertyChanged(nameof(Routes));
}
public List<Route> Routes
{
get
{
return _routes;
}
}
}
}
+34
View File
@@ -0,0 +1,34 @@
using NavCityBreda.Helpers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Core;
namespace NavCityBreda.ViewModels
{
public class SettingsVM : TemplateVM
{
public SettingsVM() : base(Util.Loader.GetString("Settings"))
{
}
protected override void UpdatePropertiesToNewLanguage()
{
NotifyPropertyChanged(nameof(Language));
App.MainPage.Title = Util.Loader.GetString("Settings");
}
public string Language
{
get
{
return Util.Loader.GetString("Language");
}
}
}
}
+45
View File
@@ -0,0 +1,45 @@
using NavCityBreda.Helpers;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Windows.UI.Core;
namespace NavCityBreda.ViewModels
{
public class TemplateVM : INotifyPropertyChanged
{
protected CoreDispatcher dispatcher;
public TemplateVM(string title)
{
dispatcher = App.Dispatcher;
Settings.OnLanguageUpdate += Settings_OnLanguageUpdate;
if(App.MainPage != null)
App.MainPage.Title = title;
}
private void Settings_OnLanguageUpdate(EventArgs e)
{
dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
UpdatePropertiesToNewLanguage();
});
}
protected virtual void UpdatePropertiesToNewLanguage()
{
//to implement in underlying class
}
public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
}
+1 -1
View File
@@ -8,6 +8,6 @@
mc:Ignorable="d">
<Grid>
<TextBlock Text="Help"/>
<TextBlock Text="This needs to be designed and made"/>
</Grid>
</Page>
+6 -1
View File
@@ -1,4 +1,5 @@
using System;
using NavCityBreda.ViewModels;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
@@ -22,8 +23,12 @@ namespace NavCityBreda.Views
/// </summary>
public sealed partial class HelpView : Page
{
HelpVM helpvm;
public HelpView()
{
helpvm = new HelpVM();
this.DataContext = helpvm;
this.InitializeComponent();
}
}
+4 -6
View File
@@ -10,7 +10,6 @@
<Page.Resources>
<convert:BoolToCheckmarkConverter x:Key="BoolConverter"/>
<convert:BoolToVisitedConverter x:Key="VisitedConverter"/>
</Page.Resources>
<ScrollViewer>
@@ -30,17 +29,16 @@
<StackPanel Grid.Column="0" Orientation="Horizontal">
<SymbolIcon Symbol="Street" Style="{StaticResource InfoIcon}"/>
<ProgressRing IsActive="True" Name="StreetLoading" Foreground="Gray" Margin="10,0,0,0"/>
<TextBlock Name="StreetAddress" Text="" Style="{StaticResource InfoText}"/>
<TextBlock Text="{Binding Address}" Style="{StaticResource InfoText}"/>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<SymbolIcon Symbol="{Binding Visited, Converter={StaticResource BoolConverter}}" Style="{StaticResource InfoIcon}"/>
<TextBlock Text="{Binding Visited, Converter={StaticResource VisitedConverter}}" Style="{StaticResource InfoText}"/>
<SymbolIcon Symbol="{Binding IsVisited, Converter={StaticResource BoolConverter}}" Style="{StaticResource InfoIcon}"/>
<TextBlock Text="{Binding Visited}" Style="{StaticResource InfoText}"/>
</StackPanel>
</Grid>
<StackPanel Grid.Row="2" Margin="10">
<TextBlock Text="[WaypointDescription]" x:Uid="WaypointDescription" Style="{StaticResource Header}"/>
<TextBlock Text="{Binding DescriptionTitle}" Style="{StaticResource Header}"/>
<TextBlock TextWrapping="WrapWholeWords" Text="{Binding Description}"/>
</StackPanel>
+5 -14
View File
@@ -1,5 +1,6 @@
using NavCityBreda.Helpers;
using NavCityBreda.Model;
using NavCityBreda.ViewModels;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -26,7 +27,7 @@ namespace NavCityBreda.Views
/// </summary>
public sealed partial class LandmarkView : Page
{
Landmark landmark;
LandmarkVM landmarkvm;
public LandmarkView()
{
@@ -35,19 +36,9 @@ namespace NavCityBreda.Views
protected override void OnNavigatedTo(NavigationEventArgs e)
{
landmark = e.Parameter as Landmark;
this.DataContext = landmark;
App.MainPage.Title = landmark.Name;
LoadStreet();
}
private async void LoadStreet()
{
await Task.Delay(TimeSpan.FromMilliseconds(350));
string address = await Util.FindAddress(landmark.Location);
StreetLoading.IsActive = false;
StreetLoading.Visibility = Visibility.Collapsed;
StreetAddress.Text = address;
Landmark landmark = e.Parameter as Landmark;
landmarkvm = new LandmarkVM(landmark);
this.DataContext = landmarkvm;
}
}
}
+10 -1
View File
@@ -1,4 +1,4 @@
using NavCityBreda.ViewModel;
using NavCityBreda.ViewModels;
using System;
using System.Collections.Generic;
using System.IO;
@@ -37,11 +37,15 @@ namespace NavCityBreda.Views
MapIcon CurrentPosition;
MapPolyline CurrentNavigationLine;
MapVM mapvm;
public MapView()
{
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Enabled;
mapvm = new MapVM();
CurrentPosition = new MapIcon();
CurrentPosition.NormalizedAnchorPoint = new Point(0.5, 0.5);
CurrentPosition.Title = "";
@@ -59,6 +63,11 @@ namespace NavCityBreda.Views
App.CompassTracker.OnSlowHeadingUpdated += CompassTracker_OnHeadingUpdated;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
mapvm.UpdateMap();
}
private void CompassTracker_OnHeadingUpdated(object sender, HeadingUpdatedEventArgs e)
{
Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
+4 -4
View File
@@ -47,18 +47,18 @@
</Grid>
<StackPanel Grid.Row="2" Margin="10" Visibility="Visible">
<Button Name="StartRouteButton" Click="StartRouteButton_Click" Content="Start Route" Background="DarkGreen" Foreground="White" HorizontalAlignment="Stretch" Visibility="{Binding StartEnabled, Converter={StaticResource VisConverter}}"/>
<Button Name="StopRouteButton" Click="StopRouteButton_Click" Content="Stop Route" Background="DarkRed" Foreground="White" HorizontalAlignment="Stretch" Visibility="{Binding StopEnabled, Converter={StaticResource VisConverter}}"/>
<Button Click="StartRouteButton_Click" Content="{Binding StartRouteText}" Background="DarkGreen" Foreground="White" HorizontalAlignment="Stretch" Visibility="{Binding StartEnabled, Converter={StaticResource VisConverter}}"/>
<Button Click="StopRouteButton_Click" Content="{Binding StopRouteText}" Background="DarkRed" Foreground="White" HorizontalAlignment="Stretch" Visibility="{Binding StopEnabled, Converter={StaticResource VisConverter}}"/>
</StackPanel>
<StackPanel Grid.Row="3" Margin="10">
<TextBlock Text="[WaypointDescription]" x:Uid="WaypointDescription" Style="{StaticResource Header}"/>
<TextBlock Text="{Binding DescriptionTitle}" Style="{StaticResource Header}"/>
<TextBlock TextWrapping="WrapWholeWords" Text="{Binding Description}"/>
</StackPanel>
<StackPanel Grid.Row="4" Name="LandmarkListPanel" Margin="10">
<TextBlock Text="[LandmarksHeader]" x:Uid="LandmarksListHeader" Style="{StaticResource Header}"/>
<TextBlock Text="{Binding LandmarksTitle}" Style="{StaticResource Header}"/>
<ListView x:Name="LandmarkList" ItemsSource="{Binding Landmarks}" IsItemClickEnabled="True" ItemClick="LandmarkList_ItemClick">
<ListView.ItemTemplate>
<DataTemplate x:Name="ListViewDataTemplate">
+5 -6
View File
@@ -1,6 +1,6 @@
using NavCityBreda.Helpers;
using NavCityBreda.Model;
using NavCityBreda.ViewModel;
using NavCityBreda.ViewModels;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -31,7 +31,7 @@ namespace NavCityBreda.Views
public sealed partial class RouteDetailView : Page
{
private Route route;
private RouteDetailVM vm;
private RouteDetailVM routedetailvm;
public RouteDetailView()
{
@@ -45,15 +45,14 @@ namespace NavCityBreda.Views
if (r == route)
{
vm.UpdateRoute();
routedetailvm.UpdateRoute();
LandmarkList.SelectedIndex = -1;
return;
}
route = r;
vm = new RouteDetailVM(route);
this.DataContext = vm;
App.MainPage.Title = route.Name;
routedetailvm = new RouteDetailVM(route);
this.DataContext = routedetailvm;
Map.MapElements.Clear();
+1 -1
View File
@@ -8,7 +8,7 @@
mc:Ignorable="d">
<RelativePanel Grid.Row="2" Name="RouteListPanel">
<ListView x:Name="RouteList" ItemsSource="{Binding}" Margin="0,10,0,0" IsItemClickEnabled="True" ItemClick="RouteList_ItemClick" RelativePanel.AlignBottomWithPanel="True" RelativePanel.AlignTopWithPanel="True" RelativePanel.AlignLeftWithPanel="True" RelativePanel.AlignRightWithPanel="True">
<ListView x:Name="RouteList" ItemsSource="{Binding Routes}" Margin="0,10,0,0" IsItemClickEnabled="True" ItemClick="RouteList_ItemClick" RelativePanel.AlignBottomWithPanel="True" RelativePanel.AlignTopWithPanel="True" RelativePanel.AlignLeftWithPanel="True" RelativePanel.AlignRightWithPanel="True">
<ListView.ItemTemplate>
<DataTemplate x:Name="ListViewDataTemplate">
<StackPanel Margin="5,0,0,0" Grid.Column="0">
+4 -7
View File
@@ -1,6 +1,6 @@
using NavCityBreda.Helpers;
using NavCityBreda.Model;
using NavCityBreda.ViewModel;
using NavCityBreda.ViewModels;
using System;
using System.Collections.Generic;
using System.IO;
@@ -25,16 +25,13 @@ namespace NavCityBreda.Views
/// </summary>
public sealed partial class RouteView : Page
{
private RouteVM _routemodel = new RouteVM();
public List<Route> RouteViewModel
{
get { return _routemodel.GetRoutes(); }
}
RouteVM routevm;
public RouteView()
{
this.InitializeComponent();
this.DataContext = RouteViewModel;
routevm = new RouteVM();
this.DataContext = routevm;
}
private void RouteList_ItemClick(object sender, ItemClickEventArgs e)
+3 -3
View File
@@ -12,12 +12,12 @@
<StackPanel HorizontalAlignment="Stretch">
<StackPanel Margin="10">
<TextBlock FontSize="20" Text="Language" Margin="0,0,0,10"/>
<TextBlock FontSize="20" Text="{Binding Language}" Margin="0,0,0,10"/>
<ComboBox Name="Language" SelectionChanged="Language_SelectionChanged" HorizontalAlignment="Stretch">
<ComboBoxItem>English</ComboBoxItem>
<ComboBoxItem>Nederlands</ComboBoxItem>
<ComboBoxItem>Deutsch</ComboBoxItem>
<ComboBoxItem>日本語</ComboBoxItem>
<!-- <ComboBoxItem>Deutsch</ComboBoxItem> -->
<!-- <ComboBoxItem>日本語</ComboBoxItem> -->
</ComboBox>
<ProgressRing IsActive="False" Name="LanguageLoading" />
</StackPanel>
+21 -18
View File
@@ -1,4 +1,5 @@
using NavCityBreda.Helpers;
using NavCityBreda.ViewModels;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -24,30 +25,32 @@ namespace NavCityBreda.Views
/// </summary>
public sealed partial class SettingsView : Page
{
SettingsVM settingsvm;
public SettingsView()
{
this.InitializeComponent();
throw new NotImplementedException("Tracking + tilemaps");
settingsvm = new SettingsVM();
this.DataContext = settingsvm;
//throw new NotImplementedException("Tracking + tilemaps");
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
Debug.WriteLine("Switching to settings: " + Settings.CurrentLanguage);
switch (Settings.CurrentLanguage)
{
default:
Debug.WriteLine("No language found: " + Settings.CurrentLanguage);
Debug.WriteLine("Unsupported language: " + Settings.CurrentLanguage);
break;
case "en-US":
case "en":
Language.SelectedIndex = 0;
break;
case "de-DE":
Language.SelectedIndex = 2;
break;
case "nl-NL":
case "nl":
Language.SelectedIndex = 1;
break;
case "de":
Language.SelectedIndex = 2;
break;
case "ja":
Language.SelectedIndex = 3;
break;
@@ -64,20 +67,20 @@ namespace NavCityBreda.Views
Language.SelectedIndex = 0;
break;
case 0:
if(Settings.CurrentLanguage != "en-US")
Settings.ChangeLanguage("en-US");
break;
case 2:
if (Settings.CurrentLanguage != "de-DE")
Settings.ChangeLanguage("de-DE");
if(Settings.CurrentLanguage != "en")
Settings.ChangeLanguage("en");
break;
case 1:
if (Settings.CurrentLanguage != "nl-NL")
Settings.ChangeLanguage("nl-NL");
if (Settings.CurrentLanguage != "nl")
Settings.ChangeLanguage("nl");
break;
case 2:
if (Settings.CurrentLanguage != "de")
Settings.ChangeLanguage("de");
break;
case 3:
if (Settings.CurrentLanguage != "ja")
Settings.ChangeLanguage("ja-JP");
Settings.ChangeLanguage("ja");
break;
}