diff --git a/PlantBox.Client/PlantBox.Client.Android/PlantBox.Client.Android.csproj b/PlantBox.Client/PlantBox.Client.Android/PlantBox.Client.Android.csproj index 339c51a..132e00e 100644 --- a/PlantBox.Client/PlantBox.Client.Android/PlantBox.Client.Android.csproj +++ b/PlantBox.Client/PlantBox.Client.Android/PlantBox.Client.Android.csproj @@ -33,6 +33,7 @@ false false false + false true diff --git a/PlantBox.Client/PlantBox.Client.UWP/PlantBox.Client.UWP.csproj b/PlantBox.Client/PlantBox.Client.UWP/PlantBox.Client.UWP.csproj index 1bcad0e..db2fb59 100644 --- a/PlantBox.Client/PlantBox.Client.UWP/PlantBox.Client.UWP.csproj +++ b/PlantBox.Client/PlantBox.Client.UWP/PlantBox.Client.UWP.csproj @@ -9,7 +9,7 @@ Properties PlantBox.Client.UWP PlantBox.Client.UWP - en-US + en UAP 10.0.17763.0 10.0.16299.0 @@ -75,6 +75,7 @@ false prompt true + bin\x86\Release\ diff --git a/PlantBox.Client/PlantBox.Client.UWP/Properties/AssemblyInfo.cs b/PlantBox.Client/PlantBox.Client.UWP/Properties/AssemblyInfo.cs index 4e30153..d9eb39c 100644 --- a/PlantBox.Client/PlantBox.Client.UWP/Properties/AssemblyInfo.cs +++ b/PlantBox.Client/PlantBox.Client.UWP/Properties/AssemblyInfo.cs @@ -1,8 +1,9 @@ -using System.Reflection; +using System.Resources; +using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// General Information about an assembly is controlled through the following +// General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. [assembly: AssemblyTitle("PlantBox.Client.UWP")] @@ -17,13 +18,15 @@ using System.Runtime.InteropServices; // Version information for an assembly consists of the following four values: // // Major Version -// Minor Version +// Minor Version // Build Number // Revision // -// You can specify all the values or you can default the Build and Revision Numbers +// You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: ComVisible(false)] \ No newline at end of file +[assembly: ComVisible(false)] +[assembly: NeutralResourcesLanguage("en")] + diff --git a/PlantBox.Client/PlantBox.Client/App.xaml.cs b/PlantBox.Client/PlantBox.Client/App.xaml.cs index 15772fa..18645c0 100644 --- a/PlantBox.Client/PlantBox.Client/App.xaml.cs +++ b/PlantBox.Client/PlantBox.Client/App.xaml.cs @@ -1,4 +1,5 @@ -using System; +using PlantBox.Client.Forms; +using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; diff --git a/PlantBox.Client/PlantBox.Client/Extensions/ImageResourceExtension.cs b/PlantBox.Client/PlantBox.Client/Extensions/ImageResourceExtension.cs new file mode 100644 index 0000000..3ef5e52 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Extensions/ImageResourceExtension.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace PlantBox.Client.Extensions +{ + [ContentProperty(nameof(Path))] + public class ImageResourceExtension : IMarkupExtension + { + public string Path { get; set; } + + public static ImageSource GetImage(string name) + { + var assembly = Assembly.GetCallingAssembly(); + string path = $"PlantBox.Client.Resources.Images.{name}"; + + if (!assembly.GetManifestResourceNames().Contains(path)) + { +#if DEBUG + System.Diagnostics.Debug.WriteLine($"[ImageResourceExtension](Error): File '{name}' does not exist"); +#else + throw new ArgumentException($"File '{Path}' does not exist"); +#endif + } + + return ImageSource.FromResource(path, assembly); + } + + public ImageSource ProvideValue(IServiceProvider serviceProvider) + { + return GetImage(Path); + } + + object IMarkupExtension.ProvideValue(IServiceProvider serviceProvider) + { + return (this as IMarkupExtension).ProvideValue(serviceProvider); + } + } +} diff --git a/PlantBox.Client/PlantBox.Client/Extensions/LocaleExtension.cs b/PlantBox.Client/PlantBox.Client/Extensions/LocaleExtension.cs new file mode 100644 index 0000000..9b87c37 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Extensions/LocaleExtension.cs @@ -0,0 +1,28 @@ +using PlantBox.Client.Resources; +using System; +using System.Collections.Generic; +using System.Resources; +using System.Text; +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace PlantBox.Client.Extensions +{ + [ContentProperty(nameof(Name))] + public class LocaleExtension : IMarkupExtension + { + public string Name { get; set; } + + private static ResourceManager _resourceManager; + + static LocaleExtension() + { + _resourceManager = Locale.ResourceManager; + } + + public object ProvideValue(IServiceProvider serviceProvider) + { + return _resourceManager.GetString(Name) ?? $"#{Name}"; + } + } +} diff --git a/PlantBox.Client/PlantBox.Client/Forms/AboutPage.xaml b/PlantBox.Client/PlantBox.Client/Forms/AboutPage.xaml new file mode 100644 index 0000000..fb8a099 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/AboutPage.xaml @@ -0,0 +1,25 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/AboutPage.xaml.cs b/PlantBox.Client/PlantBox.Client/Forms/AboutPage.xaml.cs new file mode 100644 index 0000000..a7a5647 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/AboutPage.xaml.cs @@ -0,0 +1,44 @@ +using PlantBox.Client.Models; +using PlantBox.Client.Resources; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace PlantBox.Client.Forms +{ + [XamlCompilation(XamlCompilationOptions.Compile)] + public partial class AboutPage : ContentPage + { + public AboutPage() + { + InitializeComponent(); + + listView.ItemsSource = new AboutPageItemGroup[] + { + new AboutPageItemGroup(Locale.Informations) + { + new AboutPageItem(Locale.Author, "Eveldee"), + new AboutPageItem(Locale.Version, GetType().Assembly.GetName().Version.ToString()), + new AboutPageItem("GitHub", "https://github.com/eveldee0680/PlantBox", true) + }, + new AboutPageItemGroup(Locale.Libraries) + { + new AboutPageItem("Microcharts", "https://github.com/aloisdeniel/Microcharts", true) + } + }; + } + + private void ListView_ItemTapped(object sender, ItemTappedEventArgs e) + { + if (e.Item is AboutPageItem item && item.IsLink == true) + { + Device.OpenUri(new Uri(item.Value)); + } + } + } +} \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/HomePage.xaml b/PlantBox.Client/PlantBox.Client/Forms/HomePage.xaml new file mode 100644 index 0000000..70c7720 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/HomePage.xaml @@ -0,0 +1,17 @@ + + + + + + + \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/HomePage.xaml.cs b/PlantBox.Client/PlantBox.Client/Forms/HomePage.xaml.cs new file mode 100644 index 0000000..5597613 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/HomePage.xaml.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace PlantBox.Client.Forms +{ + [XamlCompilation(XamlCompilationOptions.Compile)] + public partial class HomePage : ContentPage + { + public HomePage() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/MainPage.xaml b/PlantBox.Client/PlantBox.Client/Forms/MainPage.xaml new file mode 100644 index 0000000..b74e2bb --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/MainPage.xaml @@ -0,0 +1,5 @@ + + \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/MainPage.xaml.cs b/PlantBox.Client/PlantBox.Client/Forms/MainPage.xaml.cs new file mode 100644 index 0000000..7215bbf --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/MainPage.xaml.cs @@ -0,0 +1,45 @@ +using PlantBox.Client.Models; +using PlantBox.Client.Resources; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace PlantBox.Client.Forms +{ + [XamlCompilation(XamlCompilationOptions.Compile)] + public partial class MainPage : MasterDetailPage + { + public MainPage() + { + InitializeComponent(); + + var master = new MenuPage() { Title = "PlantBox" }; + master.items.ItemTapped += Items_ItemTapped; + + Detail = new NavigationPage(new HomePage() { Title = Locale.HomePageTitle }); + Master = master; + } + + private async void Items_ItemTapped(object sender, ItemTappedEventArgs e) + { + if (e.Item is MenuPageItem item) + { + IsPresented = false; + var page = item.PageCreator(); + page.Title = item.Title; + + if (Detail.Navigation.NavigationStack.Count > 1) + { + await Detail.Navigation.PopToRootAsync(); + } + + await Detail.Navigation.PushAsync(page); + } + } + } +} \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/MenuPage.xaml b/PlantBox.Client/PlantBox.Client/Forms/MenuPage.xaml new file mode 100644 index 0000000..c51c80e --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/MenuPage.xaml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/MenuPage.xaml.cs b/PlantBox.Client/PlantBox.Client/Forms/MenuPage.xaml.cs new file mode 100644 index 0000000..f8a4f26 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/MenuPage.xaml.cs @@ -0,0 +1,30 @@ +using PlantBox.Client.Extensions; +using PlantBox.Client.Forms.Settings; +using PlantBox.Client.Models; +using PlantBox.Client.Resources; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace PlantBox.Client.Forms +{ + [XamlCompilation(XamlCompilationOptions.Compile)] + public partial class MenuPage : ContentPage + { + public MenuPage() + { + InitializeComponent(); + + items.ItemsSource = new MenuPageItem[] + { + new MenuPageItem(Locale.Settings, ImageResourceExtension.GetImage("Settings.png"), typeof(SettingsPage)), + new MenuPageItem(Locale.About, ImageResourceExtension.GetImage("Info.png"), typeof(AboutPage)) + }; + } + } +} \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/Settings/SettingsPage.xaml b/PlantBox.Client/PlantBox.Client/Forms/Settings/SettingsPage.xaml new file mode 100644 index 0000000..6b640d5 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/Settings/SettingsPage.xaml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Forms/Settings/SettingsPage.xaml.cs b/PlantBox.Client/PlantBox.Client/Forms/Settings/SettingsPage.xaml.cs new file mode 100644 index 0000000..530d059 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Forms/Settings/SettingsPage.xaml.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace PlantBox.Client.Forms.Settings +{ + [XamlCompilation(XamlCompilationOptions.Compile)] + public partial class SettingsPage : ContentPage + { + public SettingsPage () + { + InitializeComponent (); + } + } +} \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/MainPage.xaml b/PlantBox.Client/PlantBox.Client/MainPage.xaml deleted file mode 100644 index d53c6f8..0000000 --- a/PlantBox.Client/PlantBox.Client/MainPage.xaml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - diff --git a/PlantBox.Client/PlantBox.Client/MainPage.xaml.cs b/PlantBox.Client/PlantBox.Client/MainPage.xaml.cs deleted file mode 100644 index bc5a1c1..0000000 --- a/PlantBox.Client/PlantBox.Client/MainPage.xaml.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Xamarin.Forms; - -namespace PlantBox.Client -{ - public partial class MainPage : ContentPage - { - public MainPage() - { - InitializeComponent(); - } - } -} diff --git a/PlantBox.Client/PlantBox.Client/Models/AboutPageItem.cs b/PlantBox.Client/PlantBox.Client/Models/AboutPageItem.cs new file mode 100644 index 0000000..b7cae38 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Models/AboutPageItem.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace PlantBox.Client.Models +{ + class AboutPageItem + { + public string Title { get; } + public string Value { get; } + public bool IsLink { get; } + + public AboutPageItem(string title, string value, bool isLink = false) + { + Title = title; + Value = value; + IsLink = isLink; + } + } +} diff --git a/PlantBox.Client/PlantBox.Client/Models/AboutPageItemGroup.cs b/PlantBox.Client/PlantBox.Client/Models/AboutPageItemGroup.cs new file mode 100644 index 0000000..e7ab84e --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Models/AboutPageItemGroup.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace PlantBox.Client.Models +{ + class AboutPageItemGroup : List + { + public string Title { get; set; } + + public AboutPageItemGroup(string title) + { + Title = title; + } + } +} diff --git a/PlantBox.Client/PlantBox.Client/Models/MenuPageItem.cs b/PlantBox.Client/PlantBox.Client/Models/MenuPageItem.cs new file mode 100644 index 0000000..1a91204 --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Models/MenuPageItem.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.CompilerServices; +using System.Text; +using Xamarin.Forms; + +namespace PlantBox.Client.Models +{ + class MenuPageItem : INotifyPropertyChanged + { + public event PropertyChangedEventHandler PropertyChanged; + + private ImageSource _image; + public ImageSource Image + { + get => _image; + set + { + if (value != _image) + { + _image = value; + OnPropertyChanged(nameof(Image)); + } + } + } + + private string _title; + public string Title + { + get => _title; + set + { + if (value != _title) + { + _title = value; + OnPropertyChanged(nameof(Title)); + } + } + } + + public Func PageCreator { get; } + + public MenuPageItem(string title, ImageSource image, Type targetPage) + { + _image = image; + _title = title; + PageCreator = () => (Page)Activator.CreateInstance(targetPage); + } + + public void OnPropertyChanged([CallerMemberName] string propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + } +} diff --git a/PlantBox.Client/PlantBox.Client/PlantBox.Client.csproj b/PlantBox.Client/PlantBox.Client/PlantBox.Client.csproj index 5bf2b25..dd18574 100644 --- a/PlantBox.Client/PlantBox.Client/PlantBox.Client.csproj +++ b/PlantBox.Client/PlantBox.Client/PlantBox.Client.csproj @@ -10,6 +10,22 @@ true + + + + + + + + + + + + + + + + @@ -17,4 +33,38 @@ + + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + MSBuild:UpdateDesignTimeXaml + + + ResXFileCodeGenerator + Locale.Designer.cs + + + + + + + + + + True + True + Locale.resx + + \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Resources/Images/Banner.png b/PlantBox.Client/PlantBox.Client/Resources/Images/Banner.png new file mode 100644 index 0000000..7998826 Binary files /dev/null and b/PlantBox.Client/PlantBox.Client/Resources/Images/Banner.png differ diff --git a/PlantBox.Client/PlantBox.Client/Resources/Images/Help.png b/PlantBox.Client/PlantBox.Client/Resources/Images/Help.png new file mode 100644 index 0000000..9dc9ad3 Binary files /dev/null and b/PlantBox.Client/PlantBox.Client/Resources/Images/Help.png differ diff --git a/PlantBox.Client/PlantBox.Client/Resources/Images/Info.png b/PlantBox.Client/PlantBox.Client/Resources/Images/Info.png new file mode 100644 index 0000000..088591a Binary files /dev/null and b/PlantBox.Client/PlantBox.Client/Resources/Images/Info.png differ diff --git a/PlantBox.Client/PlantBox.Client/Resources/Images/Logo_Gray.png b/PlantBox.Client/PlantBox.Client/Resources/Images/Logo_Gray.png new file mode 100644 index 0000000..69c848e Binary files /dev/null and b/PlantBox.Client/PlantBox.Client/Resources/Images/Logo_Gray.png differ diff --git a/PlantBox.Client/PlantBox.Client/Resources/Images/Settings.png b/PlantBox.Client/PlantBox.Client/Resources/Images/Settings.png new file mode 100644 index 0000000..3dd8cf0 Binary files /dev/null and b/PlantBox.Client/PlantBox.Client/Resources/Images/Settings.png differ diff --git a/PlantBox.Client/PlantBox.Client/Resources/Locale.Designer.cs b/PlantBox.Client/PlantBox.Client/Resources/Locale.Designer.cs new file mode 100644 index 0000000..ccc21bd --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Resources/Locale.Designer.cs @@ -0,0 +1,126 @@ +//------------------------------------------------------------------------------ +// +// Ce code a été généré par un outil. +// Version du runtime :4.0.30319.42000 +// +// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si +// le code est régénéré. +// +//------------------------------------------------------------------------------ + +namespace PlantBox.Client.Resources { + using System; + + + /// + /// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées. + /// + // Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder + // à l'aide d'un outil, tel que ResGen ou Visual Studio. + // Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen + // avec l'option /str ou régénérez votre projet VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Locale { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Locale() { + } + + /// + /// Retourne l'instance ResourceManager mise en cache utilisée par cette classe. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PlantBox.Client.Resources.Locale", typeof(Locale).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Remplace la propriété CurrentUICulture du thread actuel pour toutes + /// les recherches de ressources à l'aide de cette classe de ressource fortement typée. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Recherche une chaîne localisée semblable à About. + /// + internal static string About { + get { + return ResourceManager.GetString("About", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Author. + /// + internal static string Author { + get { + return ResourceManager.GetString("Author", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Home. + /// + internal static string HomePageTitle { + get { + return ResourceManager.GetString("HomePageTitle", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Informations. + /// + internal static string Informations { + get { + return ResourceManager.GetString("Informations", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Libraries. + /// + internal static string Libraries { + get { + return ResourceManager.GetString("Libraries", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Settings. + /// + internal static string Settings { + get { + return ResourceManager.GetString("Settings", resourceCulture); + } + } + + /// + /// Recherche une chaîne localisée semblable à Version. + /// + internal static string Version { + get { + return ResourceManager.GetString("Version", resourceCulture); + } + } + } +} diff --git a/PlantBox.Client/PlantBox.Client/Resources/Locale.fr.resx b/PlantBox.Client/PlantBox.Client/Resources/Locale.fr.resx new file mode 100644 index 0000000..cb3f81c --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Resources/Locale.fr.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + À Propos + + + Auteur + + + Accueil + + + Informations + + + Bibliothèques + + + Options + + + Version + + \ No newline at end of file diff --git a/PlantBox.Client/PlantBox.Client/Resources/Locale.resx b/PlantBox.Client/PlantBox.Client/Resources/Locale.resx new file mode 100644 index 0000000..6b9a86b --- /dev/null +++ b/PlantBox.Client/PlantBox.Client/Resources/Locale.resx @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + About + + + Author + + + Home + + + Informations + + + Libraries + + + Settings + + + Version + + \ No newline at end of file