diff --git a/.gitignore b/.gitignore index 6ffc99e..8fc114e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,9 @@ *.sln.docstates *.ide/ +# Store Association +Package.StoreAssociation.xml + # Application Insights config ApplicationInsights.config @@ -15,6 +18,10 @@ smtp.config # Publish Profiles [Pp]roperties/[Pp]ublish[Pp]rofiles/ +*.pubxml + +# VS Configuration +.vs/ # Build results [Dd]ebug/ diff --git a/.nuget/packages.config b/.nuget/packages.config deleted file mode 100644 index c702c70..0000000 --- a/.nuget/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.vs/config/applicationhost.config b/.vs/config/applicationhost.config deleted file mode 100644 index cab06bd..0000000 --- a/.vs/config/applicationhost.config +++ /dev/null @@ -1,1044 +0,0 @@ - - - - - - - - -
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
- -
-
- -
-
-
- - -
-
-
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/BuildFeed.sln b/BuildFeed.sln index 6c40a66..81de849 100644 --- a/BuildFeed.sln +++ b/BuildFeed.sln @@ -1,31 +1,140 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.22609.0 +VisualStudioVersion = 14.0.23107.0 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildFeed", "BuildFeed\BuildFeed.csproj", "{CDDCF754-ECAA-4A66-ADAA-62957A57A51B}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{5AA81F70-C567-49FF-9323-E3200BF06E4E}" - ProjectSection(SolutionItems) = preProject - .nuget\packages.config = .nuget\packages.config - EndProjectSection -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisAuth", "RedisAuth\RedisAuth.csproj", "{C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MongoAuth", "MongoAuth\MongoAuth.csproj", "{7C67BFB9-1B3B-4676-A58D-10573DA82CFE}" +EndProject +Project("{262852C6-CD72-467D-83FE-5EEB1973A190}") = "BuildFeedApp-Westminster", "BuildFeedApp-Westminster\BuildFeedApp-Westminster.jsproj", "{5CAADB66-1FC2-4492-B766-36354687120D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RedisMongoMigration", "RedisMongoMigration\RedisMongoMigration.csproj", "{CD3C08CC-45BF-484B-A878-69614A4EA098}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BuildFeedApp-Full", "BuildFeedApp-Full\BuildFeedApp-Full.csproj", "{5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|ARM.ActiveCfg = Debug|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|ARM.Build.0 = Debug|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|x64.ActiveCfg = Debug|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|x64.Build.0 = Debug|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|x86.ActiveCfg = Debug|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Debug|x86.Build.0 = Debug|Any CPU {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|Any CPU.ActiveCfg = Release|Any CPU {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|Any CPU.Build.0 = Release|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|ARM.ActiveCfg = Release|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|ARM.Build.0 = Release|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|x64.ActiveCfg = Release|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|x64.Build.0 = Release|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|x86.ActiveCfg = Release|Any CPU + {CDDCF754-ECAA-4A66-ADAA-62957A57A51B}.Release|x86.Build.0 = Release|Any CPU {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|ARM.ActiveCfg = Debug|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|ARM.Build.0 = Debug|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|x64.ActiveCfg = Debug|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|x64.Build.0 = Debug|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|x86.ActiveCfg = Debug|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Debug|x86.Build.0 = Debug|Any CPU {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|Any CPU.ActiveCfg = Release|Any CPU {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|Any CPU.Build.0 = Release|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|ARM.ActiveCfg = Release|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|ARM.Build.0 = Release|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|x64.ActiveCfg = Release|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|x64.Build.0 = Release|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|x86.ActiveCfg = Release|Any CPU + {C6A16CF0-41DA-4B90-918A-CB84A8C3F1E2}.Release|x86.Build.0 = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|ARM.ActiveCfg = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|ARM.Build.0 = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|x64.ActiveCfg = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|x64.Build.0 = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|x86.ActiveCfg = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Debug|x86.Build.0 = Debug|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|Any CPU.Build.0 = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|ARM.ActiveCfg = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|ARM.Build.0 = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|x64.ActiveCfg = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|x64.Build.0 = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|x86.ActiveCfg = Release|Any CPU + {7C67BFB9-1B3B-4676-A58D-10573DA82CFE}.Release|x86.Build.0 = Release|Any CPU + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|ARM.ActiveCfg = Debug|ARM + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|ARM.Build.0 = Debug|ARM + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|ARM.Deploy.0 = Debug|ARM + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|x64.ActiveCfg = Debug|x64 + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|x64.Build.0 = Debug|x64 + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|x64.Deploy.0 = Debug|x64 + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|x86.ActiveCfg = Debug|x86 + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|x86.Build.0 = Debug|x86 + {5CAADB66-1FC2-4492-B766-36354687120D}.Debug|x86.Deploy.0 = Debug|x86 + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|Any CPU.Build.0 = Release|Any CPU + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|Any CPU.Deploy.0 = Release|Any CPU + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|ARM.ActiveCfg = Release|ARM + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|ARM.Build.0 = Release|ARM + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|ARM.Deploy.0 = Release|ARM + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|x64.ActiveCfg = Release|x64 + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|x64.Build.0 = Release|x64 + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|x64.Deploy.0 = Release|x64 + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|x86.ActiveCfg = Release|x86 + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|x86.Build.0 = Release|x86 + {5CAADB66-1FC2-4492-B766-36354687120D}.Release|x86.Deploy.0 = Release|x86 + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|ARM.ActiveCfg = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|ARM.Build.0 = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|x64.ActiveCfg = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|x64.Build.0 = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|x86.ActiveCfg = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Debug|x86.Build.0 = Debug|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|Any CPU.Build.0 = Release|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|ARM.ActiveCfg = Release|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|ARM.Build.0 = Release|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|x64.ActiveCfg = Release|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|x64.Build.0 = Release|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|x86.ActiveCfg = Release|Any CPU + {CD3C08CC-45BF-484B-A878-69614A4EA098}.Release|x86.Build.0 = Release|Any CPU + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|Any CPU.ActiveCfg = Debug|x86 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|ARM.ActiveCfg = Debug|ARM + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|ARM.Build.0 = Debug|ARM + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|ARM.Deploy.0 = Debug|ARM + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|x64.ActiveCfg = Debug|x64 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|x64.Build.0 = Debug|x64 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|x64.Deploy.0 = Debug|x64 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|x86.ActiveCfg = Debug|x86 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|x86.Build.0 = Debug|x86 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Debug|x86.Deploy.0 = Debug|x86 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|Any CPU.ActiveCfg = Release|x86 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|ARM.ActiveCfg = Release|ARM + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|ARM.Build.0 = Release|ARM + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|ARM.Deploy.0 = Release|ARM + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|x64.ActiveCfg = Release|x64 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|x64.Build.0 = Release|x64 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|x64.Deploy.0 = Release|x64 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|x86.ActiveCfg = Release|x86 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|x86.Build.0 = Release|x86 + {5370D7B3-CF04-47D4-B7D3-402B35ABF8E8}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/BuildFeed/App_Start/BundleConfig.cs b/BuildFeed/App_Start/BundleConfig.cs index 8543c4c..d7a4a47 100644 --- a/BuildFeed/App_Start/BundleConfig.cs +++ b/BuildFeed/App_Start/BundleConfig.cs @@ -2,26 +2,29 @@ namespace BuildFeed { - public class BundleConfig - { - // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 - public static void RegisterBundles(BundleCollection bundles) - { - bundles.Add(new ScriptBundle("~/bundles/jquery").Include( - "~/Scripts/jquery-{version}.js")); + public class BundleConfig + { + // For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862 + public static void RegisterBundles(BundleCollection bundles) + { + bundles.Add(new ScriptBundle("~/bundles/jquery").Include( + "~/Scripts/jquery-{version}.js")); - bundles.Add(new ScriptBundle("~/bundles/jsrender").Include( - "~/Scripts/jsrender*")); + bundles.Add(new ScriptBundle("~/bundles/jsrender").Include( + "~/Scripts/jsrender*")); - bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( - "~/Scripts/jquery.validate*")); + bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( + "~/Scripts/jquery.validate*")); - bundles.Add(new StyleBundle("~/content/css").Include( - "~/content/style.css")); + bundles.Add(new StyleBundle("~/content/css").Include( + "~/content/style.css")); - // Set EnableOptimizations to false for debugging. For more information, - // visit http://go.microsoft.com/fwlink/?LinkId=301862 - BundleTable.EnableOptimizations = true; - } - } + bundles.Add(new StyleBundle("~/content/rtl").Include( + "~/content/rtl.css")); + + // Set EnableOptimizations to false for debugging. For more information, + // visit http://go.microsoft.com/fwlink/?LinkId=301862 + BundleTable.EnableOptimizations = true; + } + } } \ No newline at end of file diff --git a/BuildFeed/App_Start/DatabaseConfig.cs b/BuildFeed/App_Start/DatabaseConfig.cs deleted file mode 100644 index ddd69d6..0000000 --- a/BuildFeed/App_Start/DatabaseConfig.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Configuration; - -namespace BuildFeed -{ - public static class DatabaseConfig - { - public static string Host { get; private set; } - public static int Port { get; private set; } - public static long Database { get; private set; } - - static DatabaseConfig() - { - Host = ConfigurationManager.AppSettings["data:ServerHost"]; - - int port; - bool success = int.TryParse(ConfigurationManager.AppSettings["data:ServerPort"], out port); - if (!success) - { - port = 6379; // redis default port - } - Port = port; - - long db; - success = long.TryParse(ConfigurationManager.AppSettings["data:ServerDB"], out db); - if (!success) - { - db = 0; // redis default db - } - Database = db; - } - } -} \ No newline at end of file diff --git a/BuildFeed/App_Start/FilterConfig.cs b/BuildFeed/App_Start/FilterConfig.cs index e60a482..f668540 100644 --- a/BuildFeed/App_Start/FilterConfig.cs +++ b/BuildFeed/App_Start/FilterConfig.cs @@ -2,8 +2,11 @@ namespace BuildFeed { - public class FilterConfig - { - public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); } - } + public class FilterConfig + { + public static void RegisterGlobalFilters(GlobalFilterCollection filters) + { + filters.Add(new HandleErrorAttribute()); + } + } } \ No newline at end of file diff --git a/BuildFeed/App_Start/MongoConfig.cs b/BuildFeed/App_Start/MongoConfig.cs new file mode 100644 index 0000000..0573c45 --- /dev/null +++ b/BuildFeed/App_Start/MongoConfig.cs @@ -0,0 +1,30 @@ +using System.Configuration; + +namespace BuildFeed +{ + internal static class MongoConfig + { + public static string Host { get; private set; } + public static int Port { get; private set; } + public static string Database { get; private set; } + + static MongoConfig() + { + Host = !string.IsNullOrEmpty(ConfigurationManager.AppSettings["data:MongoHost"]) + ? ConfigurationManager.AppSettings["data:MongoHost"] + : "localhost"; + + int _port; + bool success = int.TryParse(ConfigurationManager.AppSettings["data:MongoPort"], out _port); + if (!success) + { + _port = 27017; // mongo default port + } + Port = _port; + + Database = !string.IsNullOrEmpty(ConfigurationManager.AppSettings["data:MongoDB"]) + ? ConfigurationManager.AppSettings["data:MongoDB"] + : "MongoAuth"; + } + } +} \ No newline at end of file diff --git a/BuildFeed/App_Start/RouteConfig.cs b/BuildFeed/App_Start/RouteConfig.cs index 0845599..55a35b4 100644 --- a/BuildFeed/App_Start/RouteConfig.cs +++ b/BuildFeed/App_Start/RouteConfig.cs @@ -4,20 +4,20 @@ using System.Web.Routing; namespace BuildFeed { - public class RouteConfig - { - public static void RegisterRoutes(RouteCollection routes) - { - routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); - routes.MapHttpRoute("API", "api/{action}/{id}", - new - { - controller = "api", - action = "GetBuilds", - id = UrlParameter.Optional - }); - routes.AppendTrailingSlash = true; - routes.MapMvcAttributeRoutes(); - } - } + public class RouteConfig + { + public static void RegisterRoutes(RouteCollection routes) + { + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + routes.MapHttpRoute("API", "api/{action}/{id}", + new + { + controller = "api", + action = "GetBuilds", + id = UrlParameter.Optional + }); + routes.AppendTrailingSlash = true; + routes.MapMvcAttributeRoutes(); + } + } } \ No newline at end of file diff --git a/BuildFeed/Areas/admin/Controllers/metaController.cs b/BuildFeed/Areas/admin/Controllers/metaController.cs index 37e2826..fcc312a 100644 --- a/BuildFeed/Areas/admin/Controllers/metaController.cs +++ b/BuildFeed/Areas/admin/Controllers/metaController.cs @@ -2,106 +2,114 @@ using System.Web.Mvc; using BuildFeed.Areas.admin.Models.ViewModel; using BuildFeed.Models; +using System.Threading.Tasks; namespace BuildFeed.Areas.admin.Controllers { - [Authorize(Roles = "Administrators")] - public class metaController : Controller - { - // GET: admin/meta - public ActionResult index() - { - var currentItems = from i in MetaItem.Select() - group i by i.Id.Type - into b - select b; + [Authorize(Roles = "Administrators")] + public class metaController : Controller + { + private MetaItem mModel; - var pendingLabs = MetaItem.SelectUnusedLabs(); + public metaController() : base() + { + mModel = new MetaItem(); + } - return View(new MetaListing - { - CurrentItems = from i in MetaItem.Select() - group i by i.Id.Type - into b - orderby b.Key.ToString() - select b, - NewItems = from i in (from l in MetaItem.SelectUnusedLabs() - select new MetaItem - { - Id = new MetaItemKey - { - Type = MetaType.Lab, - Value = l - } - }) - .Concat(from v in MetaItem.SelectUnusedVersions() - select new MetaItem - { - Id = new MetaItemKey - { - Type = MetaType.Version, - Value = v - } - }) - .Concat(from y in MetaItem.SelectUnusedYears() - select new MetaItem - { - Id = new MetaItemKey - { - Type = MetaType.Year, - Value = y - } - }) + // GET: admin/meta + public async Task index() + { + var currentItems = from i in await mModel.Select() + group i by i.Id.Type + into b + select b; + + var pendingLabs = mModel.SelectUnusedLabs(); + + return View(new MetaListing + { + CurrentItems = from i in await mModel.Select() group i by i.Id.Type - into b + into b orderby b.Key.ToString() - select b - }); - } + select b, + NewItems = from i in (from l in await mModel.SelectUnusedLabs() + select new MetaItemModel + { + Id = new MetaItemKey + { + Type = MetaType.Lab, + Value = l + } + }) + .Concat(from v in await mModel.SelectUnusedVersions() + select new MetaItemModel + { + Id = new MetaItemKey + { + Type = MetaType.Version, + Value = v + } + }) + .Concat(from y in await mModel.SelectUnusedYears() + select new MetaItemModel + { + Id = new MetaItemKey + { + Type = MetaType.Year, + Value = y + } + }) + group i by i.Id.Type + into b + orderby b.Key.ToString() + select b + }); + } - public ActionResult create(MetaType type, string value) - { - return View(new MetaItem + public ActionResult create(MetaType type, string value) + { + return View(new MetaItemModel + { + Id = new MetaItemKey { - Id = new MetaItemKey - { - Type = type, - Value = value - } - }); - } - - [HttpPost] - public ActionResult create(MetaItem meta) - { - if (ModelState.IsValid) - { - MetaItem.Insert(meta); - return RedirectToAction("index"); + Type = type, + Value = value } + }); + } - return View(meta); - } + [HttpPost] + public async Task create(MetaItemModel meta) + { + if (ModelState.IsValid) + { + await mModel.Insert(meta); + return RedirectToAction("index"); + } - public ActionResult edit(MetaType type, string value) - { - return View("create", MetaItem.SelectById(new MetaItemKey - { - Type = type, - Value = value - })); - } + return View(meta); + } - [HttpPost] - public ActionResult edit(MetaItem meta) - { - if (ModelState.IsValid) - { - MetaItem.Update(meta); - return RedirectToAction("index"); - } + public async Task edit(MetaType type, string value) + { + return View("create", await mModel.SelectById(new MetaItemKey + { + Type = type, + Value = value + })); + } - return View("create", meta); - } - } + [HttpPost] + public async Task edit(MetaItemModel meta) + { + if (ModelState.IsValid) + { + await mModel.Update(meta); + return RedirectToAction("index"); + } + + return View("create", meta); + } + } } \ No newline at end of file diff --git a/BuildFeed/Areas/admin/Controllers/usersController.cs b/BuildFeed/Areas/admin/Controllers/usersController.cs index 0df83a7..66a94aa 100644 --- a/BuildFeed/Areas/admin/Controllers/usersController.cs +++ b/BuildFeed/Areas/admin/Controllers/usersController.cs @@ -1,8 +1,8 @@ -using System; +using MongoAuth; +using System; using System.Linq; using System.Web.Mvc; using System.Web.Security; -using RedisAuth; namespace BuildFeed.Areas.admin.Controllers { @@ -41,28 +41,28 @@ namespace BuildFeed.Areas.admin.Controllers public ActionResult approve(Guid id) { - RedisMembershipProvider provider = (Membership.Provider as RedisMembershipProvider); + MongoMembershipProvider provider = (Membership.Provider as MongoMembershipProvider); provider?.ChangeApproval(id, true); return RedirectToAction("Index"); } public ActionResult unapprove(Guid id) { - RedisMembershipProvider provider = (Membership.Provider as RedisMembershipProvider); + MongoMembershipProvider provider = (Membership.Provider as MongoMembershipProvider); provider?.ChangeApproval(id, false); return RedirectToAction("Index"); } public ActionResult @lock(Guid id) { - RedisMembershipProvider provider = (Membership.Provider as RedisMembershipProvider); + MongoMembershipProvider provider = (Membership.Provider as MongoMembershipProvider); provider?.ChangeLockStatus(id, true); return RedirectToAction("Index"); } public ActionResult unlock(Guid id) { - RedisMembershipProvider provider = (Membership.Provider as RedisMembershipProvider); + MongoMembershipProvider provider = (Membership.Provider as MongoMembershipProvider); provider?.ChangeLockStatus(id, false); return RedirectToAction("Index"); } diff --git a/BuildFeed/Areas/admin/Models/ViewModel/MetaListing.cs b/BuildFeed/Areas/admin/Models/ViewModel/MetaListing.cs index 562000e..216d203 100644 --- a/BuildFeed/Areas/admin/Models/ViewModel/MetaListing.cs +++ b/BuildFeed/Areas/admin/Models/ViewModel/MetaListing.cs @@ -6,7 +6,7 @@ namespace BuildFeed.Areas.admin.Models.ViewModel { public class MetaListing { - public IEnumerable> CurrentItems { get; set; } - public IEnumerable> NewItems { get; set; } + public IEnumerable> CurrentItems { get; set; } + public IEnumerable> NewItems { get; set; } } } \ No newline at end of file diff --git a/BuildFeed/Areas/admin/Views/meta/create.cshtml b/BuildFeed/Areas/admin/Views/meta/create.cshtml index 53f7f99..3b5cf63 100644 --- a/BuildFeed/Areas/admin/Views/meta/create.cshtml +++ b/BuildFeed/Areas/admin/Views/meta/create.cshtml @@ -1,71 +1,71 @@ -@model BuildFeed.Models.MetaItem - +@model BuildFeed.Models.MetaItemModel @{ - ViewBag.Title = $"Add metadata for {Model.Id.Value} | BuildFeed"; + ViewBag.Title = string.Format("Add metadata for {0} | BuildFeed", Model.Id.Value); } -

@($"Add metadata for {Model.Id.Value}")

+

@string.Format("Add metadata for {0}", Model.Id.Value)

