Begin the localisation into pseudolocale

This commit is contained in:
Thomas Hounsell 2015-07-15 19:23:40 +01:00
parent 654a5265d6
commit 787781cb7a
13 changed files with 1334 additions and 50 deletions

View File

@ -206,6 +206,26 @@
<Compile Include="Global.asax.cs">
<DependentUpon>Global.asax</DependentUpon>
</Compile>
<Compile Include="Local\Common.qps-ploc.Designer.cs">
<DependentUpon>Common.qps-ploc.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="Local\Common.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Common.resx</DependentUpon>
</Compile>
<Compile Include="Local\Model.qps-ploc.Designer.cs">
<DependentUpon>Model.qps-ploc.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="Local\Model.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Model.resx</DependentUpon>
</Compile>
<Compile Include="Models\ApiModel\NewBuild.cs" />
<Compile Include="Models\ApiModel\SearchResult.cs" />
<Compile Include="Models\Build.cs" />
@ -364,6 +384,26 @@
<Name>RedisAuth</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Local\Common.qps-ploc.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Common.qps-ploc.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Local\Common.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Common.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Local\Model.qps-ploc.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Model.qps-ploc.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Local\Model.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Model.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

216
BuildFeed/Local/Common.Designer.cs generated Normal file
View File

@ -0,0 +1,216 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace BuildFeed.Local {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// 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 Common {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Common() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[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.Common", typeof(Common).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Add build.
/// </summary>
public static string AddBuild {
get {
return ResourceManager.GetString("AddBuild", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Admin.
/// </summary>
public static string Admin {
get {
return ResourceManager.GetString("Admin", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Contribute on.
/// </summary>
public static string ContributeOn {
get {
return ResourceManager.GetString("ContributeOn", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Developed by.
/// </summary>
public static string DevelopedBy {
get {
return ResourceManager.GetString("DevelopedBy", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Error.
/// </summary>
public static string Error {
get {
return ResourceManager.GetString("Error", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Log in.
/// </summary>
public static string LogIn {
get {
return ResourceManager.GetString("LogIn", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Log out.
/// </summary>
public static string LogOut {
get {
return ResourceManager.GetString("LogOut", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to RSS feeds.
/// </summary>
public static string RssFeeds {
get {
return ResourceManager.GetString("RssFeeds", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Search.
/// </summary>
public static string Search {
get {
return ResourceManager.GetString("Search", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Search BuildFeed....
/// </summary>
public static string SearchBuildFeed {
get {
return ResourceManager.GetString("SearchBuildFeed", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Search query.
/// </summary>
public static string SearchQuery {
get {
return ResourceManager.GetString("SearchQuery", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Sitemap.
/// </summary>
public static string Sitemap {
get {
return ResourceManager.GetString("Sitemap", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to BuildFeed.
/// </summary>
public static string SiteName {
get {
return ResourceManager.GetString("SiteName", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Statistics.
/// </summary>
public static string Statistics {
get {
return ResourceManager.GetString("Statistics", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Toggle navigation.
/// </summary>
public static string ToggleNavigation {
get {
return ResourceManager.GetString("ToggleNavigation", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Twitter.
/// </summary>
public static string Twitter {
get {
return ResourceManager.GetString("Twitter", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to type to search....
/// </summary>
public static string TypeToSearch {
get {
return ResourceManager.GetString("TypeToSearch", resourceCulture);
}
}
}
}

View File

View File

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AddBuild" xml:space="preserve">
<value>[!!! Âδδ βúïℓδ !!!]</value>
</data>
<data name="Admin" xml:space="preserve">
<value>[!!! Âδ₥ïñ !!!]</value>
</data>
<data name="ContributeOn" xml:space="preserve">
<value>[!!! Çôñƭřïβúƭè ôñ !!!]</value>
</data>
<data name="DevelopedBy" xml:space="preserve">
<value>[!!! ÐèƲèℓôƥèδ β¥ !!!]</value>
</data>
<data name="Error" xml:space="preserve">
<value>[!!! Éřřôř !!!]</value>
</data>
<data name="LogIn" xml:space="preserve">
<value>[!!! £ôϱ ïñ !!!]</value>
</data>
<data name="LogOut" xml:space="preserve">
<value>[!!! £ôϱ ôúƭ !!!]</value>
</data>
<data name="RssFeeds" xml:space="preserve">
<value>[!!! R§§ ƒèèδƨ !!!]</value>
</data>
<data name="Search" xml:space="preserve">
<value>[!!! §èářçλ !!!]</value>
</data>
<data name="SearchBuildFeed" xml:space="preserve">
<value>[!!! §èářçλ ßúïδFèèδ... !!!]</value>
</data>
<data name="SearchQuery" xml:space="preserve">
<value>[!!! §èářçλ 9úèř¥ !!!]</value>
</data>
<data name="Sitemap" xml:space="preserve">
<value>[!!! §ïƭè₥áƥ !!!]</value>
</data>
<data name="SiteName" xml:space="preserve">
<value>[!!! ßúïδFèèδ !!!]</value>
</data>
<data name="Statistics" xml:space="preserve">
<value>[!!! §ƭáƭïƨƭïçƨ !!!]</value>
</data>
<data name="ToggleNavigation" xml:space="preserve">
<value>[!!! Tôϱϱè ñáƲïϱáƭïôñ !!!]</value>
</data>
<data name="Twitter" xml:space="preserve">
<value>[!!! Tωïƭƭèř !!!]</value>
</data>
<data name="TypeToSearch" xml:space="preserve">
<value>[!!! ƭ¥ƥè ƭô ƨèářçλ... !!!]</value>
</data>
</root>

171
BuildFeed/Local/Common.resx Normal file
View File

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AddBuild" xml:space="preserve">
<value>Add build</value>
</data>
<data name="Admin" xml:space="preserve">
<value>Admin</value>
</data>
<data name="ContributeOn" xml:space="preserve">
<value>Contribute on</value>
</data>
<data name="DevelopedBy" xml:space="preserve">
<value>Developed by</value>
</data>
<data name="Error" xml:space="preserve">
<value>Error</value>
</data>
<data name="LogIn" xml:space="preserve">
<value>Log in</value>
</data>
<data name="LogOut" xml:space="preserve">
<value>Log out</value>
</data>
<data name="RssFeeds" xml:space="preserve">
<value>RSS feeds</value>
</data>
<data name="Search" xml:space="preserve">
<value>Search</value>
</data>
<data name="SearchBuildFeed" xml:space="preserve">
<value>Search BuildFeed...</value>
</data>
<data name="SearchQuery" xml:space="preserve">
<value>Search query</value>
</data>
<data name="Sitemap" xml:space="preserve">
<value>Sitemap</value>
</data>
<data name="SiteName" xml:space="preserve">
<value>BuildFeed</value>
</data>
<data name="Statistics" xml:space="preserve">
<value>Statistics</value>
</data>
<data name="ToggleNavigation" xml:space="preserve">
<value>Toggle navigation</value>
</data>
<data name="Twitter" xml:space="preserve">
<value>Twitter</value>
</data>
<data name="TypeToSearch" xml:space="preserve">
<value>type to search...</value>
</data>
</root>

288
BuildFeed/Local/Model.Designer.cs generated Normal file
View File

@ -0,0 +1,288 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace BuildFeed.Local {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// 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() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[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;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to Time created.
/// </summary>
public static string Added {
get {
return ResourceManager.GetString("Added", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to App package.
/// </summary>
public static string AppPackage {
get {
return ResourceManager.GetString("AppPackage", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Build time.
/// </summary>
public static string BuildTime {
get {
return ResourceManager.GetString("BuildTime", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Build tools.
/// </summary>
public static string BuildTools {
get {
return ResourceManager.GetString("BuildTools", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Documentation.
/// </summary>
public static string Documentation {
get {
return ResourceManager.GetString("Documentation", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to High.
/// </summary>
public static string FlightHigh {
get {
return ResourceManager.GetString("FlightHigh", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Flight level.
/// </summary>
public static string FlightLevel {
get {
return ResourceManager.GetString("FlightLevel", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Low.
/// </summary>
public static string FlightLow {
get {
return ResourceManager.GetString("FlightLow", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Medium.
/// </summary>
public static string FlightMedium {
get {
return ResourceManager.GetString("FlightMedium", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to None.
/// </summary>
public static string FlightNone {
get {
return ResourceManager.GetString("FlightNone", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Public leak.
/// </summary>
public static string InternalLeak {
get {
return ResourceManager.GetString("InternalLeak", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Lab string.
/// </summary>
public static string Lab {
get {
return ResourceManager.GetString("Lab", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Leak or release date.
/// </summary>
public static string LeakDate {
get {
return ResourceManager.GetString("LeakDate", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Logging.
/// </summary>
public static string Logging {
get {
return ResourceManager.GetString("Logging", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Major version.
/// </summary>
public static string MajorVersion {
get {
return ResourceManager.GetString("MajorVersion", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Minor version.
/// </summary>
public static string MinorVersion {
get {
return ResourceManager.GetString("MinorVersion", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Time modified.
/// </summary>
public static string Modified {
get {
return ResourceManager.GetString("Modified", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Build number.
/// </summary>
public static string Number {
get {
return ResourceManager.GetString("Number", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Private leak.
/// </summary>
public static string PrivateLeak {
get {
return ResourceManager.GetString("PrivateLeak", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Public release.
/// </summary>
public static string PublicRelease {
get {
return ResourceManager.GetString("PublicRelease", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Build revision.
/// </summary>
public static string Revision {
get {
return ResourceManager.GetString("Revision", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Source details.
/// </summary>
public static string SourceDetails {
get {
return ResourceManager.GetString("SourceDetails", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Source type.
/// </summary>
public static string SourceType {
get {
return ResourceManager.GetString("SourceType", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Update (GDR).
/// </summary>
public static string UpdateGDR {
get {
return ResourceManager.GetString("UpdateGDR", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Update (LDR).
/// </summary>
public static string UpdateLDR {
get {
return ResourceManager.GetString("UpdateLDR", resourceCulture);
}
}
}
}

View File

View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Added" xml:space="preserve">
<value>[!!! Tï₥è çřèáƭèδ !!!]</value>
</data>
<data name="AppPackage" xml:space="preserve">
<value>[!!! Âƥƥ ƥáçƙáϱè !!!]</value>
</data>
<data name="BuildTime" xml:space="preserve">
<value>[!!! ßúïℓδ ƭï₥è !!!]</value>
</data>
<data name="BuildTools" xml:space="preserve">
<value>[!!! ßúïℓδ ƭôôℓƨ !!!]</value>
</data>
<data name="Documentation" xml:space="preserve">
<value>[!!! Ðôçú₥èñƭáƭïôñ !!!]</value>
</data>
<data name="FlightHigh" xml:space="preserve">
<value>[!!! Hïϱλ !!!]</value>
</data>
<data name="FlightLevel" xml:space="preserve">
<value>[!!! Fïϱλƭ ℓèƲèℓ !!!]</value>
</data>
<data name="FlightLow" xml:space="preserve">
<value>[!!! £ôω !!!]</value>
</data>
<data name="FlightMedium" xml:space="preserve">
<value>[!!! Mèδïú₥ !!!]</value>
</data>
<data name="FlightNone" xml:space="preserve">
<value>[!!! Nôñè !!!]</value>
</data>
<data name="InternalLeak" xml:space="preserve">
<value>[!!! Þúβℓïç ℓèáƙ !!!]</value>
</data>
<data name="Lab" xml:space="preserve">
<value>[!!! £áβ ƨƭřïñϱ !!!]</value>
</data>
<data name="LeakDate" xml:space="preserve">
<value>[!!! £èáƙ ôř řèℓèáƨè δáƭè !!!]</value>
</data>
<data name="Logging" xml:space="preserve">
<value>[!!! £ôϱϱïñϱ !!!]</value>
</data>
<data name="MajorVersion" xml:space="preserve">
<value>[!!! MáJôř Ʋèřƨïôñ !!!]</value>
</data>
<data name="MinorVersion" xml:space="preserve">
<value>[!!! Mïñôř Ʋèřƨïôñ !!!]</value>
</data>
<data name="Modified" xml:space="preserve">
<value>[!!! Tï₥è ₥ôδïƒïèδ !!!]</value>
</data>
<data name="Number" xml:space="preserve">
<value>[!!! ßúïℓδ ñú₥βèř !!!]</value>
</data>
<data name="PrivateLeak" xml:space="preserve">
<value>[!!! ÞřïƲáƭè ℓèáƙ !!!]</value>
</data>
<data name="PublicRelease" xml:space="preserve">
<value>[!!! Þúβℓïç řèℓèáƨè !!!]</value>
</data>
<data name="Revision" xml:space="preserve">
<value>[!!! ßúïℓδ řèƲïƨïôñ !!!]</value>
</data>
<data name="SourceDetails" xml:space="preserve">
<value>[!!! §ôúřçè δèƭáïℓƨ !!!]</value>
</data>
<data name="SourceType" xml:space="preserve">
<value>[!!! §ôúřçè ƭ¥ƥè !!!]</value>
</data>
<data name="UpdateGDR" xml:space="preserve">
<value>[!!! Ûƥδáƭè (GÐR) !!!]</value>
</data>
<data name="UpdateLDR" xml:space="preserve">
<value>[!!! Ûƥδáƭè (£ÐR) !!!]</value>
</data>
</root>

195
BuildFeed/Local/Model.resx Normal file
View File

@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Added" xml:space="preserve">
<value>Time created</value>
</data>
<data name="AppPackage" xml:space="preserve">
<value>App package</value>
</data>
<data name="BuildTime" xml:space="preserve">
<value>Build time</value>
</data>
<data name="BuildTools" xml:space="preserve">
<value>Build tools</value>
</data>
<data name="Documentation" xml:space="preserve">
<value>Documentation</value>
</data>
<data name="FlightHigh" xml:space="preserve">
<value>High</value>
</data>
<data name="FlightLevel" xml:space="preserve">
<value>Flight level</value>
</data>
<data name="FlightLow" xml:space="preserve">
<value>Low</value>
</data>
<data name="FlightMedium" xml:space="preserve">
<value>Medium</value>
</data>
<data name="FlightNone" xml:space="preserve">
<value>None</value>
</data>
<data name="InternalLeak" xml:space="preserve">
<value>Public leak</value>
</data>
<data name="Lab" xml:space="preserve">
<value>Lab string</value>
</data>
<data name="LeakDate" xml:space="preserve">
<value>Leak or release date</value>
</data>
<data name="Logging" xml:space="preserve">
<value>Logging</value>
</data>
<data name="MajorVersion" xml:space="preserve">
<value>Major version</value>
</data>
<data name="MinorVersion" xml:space="preserve">
<value>Minor version</value>
</data>
<data name="Modified" xml:space="preserve">
<value>Time modified</value>
</data>
<data name="Number" xml:space="preserve">
<value>Build number</value>
</data>
<data name="PrivateLeak" xml:space="preserve">
<value>Private leak</value>
</data>
<data name="PublicRelease" xml:space="preserve">
<value>Public release</value>
</data>
<data name="Revision" xml:space="preserve">
<value>Build revision</value>
</data>
<data name="SourceDetails" xml:space="preserve">
<value>Source details</value>
</data>
<data name="SourceType" xml:space="preserve">
<value>Source type</value>
</data>
<data name="UpdateGDR" xml:space="preserve">
<value>Update (GDR)</value>
</data>
<data name="UpdateLDR" xml:space="preserve">
<value>Update (LDR)</value>
</data>
</root>

View File

@ -10,6 +10,7 @@
using Required = System.ComponentModel.DataAnnotations.RequiredAttribute;
using System.Web.Mvc;
using BuildFeed.Local;
namespace BuildFeed.Models
{
@ -22,51 +23,51 @@ public class Build : IHasId<long>
public long Id { get; set; }
[@Required]
[DisplayName("Major Version")]
[Display(ResourceType = typeof(Model), Name = "MajorVersion")]
public byte MajorVersion { get; set; }
[@Required]
[DisplayName("Minor Version")]
[Display(ResourceType = typeof(Model), Name = "MinorVersion")]
public byte MinorVersion { get; set; }
[@Required]
[DisplayName("Build Number")]
[Display(ResourceType = typeof(Model), Name = "Number")]
public ushort Number { get; set; }
[DisplayName("Build Revision")]
[Display(ResourceType = typeof(Model), Name = "Revision")]
[DisplayFormat(ConvertEmptyStringToNull = true)]
public ushort? Revision { get; set; }
[DisplayName("Lab String")]
[Display(ResourceType = typeof(Model), Name = "Lab")]
public string Lab { get; set; }
[DisplayName("Build Time")]
[Display(ResourceType = typeof(Model), Name = "BuildTime")]
[DisplayFormat(ConvertEmptyStringToNull = true, ApplyFormatInEditMode = true, DataFormatString = "{0:yyMMdd-HHmm}")]
public DateTime? BuildTime { get; set; }
[@Required]
[DisplayName("Time Created")]
[Display(ResourceType = typeof(Model), Name = "Added")]
public DateTime Added { get; set; }
[@Required]
[DisplayName("Time Modified")]
[Display(ResourceType = typeof(Model), Name = "Modified")]
public DateTime Modified { get; set; }
[@Required]
[DisplayName("Source Type")]
[Display(ResourceType = typeof(Model), Name = "SourceType")]
[EnumDataType(typeof(TypeOfSource))]
public TypeOfSource SourceType { get; set; }
[DisplayName("Source Details")]
[Display(ResourceType = typeof(Model), Name = "SourceDetails")]
[AllowHtml]
public string SourceDetails { get; set; }
[DisplayName("Leak or Release Date")]
[Display(ResourceType = typeof(Model), Name = "LeakDate")]
[DisplayFormat(ConvertEmptyStringToNull = true, ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime? LeakDate { get; set; }
[DisplayName("Flight Level")]
[Display(ResourceType = typeof(Model), Name = "FlightLevel")]
[EnumDataType(typeof(LevelOfFlight))]
public LevelOfFlight FlightLevel { get; set; }
@ -271,39 +272,46 @@ public static void DeleteById(long id)
public enum TypeOfSource
{
[Display(Name = "Public Release")]
[Display(ResourceType = typeof(Model), Name = "PublicRelease")]
PublicRelease,
[Display(Name = "Public Leak")]
[Display(ResourceType = typeof(Model), Name = "InternalLeak")]
InternalLeak,
[Display(Name = "Update (GDR)")]
[Display(ResourceType = typeof(Model), Name = "UpdateGDR")]
UpdateGDR,
[Display(Name = "Update (LDR)")]
[Display(ResourceType = typeof(Model), Name = "UpdateLDR")]
UpdateLDR,
[Display(Name = "App Package")]
[Display(ResourceType = typeof(Model), Name = "AppPackage")]
AppPackage,
[Display(Name = "Build Tools")]
[Display(ResourceType = typeof(Model), Name = "BuildTools")]
BuildTools,
[Display(Name = "Documentation")]
[Display(ResourceType = typeof(Model), Name = "Documentation")]
Documentation,
[Display(Name = "Logging")]
[Display(ResourceType = typeof(Model), Name = "Logging")]
Logging,
[Display(Name = "Private Leak")]
[Display(ResourceType = typeof(Model), Name = "PrivateLeak")]
PrivateLeak
}
public enum LevelOfFlight
{
[Display(ResourceType = typeof(Model), Name = "FlightNone")]
None = 0,
[Display(ResourceType = typeof(Model), Name = "FlightLow")]
Low = 1,
[Display(ResourceType = typeof(Model), Name = "FlightMedium")]
Medium = 2,
[Display(ResourceType = typeof(Model), Name = "FlightHigh")]
High = 3
}

View File

@ -10,7 +10,7 @@
<link rel="shortcut icon" href="~/favicon.ico" />
<link rel="icon" href="~/favicon.ico" />
<link rel="canonical" href="@Url.Action()" />
<meta name="application-name" content="BuildFeed" />
<meta name="application-name" content="@BuildFeed.Local.Common.SiteName" />
@Styles.Render("~/content/css")
<title>@ViewBag.Title</title>
@ -47,34 +47,34 @@
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#page-navigation-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="sr-only">@BuildFeed.Local.Common.ToggleNavigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
@Html.ActionLink("BuildFeed", "index", new { controller = "front", area = "" }, new { @class = "navbar-brand" })
@Html.ActionLink(BuildFeed.Local.Common.SiteName, "index", new { controller = "front", area = "" }, new { @class = "navbar-brand" })
</div>
<div class="collapse navbar-collapse" id="page-navigation-collapse">
<ul class="nav navbar-nav navbar-right">
@if (!User.Identity.IsAuthenticated)
{
<li><a href="@Url.Action("login", new { controller = "support", area = "" })" title="Log in"><i class="fa fa-fw fa-user"></i> Log in</a></li>
<li><a href="@Url.Action("login", new { controller = "support", area = "" })" title="@BuildFeed.Local.Common.LogIn"><i class="fa fa-fw fa-user"></i> @BuildFeed.Local.Common.LogIn</a></li>
}
else if (Roles.IsUserInRole("Administrators"))
{
<li><a href="@Url.Action("index", new { controller = "base", area = "admin" })" title="Admin"><i class="fa fa-fw fa-cogs"></i> Admin</a></li>
<li><a href="@Url.Action("addBuild", new { controller = "front", area = "" })" title="Add a new build"><i class="fa fa-fw fa-plus-square"></i> Add build</a></li>
<li><a href="@Url.Action("logout", new { controller = "support", area = "" })" title="Log out"><i class="fa fa-fw fa-user"></i> Log out</a></li>
<li><a href="@Url.Action("index", new { controller = "base", area = "admin" })" title="@BuildFeed.Local.Common.Admin"><i class="fa fa-fw fa-cogs"></i> @BuildFeed.Local.Common.Admin</a></li>
<li><a href="@Url.Action("addBuild", new { controller = "front", area = "" })" title="@BuildFeed.Local.Common.AddBuild"><i class="fa fa-fw fa-plus-square"></i> @BuildFeed.Local.Common.AddBuild</a></li>
<li><a href="@Url.Action("logout", new { controller = "support", area = "" })" title="@BuildFeed.Local.Common.LogOut"><i class="fa fa-fw fa-user"></i> @BuildFeed.Local.Common.LogOut</a></li>
}
else
{
<li><a href="@Url.Action("addBuild", new { controller = "front", area = "" })" title="Add a new build"><i class="fa fa-fw fa-plus-square"></i> Add build</a></li>
<li><a href="@Url.Action("logout", new { controller = "support", area = "" })" title="Log out"><i class="fa fa-fw fa-user"></i> Log out</a></li>
<li><a href="@Url.Action("addBuild", new { controller = "front", area = "" })" title="@BuildFeed.Local.Common.AddBuild"><i class="fa fa-fw fa-plus-square"></i> @BuildFeed.Local.Common.AddBuild</a></li>
<li><a href="@Url.Action("logout", new { controller = "support", area = "" })" title="@BuildFeed.Local.Common.LogOut"><i class="fa fa-fw fa-user"></i> @BuildFeed.Local.Common.LogOut</a></li>
}
<li><a href="#" title="Search" id="page-navigation-search"><i class="fa fa-fw fa-search"></i> Search</a></li>
<li><a href="@Url.Action("stats", new { controller = "support", area = "" })" title="Statistics"><i class="fa fa-fw fa-line-chart"></i> Statistics</a></li>
<li><a href="@Url.Action("rss", new { controller = "support", area = "" })" title="RSS Feeds"><i class="fa fa-fw fa-rss"></i> RSS Feeds</a></li>
<li><a href="https://twitter.com/buildfeed" title="Twitter" target="_blank"><i class="fa fa-fw fa-twitter"></i> Twitter</a></li>
<li><a href="#" title="Search" id="page-navigation-search" title="@BuildFeed.Local.Common.Search"><i class="fa fa-fw fa-search"></i> @BuildFeed.Local.Common.Search</a></li>
<li><a href="@Url.Action("stats", new { controller = "support", area = "" })" title="@BuildFeed.Local.Common.Statistics"><i class="fa fa-fw fa-line-chart"></i> @BuildFeed.Local.Common.Statistics</a></li>
<li><a href="@Url.Action("rss", new { controller = "support", area = "" })" title="@BuildFeed.Local.Common.RssFeeds"><i class="fa fa-fw fa-rss"></i> @BuildFeed.Local.Common.RssFeeds</a></li>
<li><a href="https://twitter.com/buildfeed" title="@BuildFeed.Local.Common.Twitter" target="_blank"><i class="fa fa-fw fa-twitter"></i> @BuildFeed.Local.Common.Twitter</a></li>
</ul>
</div>
</div>
@ -91,14 +91,14 @@
<div class="row">
<div class="col-sm-8">
<p>
<a href="@Url.Action("sitemap", new { controller = "support" })">Sitemap</a>
<a href="@Url.Action("sitemap", new { controller = "support" })">@BuildFeed.Local.Common.Sitemap</a>
</p>
</div>
<div class="col-sm-4 text-right">
<p>
&copy; 2013 - @DateTime.Now.Year.ToString(), BuildFeed<br />
Developed by <a href="https://twitter.com/tomhounsell" target="_blank">Thomas Hounsell</a><br />
Contribute on&ensp;<a href="https://github.com/hounsell/BuildFeed" target="_blank"><i class="fa fa-github"></i>&ensp;GitHub</a>
&copy; 2013 - @DateTime.Now.Year.ToString(), @BuildFeed.Local.Common.SiteName<br />
@BuildFeed.Local.Common.DevelopedBy <a href="https://twitter.com/tomhounsell" target="_blank">Thomas Hounsell</a><br />
@BuildFeed.Local.Common.ContributeOn&ensp;<a href="https://github.com/hounsell/BuildFeed" target="_blank"><i class="fa fa-github"></i>&ensp;GitHub</a>
</p>
</div>
</div>
@ -109,14 +109,14 @@
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Search BuildFeed...</h4>
<h4 class="modal-title">@BuildFeed.Local.Common.SearchBuildFeed</h4>
</div>
<div class="modal-body">
<div class="container-fluid">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
@Html.Label("search-input", "Search query", new { @class = "sr-only" })
@Html.TextBox("search-input", "", new { @class = "form-control", placeholder = "type to search..." })
@Html.Label("search-input", BuildFeed.Local.Common.SearchQuery, new { @class = "sr-only" })
@Html.TextBox("search-input", "", new { @class = "form-control", placeholder = BuildFeed.Local.Common.TypeToSearch })
</div>
</div>
</div>

View File

@ -14,10 +14,10 @@
<link href="//fonts.googleapis.com/css?family=Hind:300,700,400" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="~/favicon.ico" />
<link rel="icon" href="~/favicon.ico" />
<meta name="application-name" content="BuildFeed" />
<meta name="application-name" content="@BuildFeed.Local.Common.SiteName" />
@Styles.Render("~/content/css")
<title>Error | BuildFeed</title>
<title>@BuildFeed.Local.Common.Error | @BuildFeed.Local.Common.SiteName</title>
<script type="text/javascript">
var appInsights = window.appInsights || function (config) {
function s(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } } var t = { config: config }, r = document, f = window, e = "script", o = r.createElement(e), i, u; for (o.src = config.url || "//az416426.vo.msecnd.net/scripts/a/ai.0.js", r.getElementsByTagName(e)[0].parentNode.appendChild(o), t.cookie = r.cookie, t.queue = [], i = ["Event", "Exception", "Metric", "PageView", "Trace"]; i.length;) s("track" + i.pop()); return config.disableExceptionTracking || (i = "onerror", s("_" + i), u = f[i], f[i] = function (config, r, f, e, o) { var s = u && u(config, r, f, e, o); return s !== !0 && t["_" + i](config, r, f, e, o), s }), t
@ -48,9 +48,9 @@
<nav id="page-navigation" role="navigation">
<div class="navbar navbar-default navbar-fixed-top">
<div class="container">
@Html.ActionLink("BuildFeed", "index", new { controller = "front", area = "" }, new { @class = "navbar-brand" })
@Html.ActionLink(@BuildFeed.Local.Common.SiteName, "index", new { controller = "front", area = "" }, new { @class = "navbar-brand" })
<ul class="nav navbar-nav navbar-right">
<li><a href="https://twitter.com/buildfeed" title="Twitter" target="_blank"><i class="fa fa-twitter"></i> Twitter</a></li>
<li><a href="https://twitter.com/buildfeed" title="@BuildFeed.Local.Common.Twitter" target="_blank"><i class="fa fa-twitter"></i> @BuildFeed.Local.Common.Twitter</a></li>
</ul>
</div>
</div>
@ -58,7 +58,7 @@
<article id="page-content">
<div class="row">
<div class="col-sm-12">
<h1>Error</h1>
<h1>@BuildFeed.Local.Common.Error</h1>
<p>Something's broke. Maybe it's because you did something weird. Probably it's because I did something weird. If you keep getting this error, take a screenshot and spam <a href="https://twitter.com/tomhounsell">me</a> on Twitter with it.
</p>
<p>Controller: <code>@Model.ControllerName</code></p>
@ -71,9 +71,9 @@
<div class="row">
<div class="col-sm-offset-8 col-sm-4 text-right">
<p>
&copy; 2013 - @DateTime.Now.Year.ToString(), BuildFeed<br />
Developed by <a href="https://twitter.com/tomhounsell" target="_blank">Thomas Hounsell</a><br />
Contribute on&ensp;<a href="https://github.com/hounsell/BuildFeed" target="_blank"><i class="fa fa-github"></i>&ensp;GitHub</a>
&copy; 2013 - @DateTime.Now.Year.ToString(), @BuildFeed.Local.Common.SiteName<br />
@BuildFeed.Local.Common.DevelopedBy <a href="https://twitter.com/tomhounsell" target="_blank">Thomas Hounsell</a><br />
@BuildFeed.Local.Common.ContributeOn&ensp;<a href="https://github.com/hounsell/BuildFeed" target="_blank"><i class="fa fa-github"></i>&ensp;GitHub</a>
</p>
</div>
</div>

View File

@ -18,7 +18,7 @@
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5" />
<globalization culture="en-gb" uiCulture="en-gb" />
<globalization culture="qps-ploc" uiCulture="qps-ploc" enableClientBasedCulture="false" />
<trace enabled="true" requestLimit="40" pageOutput="false" />
<sessionState cookieless="UseCookies" />
<anonymousIdentification cookieless="UseCookies" enabled="false" />