Переглянути джерело

Added the language functionality to Settings Page

Bart Reedijk 10 роки тому
батько
коміт
cea24326fa

+ 5 - 0
Breda-Tour/App.xaml.cs

@@ -22,6 +22,11 @@ namespace Breda_Tour
     /// </summary>
     sealed partial class App : Application
     {
+        /// <summary>
+        /// Global current language property
+        /// </summary>
+        public static string Language { get; set; }
+
         /// <summary>
         /// Initializes the singleton application object.  This is the first line of authored code
         /// executed, and as such is the logical equivalent of main() or WinMain().

+ 4 - 0
Breda-Tour/MultilingualResources/Breda-Tour.en-US.xlf

@@ -34,6 +34,10 @@
           <source>Volgende</source>
           <target state="translated">Next</target>
         </trans-unit>
+        <trans-unit id="AppSettingstxtLanguageString.Text" translate="yes" xml:space="preserve">
+          <source>Nederlands</source>
+          <target state="translated">English</target>
+        </trans-unit>
       </group>
     </body>
   </file>

+ 2 - 2
Breda-Tour/SettingsScreen/SettingsPage.xaml

@@ -19,10 +19,10 @@
         <ScrollViewer Grid.Row="2" VerticalScrollBarVisibility="Hidden">
             <StackPanel Orientation="Vertical">
                 <TextBlock x:Uid="AppSettingsLanguageSettings" Style="{StaticResource SettingsHeaderStyle}" Foreground="White" Text="{StaticResource AppSettingsLanguageSettings}"></TextBlock>
-                <ListViewItem>
+                <ListViewItem Name="listViewItemSetupLanguage" Tapped="listViewItemSetupLanguage_Tapped">
                     <StackPanel Margin="8,0,0,0">
                         <TextBlock x:Uid="AppSettingstxtSetupLanguage" FontSize="18" Text="Taal instellen" Foreground="White"></TextBlock>
-                        <TextBlock Margin="0,-1,0,0" FontSize="12" Foreground="White" Text="{StaticResource AppLanguageDutch}"></TextBlock>
+                        <TextBlock x:Uid="AppSettingstxtLanguageString" Margin="0,-1,0,0" FontSize="12" Foreground="White" Text="Nederlands"></TextBlock>
                     </StackPanel>
                 </ListViewItem>
                 <Rectangle Margin="0,15,0,0" Fill="#99FFFFFF" Height="1" />

+ 18 - 0
Breda-Tour/SettingsScreen/SettingsPage.xaml.cs

@@ -17,6 +17,7 @@ using Windows.UI.Xaml.Data;
 using Windows.UI.Xaml.Input;
 using Windows.UI.Xaml.Media;
 using Windows.UI.Xaml.Navigation;
+using Windows.Globalization;
 
 // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
 
@@ -50,5 +51,22 @@ namespace Breda_Tours.SettingsScreen
             DataContext = this;
         }
 
+        private void listViewItemSetupLanguage_Tapped(object sender, TappedRoutedEventArgs e)
+        {
+            if (App.Language == "nl-NL")
+            {
+                App.Language = "en-US";
+                ApplicationLanguages.PrimaryLanguageOverride = "en-US";
+                Debug.WriteLine("my language is:" + ApplicationLanguages.ManifestLanguages.First());
+                Frame.Navigate(typeof(MainPage));
+            }
+            else
+            {
+                App.Language = "nl-NL";
+                ApplicationLanguages.PrimaryLanguageOverride = "nl-NL";
+                Debug.WriteLine("my language is:" + ApplicationLanguages.ManifestLanguages.First());
+                Frame.Navigate(typeof(MainPage));
+            }
+        }
     }
 }

+ 10 - 0
Breda-Tour/SplashScreen/SplashPage.xaml.cs

@@ -39,15 +39,25 @@ namespace Breda_Tour.SplashScreen
             f.Navigate(typeof(MainPage));
         }
 
+        /// <summary>
+        /// <author>Bart Reedijk</author>
+        /// Go to MainPage with English as the language
+        /// </summary>
         private void Button_English_Click(object sender, RoutedEventArgs e)
         {
+            App.Language = "en-US";
             ApplicationLanguages.PrimaryLanguageOverride = "en-US";
             Debug.WriteLine("my language is:" + ApplicationLanguages.ManifestLanguages.First());
             f.Navigate(typeof(MainPage));
         }
 
+        /// <summary>
+        /// <author>Bart Reedijk</author>
+        /// Go to MainPage with Dutch as the language
+        /// </summary>
         private void Button_Dutch_Click(object sender, RoutedEventArgs e)
         {
+            App.Language = "nl-NL";
             ApplicationLanguages.PrimaryLanguageOverride = "nl-NL";
             Debug.WriteLine("my language is:" + ApplicationLanguages.ManifestLanguages.First());
             f.Navigate(typeof(MainPage));

+ 9 - 0
Breda-Tour/en-US/Resources.resw

@@ -27,4 +27,13 @@
   <data name="RouteSelectPagetxtSelectRoute.Header" xml:space="preserve">
     <value>Select route</value>
   </data>
+  <data name="HelpPagetxtBack.Text" xml:space="preserve">
+    <value>Back</value>
+  </data>
+  <data name="HelpPagetxtNext.Text" xml:space="preserve">
+    <value>Next</value>
+  </data>
+  <data name="AppSettingstxtLanguageString.Text" xml:space="preserve">
+    <value>English</value>
+  </data>
 </root>

+ 3 - 0
Breda-Tour/nl-NL/Resources.resw

@@ -123,6 +123,9 @@
   <data name="AppSettingsLanguageSettings.Text" xml:space="preserve">
     <value>Taal instellingen</value>
   </data>
+  <data name="AppSettingstxtLanguageString.Text" xml:space="preserve">
+    <value>Nederlands</value>
+  </data>
   <data name="AppSettingstxtSettings.Header" xml:space="preserve">
     <value>Instellingen</value>
   </data>