+ @using (Html.BeginForm()) { - @Html.AntiForgeryToken() + @Html.AntiForgeryToken() - @Html.HiddenFor(model => model.Id.Type) - @Html.HiddenFor(model => model.Id.Value) + @Html.HiddenFor(model => model.Id.Type) + @Html.HiddenFor(model => model.Id.Value) -
-
- @Html.LabelFor(model => model.MetaDescription, htmlAttributes: new { @class = "control-label col-sm-2" }) -
-
-
- @Html.TextAreaFor(model => model.MetaDescription, new { @class = "form-control", rows = "2" }) -
-
- @Html.ValidationMessageFor(model => model.MetaDescription) +
+
+ @Html.LabelFor(model => model.MetaDescription, htmlAttributes: new { @class = "control-label col-sm-2" }) +
+
+
+ @Html.TextAreaFor(model => model.MetaDescription, new { @class = "form-control", rows = "2" }) +
-
+ @Html.ValidationMessageFor(model => model.MetaDescription) +
+
-
- @Html.LabelFor(model => model.PageContent, new { @class = "control-label col-sm-2" }) -
-
-
- @Html.TextAreaFor(model => model.PageContent, new { @class = "form-control" }) -
-
- @Html.ValidationMessageFor(model => model.PageContent) +
+ @Html.LabelFor(model => model.PageContent, new { @class = "control-label col-sm-2" }) +
+
+
+ @Html.TextAreaFor(model => model.PageContent, new { @class = "form-control" }) +
-
+ @Html.ValidationMessageFor(model => model.PageContent) +
+
-
-
- -
-
-
+
+
+ +
+
+
} @section Scripts { - - + + - @Scripts.Render("~/bundles/jqueryval") + @Scripts.Render("~/bundles/jqueryval") - + $("#@Html.IdFor(model => model.PageContent)").trumbowyg({ + semantic: true, + autogrow: true, + btns: ['viewHTML', + '|', 'strong', 'em', + '|', 'link', + '|', btnsGrps.justify, + '|', btnsGrps.lists] + }); + }) + } \ No newline at end of file diff --git a/BuildFeed/BuildFeed.csproj b/BuildFeed/BuildFeed.csproj index 3cde90a..ca9bb38 100644 --- a/BuildFeed/BuildFeed.csproj +++ b/BuildFeed/BuildFeed.csproj @@ -14,7 +14,7 @@ Properties BuildFeed BuildFeed - v4.5.2 + v4.6 false true @@ -24,7 +24,7 @@ /subscriptions/4af45631-0e5c-4253-9e38-d0c47f9c5b32/resourcegroups/Default-ApplicationInsights-CentralUS/providers/microsoft.insights/components/BuildFeed - 1.5 + 1.6 @@ -51,35 +51,51 @@ False ..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll - - ..\packages\Humanizer.1.37.0\lib\portable-win+net40+sl50+wp8+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Humanizer.dll + + ..\packages\Glimpse.AspNet.1.9.2\lib\net45\Glimpse.AspNet.dll True - - ..\packages\Microsoft.ApplicationInsights.1.0.0\lib\net45\Microsoft.ApplicationInsights.dll + + ..\packages\Glimpse.1.8.6\lib\net45\Glimpse.Core.dll True - - ..\packages\Microsoft.ApplicationInsights.DependencyCollector.1.0.0\lib\net45\Microsoft.ApplicationInsights.Extensibility.DependencyCollector.dll + + ..\packages\Glimpse.Mvc5.1.5.3\lib\net45\Glimpse.Mvc5.dll True - - ..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.1.0.0\lib\net45\Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.dll + + ..\packages\Humanizer.1.37.7\lib\portable-win+net40+sl50+wp8+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Humanizer.dll True - - ..\packages\Microsoft.ApplicationInsights.Web.1.0.0\lib\net45\Microsoft.ApplicationInsights.Extensibility.Web.dll + + ..\packages\Microsoft.ApplicationInsights.Agent.Intercept.1.2.0\lib\net45\Microsoft.AI.Agent.Intercept.dll True - - ..\packages\Microsoft.ApplicationInsights.Web.TelemetryChannel.1.0.0\lib\net45\Microsoft.ApplicationInsights.Web.TelemetryChannel.dll + + ..\packages\Microsoft.ApplicationInsights.DependencyCollector.1.2.1\lib\net45\Microsoft.AI.DependencyCollector.dll + True + + + ..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.1.2.1\lib\net45\Microsoft.AI.PerfCounterCollector.dll + True + + + ..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.1.2.1\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll + True + + + ..\packages\Microsoft.ApplicationInsights.Web.1.2.1\lib\net45\Microsoft.AI.Web.dll + True + + + ..\packages\Microsoft.ApplicationInsights.WindowsServer.1.2.1\lib\net45\Microsoft.AI.WindowsServer.dll + True + + + ..\packages\Microsoft.ApplicationInsights.1.2.0\lib\net45\Microsoft.ApplicationInsights.dll True - - ..\packages\Microsoft.ApplicationInsights.Agent.Intercept.0.17.0\lib\net45\Microsoft.Diagnostics.Instrumentation.Extensions.Intercept.dll - True - ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll @@ -89,25 +105,22 @@ ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll + + ..\packages\MongoDB.Bson.2.0.1\lib\net45\MongoDB.Bson.dll + True + + + ..\packages\MongoDB.Driver.2.0.1\lib\net45\MongoDB.Driver.dll + True + + + ..\packages\MongoDB.Driver.Core.2.0.1\lib\net45\MongoDB.Driver.Core.dll + True + ..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll True - - ..\packages\NServiceKit.Common.1.0.35\lib\net35\NServiceKit.Common.dll - True - - - ..\packages\NServiceKit.Common.1.0.35\lib\net35\NServiceKit.Interfaces.dll - True - - - ..\packages\NServiceKit.Redis.1.0.16\lib\net35\NServiceKit.Redis.dll - True - - - ..\packages\NServiceKit.Text.1.0.10\lib\net35\NServiceKit.Text.dll - ..\packages\routedebugger.2.1.4.0\lib\net40\RouteDebugger.dll @@ -193,11 +206,13 @@ - + + + @@ -206,6 +221,491 @@ Global.asax + + Common.he.resx + True + True + + + Common.id.resx + True + True + + + Common.ro.resx + True + True + + + Common.sl.resx + True + True + + + Common.zh.resx + True + True + + + Common.fr.resx + True + True + + + Common.ru.resx + True + True + + + Common.it.resx + True + True + + + Common.es.resx + True + True + + + Common.pt.resx + True + True + + + Common.el.resx + True + True + + + Common.de.resx + True + True + + + Common.fi.resx + True + True + + + Common.sv.resx + True + True + + + Common.pt-br.resx + True + True + + + Common.sk.resx + True + True + + + Common.zh-tw.resx + True + True + + + Common.bn.resx + True + True + + + Common.hr.resx + True + True + + + Common.cs.resx + True + True + + + Common.en.resx + True + True + + + Common.nl.resx + True + True + + + Common.ar.resx + True + True + + + Common.resx + True + True + + + Common.qps-ploc.resx + True + True + + + Front.he.resx + True + True + + + Front.id.resx + True + True + + + Front.ro.resx + True + True + + + Front.sl.resx + True + True + + + Front.zh.resx + True + True + + + Front.fr.resx + True + True + + + Front.ru.resx + True + True + + + Front.it.resx + True + True + + + Front.es.resx + True + True + + + Front.pt.resx + True + True + + + Front.el.resx + True + True + + + Front.de.resx + True + True + + + Front.fi.resx + True + True + + + Front.sv.resx + True + True + + + Front.pt-br.resx + True + True + + + Front.sk.resx + True + True + + + Front.zh-tw.resx + True + True + + + Front.hr.resx + True + True + + + Front.cs.resx + True + True + + + Front.en.resx + True + True + + + Front.nl.resx + True + True + + + Front.ar.resx + True + True + + + Front.resx + True + True + + + Front.qps-ploc.resx + True + True + + + Model.he.resx + True + True + + + Model.id.resx + True + True + + + Model.ro.resx + True + True + + + Model.sl.resx + True + True + + + Model.zh.resx + True + True + + + Model.fr.resx + True + True + + + Model.ru.resx + True + True + + + Model.it.resx + True + True + + + Model.es.resx + True + True + + + Model.pt.resx + True + True + + + Model.el.resx + True + True + + + Model.de.resx + True + True + + + Model.fi.resx + True + True + + + Model.sv.resx + True + True + + + Model.pt-br.resx + True + True + + + Model.sk.resx + True + True + + + Model.zh-tw.resx + True + True + + + Model.hr.resx + True + True + + + Model.cs.resx + True + True + + + Model.en.resx + True + True + + + Model.nl.resx + True + True + + + Model.ar.resx + True + True + + + Model.resx + True + True + + + Model.qps-ploc.resx + True + True + + + Support.he.resx + True + True + + + Support.id.resx + True + True + + + Support.ro.resx + True + True + + + Support.sl.resx + True + True + + + Support.zh.resx + True + True + + + Support.fr.resx + True + True + + + Support.ru.resx + True + True + + + Support.it.resx + True + True + + + Support.es.resx + True + True + + + Support.pt.resx + True + True + + + Support.el.resx + True + True + + + Support.de.resx + True + True + + + Support.fi.resx + True + True + + + Support.sv.resx + True + True + + + Support.pt-br.resx + True + True + + + Support.sk.resx + True + True + + + Support.zh-tw.resx + True + True + + + Support.hr.resx + True + True + + + Support.cs.resx + True + True + + + Support.nl.resx + True + True + + + Support.ar.resx + True + True + + + Support.resx + True + True + + + Support.qps-ploc.resx + True + True + + + True + True + Support.en.resx + @@ -223,17 +723,22 @@ + + + + + - Designer + PreserveNewest @@ -241,11 +746,16 @@ + + + + + @@ -294,24 +804,19 @@ - - - - - - Designer Web.config + Designer Web.config @@ -341,9 +846,9 @@ + - @@ -359,9 +864,423 @@ - - {c6a16cf0-41da-4b90-918a-cb84a8c3f1e2} - RedisAuth + + PublicResXFileCodeGenerator + Common.he.Designer.cs + + + PublicResXFileCodeGenerator + Common.id.Designer.cs + + + PublicResXFileCodeGenerator + Common.ro.Designer.cs + + + PublicResXFileCodeGenerator + Common.sl.Designer.cs + + + PublicResXFileCodeGenerator + Common.zh.Designer.cs + + + PublicResXFileCodeGenerator + Common.fr.Designer.cs + + + PublicResXFileCodeGenerator + Common.ru.Designer.cs + + + PublicResXFileCodeGenerator + Common.it.Designer.cs + + + PublicResXFileCodeGenerator + Common.es.Designer.cs + + + PublicResXFileCodeGenerator + Common.pt.Designer.cs + + + PublicResXFileCodeGenerator + Common.el.Designer.cs + + + PublicResXFileCodeGenerator + Common.de.Designer.cs + + + PublicResXFileCodeGenerator + Common.fi.Designer.cs + + + PublicResXFileCodeGenerator + Common.sv.Designer.cs + + + PublicResXFileCodeGenerator + Common.pt-br.Designer.cs + + + PublicResXFileCodeGenerator + Common.sk.Designer.cs + + + PublicResXFileCodeGenerator + Common.zh-tw.Designer.cs + + + PublicResXFileCodeGenerator + Common.bn.Designer.cs + + + PublicResXFileCodeGenerator + Common.hr.Designer.cs + + + PublicResXFileCodeGenerator + Common.cs.Designer.cs + + + PublicResXFileCodeGenerator + Common.en.Designer.cs + + + PublicResXFileCodeGenerator + Common.nl.Designer.cs + + + PublicResXFileCodeGenerator + Common.ar.Designer.cs + + + PublicResXFileCodeGenerator + Common.Designer.cs + + + PublicResXFileCodeGenerator + Common.qps-ploc.Designer.cs + + + PublicResXFileCodeGenerator + Front.he.Designer.cs + + + PublicResXFileCodeGenerator + Front.id.Designer.cs + + + PublicResXFileCodeGenerator + Front.ro.Designer.cs + + + PublicResXFileCodeGenerator + Front.sl.Designer.cs + + + PublicResXFileCodeGenerator + Front.zh.Designer.cs + + + PublicResXFileCodeGenerator + Front.fr.Designer.cs + + + PublicResXFileCodeGenerator + Front.ru.Designer.cs + + + PublicResXFileCodeGenerator + Front.it.Designer.cs + + + PublicResXFileCodeGenerator + Front.es.Designer.cs + + + PublicResXFileCodeGenerator + Front.pt.Designer.cs + + + PublicResXFileCodeGenerator + Front.el.Designer.cs + + + PublicResXFileCodeGenerator + Front.de.Designer.cs + + + PublicResXFileCodeGenerator + Front.fi.Designer.cs + + + PublicResXFileCodeGenerator + Front.sv.Designer.cs + + + PublicResXFileCodeGenerator + Front.pt-br.Designer.cs + + + PublicResXFileCodeGenerator + Front.sk.Designer.cs + + + PublicResXFileCodeGenerator + Front.zh-tw.Designer.cs + + + PublicResXFileCodeGenerator + Front.hr.Designer.cs + + + PublicResXFileCodeGenerator + Front.cs.Designer.cs + + + PublicResXFileCodeGenerator + Front.en.Designer.cs + + + PublicResXFileCodeGenerator + Front.nl.Designer.cs + + + PublicResXFileCodeGenerator + Front.ar.Designer.cs + + + PublicResXFileCodeGenerator + Front.Designer.cs + + + PublicResXFileCodeGenerator + Front.qps-ploc.Designer.cs + + + PublicResXFileCodeGenerator + Model.he.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.id.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.ro.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.sl.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.zh.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.fr.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.ru.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.it.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.es.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.pt.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.el.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.de.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.fi.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.sv.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.pt-br.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.sk.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.zh-tw.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.hr.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.cs.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.en.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.nl.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.ar.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Model.qps-ploc.Designer.cs + Designer + + + PublicResXFileCodeGenerator + Support.he.Designer.cs + + + PublicResXFileCodeGenerator + Support.id.Designer.cs + + + PublicResXFileCodeGenerator + Support.ro.Designer.cs + + + PublicResXFileCodeGenerator + Support.sl.Designer.cs + + + PublicResXFileCodeGenerator + Support.zh.Designer.cs + + + PublicResXFileCodeGenerator + Support.fr.Designer.cs + + + PublicResXFileCodeGenerator + Support.ru.Designer.cs + + + PublicResXFileCodeGenerator + Support.it.Designer.cs + + + PublicResXFileCodeGenerator + Support.es.Designer.cs + + + PublicResXFileCodeGenerator + Support.pt.Designer.cs + + + PublicResXFileCodeGenerator + Support.el.Designer.cs + + + PublicResXFileCodeGenerator + Support.de.Designer.cs + + + PublicResXFileCodeGenerator + Support.fi.Designer.cs + + + PublicResXFileCodeGenerator + Support.sv.Designer.cs + + + PublicResXFileCodeGenerator + Support.pt-br.Designer.cs + + + PublicResXFileCodeGenerator + Support.sk.Designer.cs + + + PublicResXFileCodeGenerator + Support.zh-tw.Designer.cs + + + PublicResXFileCodeGenerator + Support.hr.Designer.cs + + + PublicResXFileCodeGenerator + Support.cs.Designer.cs + + + PublicResXFileCodeGenerator + Support.nl.Designer.cs + + + PublicResXFileCodeGenerator + Support.ar.Designer.cs + + + PublicResXFileCodeGenerator + Support.Designer.cs + + + PublicResXFileCodeGenerator + Support.qps-ploc.Designer.cs + + + PublicResXFileCodeGenerator + Support.en.Designer.cs + + + + + {7c67bfb9-1b3b-4676-a58d-10573da82cfe} + MongoAuth @@ -398,11 +1317,7 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + إضافة نسخة جديدة + + + الإدارة + + + ساهم في التطوير على + + + المساهمات ولائحة الشكر + + + طوّرت من قبل + + + خطأ + + + تسجيل الدخول + + + تسجيل الخروج + + + | صفحة {0} + + + ويندوز NT + + + محتوى RSS + + + بحث + + + النسخة + + + بحث في BuildFeed + + + لايوجد أي نتائج + + + المختبر + + + صيغة البحث + + + المصدر + + + الإصدار + + + السنة + + + خريطة الموقع + + + BuildFeed + + + الإحصائيات + + + تبديل الصفحات + + + Twitter + + + اكتب لبدء البحث... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.bn.Designer.cs b/BuildFeed/Local/Common.bn.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.bn.resx b/BuildFeed/Local/Common.bn.resx new file mode 100644 index 0000000..df7de36 --- /dev/null +++ b/BuildFeed/Local/Common.bn.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + নতুন বিল্ড যোগ করুন + + + অ্যাডমিন + + + সাহায্য করুন + + + [!!! Çřèδïƭƨ !!!] + + + উন্নত করেছেন + + + ভুল + + + লগইন + + + ত্যাগ করুন + + + | পৃষ্ঠা {0} + + + উইন্ডোজ এনটি + + + RSS + + + অনুসন্ধান + + + Build + + + বিল্ডফিডে অনুসন্ধান করুন + + + কোন ফলাফল পাওয়া যায়নি + + + রসশালা + + + অনুসন্ধান + + + উৎস + + + সংস্করণ + + + বছর + + + সাইট ম্যাপ + + + বিল্ডফিড + + + পরিসংখ্যান + + + চালু অথবা বন্ধ করুন ন্যাভিগেশন + + + Twitter + + + অনুসন্ধানের জন্য টাইপ করুন + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.cs.Designer.cs b/BuildFeed/Local/Common.cs.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.cs.resx b/BuildFeed/Local/Common.cs.resx new file mode 100644 index 0000000..6ec20b9 --- /dev/null +++ b/BuildFeed/Local/Common.cs.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Přidat build + + + Admin + + + Přispějte na + + + Poděkování + + + Vytvořil + + + Chyba + + + Přihlásit se + + + Odhlásit se + + + | Stránka {0} + + + Windows NT + + + RSS zdroje + + + Hledat + + + Build + + + Hledat v BuildFeedu... + + + Nebyly nalezeny žádné výsledky + + + Větev + + + Dotaz + + + Zdroj + + + Verze + + + Rok + + + Mapa stránek + + + BuildFeed + + + Statistiky + + + Přepnout navigaci + + + Twitter + + + hledat... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.de.Designer.cs b/BuildFeed/Local/Common.de.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.de.resx b/BuildFeed/Local/Common.de.resx new file mode 100644 index 0000000..88152d8 --- /dev/null +++ b/BuildFeed/Local/Common.de.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Build hinzufügen + + + Administrator + + + Mitwirken bei + + + [!!! Çřèδïƭƨ !!!] + + + Entwickelt von + + + Fehler + + + Anmelden + + + Abmelden + + + | Seite {0} + + + Windows NT + + + RSS Feeds + + + Suche + + + Build + + + BuildFeed durchsuchen + + + Keine Suchergebnisse + + + Lab + + + Suche nach + + + Quelle + + + Version + + + Jahr + + + Sitemap + + + BuildFeed + + + Statistiken + + + Navigation umschalten + + + Twitter + + + Tippe, um zu suchen... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.el.Designer.cs b/BuildFeed/Local/Common.el.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.el.resx b/BuildFeed/Local/Common.el.resx new file mode 100644 index 0000000..d6315ba --- /dev/null +++ b/BuildFeed/Local/Common.el.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Προσθήκη build + + + Διαχειριστής + + + Προσφορά στο + + + Μνεία + + + Αναπτύχθηκε από τον + + + Σφάλμα + + + Σύνδεση + + + Αποσύνδεση + + + | Σελίδα {0} + + + Windows NT + + + Ροές RSS + + + Αναζήτηση + + + Build + + + Αναζήτηση στο BuildFeed... + + + Δεν βρέθηκαν αποτελέσματα + + + Lab + + + Ερώτημα αναζήτησης + + + Πηγή + + + Έκδοση + + + Έτος + + + Χάρτης Σελίδας + + + BuildFeed + + + Στατιστικά + + + Αλλαγή πλοήγησης + + + Twitter + + + Πληκτρολογήστε για αναζήτηση... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.en.Designer.cs b/BuildFeed/Local/Common.en.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.en.resx b/BuildFeed/Local/Common.en.resx new file mode 100644 index 0000000..21e5e67 --- /dev/null +++ b/BuildFeed/Local/Common.en.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Add build + + + Admin + + + Contribute on + + + Credits + + + Developed by + + + Error + + + Log in + + + Log out + + + | Page {0} + + + Windows NT + + + RSS feeds + + + Search + + + Build + + + Search BuildFeed... + + + No results found + + + Lab + + + Search query + + + Source + + + Version + + + Year + + + Sitemap + + + BuildFeed + + + Statistics + + + Toggle navigation + + + Twitter + + + type to search... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.es.Designer.cs b/BuildFeed/Local/Common.es.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.es.resx b/BuildFeed/Local/Common.es.resx new file mode 100644 index 0000000..93b4eba --- /dev/null +++ b/BuildFeed/Local/Common.es.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Añadir compilación + + + Administrador + + + Contribuir en + + + Créditos + + + Desarrollado por + + + Error + + + Iniciar sesión + + + Cerrar sesión + + + | Página {0} + + + Windows NT + + + Feeds RSS + + + Buscar + + + Compilación + + + Buscar en BuildFeed... + + + Ningun resultado encontrado + + + Laboratorio + + + Criterios de busqueda + + + Fuente + + + Versión + + + Año + + + Mapa del sítio + + + BuildFeed + + + Estadísticas + + + Mostrar/ocultar navegador + + + Twitter + + + escriba para buscar... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.fi.Designer.cs b/BuildFeed/Local/Common.fi.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.fi.resx b/BuildFeed/Local/Common.fi.resx new file mode 100644 index 0000000..8ace91f --- /dev/null +++ b/BuildFeed/Local/Common.fi.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Lisää koontiversio + + + Admin + + + Osallistu kehitykseen: + + + [!!! Çřèδïƭƨ !!!] + + + Kehittänyt + + + Virhe + + + Kirjaudu sisään + + + Kirjaudu ulos + + + | Sivu {0} + + + Windows NT + + + RSS-syötteet + + + Hae + + + Koontiversio + + + Hae BuildFeedistä + + + Tuloksia ei löytynyt + + + Lab + + + Hakulauseke + + + Lähde + + + Versio + + + Vuosi + + + Sivukartta + + + BuildFeed + + + Tilastot + + + Toggle navigation + + + Twitter + + + kirjoita hakeaksesi... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.fr.Designer.cs b/BuildFeed/Local/Common.fr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.fr.resx b/BuildFeed/Local/Common.fr.resx new file mode 100644 index 0000000..d33ce03 --- /dev/null +++ b/BuildFeed/Local/Common.fr.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Ajouter une build + + + Admin + + + Contribuer à + + + Crédits + + + Développé par + + + Erreur + + + Se connecter + + + Déconnexion + + + | Page {0} + + + Windows NT + + + Flux RSS + + + Chercher + + + Build + + + Chercher dans BuildFeed + + + Aucun résultat trouvé + + + Lab + + + Termes recherchés + + + Source + + + Version + + + Année + + + Plan du site + + + BuildFeed + + + Statistiques + + + Basculer + + + Twitter + + + écrire pour chercher... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.he.Designer.cs b/BuildFeed/Local/Common.he.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.he.resx b/BuildFeed/Local/Common.he.resx new file mode 100644 index 0000000..d7207eb --- /dev/null +++ b/BuildFeed/Local/Common.he.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + הוספת בילד + + + Admin + + + סיוע בפיתוח ב + + + תודות + + + פותח על-ידי + + + שגיאה + + + כניסה + + + יציאה + + + | דף {0} + + + Windows NT + + + RSS feeds + + + חיפוש + + + בילד + + + חיפוש ב-BuildFeed + + + לא נמצאו תוצאות + + + מעבדה + + + מחרוזת חיפוש + + + מקור + + + גירסה + + + שנה + + + מפת אתר + + + BuildFeed + + + סטטיסטיקה + + + הפעלת ניווט + + + Twitter + + + הקלד לחיפוש... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.hr.Designer.cs b/BuildFeed/Local/Common.hr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.hr.resx b/BuildFeed/Local/Common.hr.resx new file mode 100644 index 0000000..913de40 --- /dev/null +++ b/BuildFeed/Local/Common.hr.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Dodaj verziju + + + Administrator + + + Doprinos + + + [!!! Çřèδïƭƨ !!!] + + + Razvijeno od + + + Greška + + + Prijava + + + Odjava + + + Stranica {0} + + + Windows NT + + + RSS + + + Pretraživanje + + + Verzija + + + Pretraži BuildFeed + + + Nema rezultata + + + Grana + + + Upit + + + Izvor + + + Verzija + + + Godina + + + Mapa stranice + + + BuildFeed + + + Statistika + + + Izbor navigacije + + + Twitter + + + Piši za pretragu... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.id.Designer.cs b/BuildFeed/Local/Common.id.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.id.resx b/BuildFeed/Local/Common.id.resx new file mode 100644 index 0000000..467b84a --- /dev/null +++ b/BuildFeed/Local/Common.id.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Tambah Build + + + Admin + + + Kontribusi di + + + Kredit + + + Dikembangkan oleh + + + Galat + + + Masuk + + + Keluar + + + | Halaman {0} + + + Windows NT + + + RSS Feeds + + + Cari + + + Build + + + Cari di Buildfeed + + + Hasil tidak ditemukan + + + Lab + + + Permintaan pencarian + + + Sumber + + + Versi + + + Tahun + + + Sitemap + + + BuildFeed + + + Statistik + + + Navigasi beralih + + + Twitter + + + Ketik untuk mencari + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.it.Designer.cs b/BuildFeed/Local/Common.it.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.it.resx b/BuildFeed/Local/Common.it.resx new file mode 100644 index 0000000..6dc1175 --- /dev/null +++ b/BuildFeed/Local/Common.it.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Aggiungi build + + + Amministratore + + + Contribuire a + + + [!!! Çřèδïƭƨ !!!] + + + Sviluppato da + + + Errore + + + Entra + + + Esci + + + | Pagina {0} + + + Windows NT + + + Notifiche RSS + + + Cerca + + + Build + + + Cerca in BuildFeed... + + + Nessun risultato trovato + + + Laboratorio + + + Termini di ricerca + + + Fonte + + + Versione + + + Anno + + + Mappa del sito + + + BuildFeed + + + Statistiche + + + Mostra/nascondi browser + + + Twitter + + + digita per cercare... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.nl.Designer.cs b/BuildFeed/Local/Common.nl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.nl.resx b/BuildFeed/Local/Common.nl.resx new file mode 100644 index 0000000..8e53ad4 --- /dev/null +++ b/BuildFeed/Local/Common.nl.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Build toevoegen + + + Administrator + + + Draag bij via + + + Dankwoord + + + Ontwikkeld door + + + Fout + + + Inloggen + + + Uitloggen + + + | Pagina {0} + + + Windows NT + + + RSS feeds + + + Zoeken + + + Build + + + Zoeken in BuildFeed + + + Geen resultaten gevonden + + + Lab + + + Zoekopdracht + + + Bron + + + Versie + + + Jaar + + + Sitemap + + + BuildFeed + + + Statistieken + + + Schakel navigatie + + + Twitter + + + typ om te zoeken... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.pt-br.Designer.cs b/BuildFeed/Local/Common.pt-br.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.pt-br.resx b/BuildFeed/Local/Common.pt-br.resx new file mode 100644 index 0000000..29ed7d3 --- /dev/null +++ b/BuildFeed/Local/Common.pt-br.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Adicionar compilação + + + Admin + + + Contribuir no + + + [!!! Çřèδïƭƨ !!!] + + + Desenvolvido por + + + Erro + + + Entrar + + + Sair + + + | Página {0} + + + Windows NT + + + Feeds RSS + + + Pesquisar + + + Compilação + + + Pesquisar BuildFeed... + + + Nenhum resultado encontrado + + + Laboratório + + + Termos da pesquisa + + + Fonte + + + Versão + + + Ano + + + Mapa do site + + + BuildFeed + + + Estatísticas + + + Mostrar/ocultar navegação + + + Twitter + + + digite para pesquisar... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.pt.Designer.cs b/BuildFeed/Local/Common.pt.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.pt.resx b/BuildFeed/Local/Common.pt.resx new file mode 100644 index 0000000..2cfca43 --- /dev/null +++ b/BuildFeed/Local/Common.pt.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Adicionar compilação + + + Administrador + + + Contribuir em + + + [!!! Çřèδïƭƨ !!!] + + + Desenvolvido por + + + Erro + + + Entrar + + + Sair + + + | Página {0} + + + Windows NT + + + Feeds RSS + + + Procurar + + + Compilação + + + Procurar em BuildFeed... + + + Nenhum resultado encontrado + + + Laboratório + + + Termos da procura + + + Fonte + + + Versão + + + Ano + + + Mapa do site + + + BuildFeed + + + Estatísticas + + + Mostrar/ocultar navegador + + + Twitter + + + entre para procurar... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.qps-ploc.Designer.cs b/BuildFeed/Local/Common.qps-ploc.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.qps-ploc.resx b/BuildFeed/Local/Common.qps-ploc.resx new file mode 100644 index 0000000..d25e71f --- /dev/null +++ b/BuildFeed/Local/Common.qps-ploc.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! Âδδ βúïℓδ !!!] + + + [!!! Âδ₥ïñ !!!] + + + [!!! Çôñƭřïβúƭè ôñ !!!] + + + [!!! Çřèδïƭƨ !!!] + + + [!!! ÐèƲèℓôƥèδ β¥ !!!] + + + [!!! Éřřôř !!!] + + + [!!! £ôϱ ïñ !!!] + + + [!!! £ôϱ ôúƭ !!!] + + + [!!! | Þáϱè {0} !!!] + + + [!!! Wïñδôωƨ NT !!!] + + + [!!! R§§ ƒèèδƨ !!!] + + + [!!! §èářçλ !!!] + + + [!!! ßúïℓδ ℓ !!!] + + + [!!! §èářçλ ßúïℓδFèèδ... ℓ !!!] + + + [!!! Nô řèƨúℓƭƨ ƒôúñδ ℓ !!!] + + + [!!! £áβ !!!] + + + [!!! §èářçλ 9úèř¥ !!!] + + + [!!! §ôúrçè l !!!] + + + [!!! Vèřƨïôñ ℓ !!!] + + + [!!! Ýèář !!!] + + + [!!! §ïƭè₥áƥ !!!] + + + [!!! ßúïℓδFèèδ !!!] + + + [!!! §ƭáƭïƨƭïçƨ !!!] + + + [!!! Tôϱϱℓè ñáƲïϱáƭïôñ ℓ !!!] + + + [!!! Tωïƭƭèř !!!] + + + [!!! ƭ¥ƥè ƭô ƨèářçλ... ℓ !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.resx b/BuildFeed/Local/Common.resx new file mode 100644 index 0000000..d25e71f --- /dev/null +++ b/BuildFeed/Local/Common.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! Âδδ βúïℓδ !!!] + + + [!!! Âδ₥ïñ !!!] + + + [!!! Çôñƭřïβúƭè ôñ !!!] + + + [!!! Çřèδïƭƨ !!!] + + + [!!! ÐèƲèℓôƥèδ β¥ !!!] + + + [!!! Éřřôř !!!] + + + [!!! £ôϱ ïñ !!!] + + + [!!! £ôϱ ôúƭ !!!] + + + [!!! | Þáϱè {0} !!!] + + + [!!! Wïñδôωƨ NT !!!] + + + [!!! R§§ ƒèèδƨ !!!] + + + [!!! §èářçλ !!!] + + + [!!! ßúïℓδ ℓ !!!] + + + [!!! §èářçλ ßúïℓδFèèδ... ℓ !!!] + + + [!!! Nô řèƨúℓƭƨ ƒôúñδ ℓ !!!] + + + [!!! £áβ !!!] + + + [!!! §èářçλ 9úèř¥ !!!] + + + [!!! §ôúrçè l !!!] + + + [!!! Vèřƨïôñ ℓ !!!] + + + [!!! Ýèář !!!] + + + [!!! §ïƭè₥áƥ !!!] + + + [!!! ßúïℓδFèèδ !!!] + + + [!!! §ƭáƭïƨƭïçƨ !!!] + + + [!!! Tôϱϱℓè ñáƲïϱáƭïôñ ℓ !!!] + + + [!!! Tωïƭƭèř !!!] + + + [!!! ƭ¥ƥè ƭô ƨèářçλ... ℓ !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.ro.Designer.cs b/BuildFeed/Local/Common.ro.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.ro.resx b/BuildFeed/Local/Common.ro.resx new file mode 100644 index 0000000..a7e6050 --- /dev/null +++ b/BuildFeed/Local/Common.ro.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Adăugare build + + + Administrator + + + Contribuie la + + + Credite + + + Dezvoltat de + + + Eroare + + + Logare + + + Delogare + + + | Pagina {0} + + + Windows NT + + + Feed-uri RSS + + + Căutare + + + Build + + + Căutare Buildfeed + + + Niciun rezultat găsit + + + Lab + + + Criteriu de căutare + + + Sursă + + + Versiune + + + An + + + Harta site-ului + + + BuildFeed + + + Statistici + + + Comutare navigare + + + Twitter + + + scrieți pentru a căuta... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.ru.Designer.cs b/BuildFeed/Local/Common.ru.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.ru.resx b/BuildFeed/Local/Common.ru.resx new file mode 100644 index 0000000..149a5b5 --- /dev/null +++ b/BuildFeed/Local/Common.ru.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Добавить сборку + + + Администратор + + + Помочь в разработке на + + + авторы перевода + + + Автор: + + + Ошибка + + + Вход + + + Выход + + + | Страница {0} + + + Windows NT + + + Лента RSS + + + Поиск + + + Сборка + + + Поиск по сайту + + + Ничего не найдено + + + Лаборотория + + + Поисковый запрос + + + Источник + + + Версия + + + Год + + + Карта сайта + + + BuildFeed + + + Статистика + + + Включить навигацию + + + Twitter + + + Введите запрос… + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.sk.Designer.cs b/BuildFeed/Local/Common.sk.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.sk.resx b/BuildFeed/Local/Common.sk.resx new file mode 100644 index 0000000..0f3b1eb --- /dev/null +++ b/BuildFeed/Local/Common.sk.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Pridať build + + + Admin + + + Prispieť na + + + [!!! Çřèδïƭƨ !!!] + + + Vytvoril + + + Chyba + + + Prihlásiť sa + + + Odhlásiť sa + + + | Stránka {0} + + + Windows NT + + + RSS Kanál + + + Hľadať + + + Build + + + Hľadať v BuildFeede + + + Neboli nájdené žiadne výsledky + + + Lab + + + Výraz vyhľadávania + + + Zdroj + + + Verzia + + + Rok + + + Mapa stránok + + + BuildFeed + + + Štatistiky + + + Prepnúť navigáciu + + + Twitter + + + písaním hľadajte... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.sl.Designer.cs b/BuildFeed/Local/Common.sl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.sl.resx b/BuildFeed/Local/Common.sl.resx new file mode 100644 index 0000000..4625337 --- /dev/null +++ b/BuildFeed/Local/Common.sl.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Dodaj različico + + + Administrator + + + Prispevaj + + + Zasluge + + + Razvil + + + Napaka + + + Prijava + + + Odjava + + + | Stran {0} + + + Windows NT + + + Viri RSS + + + Iskanje + + + Različica + + + Preišči BuildFeed... + + + Ni rezultatov + + + Veja + + + Iskalna poizvedba + + + Vir + + + Različica + + + Leto + + + Načrt strani + + + BuildFeed + + + Statistika + + + Preklopi navigacijo + + + Twitter + + + Pišite za iskanje + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.sv.Designer.cs b/BuildFeed/Local/Common.sv.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.sv.resx b/BuildFeed/Local/Common.sv.resx new file mode 100644 index 0000000..2afbdec --- /dev/null +++ b/BuildFeed/Local/Common.sv.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Lägg till build + + + Admin + + + Bidra med + + + [!!! Çřèδïƭƨ !!!] + + + Utvecklad av + + + Fel + + + Logga in + + + Logga ut + + + | Sida {0} + + + Windows NT + + + RSS-flöden + + + Sök + + + Build + + + Sök i BuildFeed... + + + Inga resultat funna + + + Lab + + + Sökord + + + Källa + + + Version + + + År + + + Sitemap + + + BuildFeed + + + Statistik + + + Hantera navigation + + + Twitter + + + skriv för att söka... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.zh-tw.Designer.cs b/BuildFeed/Local/Common.zh-tw.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.zh-tw.resx b/BuildFeed/Local/Common.zh-tw.resx new file mode 100644 index 0000000..d78472a --- /dev/null +++ b/BuildFeed/Local/Common.zh-tw.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 新增組建 + + + 管理 + + + 提供貢獻到 + + + [!!! Çřèδïƭƨ !!!] + + + 開發者 + + + 錯誤 + + + 登入 + + + 登出 + + + | Page {0} + + + Windows NT + + + RSS + + + 搜尋 + + + Build + + + 在 BuildFeed 上搜尋... + + + 沒有找到任何符合條件的結果 + + + Lab + + + 搜尋 + + + 訊息來源 + + + 版本 + + + 年份 + + + Sitemap + + + BuildFeed + + + 統計資訊 + + + 切換導覽 + + + Twitter + + + 輸入以搜尋... + + \ No newline at end of file diff --git a/BuildFeed/Local/Common.zh.Designer.cs b/BuildFeed/Local/Common.zh.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Common.zh.resx b/BuildFeed/Local/Common.zh.resx new file mode 100644 index 0000000..36fce80 --- /dev/null +++ b/BuildFeed/Local/Common.zh.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 添加版本号 + + + 管理员 + + + 贡献到 + + + 感谢 + + + 开发者 + + + 错误 + + + 登录 + + + 退出 + + + | 第 {0} 页 + + + Windows NT + + + RSS源 + + + 搜索 + + + Build + + + 在 BuildFeed 上搜索... + + + 未找到符合条件的结果 + + + Lab + + + 搜索 + + + 来源 + + + 版本 + + + + + + 网站地图 + + + BuildFeed + + + 统计数据 + + + 导航 + + + Twitter + + + 输入搜索内容... + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.Designer.cs b/BuildFeed/Local/Front.Designer.cs new file mode 100644 index 0000000..d76bf5e --- /dev/null +++ b/BuildFeed/Local/Front.Designer.cs @@ -0,0 +1,297 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace BuildFeed.Local { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Front { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Front() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BuildFeed.Local.Front", typeof(Front).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to [!!! Âβôúƭ !!!]. + /// + public static string About { + get { + return ResourceManager.GetString("About", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Âδδ á βúïℓδ !!!]. + /// + public static string AddABuild { + get { + return ResourceManager.GetString("AddABuild", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1} áñδ çô₥ƥïℓèδ ôñ {2}. ℓôřè₥ !!!]. + /// + public static string BuildMetaDate { + get { + return ResourceManager.GetString("BuildMetaDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1}. ßúïℓδFèèδ ƭřáçƙƨ Wïñδôωƨ βúïℓδƨ ƭλřôúϱλôúƭ ƭλè δèƲèℓôƥ₥èñƭ ƥřôçèƨƨ. ℓôřè₥ ïƥƨú !!!]. + /// + public static string BuildMetaNoDate { + get { + return ResourceManager.GetString("BuildMetaNoDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ßúïℓδƨ ƒřô₥ {0} !!!]. + /// + public static string BuildsFrom { + get { + return ResourceManager.GetString("BuildsFrom", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Çô₥₥èñƭƨ !!!]. + /// + public static string Comments { + get { + return ResourceManager.GetString("Comments", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Ðèℓèƭè !!!]. + /// + public static string Delete { + get { + return ResourceManager.GetString("Delete", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Éδïƭ !!!]. + /// + public static string Edit { + get { + return ResourceManager.GetString("Edit", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Éδïƭ βúïℓδ !!!]. + /// + public static string EditBuild { + get { + return ResourceManager.GetString("EditBuild", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Éδïƭôř áçƭïôñƨ !!!]. + /// + public static string EditorActions { + get { + return ResourceManager.GetString("EditorActions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Wïñδôωƨ NT βúïℓδ ℓïƨƭ ℓ !!!]. + /// + public static string HomepageH1 { + get { + return ResourceManager.GetString("HomepageH1", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Çλèçƙ ôúƭ áℓℓ ƭλè ƙñôωñ βúïℓδƨ ƭô çô₥è ôúƭ ôƒ ƭλè Wïñδôωƨ δèƲèℓôƥ₥èñƭ ℓáβ {0} ƭλřôúϱλ ßúïℓδFèèδ, á çôℓℓáβôřáƭïƲè Wïñδôωƨ βúïℓδ ℓïƨƭ ℓôřè₥ ïƥƨú₥ !!!]. + /// + public static string LabMetaGeneric { + get { + return ResourceManager.GetString("LabMetaGeneric", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! £ïƨƭïñϱ !!!]. + /// + public static string Listing { + get { + return ResourceManager.GetString("Listing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Fïñδ ₥ôřè βúïℓδƨ ƒřô₥ {0} ℓô !!!]. + /// + public static string MoreFromLab { + get { + return ResourceManager.GetString("MoreFromLab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Fïñδ ₥ôřè βúïℓδƨ ƨôúřçèδ ƒřô₥ {0} ℓô !!!]. + /// + public static string MoreFromSource { + get { + return ResourceManager.GetString("MoreFromSource", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Fïñδ ₥ôřè βúïℓδƨ çô₥ƥïℓèδ ïñ {0} ℓô !!!]. + /// + public static string MoreFromYear { + get { + return ResourceManager.GetString("MoreFromYear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Nô ℓáβ ƨƭřïñϱ !!!]. + /// + public static string NoLab { + get { + return ResourceManager.GetString("NoLab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ÞřïƲáƭè !!!]. + /// + public static string Private { + get { + return ResourceManager.GetString("Private", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Þúβℓïç !!!]. + /// + public static string Public { + get { + return ResourceManager.GetString("Public", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Qúïçƙ-ƥáƨƭè !!!]. + /// + public static string QuickPaste { + get { + return ResourceManager.GetString("QuickPaste", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rèƭúřñ ƭô βúïℓδ ℓïƨƭïñϱ ℓ !!!]. + /// + public static string ReturnToListing { + get { + return ResourceManager.GetString("ReturnToListing", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rèƭúřñ ƭô βúïℓδ ôƲèřƲïèω ℓ !!!]. + /// + public static string ReturnToOverview { + get { + return ResourceManager.GetString("ReturnToOverview", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! §λářè !!!]. + /// + public static string Share { + get { + return ResourceManager.GetString("Share", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Tôδᥠ!!!]. + /// + public static string Today { + get { + return ResourceManager.GetString("Today", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! βúïℓδƨ !!!]. + /// + public static string xBuilds { + get { + return ResourceManager.GetString("xBuilds", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Vïèω á ℓïƨƭ ôƒ áℓℓ Wïñδôωƨ βúïℓδƨ çô₥ƥïℓèδ ïñ {0}, áñδ ωáƭçλ λôω Wïñδôωƨ δèƲèℓôƥèδ ƨƭèáδïℓ¥ ôƲèř ƭï₥è, ƭλřôúϱλ ƭλè çôℓℓáβôřáƭïƲè βúïℓδ ℓïƨƭ, ßúïℓδFèèδ ℓôřè₥ ïƥƨú₥ δô !!!]. + /// + public static string YearMetaGeneric { + get { + return ResourceManager.GetString("YearMetaGeneric", resourceCulture); + } + } + } +} diff --git a/BuildFeed/Local/Front.ar.Designer.cs b/BuildFeed/Local/Front.ar.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.ar.resx b/BuildFeed/Local/Front.ar.resx new file mode 100644 index 0000000..498d143 --- /dev/null +++ b/BuildFeed/Local/Front.ar.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + عن الموقع + + + إضافة نسخة جديدة + + + استكشف نسخة الويندوز بناء {0} من المختبر {1} والتي تم تركيبها في {2} + + + استكشف نسخة الويندوز بناء {0} من المختبر {1} والتي تم تركيبها في {2}. يقوم موقع BuildFeed بتتبع نسخ الويندوز المتنوعة من مختلف المختبرات خلال مراحل تطويره. + + + نسخ من المختبر {0} + + + ملاحظات + + + حذف + + + تعديل + + + تعديل النسخة + + + إجراءات المعدل + + + قائمة بنسخ ويندوز NT + + + استكشف كل النسخ الموثوقة والمعروفة الصادرة من مختبر الويندوز {0} عبر BuildFeed ، وهو موقع مخصص لنشر لوائح نسخ الويندوز المتعددة. + + + القائمة + + + استكشف نسخ إضافية من {0} + + + استكشف نسخ إضافية مصدرها من {0} + + + استكشف نسخ إضافية تم بناؤها في {0} + + + لايوجد مختبر + + + خاص/سري + + + عام + + + لصق سريع + + + عودة إلى لائحة النسخ + + + عودة إلى تفاصيل النسخة + + + مشاركة + + + اليوم + + + نسخ/نسخة + + + إظهار قائمة بكل النسخ المطوّرة منذ {0} واكتشف كيف تطور الويندوز بشكل تدريجي منذ ذلك الوقت ، وذلك عبر هذه القائمة المنظمة من قبل الموقع BuildFeed. + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.cs.Designer.cs b/BuildFeed/Local/Front.cs.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.cs.resx b/BuildFeed/Local/Front.cs.resx new file mode 100644 index 0000000..62658b6 --- /dev/null +++ b/BuildFeed/Local/Front.cs.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + O + + + Přidat build + + + Objevte Windows build {0} z {1}, zkompilovaný {2}. + + + Objevte Windows build {0} z {1}. BuildFeed sleduje buildy Windows po celou dobu vývoje. + + + Buildy z {0} + + + Komentáře + + + Odstranit + + + Upravit + + + Upravit build + + + Akce editoru + + + Seznam buildů Windows NT + + + Podívejte se na všechny známé buildy Windows z větve {0} na BuildFeedu, společném seznamu buildů Windows + + + Výpis + + + Hledat další buildy z {0} + + + Hledat další buildy nalezené přes {0} + + + Hledat další buildy zkompilované v roce {0} + + + Žádná větev + + + Soukromý + + + Veřejný + + + Rychlé vložení + + + Vrátit se k výpisu buildů + + + Vrátit se k přehledu buildů + + + Sdílet + + + Dnes + + + buildů + + + Podívejte se na seznam všech buildů Windows zkompilovaných v roce {0} na BuildFeedu, společném seznamu buildů Windows + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.de.Designer.cs b/BuildFeed/Local/Front.de.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.de.resx b/BuildFeed/Local/Front.de.resx new file mode 100644 index 0000000..52e17b3 --- /dev/null +++ b/BuildFeed/Local/Front.de.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Über + + + Eine Build hinzufügen + + + Entdecke Windows Build {0}, von {1} und kompiliert am {2} + + + Entdecke Windows Build {0}, von {1}. BuildFeed verfolgt Windows Builds über ihren Entwicklungszeitraum. + + + Builds von + + + Kommentare + + + Löschen + + + Bearbeiten + + + Build bearbeiten + + + Editor aktionen + + + Windows NT Build Liste + + + Entdecke alle bekannten Builds aus dem Windows development lab {0} durch BuildFeed, eine kollaborative Windows build Liste. + + + Übersicht + + + Mehr builds von {0} + + + Mehr builds mit Quellenangabe {0} + + + Mehr {0} kompilierte builds + + + Kein lab string + + + Privat + + + Öffentlich + + + Schnell-einfügen + + + Zurück zur Build Liste + + + Zurück zur Build Übersicht + + + Teilen + + + Heute + + + builds + + + Siehe dir mit Hilfe von BuildFeed eine Liste aller Windows Builds an, die in {0} kompiliert wurden und beobachte, wie sich Windows stetig weiterentwickelt hat + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.el.Designer.cs b/BuildFeed/Local/Front.el.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.el.resx b/BuildFeed/Local/Front.el.resx new file mode 100644 index 0000000..446371a --- /dev/null +++ b/BuildFeed/Local/Front.el.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Σχετικά + + + Προσθήκη ενός build + + + Ανακαλύψτε σχετικά με το Build {0} των Windows, από {1} και έγινε compile στις {2}. + + + Ανακαλύψτε σχετικά με το Build {0} των Windows, από {1}. Το BuildFeed ακολουθεί τα builds των Windows σε όλη την πορεία ανάπτυξής τους. + + + Builds από {0} + + + Σχόλια + + + Διαγραφή + + + Επεξεργασία + + + Επεξεργασία build + + + Ενέργειες συντάκτη + + + Λίστα builds των Windows NT + + + Δείτε όλα τα γνωστά builds που βγήκαν από το lab ανάπτυξης {0} των Windows μέσα από το BuildFeed, μία συνεργατική λίστα builds των Windows + + + Λίστα + + + Αναζητήστε περισσότερα builds από {0} + + + Αναζητήστε περισσότερα builds προερχόμενα από {0} + + + Αναζητήστε περισσότερα builds που έγιναν compile στις {0} + + + Δεν υπάρχει lab + + + Ιδιωτικό + + + Δημόσιο + + + Γρήγορη-επικόλληση + + + Επιστροφή στη λίστα των builds + + + Επιστροφή στην επισκόπηση των builds + + + Κοινοποιήση + + + Σήμερα + + + builds + + + Δείτε μια λίστα όλων των builds των Windows που έγιναν compile στο {0} και δείτε πως τα Windows αναπτύχθηκαν σταθερά με τον χρόνο, μέσα από την συνεργατική λίστα builds των Windows, το BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.en.Designer.cs b/BuildFeed/Local/Front.en.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.en.resx b/BuildFeed/Local/Front.en.resx new file mode 100644 index 0000000..1cef55d --- /dev/null +++ b/BuildFeed/Local/Front.en.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Add a build + + + Discover about Windows Build {0}, from {1} and compiled on {2}. + + + Discover about Windows Build {0}, from {1}. BuildFeed tracks Windows builds throughout the development process. + + + Builds from {0} + + + Comments + + + Delete + + + Edit + + + Edit build + + + Editor actions + + + Windows NT build list + + + Check out all the known builds to come out of the Windows development lab {0} through BuildFeed, a collaborative Windows build list + + + Listing + + + Find more builds from {0} + + + Find more builds sourced from {0} + + + Find more builds compiled in {0} + + + No lab string + + + Private + + + Public + + + Quick-paste + + + Return to build listing + + + Return to build overview + + + Share + + + Today + + + builds + + + View a list of all Windows builds compiled in {0}, and watch how Windows developed steadily over time, through the collaborative build list, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.es.Designer.cs b/BuildFeed/Local/Front.es.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.es.resx b/BuildFeed/Local/Front.es.resx new file mode 100644 index 0000000..e33248e --- /dev/null +++ b/BuildFeed/Local/Front.es.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Sobre + + + Añadir una compilación + + + Descubre sobre la compilación {0}, de {1} y compilada en {2}. + + + Descubra sobre la compilación {0} de Windows, de {1}. BuildFeed rastrea las compilaciones de Windows a lo largo del processo de desarrollo. + + + Compilaciones de {0} + + + Comentarios + + + Borrar + + + Editar + + + Editar compilación + + + Acciones del editor + + + Lista de compilaciones de Windows NT + + + Vea todas las compilaciones que han salido del laboratório de desarrollo {0} de Windows con el BuildFeed, una lista colaborativa de compilaciones de Windows + + + Lista + + + Vea más compilaciones de {0} + + + Vea más compilaciones originales de {0} + + + Vea más compilaciones compiladas en {0} + + + Sin cadena de laboratorio + + + Privada + + + Pública + + + Pegar rápidamente + + + Volver a la lista de compilaciones + + + Volver a la vista general + + + Compartir + + + Hoy + + + Compilaciones + + + Vea una lista de todas las compilaciones de Windows hechas en {0}, y vea como Windows se desarrolló con el tiempo, con la lista colaborativa de compilaciones, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.fi.Designer.cs b/BuildFeed/Local/Front.fi.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.fi.resx b/BuildFeed/Local/Front.fi.resx new file mode 100644 index 0000000..641c32f --- /dev/null +++ b/BuildFeed/Local/Front.fi.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Tietoja + + + Lisää koontiversio + + + Discover about Windows Build {0}, from {1} and compiled on {2}. + + + Discover about Windows Build {0}, from {1}. BuildFeed jäljittää Windowsin koontiversioita sen kehitysprosessin aikana. + + + Builds from {0} + + + Kommentit + + + Poista + + + Muokkaa + + + Muokkaa koontiversiota + + + Muokkaajan toiminnot + + + Windows NT-koontiversiolista + + + Katso kaikki tunnetut koontiversiot, jotka tulivat kehityslab {0}:sta Buildfeedistä, yhteistyöhön perustuvasta koontiversiolistasta. + + + Listaus + + + Lisää koontiversioita {0}-labista + + + Lisää koontiversioita lähteestä {0} + + + Lisää koontiversioita vuodelta {0} + + + Ei build labia + + + Yksityinen + + + Julkinen + + + Pikaliittäminen + + + Takaisin listaukseen + + + Takaisin koontiversion yleiskatsaukseen + + + Jaa + + + Tänään + + + koontiversiota + + + Katso lista kaikista Windowsin koontiversioista vuodelta {0}, ja katso kuinka Windows kehittyi vakaasti ajan myötä käyttäen BuildFeediä, yhteistyöhön perustuvaa koontiversiolistaa. + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.fr.Designer.cs b/BuildFeed/Local/Front.fr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.fr.resx b/BuildFeed/Local/Front.fr.resx new file mode 100644 index 0000000..f0a9103 --- /dev/null +++ b/BuildFeed/Local/Front.fr.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + A propos + + + Ajouter une build + + + En apprendre plus sur la Build {0}, de {1} et compilée en {2}. + + + En apprendre plus sur la Build {0}, de {1}. BuildFeed suit les builds Windows au cours de leur développement. + + + Builds de {0} + + + Commentaires + + + Effacer + + + Modifier + + + Modifier une build + + + Actions d'édition + + + Liste des builds Windows NT + + + Voir toutes les builds connnues développées par le lab {0} via BuildFeed, une liste collaborative des builds Windows + + + Liste + + + Trouver plus de builds de {0} + + + Trouver plus de builds sourcées par {0} + + + Trouver plus de builds compilées en {0} + + + Aucune information sur le lab + + + Privé + + + Public + + + Coller rapidement + + + Revenir à la liste des builds + + + Revenir à l'aperçu de la build + + + Partager + + + Aujourd'hui + + + builds + + + Voir une liste de toutes les builds Windows compilées en {0}, et voir comment Windows est développé de manière constante dans le temps, gràace à une liste collaborative des builds, BuildFeed. + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.he.Designer.cs b/BuildFeed/Local/Front.he.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.he.resx b/BuildFeed/Local/Front.he.resx new file mode 100644 index 0000000..0a73c51 --- /dev/null +++ b/BuildFeed/Local/Front.he.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + אודות + + + הוספת בילד + + + מידע נוסף אודות הבילד {0}, מ {1} והודר ב {2}. + + + מידע נוסף אודות הבילד{0}, מ {1}. BuildFeed עוקב אחרי בילדים של חלונות במהלך תהליך הפיתוח. + + + בילדים מ {0} + + + הערות + + + מחק + + + ערוך + + + ערוך בילד + + + פעולות עורך + + + רשימת בילדים של Windows NT + + + צפו בכל הבילדים הידועים ממעבדת הפיתוח של Windows {0} דרך BuildFeed, רשימת בילדים שיתופית של Windows + + + רשימה + + + מצא בילדים נוספים מ {0} + + + מצא בילדים נוספים שמקורם ב {0} + + + מצא בילדים נוספים שהודרו ב {0} + + + אין מחרוזת מעבדה + + + פנימי + + + ציבורי + + + הדבקה מהירה + + + חזור לרשימת הבילדים + + + חזרה לתיאור הבילד + + + שתף + + + היום + + + בילדים + + + הצג רשימה של כל הבילדים שהודרו ב {0}, וצפה כיצד Windows מפותח עם הזמן הודות למאמץ המשותף ב, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.hr.Designer.cs b/BuildFeed/Local/Front.hr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.hr.resx b/BuildFeed/Local/Front.hr.resx new file mode 100644 index 0000000..ccfbcb9 --- /dev/null +++ b/BuildFeed/Local/Front.hr.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + O + + + Dodaj verziju + + + Saznaj o Windows verziji {0}, od {1} i kompajliranu {2} + + + Saznaj o Windows verziji {0}, od {1}. BuildFeed prati verzije Windowsa koje nastaju tijekom razvijanja. + + + Verzije od {0} + + + Komentari + + + Izbriši + + + Promijeni + + + Promijeni verziju + + + Akcije editora + + + Lista Windows NT verzija + + + Pogledaj sve poznate verzije Windowsa iz grane {0} u BuildFeedu, javno održavanom listom Windows verzija + + + Popis + + + Nađi više verzija od {0} + + + Nađi više verzija od {0} koje su nastale od istog izvora + + + Nađi više verzija koje su kompajlirane od {0} + + + Nema naziva grane + + + Privatni + + + Javni + + + Brzo zalijepi + + + Povratak na listu verzija + + + Povratak na pregled verzija + + + Podijeli + + + Danas + + + verzije + + + Pogledaj listu svih Windows verzija kompajliranih u {0} i pogledaj kako je prolazio razvoj Windowsa kroz vrijeme preko javno održavane liste - BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.id.Designer.cs b/BuildFeed/Local/Front.id.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.id.resx b/BuildFeed/Local/Front.id.resx new file mode 100644 index 0000000..d582c6e --- /dev/null +++ b/BuildFeed/Local/Front.id.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Tentang + + + Tambah Build + + + Temukan tentang Windows Build {0}, dari {1} dan dikompilasi pada {2}. + + + Temukan tentang Windows Build {0}, dari {1}. BuildFeed melacak Windows Build di seluruh pengembangan + + + Build dari {0} + + + Komentar + + + Hapus + + + Edit + + + Edit build + + + Tindakan editor + + + List build Windows NT + + + Ayo cek semua build dari lab pengembangan Windows {0} lewat BuildFeed , list build Windows yang kolaboratif + + + Daftar + + + Cari lebih banyak build dari {0} + + + Cari lebih banyak build yang bersumber dari {0} + + + Cari lebih banyak build yang dikompilasi di {0} + + + Tidak ada lab string + + + Privat + + + Publik + + + Tempel cepat + + + Kembali ke daftar build + + + Kembali ke informasi build + + + Bagi + + + Hari ini + + + Build dari {0} + + + Lihat semua Windows build yang dikompilasi di {0}, dan lihat bagaimana Windows dibangun terus menerus , lewat build list yang kolaboratif, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.it.Designer.cs b/BuildFeed/Local/Front.it.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.it.resx b/BuildFeed/Local/Front.it.resx new file mode 100644 index 0000000..9dd6874 --- /dev/null +++ b/BuildFeed/Local/Front.it.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Informazioni su + + + Aggiungi un build + + + Scopri informazioni sul build {0} + + + Scopri informazioni sul build {0} di Windows, da {1}. BuildFeed traccia i build di Windows al corso del processo di sviluppo. + + + Builds from {0} + + + Commentari + + + Cancella + + + Modifica + + + Modifica build + + + Azioni dell'editor + + + Lista build di Windows NT + + + Vedi tutti i build che sono usciti dal laboratorio di sviluppo {0} di Windows con BuildFeed, una lista collaborativa di Build Windows + + + Lista + + + Vedi più build di {0} + + + Vedi più build originali di {0} + + + Vedi più build compilati il {0} + + + Senza informazioni sul laboratorio + + + Privato + + + Pubblico + + + Incolla rapidamente + + + Ritorna alla lista build + + + Ritorna alla visione generale + + + Condividi + + + Oggi + + + BuildFeed + + + Vedi una lista di tutti i build Windows fatti il {0}, e vedi come Windows si è sviluppato con il tempo, con la lista collaborative di build, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.nl.Designer.cs b/BuildFeed/Local/Front.nl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.nl.resx b/BuildFeed/Local/Front.nl.resx new file mode 100644 index 0000000..5ee2632 --- /dev/null +++ b/BuildFeed/Local/Front.nl.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Over + + + Build toevoegen + + + Ontdek over Windows build {0} van {1} gecompileerd op {2}. + + + Ontdek over Windows build {0} van {1}. BuildFeed houdt het ontwikkelprocess van Windows builds in de gaten + + + Builds van {0} + + + Commentaar + + + Verwijderen + + + Bewerken + + + Build bewerken + + + Redacteur acties + + + Windows NT buildlijst + + + Bekijk alle Windows builds van het lab {0} via BuildFeed, een Windows build lijst + + + Lijst + + + Vind meer builds van {0} + + + Vind meer builds afkomsting van {0} + + + Vind meer builds gecompileerd in {0} + + + Geen lab informatie + + + Prive + + + Publiek + + + Snel plakken + + + Terug naar de build lijst + + + Terug naar het build overzicht + + + Delen + + + Vandaag + + + builds + + + Bekijk alle Windows builds gecompileerd in {0} via BuildFeed, een Windows build lijst + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.pt-br.Designer.cs b/BuildFeed/Local/Front.pt-br.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.pt-br.resx b/BuildFeed/Local/Front.pt-br.resx new file mode 100644 index 0000000..f7eccaf --- /dev/null +++ b/BuildFeed/Local/Front.pt-br.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Sobre + + + Adicionar uma compilação + + + Descubra sobre a compilação {0} do Windows, do {1} e feita em {2}. + + + Descubra sobre a compilação {0} do Windows, do {1}. O BuildFeed rastreia compilações do Windows ao decorrer do processo de desenvolvimento. + + + Compilações do + + + Comentários + + + Apagar + + + Editar + + + Editar compilação + + + Ações do editor + + + Lista de compilações do Windows NT + + + Veja todas as compilações que saíram do laboratório de desenvolvimento {0} do Windows com o BuildFeed, uma lista colaborativa de compilações do Windows + + + Listagem + + + Veja mais compilações do {0} + + + Veja mais compilações originadas de {0} + + + Veja mais compilações compiladas em {0} + + + Sem informações de laboratório + + + Privada + + + Pública + + + Colar rapidamente + + + Voltar para a lista de compilações + + + Voltar para a visão geral da compilação + + + Compartilhar + + + Hoje + + + compilações + + + Veja uma lista de todas as compilações do Windows feitas em {0}, e veja como o Windows desenvolveu-se com o tempo, com a lista colaborativa de compilações, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.pt.Designer.cs b/BuildFeed/Local/Front.pt.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.pt.resx b/BuildFeed/Local/Front.pt.resx new file mode 100644 index 0000000..0099cae --- /dev/null +++ b/BuildFeed/Local/Front.pt.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Acerca de + + + Adicionar uma compilação + + + Descubra acerca da compilação {0} do Windows, do {1} e feita em {2}. + + + Descubra acerca da compilação {0} do Windows, do {1}. O BuildFeed rastreia as compilações do Windows ao decorrer do processo de desenvolvimento. + + + Compilações a partir de {0} + + + Comentários + + + Eliminar + + + Editar + + + Editar compilação + + + Acções do editor + + + Lista das compilações do Windows NT + + + Veja todas as compilações que tinham saído do laboratório de desenvolvimento {0} do Windows com o BuildFeed, uma lista colaborativa de compilações do Windows + + + Listagem + + + Veja mais compilações de {0} + + + Veja mais compiliações originais de {0} + + + Veja mais compilações compiladas em {0} + + + Sem informações acerca do laboratório + + + Privada + + + Pública + + + Colar rapidamente + + + Voltar para a lista das compilações + + + Voltar para a visão geral + + + Partilhar + + + Hoje + + + Compilações a partir de + + + Veja uma lista de todas as compilações do Windows feitas em {0}, e veja como o Windows desenvolveu-se com o tempo, com a lista colaborativa de compilações, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.qps-ploc.Designer.cs b/BuildFeed/Local/Front.qps-ploc.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.qps-ploc.resx b/BuildFeed/Local/Front.qps-ploc.resx new file mode 100644 index 0000000..d332f1e --- /dev/null +++ b/BuildFeed/Local/Front.qps-ploc.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! Âβôúƭ !!!] + + + [!!! Âδδ á βúïℓδ !!!] + + + [!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1} áñδ çô₥ƥïℓèδ ôñ {2}. ℓôřè₥ !!!] + + + [!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1}. ßúïℓδFèèδ ƭřáçƙƨ Wïñδôωƨ βúïℓδƨ ƭλřôúϱλôúƭ ƭλè δèƲèℓôƥ₥èñƭ ƥřôçèƨƨ. ℓôřè₥ ïƥƨú !!!] + + + [!!! ßúïℓδƨ ƒřô₥ {0} !!!] + + + [!!! Çô₥₥èñƭƨ !!!] + + + [!!! Ðèℓèƭè !!!] + + + [!!! Éδïƭ !!!] + + + [!!! Éδïƭ βúïℓδ !!!] + + + [!!! Éδïƭôř áçƭïôñƨ !!!] + + + [!!! Wïñδôωƨ NT βúïℓδ ℓïƨƭ ℓ !!!] + + + [!!! Çλèçƙ ôúƭ áℓℓ ƭλè ƙñôωñ βúïℓδƨ ƭô çô₥è ôúƭ ôƒ ƭλè Wïñδôωƨ δèƲèℓôƥ₥èñƭ ℓáβ {0} ƭλřôúϱλ ßúïℓδFèèδ, á çôℓℓáβôřáƭïƲè Wïñδôωƨ βúïℓδ ℓïƨƭ ℓôřè₥ ïƥƨú₥ !!!] + + + [!!! £ïƨƭïñϱ !!!] + + + [!!! Fïñδ ₥ôřè βúïℓδƨ ƒřô₥ {0} ℓô !!!] + + + [!!! Fïñδ ₥ôřè βúïℓδƨ ƨôúřçèδ ƒřô₥ {0} ℓô !!!] + + + [!!! Fïñδ ₥ôřè βúïℓδƨ çô₥ƥïℓèδ ïñ {0} ℓô !!!] + + + [!!! Nô ℓáβ ƨƭřïñϱ !!!] + + + [!!! ÞřïƲáƭè !!!] + + + [!!! Þúβℓïç !!!] + + + [!!! Qúïçƙ-ƥáƨƭè !!!] + + + [!!! Rèƭúřñ ƭô βúïℓδ ℓïƨƭïñϱ ℓ !!!] + + + [!!! Rèƭúřñ ƭô βúïℓδ ôƲèřƲïèω ℓ !!!] + + + [!!! §λářè !!!] + + + [!!! Tôδᥠ!!!] + + + [!!! βúïℓδƨ !!!] + + + [!!! Vïèω á ℓïƨƭ ôƒ áℓℓ Wïñδôωƨ βúïℓδƨ çô₥ƥïℓèδ ïñ {0}, áñδ ωáƭçλ λôω Wïñδôωƨ δèƲèℓôƥèδ ƨƭèáδïℓ¥ ôƲèř ƭï₥è, ƭλřôúϱλ ƭλè çôℓℓáβôřáƭïƲè βúïℓδ ℓïƨƭ, ßúïℓδFèèδ ℓôřè₥ ïƥƨú₥ δô !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.resx b/BuildFeed/Local/Front.resx new file mode 100644 index 0000000..d332f1e --- /dev/null +++ b/BuildFeed/Local/Front.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! Âβôúƭ !!!] + + + [!!! Âδδ á βúïℓδ !!!] + + + [!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1} áñδ çô₥ƥïℓèδ ôñ {2}. ℓôřè₥ !!!] + + + [!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1}. ßúïℓδFèèδ ƭřáçƙƨ Wïñδôωƨ βúïℓδƨ ƭλřôúϱλôúƭ ƭλè δèƲèℓôƥ₥èñƭ ƥřôçèƨƨ. ℓôřè₥ ïƥƨú !!!] + + + [!!! ßúïℓδƨ ƒřô₥ {0} !!!] + + + [!!! Çô₥₥èñƭƨ !!!] + + + [!!! Ðèℓèƭè !!!] + + + [!!! Éδïƭ !!!] + + + [!!! Éδïƭ βúïℓδ !!!] + + + [!!! Éδïƭôř áçƭïôñƨ !!!] + + + [!!! Wïñδôωƨ NT βúïℓδ ℓïƨƭ ℓ !!!] + + + [!!! Çλèçƙ ôúƭ áℓℓ ƭλè ƙñôωñ βúïℓδƨ ƭô çô₥è ôúƭ ôƒ ƭλè Wïñδôωƨ δèƲèℓôƥ₥èñƭ ℓáβ {0} ƭλřôúϱλ ßúïℓδFèèδ, á çôℓℓáβôřáƭïƲè Wïñδôωƨ βúïℓδ ℓïƨƭ ℓôřè₥ ïƥƨú₥ !!!] + + + [!!! £ïƨƭïñϱ !!!] + + + [!!! Fïñδ ₥ôřè βúïℓδƨ ƒřô₥ {0} ℓô !!!] + + + [!!! Fïñδ ₥ôřè βúïℓδƨ ƨôúřçèδ ƒřô₥ {0} ℓô !!!] + + + [!!! Fïñδ ₥ôřè βúïℓδƨ çô₥ƥïℓèδ ïñ {0} ℓô !!!] + + + [!!! Nô ℓáβ ƨƭřïñϱ !!!] + + + [!!! ÞřïƲáƭè !!!] + + + [!!! Þúβℓïç !!!] + + + [!!! Qúïçƙ-ƥáƨƭè !!!] + + + [!!! Rèƭúřñ ƭô βúïℓδ ℓïƨƭïñϱ ℓ !!!] + + + [!!! Rèƭúřñ ƭô βúïℓδ ôƲèřƲïèω ℓ !!!] + + + [!!! §λářè !!!] + + + [!!! Tôδᥠ!!!] + + + [!!! βúïℓδƨ !!!] + + + [!!! Vïèω á ℓïƨƭ ôƒ áℓℓ Wïñδôωƨ βúïℓδƨ çô₥ƥïℓèδ ïñ {0}, áñδ ωáƭçλ λôω Wïñδôωƨ δèƲèℓôƥèδ ƨƭèáδïℓ¥ ôƲèř ƭï₥è, ƭλřôúϱλ ƭλè çôℓℓáβôřáƭïƲè βúïℓδ ℓïƨƭ, ßúïℓδFèèδ ℓôřè₥ ïƥƨú₥ δô !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.ro.Designer.cs b/BuildFeed/Local/Front.ro.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.ro.resx b/BuildFeed/Local/Front.ro.resx new file mode 100644 index 0000000..6dfa31f --- /dev/null +++ b/BuildFeed/Local/Front.ro.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Despre + + + Adăugare build + + + Descoperă despre Windows Build {0}, de la {1} și compilat pe {2}. + + + Descoperă despre Windows Build {0}, de la {1}. BuildFeed urmărește build-urile Windows pe parcursul procesului de dezvoltare. + + + Build-uri de la {0} + + + Comentarii + + + Ștergere + + + Editare + + + Editare Build + + + Acțiuni editor + + + Listă build-uri Windows NT + + + Consultă toate build-urile cunoscute a fi ieșit din lab-ul de dezvoltare Windows {0} prin BuildFeed, o listă colaborativă de build-uri Windows + + + Listare + + + Găsește mai multe build-uri din {0} + + + Găsește mai multe build-uri provenind din {0} + + + Găsește mai multe build-uri compilate în {0} + + + Nicio etichetă lab + + + Privat + + + Public + + + Lipire rapidă + + + Înapoi la listă build-uri + + + Înapoi la privire de ansamblu build + + + Partajare + + + Azi + + + build-uri + + + Vizualizați o listă a tuturor build-urilor Windows compilate în {0}, și urmăriți cum Windows s-a dezvoltat constant peste timp, prin lista colaborativă de build-uri, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.ru.Designer.cs b/BuildFeed/Local/Front.ru.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.ru.resx b/BuildFeed/Local/Front.ru.resx new file mode 100644 index 0000000..2e0e54a --- /dev/null +++ b/BuildFeed/Local/Front.ru.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + О сайте + + + Добавить сборку + + + Информация о сборке Windows Build {0}, из {1} скомпилированной{2}. + + + Информация о сборке Windows Build {0}, из {1}. BuildFeed отслеживает сборки Windows в ходе разработки. + + + Сборки из {0} + + + Комментарии + + + Удалить + + + Редактировать + + + Редактировать сборку + + + Действия редактора + + + Список сборок Windows NT + + + Взгляните на все известные сборки Windows из лаборатории {0} с помощью BuildFeed, списка сборок Windows, собранного энтузиастами + + + Список + + + Еще сборки из лаборатории {0} + + + Еще сборки из {0} + + + Все сборки, созданные в {0} + + + Лаборатория не указана + + + Приватная + + + Публичная + + + Быстрая вставка + + + Вернуться к списку + + + Все сборки с этим номером + + + Поделиться + + + Сегодня + + + сборок + + + Взгляните на все известные сборки Windows, собранные в {0} году с помощью BuildFeed, списка сборок Windows, собранного энтузиастами + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.sk.Designer.cs b/BuildFeed/Local/Front.sk.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.sk.resx b/BuildFeed/Local/Front.sk.resx new file mode 100644 index 0000000..c12c764 --- /dev/null +++ b/BuildFeed/Local/Front.sk.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + O + + + Pridať build + + + Objavte Windows Build {0}, z {1}, zkompilovaný {2}. + + + Objavte Windows Build {0}, z {1}. BuildFeed sleduje buildy Windowsu počas procesu vývoja. + + + Buildy z {0} + + + Komentáre + + + Odstrániť + + + Upraviť + + + Upraviť build + + + Akcie editoru + + + Zoznam buildov Windows NT + + + Pozrite sa na všetky známe buildy Windowsu ktoré pochádzajú z labu {0} pomocou BuildFeed, spoločnom zozname buildov Windowsu + + + Výpis + + + Nájdi viac buildov z {0} + + + Nájdi viac buildov pochádzajúcich zo zdroja {0} + + + Nájdi viac buildov kompilovaných v {0} + + + Žiadny lab + + + Súkromný + + + Verejný + + + Rýchle prilepenie + + + Naspäť k výpisu buildov + + + Naspäť k prehľadu buildov + + + Zdieľať + + + Dnes + + + buildov + + + Pozrite sa na výpis všetkých buildov kompilovaných v {0} a sledujte ako sa Windows časom vyvíjal, pomocou spoločného zoznamu buildov, BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.sl.Designer.cs b/BuildFeed/Local/Front.sl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.sl.resx b/BuildFeed/Local/Front.sl.resx new file mode 100644 index 0000000..9b9f44f --- /dev/null +++ b/BuildFeed/Local/Front.sl.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Vizitka + + + Dodaj različico + + + Odkrij Windows različico {0}, iz {1} in narejeno {2}. + + + Odkrij Windows različico {0}, iz {1}. BuildFeed sledi Windows različicam skozi razvoj. + + + Različice iz {0} + + + Komentarji + + + Izbriši + + + Uredi + + + Uredi različico + + + Dejanja urejevalnika + + + Seznam različic Windows NT + + + Poglej si vse znane različice, ki so izšle iz veje {0} z uporabo BuildFeed-a, prostega seznama Windows različic. + + + Seznam + + + Poišči več različic iz {0} + + + Poišči več različic iz vira {0} + + + Poišči več različic, grajenih v {0} + + + Ni imena veje + + + Zasebno + + + Javno + + + Hitro lepljenje + + + Vrni se na seznam različic + + + Vrni se na pregled različic + + + Deli + + + Danes + + + Različic + + + Poglej seznam vseh Windows različic, grajenih v {0} in opazuj, kako se je Windows počasi razvijal skozi čas, z uporabo prostega seznama BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.sv.Designer.cs b/BuildFeed/Local/Front.sv.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.sv.resx b/BuildFeed/Local/Front.sv.resx new file mode 100644 index 0000000..d17b522 --- /dev/null +++ b/BuildFeed/Local/Front.sv.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Om + + + Lägg till en build + + + Upptäck Windows Build {0}, från {1} och kompilerad {2}. + + + [!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1}. ßúïℓδFèèδ ƭřáçƙƨ Wïñδôωƨ βúïℓδƨ ƭλřôúϱλôúƭ ƭλè δèƲèℓôƥ₥èñƭ ƥřôçèƨƨ. ℓôřè₥ ïƥƨú !!!] + + + Builds från {0} + + + Kommentarer + + + Ta bort + + + Ändra + + + Ändra build + + + Editor-funktioner + + + Windows NT build-lista + + + Kolla alla kända builds som kommer från Windows development lab {0} genom BuildFeed, en samarbetad Windows build-lista + + + Lista + + + Hitta fler builds från {0} + + + Hitta fler builds från {0} + + + Hitta fler builds kompilerad i {0} + + + Ingen lab string + + + Privat + + + Allmän + + + Klistra in + + + Återgå till build-lista + + + Återgå till build-översikt + + + Dela + + + Idag + + + builds + + + Se en lista över alla Windows-builds kompilerade {0}, och se hur Windows utvecklades över tid, genom buildlistan BuildFeed + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.zh-tw.Designer.cs b/BuildFeed/Local/Front.zh-tw.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.zh-tw.resx b/BuildFeed/Local/Front.zh-tw.resx new file mode 100644 index 0000000..8152928 --- /dev/null +++ b/BuildFeed/Local/Front.zh-tw.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 關於 + + + 新增組建 + + + 了解更多關於來自於 {1},完成於 {2} 之 Windows 組建號碼 {0} 的詳情。 + + + 了解更多關於來自於 {1} 之 Windows 組建號碼 {0} 的詳情。 + + + Builds from {0} + + + 留言 + + + 刪除 + + + 編輯 + + + 編輯組建 + + + 編輯操作 + + + Windows NT 組建列表 + + + 透過 BuildFeed,一個基於社群協作的 Windows 組建列表,查看所有來自於 Windows 開發 Lab {0} 之所有已知組建的詳情。 + + + 列表 + + + 查看更多來自於 {0} 的組建 + + + 查看更多訊息來源為 {0} 的組建 + + + 查看更多編譯於 {0} 年的組建 + + + 缺少 Lab 字串 + + + 私人 + + + 公開 + + + Quick-paste + + + 回到組建列表 + + + 回到組建概觀 + + + 分享 + + + 今天 + + + 個組建 + + + 透過 BuildFeed,一個基於社群協作的 Windows 組建列表,查看所有來自於 Windows 開發 Lab {0} 之所有已知組建的詳情,並從中觀察 Windows 隨著時間的發展。 + + \ No newline at end of file diff --git a/BuildFeed/Local/Front.zh.Designer.cs b/BuildFeed/Local/Front.zh.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Front.zh.resx b/BuildFeed/Local/Front.zh.resx new file mode 100644 index 0000000..7b7b6d5 --- /dev/null +++ b/BuildFeed/Local/Front.zh.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 关于 + + + 添加版本 + + + 了解更多关于编译于{2},{1}分支的 Windows 版本 {0}。 + + + 了解更多关于来自{1}分支的 Windows 版本 {0}。BuildFeed在开发过程中全程追踪 Windows 版本。 + + + 来自 {0} 的版本 + + + 评论 + + + 删除 + + + 编辑 + + + 编辑版本 + + + 编辑操作 + + + Windows NT 版本列表 + + + 通过 BuildFeed,一个基于社区协作的 Windows 版本列表,查看所有来自于 {0} 分支的已知版本号。 + + + 列表 + + + 查看更多{0}分支的版本 + + + 查看更多{0}的版本 + + + 查看更多在{0}年编译的版本 + + + 无分支名 + + + 私密 + + + 公开 + + + 快速粘贴 + + + 返回版本列表 + + + 返回版本概览 + + + 分享 + + + 今天 + + + 个版本 + + + 通过基于社区协作的 Windows 版本列表 BuildFeed,查看在{0}年编译的所有Windows版本列表,以及 Windows 是怎样随着时间推移不断开发的 + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.Designer.cs b/BuildFeed/Local/Model.Designer.cs new file mode 100644 index 0000000..626b1ac --- /dev/null +++ b/BuildFeed/Local/Model.Designer.cs @@ -0,0 +1,306 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace BuildFeed.Local { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Model { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Model() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BuildFeed.Local.Model", typeof(Model).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to [!!! Tï₥è çřèáƭèδ !!!]. + /// + public static string Added { + get { + return ResourceManager.GetString("Added", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Âƥƥ ƥáçƙáϱè !!!]. + /// + public static string AppPackage { + get { + return ResourceManager.GetString("AppPackage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ßúïℓδ ƭï₥è !!!]. + /// + public static string BuildTime { + get { + return ResourceManager.GetString("BuildTime", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ßúïℓδ ƭôôℓƨ !!!]. + /// + public static string BuildTools { + get { + return ResourceManager.GetString("BuildTools", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Ðôçú₥èñƭáƭïôñ !!!]. + /// + public static string Documentation { + get { + return ResourceManager.GetString("Documentation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Çáñář¥ !!!]. + /// + public static string FlightCanary { + get { + return ResourceManager.GetString("FlightCanary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Fℓïϱλƭ ℓèƲèℓ !!!]. + /// + public static string FlightLevel { + get { + return ResourceManager.GetString("FlightLevel", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Mïçřôƨôƒƭ Ìñƭèřñáℓ ℓ !!!]. + /// + public static string FlightMSIT { + get { + return ResourceManager.GetString("FlightMSIT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Nôñè !!!]. + /// + public static string FlightNone { + get { + return ResourceManager.GetString("FlightNone", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Óƥèřáƭïñϱ §¥ƨƭè₥ƨ Gřôúƥ ℓ !!!]. + /// + public static string FlightOSG { + get { + return ResourceManager.GetString("FlightOSG", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Wïñδôωƨ Ìñƨïδèř Fáƨƭ ℓ !!!]. + /// + public static string FlightWIF { + get { + return ResourceManager.GetString("FlightWIF", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Wïñδôωƨ Ìñƨïδèř §ℓôω ℓ !!!]. + /// + public static string FlightWIS { + get { + return ResourceManager.GetString("FlightWIS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Þúβℓïç ℓèáƙ !!!]. + /// + public static string InternalLeak { + get { + return ResourceManager.GetString("InternalLeak", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! £áβ ƨƭřïñϱ !!!]. + /// + public static string Lab { + get { + return ResourceManager.GetString("Lab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! £èáƙ ôř řèℓèáƨè δáƭè ℓ !!!]. + /// + public static string LeakDate { + get { + return ResourceManager.GetString("LeakDate", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! £ôϱϱïñϱ !!!]. + /// + public static string Logging { + get { + return ResourceManager.GetString("Logging", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! MáJôř Ʋèřƨïôñ !!!]. + /// + public static string MajorVersion { + get { + return ResourceManager.GetString("MajorVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Mïñôř Ʋèřƨïôñ !!!]. + /// + public static string MinorVersion { + get { + return ResourceManager.GetString("MinorVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Tï₥è ₥ôδïƒïèδ !!!]. + /// + public static string Modified { + get { + return ResourceManager.GetString("Modified", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ßúïℓδ ñú₥βèř !!!]. + /// + public static string Number { + get { + return ResourceManager.GetString("Number", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ÞřïƲáƭè ℓèáƙ !!!]. + /// + public static string PrivateLeak { + get { + return ResourceManager.GetString("PrivateLeak", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Þúβℓïç řèℓèáƨè !!!]. + /// + public static string PublicRelease { + get { + return ResourceManager.GetString("PublicRelease", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ßúïℓδ řèƲïƨïôñ !!!]. + /// + public static string Revision { + get { + return ResourceManager.GetString("Revision", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! §ôúřçè δèƭáïℓƨ !!!]. + /// + public static string SourceDetails { + get { + return ResourceManager.GetString("SourceDetails", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! §ôúřçè ƭ¥ƥè !!!]. + /// + public static string SourceType { + get { + return ResourceManager.GetString("SourceType", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Ûƥδáƭè (GÐR) !!!]. + /// + public static string UpdateGDR { + get { + return ResourceManager.GetString("UpdateGDR", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Ûƥδáƭè (£ÐR) !!!]. + /// + public static string UpdateLDR { + get { + return ResourceManager.GetString("UpdateLDR", resourceCulture); + } + } + } +} diff --git a/BuildFeed/Local/Model.ar.Designer.cs b/BuildFeed/Local/Model.ar.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.ar.resx b/BuildFeed/Local/Model.ar.resx new file mode 100644 index 0000000..0a69e79 --- /dev/null +++ b/BuildFeed/Local/Model.ar.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + وقت التصنيع + + + حزمة خاصة بتطبيق + + + تاريخ ووقت النسخة + + + أدوات النسخة + + + مستندات + + + المستوى الأولي (Canary) + + + مستوى النسخة + + + مستوى موظفي مايكروسوفت الداخلي (MSIT) + + + بدون + + + مستوى مجموعة نظام التشغيل (OSG) + + + نسخ المختبرين - المستوى السريع WIF + + + نسخ المختبرين - المستوى البطيء WIS + + + تسريب عام للنسخة + + + سلسلة المختبر + + + تاريخ ووقت التسريب أو النشر + + + من السجلات + + + رقم النسخة الرئيسي + + + رقم النسخة الفرعي + + + وقت التعديل + + + رقم النسخة + + + نسخة خاصة غير مسربة + + + نسخة عامة + + + رقم مرجع بناء النسخة + + + تفاصيل المصدر + + + نوع المصدر + + + تحديث GDR + + + تحديث LDR + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.cs.Designer.cs b/BuildFeed/Local/Model.cs.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.cs.resx b/BuildFeed/Local/Model.cs.resx new file mode 100644 index 0000000..7e02f0f --- /dev/null +++ b/BuildFeed/Local/Model.cs.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Přidáno + + + Balíček aplikace + + + Čas sestavení + + + Nástroje pro kompilaci + + + Dokumentace + + + Canary + + + Stupeň flight + + + Uvnitř Microsoftu + + + Žádný + + + Skupina operačních systemů (OSG) + + + Rychlý aktualizační kanál Windows Insider + + + Pomalý aktualizační kanál Windows Insider + + + Veřejný leak + + + Větev + + + Datum leaku nebo vydání + + + Logging + + + Hlavní verze + + + Vedlejší verze + + + Čas úpravy + + + Číslo buildu + + + Soukromý únik + + + Veřejné vydání + + + Revize buildu + + + Detaily o zdroji + + + Druh zdroje + + + Aktualizace (GDR) + + + Aktualizace (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.de.Designer.cs b/BuildFeed/Local/Model.de.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.de.resx b/BuildFeed/Local/Model.de.resx new file mode 100644 index 0000000..cd49bc9 --- /dev/null +++ b/BuildFeed/Local/Model.de.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Hinzugefügt am + + + Programm Paket + + + Build Zeit + + + Build Werkzeuge + + + Dokumentation + + + Canary + + + Flight Level + + + Microsoft-intern + + + Kein + + + Betriebssystem Gruppe + + + Windows Insider Schnell + + + Windows Insider Langsam + + + Öffentlicher Leak + + + Lab string + + + Leak- oder Veröffentlichungsdatum + + + Logging + + + Major Version + + + Minor Version + + + Geändert am + + + Buildnummer + + + Privater Leak + + + Öffentliche Version + + + Build Revision + + + Quellen Details + + + Quellen Typ + + + GDR Update + + + LDR Update + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.el.Designer.cs b/BuildFeed/Local/Model.el.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.el.resx b/BuildFeed/Local/Model.el.resx new file mode 100644 index 0000000..d819ee1 --- /dev/null +++ b/BuildFeed/Local/Model.el.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Ημερομηνία δημιουργίας + + + Πακέτο εφαρμογής + + + Ώρα Build + + + Εργαλεία Build + + + Τεκμηρίωση + + + Canary + + + Επίπεδο Flight + + + Microsoft Internal + + + Κανένα + + + Ομάδα Λειτουργικών Συστημάτων + + + Windows Insider Γρήγορο + + + Windows Insider Αργό + + + Δημόσια διαρροή + + + Lab + + + Ημερομηνία διαρροής ή έκδοσης + + + Καταγραφή + + + Κύρια έκδοση + + + Ελάσσων έκδοση + + + Ημερομηνία τροποποίησης + + + Αριθμός Build + + + Ιδιωτική διαρροή + + + Δημόσια έκδοση + + + Αναθεώρηση Build + + + Λεπτομέρειες πηγής + + + Τύπος πηγής + + + Ενημέρωση (GDR) + + + Ενημέρωση (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.en.Designer.cs b/BuildFeed/Local/Model.en.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.en.resx b/BuildFeed/Local/Model.en.resx new file mode 100644 index 0000000..368aac7 --- /dev/null +++ b/BuildFeed/Local/Model.en.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Time created + + + App package + + + Build time + + + Build tools + + + Documentation + + + Canary + + + Flight level + + + Microsoft Internal + + + None + + + Operating Systems Group + + + Windows Insider Fast + + + Windows Insider Slow + + + Public leak + + + Lab string + + + Leak or release date + + + Logging + + + Major version + + + Minor version + + + Time modified + + + Build number + + + Private leak + + + Public release + + + Build revision + + + Source details + + + Source type + + + Update (GDR) + + + Update (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.es.Designer.cs b/BuildFeed/Local/Model.es.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.es.resx b/BuildFeed/Local/Model.es.resx new file mode 100644 index 0000000..541dd6a --- /dev/null +++ b/BuildFeed/Local/Model.es.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Hora de creación + + + Paquete de aplicación + + + Hora de compilación + + + Herramientas de compilación + + + Documentación + + + Canary + + + Nivel de vuelo + + + Interno de Microsoft + + + Ninguno + + + Grupo de Sistemas Operativos + + + Windows Insider - Rápido + + + Windows Insider - Lento + + + Filtración pública + + + Cadena de laboratorio + + + Fecha de filtración o lanzamiento + + + Registro + + + Versión mayor + + + Versión menor + + + Hora de modificación + + + Número de compilación + + + Filtración privado + + + Lanzamiento público + + + Revisión de la compilación + + + Detalles de la fuente + + + Tipo de fuente + + + Actualización (GDR) + + + Actualización (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.fi.Designer.cs b/BuildFeed/Local/Model.fi.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.fi.resx b/BuildFeed/Local/Model.fi.resx new file mode 100644 index 0000000..e133c40 --- /dev/null +++ b/BuildFeed/Local/Model.fi.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Luontiaika + + + Sovelluspaketti + + + Koontiaika + + + Koontityökalut + + + Dokumentaatio + + + Canary + + + Flight-taso + + + Microsoftin Sisäinen + + + - + + + Operating Systems-ryhmä + + + Windows Insider-nopea + + + Windows Insider-hidas + + + Julkinen vuoto + + + Lab + + + Vuoto- tai julkaisupäivä + + + Logging + + + Yläversio + + + Alaversio + + + Muokkausaika + + + Koontiversio + + + Yksityinen vuoto + + + Julkinen julkaisu + + + Revisio + + + Lähdetiedot + + + Lähdetyyppi + + + Päivitys (GDR) + + + Päivitys (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.fr.Designer.cs b/BuildFeed/Local/Model.fr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.fr.resx b/BuildFeed/Local/Model.fr.resx new file mode 100644 index 0000000..ab85c64 --- /dev/null +++ b/BuildFeed/Local/Model.fr.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Date de création + + + Paquetage d'application + + + Date de compilation + + + Outils de compilation + + + Documentation + + + Canary + + + Niveau de vol + + + Interne à Microsoft + + + Aucun + + + Groupe Systèmes d'exploitation + + + Windows Insider - Rapide + + + Windows Insider - Lent + + + Fuite publique + + + Informations sur le lab + + + Date de la fuite ou de la publication + + + Logging + + + Version majeure + + + Version mineure + + + Date de modification + + + Numéro de la build + + + Fuite privée + + + Publication publique + + + Revision de la build + + + Détails de la source + + + Type de source + + + Mise à jour (GDR) + + + Mise à jour (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.he.Designer.cs b/BuildFeed/Local/Model.he.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.he.resx b/BuildFeed/Local/Model.he.resx new file mode 100644 index 0000000..0674da6 --- /dev/null +++ b/BuildFeed/Local/Model.he.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + זמן יצירה + + + חבילת תוכנה + + + שעת יצירת בילד + + + כלים + + + תיעוד + + + Canary + + + רמת גישה + + + פנימי של מיקרוסופט + + + ללא + + + Operating Systems Group + + + Windows Insider Fast + + + Windows Insider Slow + + + Public leak + + + מחרוזת מעבדה + + + תאריך זליגה או שיחרור + + + מעקב + + + גירסה עיקרית + + + גירסה משנית + + + זמן שינוי + + + מספר בילד + + + זליגה פנימית + + + הפצה רשמית + + + מהדורת בילד + + + תאור המקור + + + סוג המקור + + + עדכון (GDR) + + + עדכון (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.hr.Designer.cs b/BuildFeed/Local/Model.hr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.hr.resx b/BuildFeed/Local/Model.hr.resx new file mode 100644 index 0000000..3f3e002 --- /dev/null +++ b/BuildFeed/Local/Model.hr.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Stvoreno + + + Paket aplikacije + + + Vrijeme izrade + + + Alati za izradu + + + Dokumentacija + + + Canary + + + Razina leta + + + Microsoft Interni + + + Ništa + + + Grupa Operacijskog sustava + + + Windows Insider Brzi + + + Windows Insider Spori + + + Javno procurio + + + Linija grane + + + Datum kad je procurio / objavljen + + + Zapisivanje + + + Glavna verzija + + + Sporedna verzija + + + Vrijeme izmjene + + + Broj verzije + + + Verzija koja je privatno procurila + + + Javno pušteno + + + Revizija verzije + + + Detalji o izvoru + + + Vrsta izvora + + + Nadogradnja (GDR) + + + Nadogradnja (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.id.Designer.cs b/BuildFeed/Local/Model.id.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.id.resx b/BuildFeed/Local/Model.id.resx new file mode 100644 index 0000000..9722a5a --- /dev/null +++ b/BuildFeed/Local/Model.id.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Tanggal dibuat + + + Paket aplikasi + + + Waktu build + + + Alat build + + + Dokumentasi + + + Canary + + + Level terbang + + + Microsoft Internal + + + Tidak ada + + + Grup Sistem Operasi + + + Windows Insider- Cepat + + + Windows Insider- Lambat + + + Kebocoran publik + + + Lab string + + + Bocor atau tanggal rilis + + + Logging + + + Versi utama + + + Versi minor + + + Tanggal dimodifikasi + + + Nomor build + + + Kebocoran privat + + + Rilis publik + + + Revisi build + + + Detail build + + + Tipe detail + + + Pembaruan (GDR) + + + Pembaruan (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.it.Designer.cs b/BuildFeed/Local/Model.it.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.it.resx b/BuildFeed/Local/Model.it.resx new file mode 100644 index 0000000..316024d --- /dev/null +++ b/BuildFeed/Local/Model.it.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Ora della creazione + + + Pacchetto di applicazione + + + Ora della compilazione + + + Strumenti di compilazione + + + Documentazione + + + Canary + + + Livello flight + + + Interno Microsoft + + + Nessun risultato trovato + + + Gruppo di sistemi operativi + + + Windows Insider - Veloce + + + Windows Inside - Lento + + + Fuga pubblica + + + Informazioni sul build + + + Data della fuga o di lancio + + + Registro + + + Versione maggiore + + + Versione minore + + + Ora della modifica + + + Numero build + + + Fuga privata + + + Lancio pubblico + + + Revisione build + + + Dettagli sulla fonte + + + Tipo di fonte + + + Aggiornamento (GDR) + + + Aggiornamento (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.nl.Designer.cs b/BuildFeed/Local/Model.nl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.nl.resx b/BuildFeed/Local/Model.nl.resx new file mode 100644 index 0000000..5e56e9d --- /dev/null +++ b/BuildFeed/Local/Model.nl.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Gemaakt op + + + Applicatie pakket + + + Build tijd + + + Build tools + + + Documentatie + + + Canary + + + Vlucht niveau + + + Microsoft Intern + + + Geen + + + Besturingssysteem Groep (OSG) + + + Windows Insider Snel + + + Windows Insider Langzaam + + + Publiekelijke lek + + + Lab + + + Lek of release datum + + + Logging + + + Hoofdversie + + + Onderversie + + + Aangepast op + + + Build nummer + + + Prive lek + + + Publiekelijke release + + + Build revisie + + + Bron details + + + Bron soort + + + Update (GDR) + + + Update (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.pt-br.Designer.cs b/BuildFeed/Local/Model.pt-br.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.pt-br.resx b/BuildFeed/Local/Model.pt-br.resx new file mode 100644 index 0000000..dca52cb --- /dev/null +++ b/BuildFeed/Local/Model.pt-br.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Hora de criação + + + Pacote de aplicativo + + + Hora da compilação + + + Ferramentas de compilação + + + Documentação + + + Canary + + + Nível de flight + + + Interno da Microsoft + + + Nenhum + + + Grupo de Sistemas Operacionais + + + Windows Insider - Rápido + + + Windows Insider - Lento + + + Vazamento público + + + Informações de compilação + + + Data do vazamento ou lançamento + + + Registro + + + Versão superior + + + Versão inferior + + + Hora de modificação + + + Número da compilação + + + Vazamento privado + + + Lançamento público + + + Revisão da compilação + + + Detalhes da fonte + + + Tipo de fonte + + + Atualização (GDR) + + + Atualização (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.pt.Designer.cs b/BuildFeed/Local/Model.pt.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.pt.resx b/BuildFeed/Local/Model.pt.resx new file mode 100644 index 0000000..ed0be60 --- /dev/null +++ b/BuildFeed/Local/Model.pt.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Hora da criação + + + Pacote de aplicação + + + Hora da compilação + + + Ferramentas de compilação + + + Documentação + + + Canary + + + Nível de flight + + + Interno da Microsoft + + + Nenhum resultado encontrado + + + Grupo de Sistemas Operacionais + + + Windows Insider - Rápido + + + Windows Inside - Lento + + + Vazamento público + + + Informações acerca da compilação + + + Data do vazamento ou lançamento + + + Registo + + + Versão maior + + + Versão minor + + + Hora da alteração + + + Número da compilação + + + Vazamento privado + + + Lançamento público + + + Revisão da compilação + + + Detalhes da fonte + + + Tipo de fonte + + + Actualização (GDR) + + + Actualização (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.qps-ploc.Designer.cs b/BuildFeed/Local/Model.qps-ploc.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.qps-ploc.resx b/BuildFeed/Local/Model.qps-ploc.resx new file mode 100644 index 0000000..b2d8d27 --- /dev/null +++ b/BuildFeed/Local/Model.qps-ploc.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! Tï₥è çřèáƭèδ !!!] + + + [!!! Âƥƥ ƥáçƙáϱè !!!] + + + [!!! ßúïℓδ ƭï₥è !!!] + + + [!!! ßúïℓδ ƭôôℓƨ !!!] + + + [!!! Ðôçú₥èñƭáƭïôñ !!!] + + + [!!! Çáñář¥ !!!] + + + [!!! Fℓïϱλƭ ℓèƲèℓ !!!] + + + [!!! Mïçřôƨôƒƭ Ìñƭèřñáℓ ℓ !!!] + + + [!!! Nôñè !!!] + + + [!!! Óƥèřáƭïñϱ §¥ƨƭè₥ƨ Gřôúƥ ℓ !!!] + + + [!!! Wïñδôωƨ Ìñƨïδèř Fáƨƭ ℓ !!!] + + + [!!! Wïñδôωƨ Ìñƨïδèř §ℓôω ℓ !!!] + + + [!!! Þúβℓïç ℓèáƙ !!!] + + + [!!! £áβ ƨƭřïñϱ !!!] + + + [!!! £èáƙ ôř řèℓèáƨè δáƭè ℓ !!!] + + + [!!! £ôϱϱïñϱ !!!] + + + [!!! MáJôř Ʋèřƨïôñ !!!] + + + [!!! Mïñôř Ʋèřƨïôñ !!!] + + + [!!! Tï₥è ₥ôδïƒïèδ !!!] + + + [!!! ßúïℓδ ñú₥βèř !!!] + + + [!!! ÞřïƲáƭè ℓèáƙ !!!] + + + [!!! Þúβℓïç řèℓèáƨè !!!] + + + [!!! ßúïℓδ řèƲïƨïôñ !!!] + + + [!!! §ôúřçè δèƭáïℓƨ !!!] + + + [!!! §ôúřçè ƭ¥ƥè !!!] + + + [!!! Ûƥδáƭè (GÐR) !!!] + + + [!!! Ûƥδáƭè (£ÐR) !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.resx b/BuildFeed/Local/Model.resx new file mode 100644 index 0000000..b2d8d27 --- /dev/null +++ b/BuildFeed/Local/Model.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! Tï₥è çřèáƭèδ !!!] + + + [!!! Âƥƥ ƥáçƙáϱè !!!] + + + [!!! ßúïℓδ ƭï₥è !!!] + + + [!!! ßúïℓδ ƭôôℓƨ !!!] + + + [!!! Ðôçú₥èñƭáƭïôñ !!!] + + + [!!! Çáñář¥ !!!] + + + [!!! Fℓïϱλƭ ℓèƲèℓ !!!] + + + [!!! Mïçřôƨôƒƭ Ìñƭèřñáℓ ℓ !!!] + + + [!!! Nôñè !!!] + + + [!!! Óƥèřáƭïñϱ §¥ƨƭè₥ƨ Gřôúƥ ℓ !!!] + + + [!!! Wïñδôωƨ Ìñƨïδèř Fáƨƭ ℓ !!!] + + + [!!! Wïñδôωƨ Ìñƨïδèř §ℓôω ℓ !!!] + + + [!!! Þúβℓïç ℓèáƙ !!!] + + + [!!! £áβ ƨƭřïñϱ !!!] + + + [!!! £èáƙ ôř řèℓèáƨè δáƭè ℓ !!!] + + + [!!! £ôϱϱïñϱ !!!] + + + [!!! MáJôř Ʋèřƨïôñ !!!] + + + [!!! Mïñôř Ʋèřƨïôñ !!!] + + + [!!! Tï₥è ₥ôδïƒïèδ !!!] + + + [!!! ßúïℓδ ñú₥βèř !!!] + + + [!!! ÞřïƲáƭè ℓèáƙ !!!] + + + [!!! Þúβℓïç řèℓèáƨè !!!] + + + [!!! ßúïℓδ řèƲïƨïôñ !!!] + + + [!!! §ôúřçè δèƭáïℓƨ !!!] + + + [!!! §ôúřçè ƭ¥ƥè !!!] + + + [!!! Ûƥδáƭè (GÐR) !!!] + + + [!!! Ûƥδáƭè (£ÐR) !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.ro.Designer.cs b/BuildFeed/Local/Model.ro.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.ro.resx b/BuildFeed/Local/Model.ro.resx new file mode 100644 index 0000000..0078474 --- /dev/null +++ b/BuildFeed/Local/Model.ro.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Data creării + + + Pachet aplicație + + + Timp compilare + + + Instrumente build + + + Documentație + + + Canary + + + Nivel zbor + + + Intern Microsoft + + + Nimic + + + Grup Sisteme de Operare + + + Windows Insider rapid + + + Windows Insider lent + + + Leak public + + + Etichetă lab + + + Dată leak sau lansare + + + Logging + + + Versiune Majoră + + + Versiune Minoră + + + Data modificării + + + Număr build + + + Leak privat + + + Lansare publică + + + Revizie build + + + Detalii sursă + + + Tip sursă + + + Actualizare (GDR) + + + Actualizare (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.ru.Designer.cs b/BuildFeed/Local/Model.ru.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.ru.resx b/BuildFeed/Local/Model.ru.resx new file mode 100644 index 0000000..c9cda45 --- /dev/null +++ b/BuildFeed/Local/Model.ru.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Время создания + + + Пакет приложения + + + Время компиляции + + + Инструменты + + + Документация + + + Canary + + + Уровень доступности + + + Внутри Microsoft + + + Нет + + + Группа разработчиков ОС + + + Windows Insider — быстрый + + + Windows Insider — медленный + + + Публичная утечка + + + Лаборатория + + + Дата релиза или утечки + + + Отслеживание + + + Основная версия + + + Минорная версия + + + Время изменения + + + Номер сборки + + + Приватная утечка + + + Публичный релиз + + + Ревизия + + + Описание источника + + + Тип источника + + + Обновление (GDR) + + + Обновление (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.sk.Designer.cs b/BuildFeed/Local/Model.sk.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.sk.resx b/BuildFeed/Local/Model.sk.resx new file mode 100644 index 0000000..da817c3 --- /dev/null +++ b/BuildFeed/Local/Model.sk.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Čas pridania + + + Balíček aplikácie + + + Čas kompilácie + + + Nástroje na kompiláciu + + + Dokumentácia + + + Canary + + + Typ flightu + + + Bežní zamestnanci Microsoftu + + + Žiadny + + + Skupina Operačných Systémov (OSG) + + + Windows Insiders - Rýchly + + + Windows Insiders - Pomalý + + + Verejný leak + + + Lab + + + Dátumu leaku alebo vydania + + + Záznamy + + + Hlavná verzia + + + Vedľajšia verzia + + + Čas úpravy + + + Číslo buildu + + + Súkromný leak + + + Verejné vydanie + + + Revízia buildu + + + Detaily o zdroji + + + Druh zdroja + + + Aktualizácia (GDR) + + + Aktualizácia (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.sl.Designer.cs b/BuildFeed/Local/Model.sl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.sl.resx b/BuildFeed/Local/Model.sl.resx new file mode 100644 index 0000000..214f606 --- /dev/null +++ b/BuildFeed/Local/Model.sl.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Datum nastanka + + + Dodaj paket + + + Čas gradnje + + + Orodja gradnje + + + Dokumentacija + + + Canary + + + Nivo leta + + + Microsoft interni + + + Noben + + + Skupina Operacijskih Sistemov + + + Windows Insider hitri + + + Windows Insider počasni + + + Javno razkritje + + + Ime veje + + + Datum razkritja ali izida + + + Beleženje + + + Glavna različica + + + Manjša različica + + + Datum spremembe + + + Številka različice + + + Zasebno razkritje + + + Javen izid + + + Revizija različice + + + Podrobnosti vira + + + Vrsta vira + + + Posodobitev (GDR) + + + Posodobitev (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.sv.Designer.cs b/BuildFeed/Local/Model.sv.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.sv.resx b/BuildFeed/Local/Model.sv.resx new file mode 100644 index 0000000..ae70336 --- /dev/null +++ b/BuildFeed/Local/Model.sv.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Skapad + + + App-paket + + + Build-tid + + + Build-verktyg + + + Dokumentation + + + Canary + + + Flight-nivå + + + Microsoft Internal + + + Ingen + + + Operating Systems Group + + + Windows Insider Fast + + + Windows Insider Slow + + + Publik läcka + + + Lab-sträng + + + Läcka eller release-datum + + + Logging + + + Major-version + + + Minor-version + + + Modifierad + + + Build-nummer + + + Privat läcka + + + Publikt släpp + + + Build revision + + + Detaljer om källa + + + Källtyp + + + Update (GDR) + + + Update (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.zh-tw.Designer.cs b/BuildFeed/Local/Model.zh-tw.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.zh-tw.resx b/BuildFeed/Local/Model.zh-tw.resx new file mode 100644 index 0000000..a5a1877 --- /dev/null +++ b/BuildFeed/Local/Model.zh-tw.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 建立時間 + + + App 套件包 + + + 編譯時間 + + + Build tools + + + 文件 + + + Canary + + + Flight 等級 + + + 微軟內部 + + + + + + 作業系統部門 + + + Windows 測試人員計畫 Fast Ring + + + Windows 測試人員計畫 Slow Ring + + + 公開洩漏 + + + Lab 字串 + + + 洩漏或發行日期 + + + 紀錄 + + + 主版號 + + + 次版號 + + + 修改時間 + + + 組建號碼 + + + 私下洩漏 + + + 公開發佈 + + + 組建修訂版次 + + + 來源詳情 + + + 來源類別 + + + 更新 (GDR) + + + 更新 (LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Model.zh.Designer.cs b/BuildFeed/Local/Model.zh.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Model.zh.resx b/BuildFeed/Local/Model.zh.resx new file mode 100644 index 0000000..9de69dc --- /dev/null +++ b/BuildFeed/Local/Model.zh.resx @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 创建时间 + + + 软件包 + + + 编译时间 + + + 编译工具 + + + 文档 + + + Canary + + + 推送等级 + + + 微软内部 + + + + + + 操作系统部门(OSG) + + + Windows Insider 快速通道 + + + Windows Insider 慢速通道 + + + 公开泄露 + + + 分支名 + + + 泄露或发布日期 + + + 版本记录 + + + 主版本 + + + 副版本 + + + 修改时间 + + + 版本号 + + + 公开泄露 + + + 公开发布 + + + 修订版本 + + + 来源详细信息 + + + 来源类型 + + + 更新(GDR) + + + 更新(LDR) + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.Designer.cs b/BuildFeed/Local/Support.Designer.cs new file mode 100644 index 0000000..44d55d9 --- /dev/null +++ b/BuildFeed/Local/Support.Designer.cs @@ -0,0 +1,297 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace BuildFeed.Local { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class Support { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Support() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BuildFeed.Local.Support", typeof(Support).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to [!!! ÉƲèř¥ áççôúñƭ ïƨ Ʋáℓïδáƭèδ β¥ áñ Âδ₥ïñïƨƭřáƭôř, ƨô βè ƥáƭïèñƭ áñδ çλèçƙ áϱáïñ ℓáƭèř. ℓôřè₥ ï !!!]. + /// + public static string AccountValidation { + get { + return ResourceManager.GetString("AccountValidation", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Âδδïƭïôñƨ ƭô ßúïℓδFèèδ ℓ !!!]. + /// + public static string AdditionsToBuildFeed { + get { + return ResourceManager.GetString("AdditionsToBuildFeed", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ßúïℓδƨ Çô₥ƥïℓèδ ℓ !!!]. + /// + public static string BuildsCompiled { + get { + return ResourceManager.GetString("BuildsCompiled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Çλáñϱè ¥ôúř ƥáƨƨωôřδ ℓ !!!]. + /// + public static string ChangePassword { + get { + return ResourceManager.GetString("ChangePassword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Çôñƒïř₥ ñèω ƥáƨƨωôřδ ℓ !!!]. + /// + public static string ConfirmNewPassword { + get { + return ResourceManager.GetString("ConfirmNewPassword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Çôñƒïř₥ ƥáƨƨωôřδ ℓ !!!]. + /// + public static string ConfirmPassword { + get { + return ResourceManager.GetString("ConfirmPassword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! É₥áïℓ áδδřèƨƨ !!!]. + /// + public static string EmailAddress { + get { + return ResourceManager.GetString("EmailAddress", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Éñƭèř çúřřèñƭ ƥáƨƨωôřδ ℓ !!!]. + /// + public static string EnterCurrentPassword { + get { + return ResourceManager.GetString("EnterCurrentPassword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Éñƭèř ñèω ƥáƨƨωôřδ ℓ !!!]. + /// + public static string EnterNewPassword { + get { + return ResourceManager.GetString("EnterNewPassword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Éñƭèř ƥáƨƨωôřδ !!!]. + /// + public static string EnterPassword { + get { + return ResourceManager.GetString("EnterPassword", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Hïϱλèƨƭ Ʋèřƨïôñ ℓ !!!]. + /// + public static string HighestVersion { + get { + return ResourceManager.GetString("HighestVersion", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! £áβƨ !!!]. + /// + public static string Labs { + get { + return ResourceManager.GetString("Labs", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! £ôϱ ïñ !!!]. + /// + public static string Login { + get { + return ResourceManager.GetString("Login", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Þáƨƨωôřδ !!!]. + /// + public static string Password { + get { + return ResourceManager.GetString("Password", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rèçèñƭℓ¥ áδδèδ !!!]. + /// + public static string RecentlyAdded { + get { + return ResourceManager.GetString("RecentlyAdded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rèçèñƭℓ¥ çô₥ƥïℓèδ ℓ !!!]. + /// + public static string RecentlyCompiled { + get { + return ResourceManager.GetString("RecentlyCompiled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rèçèñƭℓ¥ ℓèáƙèδ ℓ !!!]. + /// + public static string RecentlyLeaked { + get { + return ResourceManager.GetString("RecentlyLeaked", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rèϱïƨƭèř !!!]. + /// + public static string Register { + get { + return ResourceManager.GetString("Register", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rè₥è₥βèř ₥è !!!]. + /// + public static string RememberMe { + get { + return ResourceManager.GetString("RememberMe", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! ßúïℓδƨ çô₥ƥïℓèδ èáçλ 9úářƭèř ℓô !!!]. + /// + public static string StatsCompiled { + get { + return ResourceManager.GetString("StatsCompiled", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Rèçôřδèδ βúïℓδƨ ïñ èáçλ ℓáβ ℓô !!!]. + /// + public static string StatsLab { + get { + return ResourceManager.GetString("StatsLab", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Óñℓ¥ ℓáβƨ ωïƭλ 100 ôř ₥ôřè řèçôřδèδ βúïℓδƨ ářè ïñçℓúδèδ. ℓôřè₥ !!!]. + /// + public static string StatsLabIncluded { + get { + return ResourceManager.GetString("StatsLabIncluded", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Nèω áδδïƭïôñƨ ƭô ßúïℓδFèèδ ôƲèř ƭλè ƥřèƲïôúƨ ¥èář ℓôřè !!!]. + /// + public static string StatsNewAdditions { + get { + return ResourceManager.GetString("StatsNewAdditions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Tλáñƙ ¥ôú ƒôř řèϱïƨƭèřïñϱ ℓô !!!]. + /// + public static string ThanksRegister { + get { + return ResourceManager.GetString("ThanksRegister", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Ûƨèřñá₥è !!!]. + /// + public static string UserName { + get { + return ResourceManager.GetString("UserName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to [!!! Wèèƙ !!!]. + /// + public static string Week { + get { + return ResourceManager.GetString("Week", resourceCulture); + } + } + } +} diff --git a/BuildFeed/Local/Support.ar.Designer.cs b/BuildFeed/Local/Support.ar.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.ar.resx b/BuildFeed/Local/Support.ar.resx new file mode 100644 index 0000000..9baba5b --- /dev/null +++ b/BuildFeed/Local/Support.ar.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + لم يتم تفعيل حسابك بعد. يرجى العلم بأن كل حساب يتم تدقيقه من قبل طاقم الإدارة قبل تفعيله ، لذا يرجى المراجعة لاحقاً + + + إضافات إلى BuildFeed + + + النسخ المصنعة + + + تغيير كلمة السر + + + إعادة تأكيد كلمة السر الجديدة + + + إعادة تأكيد كلمة السر + + + البريد الإلكتروني + + + أدخل كلمة السر الحالية + + + أدخل كلمة السر الجديدة + + + أدخل كلمة السر + + + أعلى إصدار + + + المختبرات + + + تسجيل الدخول + + + كلمة السر + + + أضيفت مؤخراً + + + تم تصنيعها مؤخراً + + + تم تسريبها مؤخراً + + + التسجيل + + + تذكرني + + + نسخ مصنعة كل ربع سنة + + + النسخ المسجلة تحت كل مختبر + + + فقط المختبرات التي تحتوي على 100 نسخة أو أكثر تدخل في النتائج + + + الإضافات الجديدة على BuildFeed مقارنة بالسنة السابقة + + + شكراً لكم على التسجيل في الموقع + + + اسم المستخدم + + + أسبوع + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.cs.Designer.cs b/BuildFeed/Local/Support.cs.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.cs.resx b/BuildFeed/Local/Support.cs.resx new file mode 100644 index 0000000..930eba0 --- /dev/null +++ b/BuildFeed/Local/Support.cs.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Každý účet je ověřován správcem. Buďte prosím trpěliví a podívejte se znovu za chvíli. + + + Nové záznamy v BuildFeedu + + + Zkompilovaných buildů + + + Změnit heslo + + + Potvrďte nové heslo + + + Potvrďte heslo + + + E-mail + + + Zadejte současné heslo + + + Zadejte nové heslo + + + Zadejte heslo + + + Nejvyšší verze + + + Větve + + + Přihlásit se + + + Heslo + + + Nedávno přidáno + + + Nedávno zkompilováno + + + Nedávno leaknuto + + + Zaregistrovat se + + + Zapamatovat si mě + + + Zkompilované buildy v každém čtvrtletí + + + Zaznamenané buildy v každé větvi + + + Zahrnuty jsou pouze větve s více než 100 nebo více zaznamenanými buildy. + + + Nové záznamy v BuildFeedu v předešlém roce + + + Děkujeme za registraci + + + Uživatelské jméno + + + Týden + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.de.Designer.cs b/BuildFeed/Local/Support.de.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.de.resx b/BuildFeed/Local/Support.de.resx new file mode 100644 index 0000000..e9c8b17 --- /dev/null +++ b/BuildFeed/Local/Support.de.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Jeder account muss durch einen Administrator bestätigt werden, habe etwas Geduld und versuche es später noch einmal. + + + Ergänzungen zu BuildFeed + + + Builds kompliliert + + + Ändere dein Passwort + + + Neues Passwort bestätigen + + + Passwort bestätigen + + + E-Mail Adresse + + + Aktuelles Passwort eingeben + + + Neues Passwort eingeben + + + Passwort eingeben + + + Höchste Version + + + Labs + + + Anmelden + + + Passwort + + + Vor kurzem hinzugefügt + + + Vor kurzem kompiliert + + + Vor kurzem geleakt + + + Registrieren + + + An mich erinnern + + + Vierteljährlich kompilierte Builds + + + Verzeichnete Builds in einzelnen Labs + + + Nur Labs mit 100 oder mehr verzeichneten builds sind enthalten. + + + Neue BuildFeed Ergänzungen des letzten Jahres. + + + Danke für die Registrierung + + + Benutzername + + + Woche + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.el.Designer.cs b/BuildFeed/Local/Support.el.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.el.resx b/BuildFeed/Local/Support.el.resx new file mode 100644 index 0000000..6f5a195 --- /dev/null +++ b/BuildFeed/Local/Support.el.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Κάθε λογαριασμός επιβεβαιώνεται από έναν διαχειριστή οπότε έχετε υπομονή και ελέγξτε πάλι αργότερα. + + + Προσθήκες στο BuildFeed + + + Builds που έγιναν compile + + + Αλλαγή κωδικού + + + Επιβεβαίωση νέου κωδικού + + + Επιβεβαίωση κωδικού + + + Διεύθυνση e-mail + + + Πληκτρολογήστε τον τρέχοντα κωδικό σας + + + Πληκτρολογήστε τον νέο κωδικό σας + + + Πληκτρολογήστε τον κωδικό σας + + + Μεγαλύτερη έκδοση + + + Labs + + + Σύνδεση + + + Κωδικός + + + Προστέθηκαν πρόσφατα + + + Έγιναν compile πρόσφατα + + + Διέρρευσαν πρόσφατα + + + Εγγραφή + + + Θυμήσου με + + + Builds που έγιναν compile κάθε τέταρτο του χρόνου + + + Καταγεγραμμένα builds σε κάθε lab + + + Μόνο labs με 100 ή περισσότερα καταγεγραμμένα builds περιλαμβάνονται. + + + Νέες προσθήκες στο BuildFeed τον προηγούμενο χρόνο + + + Ευχαριστούμε για την εγγραφή + + + Όνομα χρήστη + + + Εβδομάδα + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.en.Designer.cs b/BuildFeed/Local/Support.en.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.en.resx b/BuildFeed/Local/Support.en.resx new file mode 100644 index 0000000..6cc100c --- /dev/null +++ b/BuildFeed/Local/Support.en.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Every account is validated by an Administrator, so be patient and check again later. + + + Additions to BuildFeed + + + Builds Compiled + + + Change your password + + + Confirm new password + + + Confirm password + + + Email address + + + Enter current password + + + Enter new password + + + Enter password + + + Highest version + + + Labs + + + Log in + + + Password + + + Recently added + + + Recently compiled + + + Recently leaked + + + Register + + + Remember me + + + Builds compiled each quarter + + + Recorded builds in each lab + + + Only labs with 100 or more recorded builds are included. + + + New additions to BuildFeed over the previous year + + + Thank you for registering + + + Username + + + Week + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.es.Designer.cs b/BuildFeed/Local/Support.es.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.es.resx b/BuildFeed/Local/Support.es.resx new file mode 100644 index 0000000..ad7061a --- /dev/null +++ b/BuildFeed/Local/Support.es.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Todas las cuentas son verificadas por un administrator. Tenga paciencia y vuelva más tarde. + + + Novedades en BuildFeed + + + Compilaciones hechas + + + Cambiar contraseña + + + Confirmar nueva contraseña + + + Confirmar contraseña + + + Correo electrónico + + + Ingrese la contraseña actual + + + Ingrese la nueva contraseña + + + Ingrese la contraseña + + + Versión mayor + + + Laboratorios + + + Entrar + + + Contraseña + + + Añadidas recientemente + + + Compiladas recientemente + + + Filtradas recientemente + + + Registrarse + + + Recordarme + + + Compilaciones hechas en cada trimestre + + + Compilaciones registradas en cada laboratorio + + + Solo se incluyen los laboratorios con 100 o más compilaciones. + + + Novedades en BuildFeed con relación al año anterior + + + Gracias por haberse registrado + + + Nombre de usuario + + + Semana + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.fi.Designer.cs b/BuildFeed/Local/Support.fi.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.fi.resx b/BuildFeed/Local/Support.fi.resx new file mode 100644 index 0000000..5f19736 --- /dev/null +++ b/BuildFeed/Local/Support.fi.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Admin tarkastaa jokaisen tilin joka rekisteröidään, joten ole kärsivällinen ja kokeile myöhemmin uudelleen. + + + Lisäykset BuildFeediin + + + Koontiversioita käännetty + + + Vaihda salasana + + + Varmista uusi salasana + + + Varmista salasana + + + Sähköpostiosoite + + + Kirjoita nykyinen salasana + + + Kirjoita uusi salasana + + + Kirjoita salasana + + + Korkein versio + + + Labit + + + Kirjaudu sisään + + + Salasana + + + Hiljattain lisätty + + + Hiljattain käännetty + + + Hiljattain vuotanut + + + Rekisteröidy + + + Muista minut + + + Käännetyt koontiversiot jokaiselta vuosineljännekseltä + + + Dokumentoidut käännökset labeista + + + Vain labit, joissa on yli 100 dokumentoitua koontiversiota on sisällytetty. + + + Uudet lisäykset BuildFeediin edellisvuodesta + + + Kiitos rekisteröinnistä + + + Käyttäjänimi + + + Viikko + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.fr.Designer.cs b/BuildFeed/Local/Support.fr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.fr.resx b/BuildFeed/Local/Support.fr.resx new file mode 100644 index 0000000..15ec545 --- /dev/null +++ b/BuildFeed/Local/Support.fr.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Chaque compte est validé par un administrateur, soyez patient et revenez plus tard. + + + Nouveautés de BuildFeed + + + Builds compilées + + + Modifier votre mot de passe + + + Confirmer votre nouveau mot de passe + + + Confirmer votre mot de passe + + + Addresse mail + + + Entrer votre mot de passe actuel + + + Entrer votre nouveau mot de passe + + + Entrer votre mot de passe actuel + + + Version majeure + + + Labs + + + Se connecter + + + Mot de passe + + + Récemment ajouté + + + Récemment compilé + + + Récemment fuité + + + S'inscrire + + + Se souvenir de moi + + + Builds compilées par trimestre + + + Builds compilées par lab + + + Seuls les labs avec 100 builds ou plus sont inclus. + + + Ajouts à BuildFeed depuis l'an dernier + + + Merci pour votre inscription + + + Nom d'utilisateur + + + Semaine + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.he.Designer.cs b/BuildFeed/Local/Support.he.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.he.resx b/BuildFeed/Local/Support.he.resx new file mode 100644 index 0000000..b1dd807 --- /dev/null +++ b/BuildFeed/Local/Support.he.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + כל חשבון נבדק על ידי מנהל האתר. היאזר בסבלנות וחזור מאוחר יותר. + + + מה חדש ב- BuildFeed + + + מספר הבילדים שהודרו + + + שינוי סיסמה + + + אשר סיסמה חדשה + + + אשר סיסמה + + + כתובת דוא"ל + + + סיסמה נוכחית + + + סיסמה חדשה + + + הקש סיסמה + + + החדשים ביותר + + + מעבדות + + + כניסה + + + סיסמה + + + נוספו לאחרונה + + + הודרו לאחרונה + + + זלגו לאחרונה + + + רישום + + + זכור אותי + + + בילדים שהודרו בכל רבעון + + + בילדים לפי מעבדה + + + מוצגות מעבדות עם מעל 100 בילדים רשומים בלבד + + + הוספות חדשות ל-BuildFeed בשנה האחרונה + + + תודה על ההרשמה + + + שם משתמש + + + שבוע + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.hr.Designer.cs b/BuildFeed/Local/Support.hr.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.hr.resx b/BuildFeed/Local/Support.hr.resx new file mode 100644 index 0000000..1996c0b --- /dev/null +++ b/BuildFeed/Local/Support.hr.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Svaki račun je validiran od strane administratora tako da molimo za strpljenje i probajte kasnije. + + + Dodaci BuildFeed-u + + + Kompajlirane verzije + + + Promijeni lozinku + + + Potvrdi novu lozinku + + + Potvrdi lozinku + + + Mail adresa + + + Unesi trenutnu lozinku + + + Unesi novu lozinku + + + Unesi lozinku + + + Najviša verzija + + + Grane + + + Prijava + + + Lozinka + + + Nedavno dodano + + + Nedavno kompajlirano + + + Nedavno procurilo + + + Registracija + + + Zapamti me + + + Verzije kompajlirane svaki kvartal + + + Zabilježene verzije u svakoj grani + + + Prikazane su samo grane sa više od 100 verzija + + + Nove verzije dodane u zadnjih godinu dana + + + Hvala na registraciji + + + Korisničko ime + + + Tjedan + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.id.Designer.cs b/BuildFeed/Local/Support.id.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.id.resx b/BuildFeed/Local/Support.id.resx new file mode 100644 index 0000000..c41d9d7 --- /dev/null +++ b/BuildFeed/Local/Support.id.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Setiap akun divalidasi oleh Administrator, silakan tunggu beberapa saat dan coba lagi + + + Tambahan untuk BuildFeed + + + Build dikompilasi + + + Ganti sandi + + + Konfirmasi sandi baru + + + Konfirmasi sandi + + + Alamat Email + + + Masukkan sandi lama + + + Masukkan sandi baru + + + Masukkan sandi + + + Versi yang lebih tinggi + + + Labs + + + Masuk + + + Sandi + + + Baru saja ditambahkan + + + Baru saja dikompilasi + + + Baru saja bocor + + + Daftar + + + Ingatkan saya + + + Build dikompilasi tiap empat + + + Build yang direkam di setiap lab + + + Hanya Labs dengan 100 build atau lebih build yang direkam yang dimasukkan + + + Tambahan baru untuk BuildFeed sejak tahun sebelumnya + + + Terima kasih telah mendaftar + + + Nama pengguna + + + Pekan + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.it.Designer.cs b/BuildFeed/Local/Support.it.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.it.resx b/BuildFeed/Local/Support.it.resx new file mode 100644 index 0000000..ffcfaac --- /dev/null +++ b/BuildFeed/Local/Support.it.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Tutti gli account sono verificati da un amministratore. Avere pazienza e ritornare più tardi. + + + Novità a BuildFeed + + + Build fatti + + + Cambia password + + + Conferma la nuova password + + + Conferma la nuova password + + + Posta elettronica + + + Digitare la password attuale + + + Digitare la nuova password + + + Digitare la password attuale + + + La versione maggiore + + + Laboratori + + + Entra + + + Password + + + Aggiunti recentemente + + + Compilati recentemente + + + Fuggiti recentemente + + + Registro + + + Ricorda + + + Build fatti ogni trimestre + + + Build fatti in ogni laboratorio + + + Sono inclusi solo i laboratori con 100 o più build. + + + Novità a BuildFeed rispetto all'anno precedente + + + Grazie per essersi registrato + + + Nome utente + + + Settimana + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.nl.Designer.cs b/BuildFeed/Local/Support.nl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.nl.resx b/BuildFeed/Local/Support.nl.resx new file mode 100644 index 0000000..a04bd27 --- /dev/null +++ b/BuildFeed/Local/Support.nl.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Elk account wordt gevalideerd door een beheerder, wees geduldig en controleer later opnieuw + + + Aanvullingen aan BuildFeed + + + Builds gecompileerd + + + Verander je wachtwoord + + + Bevestig je nieuwe wachtwoord + + + Bevestig je wachtwoord + + + E-mail + + + Vul je huidige wachtwoord in + + + Vul je nieuwe wachtwoord in + + + Vul je wachtwoord in + + + Hoogste versie + + + Labs + + + Inloggen + + + Wachtwoord + + + Recent toegevoegd + + + Recent gecompileerd + + + Recent gelekt + + + Registreer + + + Onthoud mij + + + Builds gecompileerd per kwartaal + + + Opgenomen builds per lab + + + Alleen labs met meer dan 100 builds zijn opgenomen + + + Nieuwe toevoegingen aan BuildFeed van het afgelopen jaar + + + Bedankt voor het registreren + + + Gebruikersnaam + + + Week + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.pt-br.Designer.cs b/BuildFeed/Local/Support.pt-br.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.pt-br.resx b/BuildFeed/Local/Support.pt-br.resx new file mode 100644 index 0000000..ef61e3e --- /dev/null +++ b/BuildFeed/Local/Support.pt-br.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Todas as contas são verificadas por um Administrador. Tenha paciência e volte mais tarde. + + + Novidades no BuildFeed + + + Compilações feitas + + + Mudar senha + + + Confirmar nova senha + + + Confirmar senha + + + E-mail + + + Digite a senha atual + + + Digite a nova senha + + + Digite a senha + + + Maior versão + + + Laboratórios + + + Entrar + + + Senha + + + Adicionadas recentemente + + + Compiladas recentemente + + + Vazadas recentemente + + + Cadastro + + + Lembrar + + + Compilações feitas em cada trimestre + + + Compilações registradas em cada laboratório + + + Somente laboratórios com 100 ou mais compilações são inclusos. + + + Novidades no BuildFeed em relação ao ano anterior + + + Obrigado por cadastrar-se + + + Nome de usuário + + + Semana + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.pt.Designer.cs b/BuildFeed/Local/Support.pt.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.pt.resx b/BuildFeed/Local/Support.pt.resx new file mode 100644 index 0000000..351a1fe --- /dev/null +++ b/BuildFeed/Local/Support.pt.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Todas as contas são verificadas por um Administrador. Tenha paciência e volte mais tarde. + + + Novidades no BuildFeed + + + Compilações feitas + + + Alterar senha + + + Confirmar a nova senha + + + Confirmar senha + + + Correio electronico + + + Digite a senha actual + + + Digite a nova senha + + + Digite a senha + + + A versão maior + + + Laboratórios + + + Entrar + + + Senha + + + Adicionadas recentemente + + + Compiladas recentemente + + + Vazadas recentemente + + + Cadastro + + + Lembrar + + + Compilações feitas em cada trimestre + + + Compilações registadas em cada laboratório + + + Só os laboratórios com 100 ou mais compilações são incluidos. + + + Novidades no BuildFeed em relação ao ano anterior + + + Obrigado por ter-se cadastrado + + + Nome do utilizador + + + Semana + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.qps-ploc.Designer.cs b/BuildFeed/Local/Support.qps-ploc.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.qps-ploc.resx b/BuildFeed/Local/Support.qps-ploc.resx new file mode 100644 index 0000000..03b0ee1 --- /dev/null +++ b/BuildFeed/Local/Support.qps-ploc.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! ÉƲèř¥ áççôúñƭ ïƨ Ʋáℓïδáƭèδ β¥ áñ Âδ₥ïñïƨƭřáƭôř, ƨô βè ƥáƭïèñƭ áñδ çλèçƙ áϱáïñ ℓáƭèř. ℓôřè₥ ï !!!] + + + [!!! Âδδïƭïôñƨ ƭô ßúïℓδFèèδ ℓ !!!] + + + [!!! ßúïℓδƨ Çô₥ƥïℓèδ ℓ !!!] + + + [!!! Çλáñϱè ¥ôúř ƥáƨƨωôřδ ℓ !!!] + + + [!!! Çôñƒïř₥ ñèω ƥáƨƨωôřδ ℓ !!!] + + + [!!! Çôñƒïř₥ ƥáƨƨωôřδ ℓ !!!] + + + [!!! É₥áïℓ áδδřèƨƨ !!!] + + + [!!! Éñƭèř çúřřèñƭ ƥáƨƨωôřδ ℓ !!!] + + + [!!! Éñƭèř ñèω ƥáƨƨωôřδ ℓ !!!] + + + [!!! Éñƭèř ƥáƨƨωôřδ !!!] + + + [!!! Hïϱλèƨƭ Ʋèřƨïôñ ℓ !!!] + + + [!!! £áβƨ !!!] + + + [!!! £ôϱ ïñ !!!] + + + [!!! Þáƨƨωôřδ !!!] + + + [!!! Rèçèñƭℓ¥ áδδèδ !!!] + + + [!!! Rèçèñƭℓ¥ çô₥ƥïℓèδ ℓ !!!] + + + [!!! Rèçèñƭℓ¥ ℓèáƙèδ ℓ !!!] + + + [!!! Rèϱïƨƭèř !!!] + + + [!!! Rè₥è₥βèř ₥è !!!] + + + [!!! ßúïℓδƨ çô₥ƥïℓèδ èáçλ 9úářƭèř ℓô !!!] + + + [!!! Rèçôřδèδ βúïℓδƨ ïñ èáçλ ℓáβ ℓô !!!] + + + [!!! Óñℓ¥ ℓáβƨ ωïƭλ 100 ôř ₥ôřè řèçôřδèδ βúïℓδƨ ářè ïñçℓúδèδ. ℓôřè₥ !!!] + + + [!!! Nèω áδδïƭïôñƨ ƭô ßúïℓδFèèδ ôƲèř ƭλè ƥřèƲïôúƨ ¥èář ℓôřè !!!] + + + [!!! Tλáñƙ ¥ôú ƒôř řèϱïƨƭèřïñϱ ℓô !!!] + + + [!!! Ûƨèřñá₥è !!!] + + + [!!! Wèèƙ !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.resx b/BuildFeed/Local/Support.resx new file mode 100644 index 0000000..03b0ee1 --- /dev/null +++ b/BuildFeed/Local/Support.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + [!!! ÉƲèř¥ áççôúñƭ ïƨ Ʋáℓïδáƭèδ β¥ áñ Âδ₥ïñïƨƭřáƭôř, ƨô βè ƥáƭïèñƭ áñδ çλèçƙ áϱáïñ ℓáƭèř. ℓôřè₥ ï !!!] + + + [!!! Âδδïƭïôñƨ ƭô ßúïℓδFèèδ ℓ !!!] + + + [!!! ßúïℓδƨ Çô₥ƥïℓèδ ℓ !!!] + + + [!!! Çλáñϱè ¥ôúř ƥáƨƨωôřδ ℓ !!!] + + + [!!! Çôñƒïř₥ ñèω ƥáƨƨωôřδ ℓ !!!] + + + [!!! Çôñƒïř₥ ƥáƨƨωôřδ ℓ !!!] + + + [!!! É₥áïℓ áδδřèƨƨ !!!] + + + [!!! Éñƭèř çúřřèñƭ ƥáƨƨωôřδ ℓ !!!] + + + [!!! Éñƭèř ñèω ƥáƨƨωôřδ ℓ !!!] + + + [!!! Éñƭèř ƥáƨƨωôřδ !!!] + + + [!!! Hïϱλèƨƭ Ʋèřƨïôñ ℓ !!!] + + + [!!! £áβƨ !!!] + + + [!!! £ôϱ ïñ !!!] + + + [!!! Þáƨƨωôřδ !!!] + + + [!!! Rèçèñƭℓ¥ áδδèδ !!!] + + + [!!! Rèçèñƭℓ¥ çô₥ƥïℓèδ ℓ !!!] + + + [!!! Rèçèñƭℓ¥ ℓèáƙèδ ℓ !!!] + + + [!!! Rèϱïƨƭèř !!!] + + + [!!! Rè₥è₥βèř ₥è !!!] + + + [!!! ßúïℓδƨ çô₥ƥïℓèδ èáçλ 9úářƭèř ℓô !!!] + + + [!!! Rèçôřδèδ βúïℓδƨ ïñ èáçλ ℓáβ ℓô !!!] + + + [!!! Óñℓ¥ ℓáβƨ ωïƭλ 100 ôř ₥ôřè řèçôřδèδ βúïℓδƨ ářè ïñçℓúδèδ. ℓôřè₥ !!!] + + + [!!! Nèω áδδïƭïôñƨ ƭô ßúïℓδFèèδ ôƲèř ƭλè ƥřèƲïôúƨ ¥èář ℓôřè !!!] + + + [!!! Tλáñƙ ¥ôú ƒôř řèϱïƨƭèřïñϱ ℓô !!!] + + + [!!! Ûƨèřñá₥è !!!] + + + [!!! Wèèƙ !!!] + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.ro.Designer.cs b/BuildFeed/Local/Support.ro.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.ro.resx b/BuildFeed/Local/Support.ro.resx new file mode 100644 index 0000000..a0ba6a7 --- /dev/null +++ b/BuildFeed/Local/Support.ro.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Fiecare cont est validat de un Administrator, deci aveți răbdare și verificați din nou mai târziu. + + + Adaosuri la BuilFeed + + + Build-uri compilate + + + Schimbați parola + + + Confirmare parolă nouă + + + Confirmare parolă + + + Adresă E-mail + + + Introduceți parola curentă + + + Introduceți parola nouă + + + Introduceți parola + + + Versiunea cea mai mare + + + Lab-uri + + + Logare + + + Parolă + + + Adăugate recent + + + Compilate recent + + + Leak recent + + + Înregistrare + + + Ține-mă minte + + + Build-uri compilate în fiecare trimestru + + + Build-uri înregistrate în fiecare lab + + + Numai lab-uri cu 100 sau mai multe build-uri înregistrate sunt incluse. + + + Noi adăugari la BuildFeed din cursul anului precedent + + + Mulțumin pentru înregistrare + + + Nume utilizator + + + Săptămâna + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.ru.Designer.cs b/BuildFeed/Local/Support.ru.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.ru.resx b/BuildFeed/Local/Support.ru.resx new file mode 100644 index 0000000..56a41e7 --- /dev/null +++ b/BuildFeed/Local/Support.ru.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Каждый аккаунт проверяется администратором, пожалуйста, дождитесь рассмотрения + + + Новое на BuildFeed + + + Сборок скомпилировано + + + Смена пароля + + + Подтверждение нового пароля + + + Подтверждение пароля + + + Адрес электронной почты + + + Текущий пароль + + + Новый пароль + + + Введите пароль + + + Самые новые + + + Лаборатории + + + Вход + + + Пароль + + + Недавно добавленные + + + Недавно скомпилированные + + + Недавно утекшие + + + Регистрация + + + Запомнить меня + + + Сборок собрано за каждый квартал + + + Сборок в каждой из лабораторий + + + Отображены лишь лаборатории с более чем 100 сборками + + + Новые записи в BuildFeed по годам + + + Спасибо за регистрацию + + + Имя пользователя + + + Неделя + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.sk.Designer.cs b/BuildFeed/Local/Support.sk.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.sk.resx b/BuildFeed/Local/Support.sk.resx new file mode 100644 index 0000000..1395ffd --- /dev/null +++ b/BuildFeed/Local/Support.sk.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Každý účet je overený Administrátorom, buďte trpezlivý a pozrite sa znovu za chvíľu. + + + Doplnenia to BuildFeedu + + + Buildov kompilovaných + + + Zmeniť heslo + + + Potvrdiť nové heslo + + + Potvrdiť heslo + + + E-mail + + + Zadajte súčasné heslo + + + Zadajte nové heslo + + + Zadajte heslo + + + Najvyššia verzia + + + Laby + + + Prihlásiť sa + + + Heslo + + + Nedávno pridané + + + Nedávno kompilované + + + Nedávno leaknuté + + + Zaregistrovať sa + + + Zapamätať + + + Buildov kompilovaných každý štvrťrok + + + Zaznamenané buildy v každom labe + + + Zahrnuté sú iba laby s viac ako 100 zaznamenanými buildami. + + + Nové záznamý v BuildFeede v predošlom roku + + + Ďakujeme za registrovanie + + + Použivateľské meno + + + Týždeň + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.sl.Designer.cs b/BuildFeed/Local/Support.sl.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.sl.resx b/BuildFeed/Local/Support.sl.resx new file mode 100644 index 0000000..f2312c4 --- /dev/null +++ b/BuildFeed/Local/Support.sl.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Vsak račun mora potrditi administrator, zato bodite potrpežljivi in znova preverite kasneje. + + + Dodatki BuildFeed-u + + + Grajene različice + + + Sprememba gesla + + + Potrditev novega gesla + + + Potrditev gesla + + + E-poštni naslov + + + Vnesite trenutno geslo + + + Vnesite novo geslo + + + Vnesite geslo + + + Najvišja različica + + + Veje + + + Prijava + + + Geslo + + + Nedavno dodano + + + Nedavno grajeno + + + Nedavno razkrito + + + Registracija + + + Zapomni si me + + + Različice, grajene vsako četrtletje + + + Zabeležene različice v vsaki veji + + + Vključene so samo veje z 100 ali več zabeleženimi različicami. + + + Novi dodatki BuildFeed-u tekom prejšnjega leta + + + Hvala za registracijo + + + Uporabniško ime + + + Teden + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.sv.Designer.cs b/BuildFeed/Local/Support.sv.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.sv.resx b/BuildFeed/Local/Support.sv.resx new file mode 100644 index 0000000..6d7ba3a --- /dev/null +++ b/BuildFeed/Local/Support.sv.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + Varje konto är kontrollerat av en Administratör, var god och återkom senare. + + + Tillägg till BuildFeed + + + Builds kompilerad + + + Ändra ditt lösenord + + + Bekräfta nytt lösenord + + + Bekräfta lösenord + + + Mailadress + + + Ange nuvarande lösenord + + + Ange nytt lösenord + + + Ange lösenord + + + Högsta version + + + Labs + + + Logga in + + + Lösenord + + + Senaste tillagda + + + Senaste kompilerade + + + Senaste läckta + + + Registrera + + + Kom ihåg mig + + + Builds kompilerade varje kvartal + + + Registrerade builds i varje lab + + + Bara labs med 100 eller fler registrerade builds + + + Nya tillägg till BuildFeed det föregående året + + + Tack för registreringen + + + Användarnamn + + + Vecka + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.zh-tw.Designer.cs b/BuildFeed/Local/Support.zh-tw.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.zh-tw.resx b/BuildFeed/Local/Support.zh-tw.resx new file mode 100644 index 0000000..d1dcf4b --- /dev/null +++ b/BuildFeed/Local/Support.zh-tw.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 每個帳戶都將由管理者手動驗證,請耐心等候並在稍後回來。 + + + 新增到 BuildFeed 的紀錄數 + + + 完成編譯的組建數 + + + 變更您的密碼 + + + 確認新密碼 + + + 確認密碼 + + + 電子郵件信箱 + + + 輸入目前密碼 + + + 輸入新密碼 + + + 輸入密碼 + + + 最高版本 + + + Lab + + + 登入 + + + 密碼 + + + 最近新增 + + + 最近編譯 + + + 最近洩漏 + + + 註冊 + + + 記住我 + + + 每季編譯的組建 + + + 各 Lab 紀錄的次數 + + + 只有超過 100 個組建被列入紀錄的 Lab 才會在此出現。 + + + 過去一年內新增到 BuildFeed 的紀錄 + + + 感謝您的註冊 + + + 使用者名稱 + + + 週次 + + \ No newline at end of file diff --git a/BuildFeed/Local/Support.zh.Designer.cs b/BuildFeed/Local/Support.zh.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/BuildFeed/Local/Support.zh.resx b/BuildFeed/Local/Support.zh.resx new file mode 100644 index 0000000..f58f9ea --- /dev/null +++ b/BuildFeed/Local/Support.zh.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + 由于每个账号都要由管理员验证,所以请耐心等待并稍后重新查看。 + + + 新增到 BuildFeed 的记录数 + + + 完成编译的版本数 + + + 修改密码 + + + 输入新密码 + + + 确认密码 + + + 电子邮件地址 + + + 输入当前密码 + + + 输入新密码 + + + 输入密码 + + + 最高版本 + + + 分支 + + + 登录 + + + 密码 + + + 最近添加 + + + 最近编译 + + + 最近泄露 + + + 注册 + + + 记住我 + + + 每季度编译的版本 + + + 在各分支记录的版本 + + + 只包含超过100个版本被记录的分支。 + + + BuildFeed 去年新增的记录 + + + 感谢您的注册 + + + 用户名 + + + + + \ No newline at end of file diff --git a/BuildFeed/Models/Build.cs b/BuildFeed/Models/Build.cs index ecd4cea..1aa19b1 100644 --- a/BuildFeed/Models/Build.cs +++ b/BuildFeed/Models/Build.cs @@ -1,335 +1,599 @@ -using System; +using BuildFeed.Local; +using BuildFeed.Models.ApiModel; +using BuildFeed.Models.ViewModel.Front; +using MongoDB.Bson; +using MongoDB.Bson.Serialization.Attributes; +using MongoDB.Driver; +using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; using System.Text; -using NServiceKit.DataAnnotations; -using NServiceKit.DesignPatterns.Model; -using NServiceKit.Redis; - -using Required = System.ComponentModel.DataAnnotations.RequiredAttribute; +using System.Threading.Tasks; using System.Web.Mvc; +using Required = System.ComponentModel.DataAnnotations.RequiredAttribute; namespace BuildFeed.Models { - [DataObject] - public class Build : IHasId - { - [Key] - [AutoIncrement] - [Index] - public long Id { get; set; } + [DataObject] + public class BuildModel + { + [Key, BsonId] + public Guid Id { get; set; } - [@Required] - [DisplayName("Major Version")] - public byte MajorVersion { get; set; } + public long? LegacyId { get; set; } - [@Required] - [DisplayName("Minor Version")] - public byte MinorVersion { get; set; } + [@Required] + [Display(ResourceType = typeof(Model), Name = "MajorVersion")] + public byte MajorVersion { get; set; } - [@Required] - [DisplayName("Build Number")] - public ushort Number { get; set; } + [@Required] + [Display(ResourceType = typeof(Model), Name = "MinorVersion")] + public byte MinorVersion { get; set; } - [DisplayName("Build Revision")] - [DisplayFormat(ConvertEmptyStringToNull = true)] - public ushort? Revision { get; set; } + [@Required] + [Display(ResourceType = typeof(Model), Name = "Number")] + public ushort Number { get; set; } - [DisplayName("Lab String")] - public string Lab { get; set; } + [Display(ResourceType = typeof(Model), Name = "Revision")] + [DisplayFormat(ConvertEmptyStringToNull = true)] + public ushort? Revision { get; set; } - [DisplayName("Build Time")] - [DisplayFormat(ConvertEmptyStringToNull = true, ApplyFormatInEditMode = true, DataFormatString = "{0:yyMMdd-HHmm}")] - public DateTime? BuildTime { get; set; } + [Display(ResourceType = typeof(Model), Name = "Lab")] + public string Lab { get; set; } + + [Display(ResourceType = typeof(Model), Name = "BuildTime")] + [DisplayFormat(ConvertEmptyStringToNull = true, ApplyFormatInEditMode = true, DataFormatString = "{0:yyMMdd-HHmm}")] + public DateTime? BuildTime { get; set; } - [@Required] - [DisplayName("Time Created")] - public DateTime Added { get; set; } + [@Required] + [Display(ResourceType = typeof(Model), Name = "Added")] + public DateTime Added { get; set; } - [@Required] - [DisplayName("Time Modified")] - public DateTime Modified { get; set; } + [@Required] + [Display(ResourceType = typeof(Model), Name = "Modified")] + public DateTime Modified { get; set; } - [@Required] - [DisplayName("Source Type")] - [EnumDataType(typeof(TypeOfSource))] - public TypeOfSource SourceType { get; set; } + [@Required] + [Display(ResourceType = typeof(Model), Name = "SourceType")] + [EnumDataType(typeof(TypeOfSource))] + public TypeOfSource SourceType { get; set; } - [DisplayName("Source Details")] - [AllowHtml] - public string SourceDetails { get; set; } + [Display(ResourceType = typeof(Model), Name = "SourceDetails")] + [AllowHtml] + public string SourceDetails { get; set; } - [DisplayName("Leak or Release Date")] - [DisplayFormat(ConvertEmptyStringToNull = true, ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] - public DateTime? LeakDate { get; set; } + [Display(ResourceType = typeof(Model), Name = "LeakDate")] + [DisplayFormat(ConvertEmptyStringToNull = true, ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")] + public DateTime? LeakDate { get; set; } - [DisplayName("Flight Level")] - [EnumDataType(typeof(LevelOfFlight))] - public LevelOfFlight FlightLevel { get; set; } + [Display(ResourceType = typeof(Model), Name = "FlightLevel")] + [EnumDataType(typeof(LevelOfFlight))] + public LevelOfFlight FlightLevel { get; set; } - public bool IsLeaked - { - get + public string LabUrl { get; set; } + + public bool IsLeaked + { + get + { + switch (SourceType) { - switch (SourceType) - { - case TypeOfSource.PublicRelease: - case TypeOfSource.InternalLeak: - case TypeOfSource.UpdateGDR: - return true; - default: - return false; - } + case TypeOfSource.PublicRelease: + case TypeOfSource.InternalLeak: + case TypeOfSource.UpdateGDR: + case TypeOfSource.UpdateLDR: + return true; + default: + return false; } - } + } + } - public string FullBuildString - { - get + public string FullBuildString + { + get + { + StringBuilder sb = new StringBuilder(); + sb.AppendFormat("{0}.{1}.{2}", MajorVersion, MinorVersion, Number); + + if (Revision.HasValue) { - StringBuilder sb = new StringBuilder(); - sb.AppendFormat("{0}.{1}.{2}", MajorVersion, MinorVersion, Number); - - if (Revision.HasValue) - { - sb.AppendFormat(".{0}", Revision); - } - - if (!string.IsNullOrWhiteSpace(Lab)) - { - sb.AppendFormat(".{0}", Lab); - } - - if (BuildTime.HasValue) - { - sb.AppendFormat(".{0:yyMMdd-HHmm}", BuildTime); - } - - return sb.ToString(); + sb.AppendFormat(".{0}", Revision); } - } - [DataObjectMethod(DataObjectMethodType.Select, true)] - public static IEnumerable Select() - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) + if (!string.IsNullOrWhiteSpace(Lab)) { - var client = rClient.As(); - return client.GetAll(); + sb.AppendFormat(".{0}", Lab); } - } - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static Build SelectById(long id) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) + if (BuildTime.HasValue) { - var client = rClient.As(); - return client.GetById(id); + sb.AppendFormat(".{0:yyMMdd-HHmm}", BuildTime); } - } - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectInBuildOrder() - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) + return sb.ToString(); + } + } + + public string GenerateLabUrl() => (Lab ?? "").Replace('/', '-').ToLower(); + } + + public class Build + { + private const string _buildCollectionName = "builds"; + + private MongoClient _dbClient; + private IMongoCollection _buildCollection; + + public Build() + { + _dbClient = new MongoClient(new MongoClientSettings() + { + Server = new MongoServerAddress(MongoConfig.Host, MongoConfig.Port) + }); + + _buildCollection = _dbClient.GetDatabase(MongoConfig.Database).GetCollection(_buildCollectionName); + } + + [DataObjectMethod(DataObjectMethodType.Select, true)] + public async Task> Select() + { + return await _buildCollection.Find(new BsonDocument()).ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, true)] + public async Task> SelectLatest(int limit, int skip) + { + return await _buildCollection.Find(new BsonDocument()) + .SortByDescending(b => b.Added) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, true)] + public async Task> SelectLatestLeaked(int limit, int skip) + { + return await _buildCollection.Find(b => b.LeakDate != null) + .SortByDescending(b => b.LeakDate) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectBuildGroups(int limit, int skip) + { + return await _buildCollection.Aggregate() + .Group(b => new BuildGroup() { - var client = rClient.As(); - return client.GetAll() - .OrderByDescending(b => b.BuildTime) - .ThenByDescending(b => b.MajorVersion) - .ThenByDescending(b => b.MinorVersion) - .ThenByDescending(b => b.Number) - .ThenByDescending(b => b.Revision); - } - } - - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectInVersionOrder() - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) + Major = b.MajorVersion, + Minor = b.MinorVersion, + Build = b.Number, + Revision = b.Revision + }, + bg => new FrontBuildGroup() { - var client = rClient.As(); - return client.GetAll() - .OrderByDescending(b => b.MajorVersion) - .ThenByDescending(b => b.MinorVersion) - .ThenByDescending(b => b.Number) - .ThenByDescending(b => b.Revision) - .ThenByDescending(b => b.BuildTime); - } - } + Key = bg.Key, + BuildCount = bg.Count(), + LastBuild = bg.Max(b => b.BuildTime) + }) + .SortByDescending(b => b.Key.Major) + .ThenByDescending(b => b.Key.Minor) + .ThenByDescending(b => b.Key.Build) + .ThenByDescending(b => b.Key.Revision) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectBuildVersions() - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) + [DataObjectMethod(DataObjectMethodType.Select, true)] + public async Task SelectBuildGroupsCount() + { + var pipeline = _buildCollection.Aggregate() + .Group(b => new BuildGroup() { - var client = rClient.As(); - var results = client.GetAll() - .GroupBy(b => new BuildVersion() { Major = b.MajorVersion, Minor = b.MinorVersion }) - .Select(b => new BuildVersion() { Major = b.First().MajorVersion, Minor = b.First().MinorVersion }) - .OrderByDescending(y => y.Major) - .ThenByDescending(y => y.Minor); - return results; - } - } + Major = b.MajorVersion, + Minor = b.MinorVersion, + Build = b.Number, + Revision = b.Revision + }, + bg => new BsonDocument()); - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectBuildYears() - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) + return (await pipeline.ToListAsync()).Count; + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task>> SelectSingleBuildGroup(BuildGroup bGroup) + { + var pipeline = _buildCollection.Aggregate() + .Match(b => b.MajorVersion == bGroup.Major) + .Match(b => b.MinorVersion == bGroup.Minor) + .Match(b => b.Number == bGroup.Build) + .Match(b => b.Revision == bGroup.Revision) + .SortByDescending(b => b.BuildTime); + + return new Tuple>(bGroup, await pipeline.ToListAsync()); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task SelectById(Guid id) + { + return await _buildCollection.Find(f => f.Id == id).SingleOrDefaultAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task SelectByLegacyId(long id) + { + return await _buildCollection.Find(f => f.LegacyId == id).SingleOrDefaultAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectInBuildOrder() + { + return await _buildCollection.Find(new BsonDocument()) + .SortByDescending(b => b.BuildTime) + .ThenByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .ToListAsync(); + + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectInBuildOrder(int limit, int skip) + { + return await _buildCollection.Find(new BsonDocument()) + .SortByDescending(b => b.BuildTime) + .ThenByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectInVersionOrder() + { + return await _buildCollection.Find(new BsonDocument()) + .SortByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .ThenByDescending(b => b.BuildTime) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectInVersionOrder(int limit, int skip) + { + return await _buildCollection.Find(new BsonDocument()) + .SortByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .ThenByDescending(b => b.BuildTime) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectFlight(LevelOfFlight flight, int limit, int skip) + { + return await _buildCollection.Find(b => b.FlightLevel == flight) + .SortByDescending(b => b.BuildTime) + .ThenByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectLab(string lab, int skip, int limit) + { + string labUrl = lab.Replace('/', '-').ToLower(); + return await _buildCollection.Find(b => b.Lab != null && b.LabUrl == labUrl) + .SortByDescending(b => b.BuildTime) + .ThenByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task SelectLabCount(string lab) + { + string labUrl = lab.Replace('/', '-').ToLower(); + return await _buildCollection.Find(b => b.Lab != null && b.LabUrl == labUrl) + .CountAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectSource(TypeOfSource source, int skip, int limit) + { + return await _buildCollection.Find(b => b.SourceType == source) + .SortByDescending(b => b.BuildTime) + .ThenByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task SelectSourceCount(TypeOfSource source) + { + return await _buildCollection.Find(b => b.SourceType == source) + .CountAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectYear(int year, int skip, int limit) + { + return await _buildCollection.Find(b => b.BuildTime != null && + (b.BuildTime > new DateTime(year, 1, 1, 0, 0, 0)) && + (b.BuildTime < new DateTime(year, 12, 31, 23, 59, 59))) + .SortByDescending(b => b.BuildTime) + .ThenByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task SelectYearCount(int year) + { + return await _buildCollection.Find(b => b.BuildTime != null && + (b.BuildTime > new DateTime(year, 1, 1, 0, 0, 0)) && + (b.BuildTime < new DateTime(year, 12, 31, 23, 59, 59))) + .CountAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectVersion(int major, int minor, int skip, int limit) + { + return await _buildCollection.Find(b => b.MajorVersion == major && b.MinorVersion == minor) + .SortByDescending(b => b.BuildTime) + .ThenByDescending(b => b.MajorVersion) + .ThenByDescending(b => b.MinorVersion) + .ThenByDescending(b => b.Number) + .ThenByDescending(b => b.Revision) + .Skip(skip) + .Limit(limit) + .ToListAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task SelectVersionCount(int major, int minor) + { + return await _buildCollection.Find(b => b.MajorVersion == major && b.MinorVersion == minor) + .CountAsync(); + } + + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectBuildVersions() + { + var result = await _buildCollection.Aggregate() + .Group(b => new BuildVersion() { - var client = rClient.As(); - var results = client.GetAll().Where(b => b.BuildTime.HasValue) - .GroupBy(b => b.BuildTime.Value.Year) - .Select(b => b.Key) - .OrderByDescending(y => y); - return results; - } - } + Major = b.MajorVersion, + Minor = b.MinorVersion, + }, + // incoming bullshit hack + bg => new Tuple(bg.Key)) + .SortByDescending(b => b.Item1.Major) + .ThenByDescending(b => b.Item1.Minor) + .ToListAsync(); - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectBuildLabs() - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - var results = client.GetAll() - .Where(b => !string.IsNullOrWhiteSpace(b.Lab)) - .GroupBy(b => b.Lab.ToLower()) - .Select(b => b.Key) - .OrderBy(s => s); - return results; - } - } + // work ourselves out of aforementioned bullshit hack + return result.Select(b => b.Item1).ToList(); + } - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectBuildLabs(byte major, byte minor) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - var results = client.GetAll() - .Where(b => !string.IsNullOrWhiteSpace(b.Lab)) - .Where(b => b.MajorVersion == major) - .Where(b => b.MinorVersion == minor) - .GroupBy(b => b.Lab.ToLower()) - .Select(b => b.Key) - .OrderBy(s => s); - return results; - } - } + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectBuildYears() + { + var result = await _buildCollection.Aggregate() + .Match(b => b.BuildTime != null) + .Group(b => ((DateTime)b.BuildTime).Year, + // incoming bullshit hack + bg => new Tuple(bg.Key)) + .SortByDescending(b => b.Item1) + .ToListAsync(); - [DataObjectMethod(DataObjectMethodType.Insert, true)] - public static void Insert(Build item) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - item.Id = client.GetNextSequence(); - client.Store(item); - } - } + // work ourselves out of aforementioned bullshit hack + return result.Select(b => b.Item1).ToList(); + } - [DataObjectMethod(DataObjectMethodType.Update, true)] - public static void Update(Build item) - { - Build old = SelectById(item.Id); - item.Added = old.Added; - item.Modified = DateTime.Now; + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SearchBuildLabs(string query) + { + var result = await _buildCollection.Aggregate() + .Match(b => b.Lab != null) + .Match(b => b.Lab != "") + .Match(b => b.Lab.ToLower().Contains(query.ToLower())) + .Group(b => b.Lab.ToLower(), + // incoming bullshit hack + bg => new Tuple(bg.Key)) + .ToListAsync(); - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - client.Store(item); - } - } + // work ourselves out of aforementioned bullshit hack + return result.Select(b => b.Item1).ToList(); + } - [DataObjectMethod(DataObjectMethodType.Insert, false)] - public static void InsertAll(IEnumerable items) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - client.StoreAll(items); - } - } + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectBuildLabs() + { + var result = await _buildCollection.Aggregate() + .Match(b => b.Lab != null) + .Match(b => b.Lab != "") + .Group(b => b.Lab.ToLower(), + // incoming bullshit hack + bg => new Tuple(bg.Key)) + .SortBy(b => b.Item1) + .ToListAsync(); - [DataObjectMethod(DataObjectMethodType.Delete, true)] - public static void DeleteById(long id) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - client.DeleteById(id); - } - } - } + // work ourselves out of aforementioned bullshit hack + return result.Select(b => b.Item1).ToList(); + } - public enum TypeOfSource - { - [Display(Name = "Public Release")] - PublicRelease, + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectBuildLabs(byte major, byte minor) + { + var result = await _buildCollection.Aggregate() + .Match(b => b.MajorVersion == major) + .Match(b => b.MinorVersion == minor) + .Match(b => b.Lab != null) + .Match(b => b.Lab != "") + .Group(b => b.Lab.ToLower(), + // incoming bullshit hack + bg => new Tuple(bg.Key)) + .SortBy(b => b.Item1) + .ToListAsync(); - [Display(Name = "Public Leak")] - InternalLeak, + // work ourselves out of aforementioned bullshit hack + return result.Select(b => b.Item1).ToList(); + } - [Display(Name = "Update (GDR)")] - UpdateGDR, + [DataObjectMethod(DataObjectMethodType.Insert, true)] + public async Task Insert(BuildModel item) + { + item.Id = Guid.NewGuid(); + item.LabUrl = item.GenerateLabUrl(); + await _buildCollection.InsertOneAsync(item); + } - [Display(Name = "Update (LDR)")] - UpdateLDR, + [DataObjectMethod(DataObjectMethodType.Insert, false)] + public async Task InsertAll(IEnumerable items) + { + foreach(var item in items) + { + item.Id = Guid.NewGuid(); + item.LabUrl = item.GenerateLabUrl(); + } - [Display(Name = "App Package")] - AppPackage, + await _buildCollection.InsertManyAsync(items); + } - [Display(Name = "Build Tools")] - BuildTools, + [DataObjectMethod(DataObjectMethodType.Update, true)] + public async Task Update(BuildModel item) + { + BuildModel old = await SelectById(item.Id); + item.Added = old.Added; + item.Modified = DateTime.Now; + item.LabUrl = item.GenerateLabUrl(); - [Display(Name = "Documentation")] - Documentation, + await _buildCollection.ReplaceOneAsync(f => f.Id == item.Id, item); + } - [Display(Name = "Logging")] - Logging, + [DataObjectMethod(DataObjectMethodType.Delete, true)] + public async Task DeleteById(Guid id) + { + await _buildCollection.DeleteOneAsync(f => f.Id == id); + } + } - [Display(Name = "Private Leak")] - PrivateLeak - } + public enum TypeOfSource + { + [Display(ResourceType = typeof(Model), Name = "PublicRelease")] + PublicRelease = 0, - public enum LevelOfFlight - { - None = 0, - Low = 1, - Medium = 2, - High = 3 - } + [Display(ResourceType = typeof(Model), Name = "InternalLeak")] + InternalLeak = 1, - public struct BuildVersion - { - public byte Major { get; set; } - public byte Minor { get; set; } + [Display(ResourceType = typeof(Model), Name = "UpdateGDR")] + UpdateGDR = 2, - public override string ToString() - { - return $"{Major}.{Minor}"; - } - } + [Display(ResourceType = typeof(Model), Name = "UpdateLDR")] + UpdateLDR = 3, - public struct BuildGroup - { - public byte Major { get; set; } - public byte Minor { get; set; } - public ushort Build { get; set; } - public ushort? Revision { get; set; } + [Display(ResourceType = typeof(Model), Name = "AppPackage")] + AppPackage = 4, - public override string ToString() - { - return Revision.HasValue ? - $"{Major}.{Minor}.{Build}.{Revision.Value}" : - $"{Major}.{Minor}.{Build}"; - } - } + [Display(ResourceType = typeof(Model), Name = "BuildTools")] + BuildTools = 5, + + [Display(ResourceType = typeof(Model), Name = "Documentation")] + Documentation = 6, + + [Display(ResourceType = typeof(Model), Name = "Logging")] + Logging = 7, + + [Display(ResourceType = typeof(Model), Name = "PrivateLeak")] + PrivateLeak = 8 + } + + public enum LevelOfFlight + { + [Display(ResourceType = typeof(Model), Name = "FlightNone")] + None = 0, + + [Display(ResourceType = typeof(Model), Name = "FlightWIS")] + WIS = 1, + + [Display(ResourceType = typeof(Model), Name = "FlightWIF")] + WIF = 2, + + [Display(ResourceType = typeof(Model), Name = "FlightOSG")] + OSG = 3, + + [Display(ResourceType = typeof(Model), Name = "FlightMSIT")] + MSIT = 4, + + [Display(ResourceType = typeof(Model), Name = "FlightCanary")] + Canary = 5 + } + + public class BuildVersion + { + public byte Major { get; set; } + public byte Minor { get; set; } + + public BuildVersion() + { + } + + public BuildVersion(byte major, byte minor) + { + Major = major; + Minor = minor; + } + + public override string ToString() + { + return $"{Major}.{Minor}"; + } + } + + public class BuildGroup + { + public byte Major { get; set; } + public byte Minor { get; set; } + public ushort Build { get; set; } + public ushort? Revision { get; set; } + + public override string ToString() + { + return Revision.HasValue ? + $"{Major}.{Minor}.{Build}.{Revision.Value}" : + $"{Major}.{Minor}.{Build}"; + } + } } \ No newline at end of file diff --git a/BuildFeed/Models/MetaItem.cs b/BuildFeed/Models/MetaItem.cs index aa6d42b..db09c5d 100644 --- a/BuildFeed/Models/MetaItem.cs +++ b/BuildFeed/Models/MetaItem.cs @@ -1,186 +1,169 @@ -using NServiceKit.DataAnnotations; -using NServiceKit.DesignPatterns.Model; -using NServiceKit.Redis; +using MongoDB.Bson; +using MongoDB.Bson.Serialization.Attributes; +using MongoDB.Driver; using System; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Linq; +using System.Threading.Tasks; using System.Web.Mvc; using Required = System.ComponentModel.DataAnnotations.RequiredAttribute; namespace BuildFeed.Models { - [DataObject] - public class MetaItem : IHasId - { - [Key] - [Index] - [@Required] - public MetaItemKey Id { get; set; } + [DataObject] + public class MetaItemModel + { + [Key] + [BsonId] + [@Required] + public MetaItemKey Id { get; set; } - [DisplayName("Page Content")] - [AllowHtml] - public string PageContent { get; set; } + [DisplayName("Page Content")] + [AllowHtml] + public string PageContent { get; set; } - [DisplayName("Meta Description")] - public string MetaDescription { get; set; } + [DisplayName("Meta Description")] + public string MetaDescription { get; set; } + } + public class MetaItem + { + private const string _metaCollectionName = "metaitem"; + private MongoClient _dbClient; + private IMongoCollection _metaCollection; + private Build bModel; - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable Select() - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - return client.GetAll(); - } - } + public MetaItem() + { + _dbClient = new MongoClient(new MongoClientSettings() + { + Server = new MongoServerAddress(MongoConfig.Host, MongoConfig.Port) + }); - [DataObjectMethod(DataObjectMethodType.Select, true)] - public static IEnumerable SelectByType(MetaType type) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - return from t in client.GetAll() - where t.Id.Type == type - select t; - } - } + _metaCollection = _dbClient.GetDatabase(MongoConfig.Database).GetCollection(_metaCollectionName); + bModel = new Build(); + } - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static MetaItem SelectById(MetaItemKey id) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - return client.GetById(id); - } - } + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> Select() + { + return await _metaCollection + .Find(new BsonDocument()) + .ToListAsync(); + } - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectUnusedLabs() - { + [DataObjectMethod(DataObjectMethodType.Select, true)] + public async Task> SelectByType(MetaType type) + { + return await _metaCollection + .Find(f => f.Id.Type == type) + .ToListAsync(); + } - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - var labs = Build.SelectBuildLabs(); + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task SelectById(MetaItemKey id) + { + return await _metaCollection + .Find(f => f.Id.Type == id.Type && f.Id.Value == id.Value) + .SingleOrDefaultAsync(); + } - var usedLabs = from u in client.GetAll() - where u.Id.Type == MetaType.Lab - select u; + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectUnusedLabs() + { + var labs = await bModel.SelectBuildLabs(); - return from l in labs - where usedLabs.All(ul => ul.Id.Value != l) - select l; - } - } + var usedLabs = await _metaCollection.Find(f => f.Id.Type == MetaType.Lab).ToListAsync(); - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectUnusedVersions() - { + return from l in labs + where usedLabs.All(ul => ul.Id.Value != l) + select l; + } - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - var versions = Build.SelectBuildVersions(); + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectUnusedVersions() + { + var versions = await bModel.SelectBuildVersions(); - var usedLabs = from u in client.GetAll() - where u.Id.Type == MetaType.Version - select u; + var usedVersions = await _metaCollection.Find(f => f.Id.Type == MetaType.Version).ToListAsync(); - return from v in versions - where usedLabs.All(ul => ul.Id.Value != v.ToString()) - select v.ToString(); - } - } + return from v in versions + where usedVersions.All(ul => ul.Id.Value != v.ToString()) + select v.ToString(); + } - [DataObjectMethod(DataObjectMethodType.Select, false)] - public static IEnumerable SelectUnusedYears() - { + [DataObjectMethod(DataObjectMethodType.Select, false)] + public async Task> SelectUnusedYears() + { + var years = await bModel.SelectBuildYears(); - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - var years = Build.SelectBuildYears(); + var usedYears = await _metaCollection.Find(f => f.Id.Type == MetaType.Year).ToListAsync(); - var usedYears = from u in client.GetAll() - where u.Id.Type == MetaType.Year - select u; + return from y in years + where usedYears.All(ul => ul.Id.Value != y.ToString()) + select y.ToString(); + } - return from y in years - where usedYears.All(ul => ul.Id.Value != y.ToString()) - select y.ToString(); - } - } + [DataObjectMethod(DataObjectMethodType.Insert, true)] + public async Task Insert(MetaItemModel item) + { + await _metaCollection + .InsertOneAsync(item); + } - [DataObjectMethod(DataObjectMethodType.Insert, true)] - public static void Insert(MetaItem item) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - client.Store(item); - } - } + [DataObjectMethod(DataObjectMethodType.Update, true)] + public async Task Update(MetaItemModel item) + { + await _metaCollection + .ReplaceOneAsync(f => f.Id.Type == item.Id.Type && f.Id.Value == item.Id.Value, item); + } - [DataObjectMethod(DataObjectMethodType.Update, true)] - public static void Update(MetaItem item) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - client.Store(item); - } - } + [DataObjectMethod(DataObjectMethodType.Insert, false)] + public async Task InsertAll(IEnumerable items) + { + await _metaCollection + .InsertManyAsync(items); + } - [DataObjectMethod(DataObjectMethodType.Insert, false)] - public static void InsertAll(IEnumerable items) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - client.StoreAll(items); - } - } + [DataObjectMethod(DataObjectMethodType.Delete, true)] + public async Task DeleteById(MetaItemKey id) + { + await _metaCollection + .DeleteOneAsync(f => f.Id.Type == id.Type && f.Id.Value == id.Value); + } + } - [DataObjectMethod(DataObjectMethodType.Delete, true)] - public static void DeleteById(long id) - { - using (RedisClient rClient = new RedisClient(DatabaseConfig.Host, DatabaseConfig.Port, db: DatabaseConfig.Database)) - { - var client = rClient.As(); - client.DeleteById(id); - } - } - } + public class MetaItemKey + { + public string Value { get; set; } + public MetaType Type { get; set; } - public struct MetaItemKey - { - public string Value { get; set; } - public MetaType Type { get; set; } + public MetaItemKey() + { - public MetaItemKey(string id) - { - var items = id.Split(':'); - Type = (MetaType)Enum.Parse(typeof(MetaType), items[0]); - Value = items[1]; - } + } - public override string ToString() - { - return $"{Type}:{Value}"; - } - } + public MetaItemKey(string id) + { + var items = id.Split(':'); + Type = (MetaType)Enum.Parse(typeof(MetaType), items[0]); + Value = items[1]; + } - public enum MetaType - { - Lab, - Version, - Source, - Year - } + public override string ToString() + { + return $"{Type}:{Value}"; + } + } + + public enum MetaType + { + Lab, + Version, + Source, + Year + } } \ No newline at end of file diff --git a/BuildFeed/Models/ViewModel/ChangePassword.cs b/BuildFeed/Models/ViewModel/ChangePassword.cs index d5a3410..82e22b5 100644 --- a/BuildFeed/Models/ViewModel/ChangePassword.cs +++ b/BuildFeed/Models/ViewModel/ChangePassword.cs @@ -1,28 +1,25 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Web; +using BuildFeed.Local; namespace BuildFeed.Models.ViewModel { public class ChangePassword { [Required] - [MinLength(12)] - [DisplayName("Enter current password")] + [MinLength(8)] + [Display(ResourceType = typeof(Support), Name = "EnterCurrentPassword")] public string OldPassword { get; set; } [Required] - [MinLength(12)] - [DisplayName("Enter new password")] + [MinLength(8)] + [Display(ResourceType = typeof(Support), Name = "EnterNewPassword")] public string NewPassword { get; set; } [Required] - [MinLength(12)] - [DisplayName("Confirm new password")] + [MinLength(8)] + [Display(ResourceType = typeof(Support), Name = "ConfirmNewPassword")] [Compare("NewPassword")] public string ConfirmNewPassword { get; set; } } -} \ No newline at end of file +} diff --git a/BuildFeed/Models/ViewModel/LoginUser.cs b/BuildFeed/Models/ViewModel/LoginUser.cs index 0a1e7d4..0cba83a 100644 --- a/BuildFeed/Models/ViewModel/LoginUser.cs +++ b/BuildFeed/Models/ViewModel/LoginUser.cs @@ -1,23 +1,19 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Web; +using System.ComponentModel.DataAnnotations; +using BuildFeed.Local; namespace BuildFeed.Models.ViewModel { public class LoginUser { [Required] - [DisplayName("Username")] + [Display(ResourceType = typeof(Support), Name = "UserName")] public string UserName { get; set; } [Required] - [DisplayName("Password")] + [Display(ResourceType = typeof(Support), Name = "Password")] public string Password { get; set; } - [DisplayName("Remember me")] + [Display(ResourceType = typeof(Support), Name = "RememberMe")] public bool RememberMe { get; set; } } } \ No newline at end of file diff --git a/BuildFeed/Models/ViewModel/RegistrationUser.cs b/BuildFeed/Models/ViewModel/RegistrationUser.cs index 59dc7b7..58f53e0 100644 --- a/BuildFeed/Models/ViewModel/RegistrationUser.cs +++ b/BuildFeed/Models/ViewModel/RegistrationUser.cs @@ -1,32 +1,29 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Web; +using BuildFeed.Local; namespace BuildFeed.Models.ViewModel { public class RegistrationUser { [Required] - [DisplayName("Username")] + [Display(ResourceType = typeof(Support), Name ="UserName")] public string UserName { get; set; } [Required] - [MinLength(12)] - [DisplayName("Enter password")] + [MinLength(8)] + [Display(ResourceType = typeof(Support), Name = "EnterPassword")] public string Password { get; set; } [Required] - [MinLength(12)] - [DisplayName("Confirm password")] + [MinLength(8)] + [Display(ResourceType = typeof(Support), Name = "ConfirmPassword")] [Compare("Password")] public string ConfirmPassword { get; set; } [Required] [EmailAddress] - [DisplayName("Email address")] + [Display(ResourceType = typeof(Support), Name = "EmailAddress")] public string EmailAddress { get; set; } } -} \ No newline at end of file +} diff --git a/BuildFeed/Models/ViewModel/SitemapData.cs b/BuildFeed/Models/ViewModel/SitemapData.cs index 252c6c8..be5546a 100644 --- a/BuildFeed/Models/ViewModel/SitemapData.cs +++ b/BuildFeed/Models/ViewModel/SitemapData.cs @@ -22,7 +22,7 @@ namespace BuildFeed.Models.ViewModel public class SitemapDataBuild { - public long Id { get; set; } + public Guid Id { get; set; } public string Name { get; set; } } diff --git a/BuildFeed/Properties/PublishProfiles/Local Folder.pubxml b/BuildFeed/Properties/PublishProfiles/Local Folder.pubxml index 8000d96..100b63a 100644 --- a/BuildFeed/Properties/PublishProfiles/Local Folder.pubxml +++ b/BuildFeed/Properties/PublishProfiles/Local Folder.pubxml @@ -10,12 +10,12 @@ by editing this MSBuild file. In order to learn more about this please visit htt Any CPU True + False + C:\Users\Thomas\Documents\My Web Sites\dev.buildfeed.net + True True True True DonotMerge - False - C:\Users\Thomas\Downloads\dev.buildfeed.net\ - True \ No newline at end of file diff --git a/BuildFeed/Scripts/_references.js b/BuildFeed/Scripts/_references.js index 9d4d0a8..18138cb 100644 Binary files a/BuildFeed/Scripts/_references.js and b/BuildFeed/Scripts/_references.js differ diff --git a/BuildFeed/Scripts/bfs.js b/BuildFeed/Scripts/bfs.js index 5d918c5..c4315e3 100644 --- a/BuildFeed/Scripts/bfs.js +++ b/BuildFeed/Scripts/bfs.js @@ -2,36 +2,44 @@ var bfsTimeout; $(function () { - $("#page-navigation-search").click(function (event) { - event.preventDefault(); - $("#search-modal").modal('show'); - }); - $("#search-input").keyup(function () { - var search = $(this); - $(this).parent().find(".list-group").remove(); + $("#page-navigation-search").click(function (event) { + event.preventDefault(); + $("#search-modal").modal('show'); + }); + $("#search-input").keyup(function () { + var search = $(this); + $(this).parent().find(".list-group").remove(); - if (typeof bfsTimeout != 'undefined') { - clearTimeout(bfsTimeout); - } + if (typeof bfsTimeout != 'undefined') { + clearTimeout(bfsTimeout); + } - if (typeof bfsAjax != 'undefined' && bfsAjax.readyState != 4) { - bfsAjax.abort(); - } + if (typeof bfsAjax != 'undefined' && bfsAjax.readyState != 4) { + bfsAjax.abort(); + } - bfsTimeout = setTimeout(function (object) { - bfsAjax = $.ajax("/api/GetSearchResult/?query=" + $("#search-input").val()).done(function (data) { - var template = $.templates("#result-template"); - var content = $("
"); + bfsTimeout = setTimeout(function (object) { + bfsAjax = $.ajax("/api/GetSearchResult/" + $("#search-input").val() + '/').done(function (data) { + var template = $.templates("#result-template"); + var content = $("
"); - var item = template.render(data); - content.append(item); + var item = template.render(data); + content.append(item); - $("#search-results").html(content); + $("#search-results").html(content); - $("#search-results a.list-group-item").click(function () { - ga('send', 'pageview', '/api/GetSearchResult/?query=' + $("#search-input").val()); - }); + $("#search-results a.list-group-item").click(function () { + ga('send', 'pageview', '/api/GetSearchResult/' + $("#search-input").val() + '/'); }); - }, 200); - }); + }); + }, 200); + }); + + $("#lang-switcher a").click(function (event) { + event.preventDefault(); + var lang = $(this).data("lang"); + document.cookie = "lang=" + lang + "; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/"; + + location.reload(true); + }); }); \ No newline at end of file diff --git a/BuildFeed/Scripts/jquery.validate-vsdoc.js b/BuildFeed/Scripts/jquery.validate-vsdoc.js index bc64ad1..b829538 100644 --- a/BuildFeed/Scripts/jquery.validate-vsdoc.js +++ b/BuildFeed/Scripts/jquery.validate-vsdoc.js @@ -4,7 +4,7 @@ * intended to be used only for design-time IntelliSense. Please use the * standard jQuery library for all production use. * -* Comment version: 1.13.1 +* Comment version: 1.14.0 */ /* @@ -15,7 +15,7 @@ * for informational purposes only and are not the license terms under * which Microsoft distributed this file. * -* jQuery Validation Plugin - v1.13.1 - 2/4/2013 +* jQuery Validation Plugin - v1.14.0 - 2/4/2013 * https://github.com/jzaefferer/jquery-validation * Copyright (c) 2013 Jörn Zaefferer; Licensed MIT * diff --git a/BuildFeed/Scripts/jquery.validate.js b/BuildFeed/Scripts/jquery.validate.js index b8d8a7a..4e979bc 100644 --- a/BuildFeed/Scripts/jquery.validate.js +++ b/BuildFeed/Scripts/jquery.validate.js @@ -1,9 +1,9 @@ /*! - * jQuery Validation Plugin v1.13.1 + * jQuery Validation Plugin v1.14.0 * * http://jqueryvalidation.org/ * - * Copyright (c) 2014 Jörn Zaefferer + * Copyright (c) 2015 Jörn Zaefferer * Released under the MIT license */ (function( factory ) { @@ -40,23 +40,24 @@ $.extend($.fn, { if ( validator.settings.onsubmit ) { - this.validateDelegate( ":submit", "click", function( event ) { + this.on( "click.validate", ":submit", function( event ) { if ( validator.settings.submitHandler ) { validator.submitButton = event.target; } + // allow suppressing validation by adding a cancel class to the submit button - if ( $( event.target ).hasClass( "cancel" ) ) { + if ( $( this ).hasClass( "cancel" ) ) { validator.cancelSubmit = true; } // allow suppressing validation by adding the html5 formnovalidate attribute to the submit button - if ( $( event.target ).attr( "formnovalidate" ) !== undefined ) { + if ( $( this ).attr( "formnovalidate" ) !== undefined ) { validator.cancelSubmit = true; } }); // validate the form on submit - this.submit( function( event ) { + this.on( "submit.validate", function( event ) { if ( validator.settings.debug ) { // prevent form submit to be able to see console output event.preventDefault(); @@ -106,29 +107,23 @@ $.extend($.fn, { }, // http://jqueryvalidation.org/valid/ valid: function() { - var valid, validator; + var valid, validator, errorList; if ( $( this[ 0 ] ).is( "form" ) ) { valid = this.validate().form(); } else { + errorList = []; valid = true; validator = $( this[ 0 ].form ).validate(); this.each( function() { valid = validator.element( this ) && valid; + errorList = errorList.concat( validator.errorList ); }); + validator.errorList = errorList; } return valid; }, - // attributes: space separated list of attributes to retrieve and remove - removeAttrs: function( attributes ) { - var result = {}, - $element = this; - $.each( attributes.split( /\s/ ), function( index, value ) { - result[ value ] = $element.attr( value ); - $element.removeAttr( value ); - }); - return result; - }, + // http://jqueryvalidation.org/rules/ rules: function( command, argument ) { var element = this[ 0 ], @@ -272,7 +267,26 @@ $.extend( $.validator, { } }, onkeyup: function( element, event ) { - if ( event.which === 9 && this.elementValue( element ) === "" ) { + // Avoid revalidate the field when pressing one of the following keys + // Shift => 16 + // Ctrl => 17 + // Alt => 18 + // Caps lock => 20 + // End => 35 + // Home => 36 + // Left arrow => 37 + // Up arrow => 38 + // Right arrow => 39 + // Down arrow => 40 + // Insert => 45 + // Num lock => 144 + // AltGr key => 225 + var excludedKeys = [ + 16, 17, 18, 20, 35, 36, 37, + 38, 39, 40, 45, 144, 225 + ]; + + if ( event.which === 9 && this.elementValue( element ) === "" || $.inArray( event.keyCode, excludedKeys ) !== -1 ) { return; } else if ( element.name in this.submitted || element === this.lastElement ) { this.element( element ); @@ -359,26 +373,26 @@ $.extend( $.validator, { }); function delegate( event ) { - var validator = $.data( this[ 0 ].form, "validator" ), + var validator = $.data( this.form, "validator" ), eventType = "on" + event.type.replace( /^validate/, "" ), settings = validator.settings; - if ( settings[ eventType ] && !this.is( settings.ignore ) ) { - settings[ eventType ].call( validator, this[ 0 ], event ); + if ( settings[ eventType ] && !$( this ).is( settings.ignore ) ) { + settings[ eventType ].call( validator, this, event ); } } + $( this.currentForm ) - .validateDelegate( ":text, [type='password'], [type='file'], select, textarea, " + - "[type='number'], [type='search'] ,[type='tel'], [type='url'], " + - "[type='email'], [type='datetime'], [type='date'], [type='month'], " + - "[type='week'], [type='time'], [type='datetime-local'], " + - "[type='range'], [type='color'], [type='radio'], [type='checkbox']", - "focusin focusout keyup", delegate) + .on( "focusin.validate focusout.validate keyup.validate", + ":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], " + + "[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], " + + "[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], " + + "[type='radio'], [type='checkbox']", delegate) // Support: Chrome, oldIE // "select" is provided as event.target when clicking a option - .validateDelegate("select, option, [type='radio'], [type='checkbox']", "click", delegate); + .on("click.validate", "select, option, [type='radio'], [type='checkbox']", delegate); if ( this.settings.invalidHandler ) { - $( this.currentForm ).bind( "invalid-form.validate", this.settings.invalidHandler ); + $( this.currentForm ).on( "invalid-form.validate", this.settings.invalidHandler ); } // Add aria-required to any Static/Data/Class required fields before first validation @@ -471,10 +485,18 @@ $.extend( $.validator, { this.lastElement = null; this.prepareForm(); this.hideErrors(); - this.elements() - .removeClass( this.settings.errorClass ) - .removeData( "previousValue" ) - .removeAttr( "aria-invalid" ); + var i, elements = this.elements() + .removeData( "previousValue" ) + .removeAttr( "aria-invalid" ); + + if ( this.settings.unhighlight ) { + for ( i = 0; elements[ i ]; i++ ) { + this.settings.unhighlight.call( this, elements[ i ], + this.settings.errorClass, "" ); + } + } else { + elements.removeClass( this.settings.errorClass ); + } }, numberOfInvalids: function() { @@ -536,7 +558,7 @@ $.extend( $.validator, { // select all valid inputs inside the form (no submit or reset buttons) return $( this.currentForm ) .find( "input, select, textarea" ) - .not( ":submit, :reset, :image, [disabled], [readonly]" ) + .not( ":submit, :reset, :image, :disabled" ) .not( this.settings.ignore ) .filter( function() { if ( !this.name && validator.settings.debug && window.console ) { @@ -587,7 +609,7 @@ $.extend( $.validator, { type = element.type; if ( type === "radio" || type === "checkbox" ) { - return $( "input[name='" + element.name + "']:checked" ).val(); + return this.findByName( element.name ).filter(":checked").val(); } else if ( type === "number" && typeof element.validity !== "undefined" ) { return element.validity.badInput ? false : $element.val(); } @@ -637,6 +659,10 @@ $.extend( $.validator, { if ( this.settings.debug && window.console ) { console.log( "Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method.", e ); } + if ( e instanceof TypeError ) { + e.message += ". Exception occurred when checking element " + element.id + ", check the '" + rule.method + "' method."; + } + throw e; } } @@ -786,7 +812,7 @@ $.extend( $.validator, { // If the element is not a child of an associated label, then it's necessary // to explicitly apply aria-describedby - errorID = error.attr( "id" ).replace( /(:|\.|\[|\])/g, "\\$1"); + errorID = error.attr( "id" ).replace( /(:|\.|\[|\]|\$)/g, "\\$1"); // Respect existing non-error aria-describedby if ( !describedBy ) { describedBy = errorID; @@ -918,6 +944,15 @@ $.extend( $.validator, { valid: true, message: this.defaultMessage( element, "remote" ) }); + }, + + // cleans up all forms and elements, removes validator-specific events + destroy: function() { + this.resetForm(); + + $( this.currentForm ) + .off( ".validate" ) + .removeData( "validator" ); } }, @@ -955,6 +990,29 @@ $.extend( $.validator, { return rules; }, + normalizeAttributeRule: function( rules, type, method, value ) { + + // convert the value to a number for number inputs, and for text for backwards compability + // allows type="date" and others to be compared as strings + if ( /min|max/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) { + value = Number( value ); + + // Support Opera Mini, which returns NaN for undefined minlength + if ( isNaN( value ) ) { + value = undefined; + } + } + + if ( value || value === 0 ) { + rules[ method ] = value; + } else if ( type === method && type !== "range" ) { + + // exception: the jquery validate 'range' method + // does not test for the html5 'range' type + rules[ method ] = true; + } + }, + attributeRules: function( element ) { var rules = {}, $element = $( element ), @@ -966,30 +1024,20 @@ $.extend( $.validator, { // support for in both html5 and older browsers if ( method === "required" ) { value = element.getAttribute( method ); + // Some browsers return an empty string for the required attribute // and non-HTML5 browsers might have required="" markup if ( value === "" ) { value = true; } + // force non-HTML5 browsers to return bool value = !!value; } else { value = $element.attr( method ); } - // convert the value to a number for number inputs, and for text for backwards compability - // allows type="date" and others to be compared as strings - if ( /min|max/.test( method ) && ( type === null || /number|range|text/.test( type ) ) ) { - value = Number( value ); - } - - if ( value || value === 0 ) { - rules[ method ] = value; - } else if ( type === method && type !== "range" ) { - // exception: the jquery validate 'range' method - // does not test for the html5 'range' type - rules[ method ] = true; - } + this.normalizeAttributeRule( rules, type, method, value ); } // maxlength may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs @@ -1001,13 +1049,14 @@ $.extend( $.validator, { }, dataRules: function( element ) { - var method, value, - rules = {}, $element = $( element ); + var rules = {}, + $element = $( element ), + type = element.getAttribute( "type" ), + method, value; + for ( method in $.validator.methods ) { value = $element.data( "rule" + method.charAt( 0 ).toUpperCase() + method.substring( 1 ).toLowerCase() ); - if ( value !== undefined ) { - rules[ method ] = value; - } + this.normalizeAttributeRule( rules, type, method, value ); } return rules; }, @@ -1125,12 +1174,12 @@ $.extend( $.validator, { if ( this.checkable( element ) ) { return this.getLength( value, element ) > 0; } - return $.trim( value ).length > 0; + return value.length > 0; }, // http://jqueryvalidation.org/email-method/ email: function( value, element ) { - // From http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#e-mail-state-%28type=email%29 + // From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address // Retrieved 2014-01-14 // If you have a problem with this implementation, report a bug against the above spec // Or use custom methods to implement your own email validation @@ -1139,8 +1188,12 @@ $.extend( $.validator, { // http://jqueryvalidation.org/url-method/ url: function( value, element ) { - // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/ - return this.optional( element ) || /^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test( value ); + + // Copyright (c) 2010-2013 Diego Perini, MIT licensed + // https://gist.github.com/dperini/729294 + // see also https://mathiasbynens.be/demo/url-regex + // modified to allow protocol-relative URLs + return this.optional( element ) || /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test( value ); }, // http://jqueryvalidation.org/date-method/ @@ -1155,7 +1208,7 @@ $.extend( $.validator, { // http://jqueryvalidation.org/number-method/ number: function( value, element ) { - return this.optional( element ) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test( value ); + return this.optional( element ) || /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test( value ); }, // http://jqueryvalidation.org/digits-method/ @@ -1164,7 +1217,7 @@ $.extend( $.validator, { }, // http://jqueryvalidation.org/creditcard-method/ - // based on http://en.wikipedia.org/wiki/Luhn/ + // based on http://en.wikipedia.org/wiki/Luhn_algorithm creditcard: function( value, element ) { if ( this.optional( element ) ) { return "dependency-mismatch"; @@ -1240,7 +1293,7 @@ $.extend( $.validator, { // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead var target = $( param ); if ( this.settings.onfocusout ) { - target.unbind( ".validate-equalTo" ).bind( "blur.validate-equalTo", function() { + target.off( ".validate-equalTo" ).on( "blur.validate-equalTo", function() { $( element ).valid(); }); } @@ -1274,7 +1327,6 @@ $.extend( $.validator, { data = {}; data[ element.name ] = value; $.ajax( $.extend( true, { - url: param, mode: "abort", port: "validate" + element.name, dataType: "json", @@ -1305,15 +1357,10 @@ $.extend( $.validator, { }, param ) ); return "pending"; } - } }); -$.format = function deprecated() { - throw "$.format has been deprecated. Please use $.validator.format instead."; -}; - // ajax mode: abort // usage: $.ajax({ mode: "abort"[, port: "uniqueport"]}); // if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort() @@ -1348,18 +1395,4 @@ if ( $.ajaxPrefilter ) { }; } -// provides delegate(type: String, delegate: Selector, handler: Callback) plugin for easier event delegation -// handler is only called when $(event.target).is(delegate), in the scope of the jquery-object for event.target - -$.extend($.fn, { - validateDelegate: function( delegate, type, handler ) { - return this.bind(type, function( event ) { - var target = $(event.target); - if ( target.is(delegate) ) { - return handler.apply(target, arguments); - } - }); - } -}); - })); \ No newline at end of file diff --git a/BuildFeed/Scripts/jquery.validate.min.js b/BuildFeed/Scripts/jquery.validate.min.js index 3a8cdb2..643837b 100644 --- a/BuildFeed/Scripts/jquery.validate.min.js +++ b/BuildFeed/Scripts/jquery.validate.min.js @@ -1,4 +1,4 @@ -/*! jQuery Validation Plugin - v1.13.1 - 10/14/2014 +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015 * http://jqueryvalidation.org/ - * Copyright (c) 2014 Jörn Zaefferer; Licensed MIT */ -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.validateDelegate(":submit","click",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(b.target).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(b.target).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.submit(function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c;return a(this[0]).is("form")?b=this.validate().form():(b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b})),b},removeAttrs:function(b){var c={},d=this;return a.each(b.split(/\s/),function(a,b){c[b]=d.attr(b),d.removeAttr(b)}),c},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(a,b){(9!==b.which||""!==this.elementValue(a))&&(a.name in this.submitted||a===this.lastElement)&&this.element(a)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this[0].form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!this.is(e.ignore)&&e[d].call(c,this[0],b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).validateDelegate(":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']","focusin focusout keyup",b).validateDelegate("select, option, [type='radio'], [type='checkbox']","click",b),this.settings.invalidHandler&&a(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors(),this.elements().removeClass(this.settings.errorClass).removeData("previousValue").removeAttr("aria-invalid")},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled], [readonly]").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?a("input[name='"+b.name+"']:checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+"")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\])/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),/min|max/.test(c)&&(null===g||/number|range|text/.test(g))&&(d=Number(d)),d||0===d?e[c]=d:g===c&&"range"!==g&&(e[c]=!0);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b);for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),void 0!==d&&(e[c]=d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:a.trim(b).length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{url:d,mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}}),a.format=function(){throw"$.format has been deprecated. Please use $.validator.format instead."};var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)}),a.extend(a.fn,{validateDelegate:function(b,c,d){return this.bind(c,function(c){var e=a(c.target);return e.is(b)?d.apply(e,arguments):void 0})}})}); \ No newline at end of file + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */ +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,d=d.concat(c.errorList)}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b===this.lastElement)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var b,c=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(b=0;c[b];b++)this.settings.unhighlight.call(this,c[b],this.settings.errorClass,"");else c.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?this.findByName(b.name).filter(":checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+"")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.off(".validate-equalTo").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})}); \ No newline at end of file diff --git a/BuildFeed/Scripts/trumbowyg/langs/ar.min.js b/BuildFeed/Scripts/trumbowyg/langs/ar.min.js new file mode 100644 index 0000000..0f83dd3 --- /dev/null +++ b/BuildFeed/Scripts/trumbowyg/langs/ar.min.js @@ -0,0 +1,9 @@ +/* =========================================================== + * ar.js + * Arabic translation for Trumbowyg + * http://alex-d.github.com/Trumbowyg + * =========================================================== + * Author : Abo Mokh ahmed (abomokhahmed) + * Github : https://github.com/abomokhahmed + */ +jQuery.trumbowyg.langs.ar={_dir:"rtl",viewHTML:"إعرض-HTML",formatting:"تصميم",p:"فقرة",blockquote:"اقتباس",code:"كود",header:"رئيسي",bold:"عريض",italic:"مائل",strikethrough:"مشطوب",underline:"خطّ سفلي",strong:"بارز",em:"تغميق",del:"حذف",unorderedList:"قائمة غير مرتّبة",orderedList:"قائمة مرتّبة",insertImage:"إدخال صورة",insertVideo:"إدخال فيديو",link:"رابط",createLink:"انشاء رابط",unlink:"حذف رابط",justifyLeft:"تصحيح للشمال",justifyCenter:"تصحيح للمركز",justifyRight:"تصحيح لليمين",justifyFull:"تصحيح لكلا الإتّجاهين",horizontalRule:"إدخال خطّ أفقي",fullscreen:"شاشة واسعة",close:"إغلاق",submit:"أرسل",reset:"تهيئة من حديد",required:"إلزامي",description:"وصف",title:"عنوان",text:"نصّ"}; \ No newline at end of file diff --git a/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.js b/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.js index 43fb136..3dd69f7 100644 --- a/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.js +++ b/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.js @@ -13,6 +13,10 @@ $.extend(true, $.trumbowyg, { langs: { + cs: { + foreColor: "Barva textu", + backColor: "Barva pozadí" + }, en: { foreColor: "Text color", backColor: "Background color" diff --git a/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.min.js b/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.min.js index b1aecf5..26962a7 100644 --- a/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.min.js +++ b/BuildFeed/Scripts/trumbowyg/plugins/colors/trumbowyg.colors.min.js @@ -1 +1 @@ -!function(o){"use strict";function f(f){var e=[];o.each(o.trumbowyg.opts.colors,function(r,d){var b="_"+f+d;o.trumbowyg.opts.btnsDef[b]={func:f,param:"#"+d,style:"background-color: #"+d+";"},e.push(b)});var r="_"+f+"transparent";return o.trumbowyg.opts.btnsDef[r]={func:f,param:"transparent",style:"background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQIW2NkQAAfEJMRmwBYhoGBYQtMBYoAADziAp0jtJTgAAAAAElFTkSuQmCC);"},e.push(r),e}o.extend(!0,o.trumbowyg,{langs:{en:{foreColor:"Text color",backColor:"Background color"},fr:{foreColor:"Couleur du texte",backColor:"Couleur de fond"},sk:{foreColor:"Farba textu",backColor:"Farba pozadia"}}}),o.extend(!0,o.trumbowyg,{opts:{btnsDef:{}}}),o.trumbowyg.opts.colors||(o.trumbowyg.opts.colors=["ffffff","000000","eeece1","1f497d","4f81bd","c0504d","9bbb59","8064a2","4bacc6","f79646","ffff00","f2f2f2","7f7f7f","ddd9c3","c6d9f0","dbe5f1","f2dcdb","ebf1dd","e5e0ec","dbeef3","fdeada","fff2ca","d8d8d8","595959","c4bd97","8db3e2","b8cce4","e5b9b7","d7e3bc","ccc1d9","b7dde8","fbd5b5","ffe694","bfbfbf","3f3f3f","938953","548dd4","95b3d7","d99694","c3d69b","b2a2c7","b7dde8","fac08f","f2c314","a5a5a5","262626","494429","17365d","366092","953734","76923c","5f497a","92cddc","e36c09","c09100","7f7f7f","0c0c0c","1d1b10","0f243e","244061","632423","4f6128","3f3151","31859b","974806","7f6000"]),o.extend(!0,o.trumbowyg,{opts:{btnsDef:{foreColor:{dropdown:f("foreColor")},backColor:{dropdown:f("backColor")}}}})}(jQuery); \ No newline at end of file +!function(o){"use strict";function f(f){var r=[];o.each(o.trumbowyg.opts.colors,function(e,d){var c="_"+f+d;o.trumbowyg.opts.btnsDef[c]={func:f,param:"#"+d,style:"background-color: #"+d+";"},r.push(c)});var e="_"+f+"transparent";return o.trumbowyg.opts.btnsDef[e]={func:f,param:"transparent",style:"background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAG0lEQVQIW2NkQAAfEJMRmwBYhoGBYQtMBYoAADziAp0jtJTgAAAAAElFTkSuQmCC);"},r.push(e),r}o.extend(!0,o.trumbowyg,{langs:{cs:{foreColor:"Barva textu",backColor:"Barva pozadí"},en:{foreColor:"Text color",backColor:"Background color"},fr:{foreColor:"Couleur du texte",backColor:"Couleur de fond"},sk:{foreColor:"Farba textu",backColor:"Farba pozadia"}}}),o.extend(!0,o.trumbowyg,{opts:{btnsDef:{}}}),o.trumbowyg.opts.colors||(o.trumbowyg.opts.colors=["ffffff","000000","eeece1","1f497d","4f81bd","c0504d","9bbb59","8064a2","4bacc6","f79646","ffff00","f2f2f2","7f7f7f","ddd9c3","c6d9f0","dbe5f1","f2dcdb","ebf1dd","e5e0ec","dbeef3","fdeada","fff2ca","d8d8d8","595959","c4bd97","8db3e2","b8cce4","e5b9b7","d7e3bc","ccc1d9","b7dde8","fbd5b5","ffe694","bfbfbf","3f3f3f","938953","548dd4","95b3d7","d99694","c3d69b","b2a2c7","b7dde8","fac08f","f2c314","a5a5a5","262626","494429","17365d","366092","953734","76923c","5f497a","92cddc","e36c09","c09100","7f7f7f","0c0c0c","1d1b10","0f243e","244061","632423","4f6128","3f3151","31859b","974806","7f6000"]),o.extend(!0,o.trumbowyg,{opts:{btnsDef:{foreColor:{dropdown:f("foreColor")},backColor:{dropdown:f("backColor")}}}})}(jQuery); \ No newline at end of file diff --git a/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.css b/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.css index ebe7d0d..2425f5d 100644 --- a/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.css +++ b/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.css @@ -1,5 +1,5 @@ /** - * Trumbowyg v2.0.0-beta.2 - A lightweight WYSIWYG editor + * Trumbowyg v2.0.0-beta.4 - A lightweight WYSIWYG editor * Colors plugin stylesheet for Trumbowyg editor * ------------------------ * @link http://alex-d.github.io/Trumbowyg @@ -10,7 +10,7 @@ */ .foreColor-trumbowyg-dropdown, .backColor-trumbowyg-dropdown { - width: 264px; + width: 276px; padding: 7px 5px; } .foreColor-trumbowyg-dropdown button, .backColor-trumbowyg-dropdown button { display: block; diff --git a/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.min.css b/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.min.css index 5f34f6f..a9360bb 100644 --- a/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.min.css +++ b/BuildFeed/Scripts/trumbowyg/plugins/colors/ui/trumbowyg.colors.min.css @@ -1,2 +1,2 @@ -/** Trumbowyg v2.0.0-beta.2 - A lightweight WYSIWYG editor - alex-d.github.io/Trumbowyg - License MIT - Author : Alexandre Demode (Alex-D) / alex-d.fr */ -.backColor-trumbowyg-dropdown,.foreColor-trumbowyg-dropdown{width:264px;padding:7px 5px}.backColor-trumbowyg-dropdown button,.foreColor-trumbowyg-dropdown button{display:block;position:relative;float:left;text-indent:-9999px;height:20px;width:20px;border:1px solid #333;padding:0;margin:2px}.backColor-trumbowyg-dropdown button:focus::after,.backColor-trumbowyg-dropdown button:hover::after,.foreColor-trumbowyg-dropdown button:focus::after,.foreColor-trumbowyg-dropdown button:hover::after{content:" ";display:block;height:27px;width:27px;background:inherit;position:absolute;top:-5px;left:-5px;border:1px solid #FFF;-webkit-box-shadow:#000 0 0 2px;box-shadow:#000 0 0 2px;z-index:10}.trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-black.png)}.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-white.png)}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (-o-min-device-pixel-ratio:4/3),only screen and (min-device-pixel-ratio:1.3),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-black-2x.png)!important;-webkit-background-size:25px 50px!important;background-size:25px 50px!important}.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-white-2x.png)!important}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}} \ No newline at end of file +/** Trumbowyg v2.0.0-beta.4 - A lightweight WYSIWYG editor - alex-d.github.io/Trumbowyg - License MIT - Author : Alexandre Demode (Alex-D) / alex-d.fr */ +.backColor-trumbowyg-dropdown,.foreColor-trumbowyg-dropdown{width:276px;padding:7px 5px}.backColor-trumbowyg-dropdown button,.foreColor-trumbowyg-dropdown button{display:block;position:relative;float:left;text-indent:-9999px;height:20px;width:20px;border:1px solid #333;padding:0;margin:2px}.backColor-trumbowyg-dropdown button:focus::after,.backColor-trumbowyg-dropdown button:hover::after,.foreColor-trumbowyg-dropdown button:focus::after,.foreColor-trumbowyg-dropdown button:hover::after{content:" ";display:block;height:27px;width:27px;background:inherit;position:absolute;top:-5px;left:-5px;border:1px solid #FFF;-webkit-box-shadow:#000 0 0 2px;box-shadow:#000 0 0 2px;z-index:10}.trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-black.png)}.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-white.png)}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}@media only screen and (-webkit-min-device-pixel-ratio:1.3),only screen and (min--moz-device-pixel-ratio:1.3),only screen and (-o-min-device-pixel-ratio:4/3),only screen and (min-device-pixel-ratio:1.3),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){.trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-black-2x.png)!important;-webkit-background-size:25px 50px!important;background-size:25px 50px!important}.trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button,.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-image:url(./images/icons-white-2x.png)!important}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-foreColor-button{background-position:5px -20px}.trumbowyg-black .trumbowyg-button-pane li button.trumbowyg-backColor-button{background-position:5px 5px}} \ No newline at end of file diff --git a/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.js b/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.js index 6c9b3f5..626e405 100644 --- a/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.js +++ b/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.js @@ -29,6 +29,11 @@ upload: "Envoi", file: "Fichier", uploadError: "Erreur" + }, + cs: { + upload: "Nahrát obrázek", + file: "Soubor", + uploadError: "Chyba" } }, diff --git a/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.min.js b/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.min.js index ca39d1d..cd55a9e 100644 --- a/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.min.js +++ b/BuildFeed/Scripts/trumbowyg/plugins/upload/trumbowyg.upload.min.js @@ -1 +1 @@ -!function(e){"use strict";function r(){if(!e.trumbowyg&&!e.trumbowyg.addedXhrProgressEvent){var r=e.ajaxSettings.xhr;e.ajaxSetup({xhr:function(){var e=r(),o=this;return e&&"object"==typeof e.upload&&void 0!==o.progressUpload&&e.upload.addEventListener("progress",function(e){o.progressUpload(e)},!1),e}}),e.trumbowyg.addedXhrProgressEvent=!0}}r(),e.extend(!0,e.trumbowyg,{langs:{en:{upload:"Upload",file:"File",uploadError:"Error"},sk:{upload:"Nahrať",file:"Súbor",uploadError:"Chyba"},fr:{upload:"Envoi",file:"Fichier",uploadError:"Erreur"}},upload:{serverPath:"./src/plugins/upload/trumbowyg.upload.php"},opts:{btnsDef:{upload:{func:function(r,o){var a,t=o.o.prefix,n=o.openModalInsert(o.lang.upload,{file:{type:"file",required:!0},alt:{label:"description"}},function(){var r=new FormData;r.append("fileToUpload",a),0===e("."+t+"progress",n).length&&e("."+t+"modal-title",n).after(e("
",{"class":t+"progress"}).append(e("
",{"class":t+"progress-bar"}))),e.ajax({url:e.trumbowyg.upload.serverPath,type:"POST",data:r,cache:!1,dataType:"json",processData:!1,contentType:!1,progressUpload:function(r){e("."+t+"progress-bar").stop().animate({width:Math.round(100*r.loaded/r.total)+"%"},200)},success:function(r){"uploadSuccess"==r.message?(o.execCmd("insertImage",r.file),setTimeout(function(){o.closeModal()},250)):o.addErrorOnModalField(e("input[type=file]",n),o.lang[r.message])},error:function(){o.addErrorOnModalField(e("input[type=file]",n),o.lang.uploadError)}})});e("input[type=file]").on("change",function(e){try{a=e.target.files[0]}catch(r){a=e.target.value}})},ico:"insertImage"}}}})}(jQuery); \ No newline at end of file +!function(r){"use strict";function e(){if(!r.trumbowyg&&!r.trumbowyg.addedXhrProgressEvent){var e=r.ajaxSettings.xhr;r.ajaxSetup({xhr:function(){var r=e(),o=this;return r&&"object"==typeof r.upload&&void 0!==o.progressUpload&&r.upload.addEventListener("progress",function(r){o.progressUpload(r)},!1),r}}),r.trumbowyg.addedXhrProgressEvent=!0}}e(),r.extend(!0,r.trumbowyg,{langs:{en:{upload:"Upload",file:"File",uploadError:"Error"},sk:{upload:"Nahrať",file:"Súbor",uploadError:"Chyba"},fr:{upload:"Envoi",file:"Fichier",uploadError:"Erreur"},cs:{upload:"Nahrát obrázek",file:"Soubor",uploadError:"Chyba"}},upload:{serverPath:"./src/plugins/upload/trumbowyg.upload.php"},opts:{btnsDef:{upload:{func:function(e,o){var a,t=o.o.prefix,l=o.openModalInsert(o.lang.upload,{file:{type:"file",required:!0},alt:{label:"description"}},function(){var e=new FormData;e.append("fileToUpload",a),0===r("."+t+"progress",l).length&&r("."+t+"modal-title",l).after(r("
",{"class":t+"progress"}).append(r("
",{"class":t+"progress-bar"}))),r.ajax({url:r.trumbowyg.upload.serverPath,type:"POST",data:e,cache:!1,dataType:"json",processData:!1,contentType:!1,progressUpload:function(e){r("."+t+"progress-bar").stop().animate({width:Math.round(100*e.loaded/e.total)+"%"},200)},success:function(e){"uploadSuccess"==e.message?(o.execCmd("insertImage",e.file),setTimeout(function(){o.closeModal()},250)):o.addErrorOnModalField(r("input[type=file]",l),o.lang[e.message])},error:function(){o.addErrorOnModalField(r("input[type=file]",l),o.lang.uploadError)}})});r("input[type=file]").on("change",function(r){try{a=r.target.files[0]}catch(e){a=r.target.value}})},ico:"insertImage"}}}})}(jQuery); \ No newline at end of file diff --git a/BuildFeed/Scripts/trumbowyg/trumbowyg.js b/BuildFeed/Scripts/trumbowyg/trumbowyg.js index e54e3ac..e83a4a2 100644 --- a/BuildFeed/Scripts/trumbowyg/trumbowyg.js +++ b/BuildFeed/Scripts/trumbowyg/trumbowyg.js @@ -1,5 +1,5 @@ /** - * Trumbowyg v2.0.0-beta.2 - A lightweight WYSIWYG editor + * Trumbowyg v2.0.0-beta.4 - A lightweight WYSIWYG editor * Trumbowyg core file * ------------------------ * @link http://alex-d.github.io/Trumbowyg @@ -56,7 +56,8 @@ jQuery.trumbowyg = { required: "Required", description: "Description", title: "Title", - text: "Text" + text: "Text", + target: "Target" } }, @@ -276,7 +277,10 @@ jQuery.trumbowyg = { link: { dropdown: ['createLink', 'unlink'] } - } + }, + + blockLevelElements: ['br', 'p', 'div', 'ul', 'ol', 'table', 'img', 'address', 'article', 'aside', 'audio', 'blockquote', 'canvas', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr', 'main', 'nav', 'noscript', 'output', 'pre', 'section', 'tfoot', 'video'] + }, o); if(o.btns) @@ -366,10 +370,6 @@ jQuery.trumbowyg = { } if(t.o.semantic){ - t.$ed.html( - html.replace('
', '

') - .replace(' ', ' ') - ); t.semanticCode(); } @@ -419,16 +419,10 @@ jQuery.trumbowyg = { t._ctrl = false; }, 200); }) - .on('focus', function(){ - t.$c.trigger('tbwfocus'); - }) - .on('blur', function(){ - t.syncCode(); - t.$c.trigger('tbwblur'); + .on('focus blur', function(e){ + t.$c.trigger('tbw' + e.type); }) .on('paste', function(e){ - t.$c.trigger('tbwpaste', e); - if(t.o.removeformatPasted){ e.preventDefault(); @@ -443,11 +437,24 @@ jQuery.trumbowyg = { // IE 11 t.doc.getSelection().getRangeAt(0).insertNode(document.createTextNode(text)); } - } catch(err) { + } catch(err){ // Not IE t.execCmd('insertText', (e.originalEvent || e).clipboardData.getData('text/plain')); } } + + setTimeout(function() { + if(t.o.semantic) { + t.semanticCode(false, true); + } else { + t.syncCode(); + } + t.$c.trigger('tbwpaste', e); + }, 0); + + }); + t.$ta.on('keyup paste', function(){ + t.$c.trigger('tbwchange'); }); $(t.doc).on('keydown', function(e){ @@ -811,7 +818,6 @@ jQuery.trumbowyg = { - // HTML Code management html: function(html){ var t = this; @@ -824,10 +830,12 @@ jQuery.trumbowyg = { }, syncCode: function(force){ var t = this; - if(!force && t.$ed.is(':visible')) + if(!force && t.$ed.is(':visible')){ t.$ta.val(t.$ed.html()); - else + t.$c.trigger('tbwchange'); + } else { t.$ed.html(t.$ta.val()); + } if(t.o.autogrow){ t.height = t.$ed.height(); @@ -844,42 +852,75 @@ jQuery.trumbowyg = { semanticCode: function(force, full){ var t = this; t.syncCode(force); + t.saveSelection(); if(t.o.semantic){ - t.saveSelection(); - t.semanticTag('b', 'strong'); t.semanticTag('i', 'em'); t.semanticTag('strike', 'del'); if(full){ - // Wrap text nodes in p - t.$ed.contents() - .filter(function(){ - // Only non-empty text nodes + var blockElementsSelector = t.o.blockLevelElements.join(', '), + inlineElementsSelector = ':not(' + blockElementsSelector + ')'; + + // Wrap text nodes in span for easier processing + t.$ed.contents().filter(function() { return this.nodeType === 3 && $.trim(this.nodeValue).length > 0; - }).wrap('

').end() + }).wrap(''); - // Remove all br - .filter('br').remove(); + // Wrap groups of inline elements in paragraphs (recursive) + var wrapInlinesInParagraphsFrom = function($from) { + if ($from.length !== 0) { + var $finalParagraph = $from.nextUntil(blockElementsSelector + ', br').andSelf() + .wrapAll('

').parent(); - t.semanticTag('div', 'p'); + $finalParagraph.next('br').remove(); + + var $nextElement = $finalParagraph.nextAll(inlineElementsSelector).first(); + if ($nextElement.length) { + wrapInlinesInParagraphsFrom($nextElement); + } + } + }; + wrapInlinesInParagraphsFrom(t.$ed.children(inlineElementsSelector).first()); + + t.semanticTag('div', 'p', true); + + // Unwrap paragraphs content, containing nothing usefull + t.$ed.find('p').filter(function() { + if (t.selection && this === t.selection.startContainer) { + // Don't remove currently being edited element + return false; + } + return $(this).text().trim().length === 0 && $(this).children().not('br, span').length === 0; + }).contents().unwrap(); + + // Get rid of temporial span's + $('[data-trumbowyg-textnode]', t.$ed).contents().unwrap(); + + // Replace empty

with
(IE loves adding empty

) + t.$ed.find('p:empty').replaceWith('
'); } - t.$ta.val(t.$ed.html()); - t.restoreSelection(); + + t.$ta.val(t.$ed.html()); } }, - semanticTag: function(oldTag, newTag){ - $(oldTag, this.$ed).each(function(){ - $(this).replaceWith(function(){ - return '<'+newTag+'>' + $(this).html() + ''; - }); + + semanticTag: function(oldTag, newTag, copyAttributes){ + $(oldTag, this.$ed).each(function() { + var $oldTag = $(this); + $oldTag.wrap('<' + newTag + '/>'); + if (copyAttributes) { + $.each($oldTag.prop('attributes'), function() { + $oldTag.parent().attr(this.name, this.value); + }); + } + $oldTag.contents().unwrap(); }); }, - // Function call when user click on "Insert Link" createLink: function(){ var t = this; @@ -890,22 +931,24 @@ jQuery.trumbowyg = { required: true }, title: { - label: t.lang.title, - value: t.getSelectedText() + label: t.lang.title }, text: { label: t.lang.text, value: t.getSelectedText() + }, + target: { + label: t.lang.target } }, function(v){ // v is value - t.execCmd('createLink', v.url); - var l = $('a[href="'+v.url+'"]:not([title])', t.$box); - if(v.text.length > 0) - l.text(v.text); - - if(v.title.length > 0) - l.attr('title', v.title); - + var link = $(['', v.text, ''].join('')); + if (v.title.length > 0) + link.attr('title',v.title); + if (v.target.length > 0) + link.attr('target',v.target); + t.selection.deleteContents(); + t.selection.insertNode(link.get(0)); + t.restoreSelection(); return true; }); }, @@ -953,7 +996,9 @@ jQuery.trumbowyg = { t.doc.execCommand(cmd, false, param); } } - t.syncCode(); + + if(cmd != 'dropdown') + t.syncCode(); }, @@ -979,7 +1024,7 @@ jQuery.trumbowyg = { top: (t.$btnPane.height() + 1) + 'px' }).appendTo(t.$box); - // Click on overflay close modal by cancelling them + // Click on overlay close modal by cancelling them t.$overlay.one('click', function(){ $modal.trigger(prefix + 'cancel'); return false; @@ -1022,6 +1067,8 @@ jQuery.trumbowyg = { 'class': prefix + 'modal-title' }).prependTo($box); + $modal.height($box.outerHeight() + 10); + // Focus in modal box $('input:first', $box).focus(); diff --git a/BuildFeed/Scripts/trumbowyg/trumbowyg.min.js b/BuildFeed/Scripts/trumbowyg/trumbowyg.min.js index 94b8d9b..60b1075 100644 --- a/BuildFeed/Scripts/trumbowyg/trumbowyg.min.js +++ b/BuildFeed/Scripts/trumbowyg/trumbowyg.min.js @@ -1,2 +1,2 @@ -/** Trumbowyg v2.0.0-beta.2 - A lightweight WYSIWYG editor - alex-d.github.io/Trumbowyg - License MIT - Author : Alexandre Demode (Alex-D) / alex-d.fr */ -jQuery.trumbowyg={langs:{en:{viewHTML:"View HTML",formatting:"Formatting",p:"Paragraph",blockquote:"Quote",code:"Code",header:"Header",bold:"Bold",italic:"Italic",strikethrough:"Stroke",underline:"Underline",strong:"Strong",em:"Emphasis",del:"Deleted",unorderedList:"Unordered list",orderedList:"Ordered list",insertImage:"Insert Image",insertVideo:"Insert Video",link:"Link",createLink:"Insert link",unlink:"Remove link",justifyLeft:"Align Left",justifyCenter:"Align Center",justifyRight:"Align Right",justifyFull:"Align Justify",horizontalRule:"Insert horizontal rule",removeformat:"Remove format",fullscreen:"fullscreen",close:"Close",submit:"Confirm",reset:"Cancel",required:"Required",description:"Description",title:"Title",text:"Text"}},opts:{},btnsGrps:{design:["bold","italic","underline","strikethrough"],semantic:["strong","em","del"],justify:["justifyLeft","justifyCenter","justifyRight","justifyFull"],lists:["unorderedList","orderedList"]}},function(e,t,n,o,i){"use strict";o.fn.trumbowyg=function(e,t){if(e===Object(e)||!e)return this.each(function(){o(this).data("trumbowyg")||o(this).data("trumbowyg",new r(this,e))});if(1===this.length)try{var n=o(this).data("trumbowyg");switch(e){case"openModal":return n.openModal(t.title,t.content);case"closeModal":return n.closeModal();case"openModalInsert":return n.openModalInsert(t.title,t.fields,t.callback);case"saveSelection":return n.saveSelection();case"getSelection":return n.selection;case"getSelectedText":return n.getSelectedText();case"restoreSelection":return n.restoreSelection();case"destroy":return n.destroy();case"empty":return n.empty();case"lang":return n.lang;case"html":return n.html(t)}}catch(i){}return!1};var r=function(e,t){var i=this;i.doc=e.ownerDocument||n,i.$ta=o(e),i.$c=o(e),t=o.extend(!0,{},t,o.trumbowyg.opts),i.lang="undefined"==typeof t.lang||"undefined"==typeof o.trumbowyg.langs[t.lang]?o.trumbowyg.langs.en:o.extend(!0,{},o.trumbowyg.langs.en,o.trumbowyg.langs[t.lang]);var r=i.lang.header;i.o=o.extend(!0,{},{lang:"en",dir:"ltr",closable:!1,fullscreenable:!0,fixedBtnPane:!1,fixedFullWidth:!1,autogrow:!1,prefix:"trumbowyg-",semantic:!0,resetCss:!1,removeformatPasted:!1,btns:["viewHTML","|","formatting","|","btnGrp-design","|","link","|","insertImage","|","btnGrp-justify","|","btnGrp-lists","|","horizontalRule","|","removeformat"],btnsAdd:[],btnsDef:{viewHTML:{func:"toggle"},p:{func:"formatBlock"},blockquote:{func:"formatBlock"},h1:{func:"formatBlock",title:r+" 1"},h2:{func:"formatBlock",title:r+" 2"},h3:{func:"formatBlock",title:r+" 3"},h4:{func:"formatBlock",title:r+" 4"},bold:{key:"B"},italic:{key:"I"},underline:{},strikethrough:{},strong:{func:"bold",key:"B"},em:{func:"italic",key:"I"},del:{func:"strikethrough"},createLink:{key:"K"},unlink:{},insertImage:{},justifyLeft:{},justifyCenter:{},justifyRight:{},justifyFull:{},unorderedList:{func:"insertUnorderedList"},orderedList:{func:"insertOrderedList"},horizontalRule:{func:"insertHorizontalRule"},removeformat:{},formatting:{dropdown:["p","blockquote","h1","h2","h3","h4"]},link:{dropdown:["createLink","unlink"]}}},t),t.btns?i.o.btns=t.btns:i.o.semantic&&(i.o.btns[4]="btnGrp-semantic"),i.keys=[],i.init()};r.prototype={init:function(){var e=this;e.height=e.$ta.height(),e.buildEditor(),e.buildBtnPane(),e.fixedBtnPaneEvents(),e.buildOverlay()},buildEditor:function(){var e=this,i=e.o.prefix,r="";e.$box=o("

",{"class":i+"box "+i+"editor-visible "+i+e.o.lang+" trumbowyg"}),e.isTextarea=e.$ta.is("textarea"),e.isTextarea?(r=e.$ta.val(),e.$ed=o("
"),e.$box.insertAfter(e.$ta).append(e.$ed,e.$ta)):(e.$ed=e.$ta,r=e.$ed.html(),e.$ta=o("