Localising all those strings

for the front controller at any rate.
This commit is contained in:
Thomas Hounsell 2015-07-16 11:41:47 +01:00
parent 787781cb7a
commit 40933862b0
16 changed files with 816 additions and 79 deletions

View File

@ -216,6 +216,16 @@
<DesignTime>True</DesignTime>
<DependentUpon>Common.resx</DependentUpon>
</Compile>
<Compile Include="Local\Front.qps-ploc.Designer.cs">
<DependentUpon>Front.qps-ploc.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="Local\Front.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Front.resx</DependentUpon>
</Compile>
<Compile Include="Local\Model.qps-ploc.Designer.cs">
<DependentUpon>Model.qps-ploc.resx</DependentUpon>
<AutoGen>True</AutoGen>
@ -393,6 +403,14 @@
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Common.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Local\Front.qps-ploc.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Front.qps-ploc.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Local\Front.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Front.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Local\Model.qps-ploc.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Model.qps-ploc.Designer.cs</LastGenOutput>

View File

@ -123,6 +123,24 @@ public static string LogOut {
}
}
/// <summary>
/// Looks up a localized string similar to | Page {0}.
/// </summary>
public static string PageTitleSegment {
get {
return ResourceManager.GetString("PageTitleSegment", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Windows NT.
/// </summary>
public static string ProductName {
get {
return ResourceManager.GetString("ProductName", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to RSS feeds.
/// </summary>

View File

@ -168,4 +168,10 @@
<data name="TypeToSearch" xml:space="preserve">
<value>[!!! ƭ¥ƥè ƭô ƨèářçλ... !!!]</value>
</data>
<data name="ProductName" xml:space="preserve">
<value>[!!! Wïñδôωƨ NT !!!]</value>
</data>
<data name="PageTitleSegment" xml:space="preserve">
<value>[!!! | Þáϱè {0} !!!]</value>
</data>
</root>

View File

@ -168,4 +168,10 @@
<data name="TypeToSearch" xml:space="preserve">
<value>type to search...</value>
</data>
<data name="ProductName" xml:space="preserve">
<value>Windows NT</value>
</data>
<data name="PageTitleSegment" xml:space="preserve">
<value>| Page {0}</value>
</data>
</root>

297
BuildFeed/Local/Front.Designer.cs generated Normal file
View File

@ -0,0 +1,297 @@
//------------------------------------------------------------------------------
// <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 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() {
}
/// <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.Front", typeof(Front).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 About.
/// </summary>
public static string About {
get {
return ResourceManager.GetString("About", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Add a build.
/// </summary>
public static string AddABuild {
get {
return ResourceManager.GetString("AddABuild", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Discover about Windows Build {0}, from {1} and compiled on {2}..
/// </summary>
public static string BuildMetaDate {
get {
return ResourceManager.GetString("BuildMetaDate", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Discover about Windows Build {0}, from {1}. BuildFeed tracks Windows builds throughout the development process..
/// </summary>
public static string BuildMetaNoDate {
get {
return ResourceManager.GetString("BuildMetaNoDate", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Builds from.
/// </summary>
public static string BuildsFrom {
get {
return ResourceManager.GetString("BuildsFrom", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Comments.
/// </summary>
public static string Comments {
get {
return ResourceManager.GetString("Comments", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Delete.
/// </summary>
public static string Delete {
get {
return ResourceManager.GetString("Delete", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Edit.
/// </summary>
public static string Edit {
get {
return ResourceManager.GetString("Edit", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Edit build.
/// </summary>
public static string EditBuild {
get {
return ResourceManager.GetString("EditBuild", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Editor actions.
/// </summary>
public static string EditorActions {
get {
return ResourceManager.GetString("EditorActions", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Windows NT build list.
/// </summary>
public static string HomepageH1 {
get {
return ResourceManager.GetString("HomepageH1", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Check out all the known builds to come out of the Windows development lab {0} through BuildFeed, a collaborative Windows build list.
/// </summary>
public static string LabMetaGeneric {
get {
return ResourceManager.GetString("LabMetaGeneric", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Listing.
/// </summary>
public static string Listing {
get {
return ResourceManager.GetString("Listing", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Find more builds from {0}.
/// </summary>
public static string MoreFromLab {
get {
return ResourceManager.GetString("MoreFromLab", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Find more builds sourced from {0}.
/// </summary>
public static string MoreFromSource {
get {
return ResourceManager.GetString("MoreFromSource", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Find more builds compiled in {0}.
/// </summary>
public static string MoreFromYear {
get {
return ResourceManager.GetString("MoreFromYear", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to No lab string.
/// </summary>
public static string NoLab {
get {
return ResourceManager.GetString("NoLab", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Private.
/// </summary>
public static string Private {
get {
return ResourceManager.GetString("Private", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Public.
/// </summary>
public static string Public {
get {
return ResourceManager.GetString("Public", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Quick-paste.
/// </summary>
public static string QuickPaste {
get {
return ResourceManager.GetString("QuickPaste", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Return to build listing.
/// </summary>
public static string ReturnToListing {
get {
return ResourceManager.GetString("ReturnToListing", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Return to build overview.
/// </summary>
public static string ReturnToOverview {
get {
return ResourceManager.GetString("ReturnToOverview", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Share.
/// </summary>
public static string Share {
get {
return ResourceManager.GetString("Share", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Today.
/// </summary>
public static string Today {
get {
return ResourceManager.GetString("Today", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to builds.
/// </summary>
public static string xBuilds {
get {
return ResourceManager.GetString("xBuilds", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to View a list of all Windows builds compiled in {0}, and watch how Windows developed steadily over time, through the collaborative build list, BuildFeed.
/// </summary>
public static string YearMetaGeneric {
get {
return ResourceManager.GetString("YearMetaGeneric", resourceCulture);
}
}
}
}

View File

View File

@ -0,0 +1,198 @@
<?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="About" xml:space="preserve">
<value>[!!! Âβôúƭ !!!]</value>
</data>
<data name="AddABuild" xml:space="preserve">
<value>[!!! Âδδ á βúïℓδ !!!]</value>
</data>
<data name="BuildMetaDate" xml:space="preserve">
<value>[!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1} áñδ çô₥ƥïℓèδ ôñ {2}. ℓôřè₥ !!!]</value>
</data>
<data name="BuildMetaNoDate" xml:space="preserve">
<value>[!!! ÐïƨçôƲèř áβôúƭ Wïñδôωƨ ßúïℓδ {0}, ƒřô₥ {1}. ßúïδFèèδ ƭřáçƙƨ Wïñδôωƨ βúïℓδƨ ƭλřôúϱλôúƭ ƭλè δèƲèℓôƥ₥èñƭ ƥřôçèƨƨ. ℓôřè₥ ïƥƨú !!!]</value>
</data>
<data name="BuildsFrom" xml:space="preserve">
<value>[!!! ßúïℓδƨ ƒřô₥ !!!]</value>
</data>
<data name="Comments" xml:space="preserve">
<value>[!!! Çô₥₥èñƭƨ !!!]</value>
</data>
<data name="Delete" xml:space="preserve">
<value>[!!! Ðèℓèƭè !!!]</value>
</data>
<data name="Edit" xml:space="preserve">
<value>[!!! Éδïƭ !!!]</value>
</data>
<data name="EditBuild" xml:space="preserve">
<value>[!!! Éδïƭ βúïℓδ !!!]</value>
</data>
<data name="EditorActions" xml:space="preserve">
<value>[!!! Éδïƭôř áçƭïôñƨ !!!]</value>
</data>
<data name="HomepageH1" xml:space="preserve">
<value>[!!! Wïñδôωƨ NT βúïℓδ ℓïƨƭ !!!]</value>
</data>
<data name="LabMetaGeneric" xml:space="preserve">
<value>[!!! Çλèçƙ ôúƭ áℓℓ ƭλè ƙñôωñ βúïℓδƨ ƭô çô₥è ôúƭ ôƒ ƭλè Wïñδôωƨ δèƲèℓôƥ₥èñƭ ℓáβ {0} ƭλřôúϱλ ßúïδFèèδ, á çôℓℓáβôřáƭïƲè Wïñδôωƨ βúïℓδ ℓïƨƭ ℓôřè₥ ïƥƨú₥ !!!]</value>
</data>
<data name="Listing" xml:space="preserve">
<value>[!!! £ïƨƭïñϱ !!!]</value>
</data>
<data name="MoreFromLab" xml:space="preserve">
<value>[!!! Fïñδ ₥ôřè βúïℓδƨ ƒřô₥ {0} ℓô !!!]</value>
</data>
<data name="MoreFromSource" xml:space="preserve">
<value>[!!! Fïñδ ₥ôřè βúïℓδƨ ƨôúřçèδ ƒřô₥ {0} ℓô !!!]</value>
</data>
<data name="MoreFromYear" xml:space="preserve">
<value>[!!! Fïñδ ₥ôřè βúïℓδƨ çô₥ƥïℓèδ ïñ {0} ℓô !!!]</value>
</data>
<data name="NoLab" xml:space="preserve">
<value>[!!! Nô ℓáβ ƨƭřïñϱ !!!]</value>
</data>
<data name="Private" xml:space="preserve">
<value>[!!! ÞřïƲáƭè !!!]</value>
</data>
<data name="Public" xml:space="preserve">
<value>[!!! Þúβℓïç !!!]</value>
</data>
<data name="QuickPaste" xml:space="preserve">
<value>[!!! Qúïçƙ-ƥáƨƭè !!!]</value>
</data>
<data name="ReturnToListing" xml:space="preserve">
<value>[!!! Rèƭúřñ ƭô βúïℓδ ℓïƨƭïñϱ !!!]</value>
</data>
<data name="ReturnToOverview" xml:space="preserve">
<value>[!!! Rèƭúřñ ƭô βúïℓδ ôƲèřƲïèω !!!]</value>
</data>
<data name="Share" xml:space="preserve">
<value>[!!! §λářè !!!]</value>
</data>
<data name="Today" xml:space="preserve">
<value>[!!! Tôδᥠ!!!]</value>
</data>
<data name="xBuilds" xml:space="preserve">
<value>[!!! βúïℓδƨ !!!]</value>
</data>
<data name="YearMetaGeneric" xml:space="preserve">
<value>[!!! Vïèω á ℓïƨƭ ôƒ áℓℓ Wïñδôωƨ βúïℓδƨ çô₥ƥïℓèδ ïñ {0}, áñδ ωáƭçλ λôω Wïñδôωƨ δèƲèℓôƥèδ ƨƭèáδïℓ¥ ôƲèř ƭï₥è, ƭλřôúϱλ ƭλè çôℓℓáβôřáƭïƲè βúïℓδ ℓïƨƭ, ßúïδFèèδ ℓôřè₥ ïƥƨú₥ δô !!!]</value>
</data>
</root>

198
BuildFeed/Local/Front.resx Normal file
View File

@ -0,0 +1,198 @@
<?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="About" xml:space="preserve">
<value>About</value>
</data>
<data name="AddABuild" xml:space="preserve">
<value>Add a build</value>
</data>
<data name="BuildMetaDate" xml:space="preserve">
<value>Discover about Windows Build {0}, from {1} and compiled on {2}.</value>
</data>
<data name="BuildMetaNoDate" xml:space="preserve">
<value>Discover about Windows Build {0}, from {1}. BuildFeed tracks Windows builds throughout the development process.</value>
</data>
<data name="BuildsFrom" xml:space="preserve">
<value>Builds from</value>
</data>
<data name="Comments" xml:space="preserve">
<value>Comments</value>
</data>
<data name="Delete" xml:space="preserve">
<value>Delete</value>
</data>
<data name="Edit" xml:space="preserve">
<value>Edit</value>
</data>
<data name="EditBuild" xml:space="preserve">
<value>Edit build</value>
</data>
<data name="EditorActions" xml:space="preserve">
<value>Editor actions</value>
</data>
<data name="HomepageH1" xml:space="preserve">
<value>Windows NT build list</value>
</data>
<data name="LabMetaGeneric" xml:space="preserve">
<value>Check out all the known builds to come out of the Windows development lab {0} through BuildFeed, a collaborative Windows build list</value>
</data>
<data name="Listing" xml:space="preserve">
<value>Listing</value>
</data>
<data name="MoreFromLab" xml:space="preserve">
<value>Find more builds from {0}</value>
</data>
<data name="MoreFromSource" xml:space="preserve">
<value>Find more builds sourced from {0}</value>
</data>
<data name="MoreFromYear" xml:space="preserve">
<value>Find more builds compiled in {0}</value>
</data>
<data name="NoLab" xml:space="preserve">
<value>No lab string</value>
</data>
<data name="Private" xml:space="preserve">
<value>Private</value>
</data>
<data name="Public" xml:space="preserve">
<value>Public</value>
</data>
<data name="QuickPaste" xml:space="preserve">
<value>Quick-paste</value>
</data>
<data name="ReturnToListing" xml:space="preserve">
<value>Return to build listing</value>
</data>
<data name="ReturnToOverview" xml:space="preserve">
<value>Return to build overview</value>
</data>
<data name="Share" xml:space="preserve">
<value>Share</value>
</data>
<data name="Today" xml:space="preserve">
<value>Today</value>
</data>
<data name="xBuilds" xml:space="preserve">
<value>builds</value>
</data>
<data name="YearMetaGeneric" xml:space="preserve">
<value>View a list of all Windows builds compiled in {0}, and watch how Windows developed steadily over time, through the collaborative build list, BuildFeed</value>
</data>
</root>

View File

@ -1,22 +1,22 @@
@model BuildFeed.Models.Build
@{
ViewBag.Title = (string)(ViewContext.RouteData.Values["action"]) == "addBuild" ? "Add a Build | BuildFeed" : string.Format("Edit build {0} | BuildFeed", Model.FullBuildString);
ViewBag.Title = (string)(ViewContext.RouteData.Values["action"]) == "addBuild" ? string.Format("{0} | {1}", BuildFeed.Local.Front.AddABuild, BuildFeed.Local.Common.SiteName) : string.Format("{0} {1} | {2}", BuildFeed.Local.Front.EditBuild, Model.FullBuildString, BuildFeed.Local.Common.SiteName);
Html.EnableClientValidation();
Html.EnableUnobtrusiveJavaScript();
}
@if ((string)(ViewContext.RouteData.Values["action"]) == "addBuild")
{
<h1>Add a Build</h1>
<h1>@BuildFeed.Local.Front.AddABuild</h1>
}
else
{
<h1>Edit build @Model.FullBuildString</h1>
<h1>@BuildFeed.Local.Front.EditBuild @Model.FullBuildString</h1>
}
<div class="form-horizontal">
<div class="form-group">
<label for="quickpaste" class="control-label col-sm-2">Quick-paste</label>
<label for="quickpaste" class="control-label col-sm-2">@BuildFeed.Local.Front.QuickPaste</label>
<div class="col-sm-10">
<div class="row">
<div class="col-sm-6">
@ -126,7 +126,7 @@ else
@Html.TextBoxFor(model => model.LeakDate, "{0:dd/MM/yyyy}", new { @class = "form-control" })
</div>
<div class="col-sm-1">
<button onclick="$('#@Html.IdFor(model => model.LeakDate)').val('@DateTime.Now.ToString("dd/MM/yyyy")');return false;" class="btn btn-success btn-block btn-reset">Today</button>
<button onclick="$('#@Html.IdFor(model => model.LeakDate)').val('@DateTime.Now.ToString("dd/MM/yyyy")');return false;" class="btn btn-success btn-block btn-reset">@BuildFeed.Local.Front.Today</button>
</div>
</div>
@Html.ValidationMessageFor(model => model.LeakDate)
@ -160,7 +160,7 @@ else
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" value="Submit Build" class="btn btn-primary" />
<a href="/" onclick="window.history.back(); return false;" class="btn btn-default">Return to Listing</a>
<a href="/" onclick="window.history.back(); return false;" class="btn btn-default">@BuildFeed.Local.Front.ReturnToListing</a>
</div>
</div>
</div>

View File

@ -1,7 +1,7 @@
@model IEnumerable<BuildFeed.Models.ViewModel.Front.FrontBuildGroup>
@using Humanizer;
@{
ViewBag.Title = "BuildFeed";
ViewBag.Title = BuildFeed.Local.Common.SiteName;
}
@section head
{
@ -11,10 +11,10 @@
}
}
<h1>Windows NT build list</h1>
<h3>Share</h3>
<h1>@BuildFeed.Local.Front.HomepageH1</h1>
<h3>@BuildFeed.Local.Front.Share</h3>
<div class="addthis_sharing_toolbox"></div>
<h3>Listing</h3>
<h3>@BuildFeed.Local.Front.Listing</h3>
<div class="row">
@foreach (BuildFeed.Models.ViewModel.Front.FrontBuildGroup group in Model)
{
@ -33,7 +33,7 @@
<span title="@maxDate.Humanize()"><i class="fa fa-calendar fa-fw"></i> @maxDate.ToString("d MMMM yyyy")</span><br />
}
}
<i class="fa fa-server fa-fw"></i> @group.BuildCount builds
<i class="fa fa-server fa-fw"></i> @group.BuildCount @BuildFeed.Local.Front.xBuilds
</p>
</div>
}

View File

@ -12,20 +12,14 @@
<meta property="og:url" content="@Url.Action()" />
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@("@")buildfeed">
<meta name="twitter:title" content="@Model.FullBuildString | BuildFeed">
<meta name="twitter:image" content="@Request.Url.GetLeftPart(UriPartial.Authority)@Url.Action("twitterCard", new { id = Model.Id })">
@if (Model.BuildTime.HasValue)
{
<meta name="description" content="Discover about Windows Build @Model.Number, from @Model.Lab and compiled on @Model.BuildTime.Value.ToString("d MMMM yyyy")." />
<meta property="og:description" content="Discover about Windows Build @Model.Number, from @Model.Lab and compiled on @Model.BuildTime.Value.ToString("d MMMM yyyy")." />
<meta name="twitter:description" content="Discover about Windows Build @Model.Number, from @Model.Lab and compiled on @Model.BuildTime.Value.ToString("d MMMM yyyy").">
}
else
{
<meta name="description" content="Discover about Windows Build @Model.Number, from @Model.Lab. BuildFeed tracks Windows builds throughout the development process." />
<meta property="og:description" content="Discover about Windows Build @Model.Number, from @Model.Lab. BuildFeed tracks Windows builds throughout the development process." />
<meta name="twitter:description" content="Discover about Windows Build @Model.Number, from @Model.Lab. BuildFeed tracks Windows builds throughout the development process.">
<meta name="twitter:title" content="@Model.FullBuildString | @BuildFeed.Local.Common.SiteName">
<meta name="twitter:image" content="@Request.Url.GetLeftPart(UriPartial.Authority)@Url.Action("twitterCard", new {id = Model.Id})">
@{
string metaDesc = Model.BuildTime.HasValue ? string.Format(BuildFeed.Local.Front.BuildMetaDate, Model.Number, Model.Lab, Model.BuildTime.Value.ToString("d MMMM yyyy")) : string.Format(BuildFeed.Local.Front.BuildMetaNoDate, Model.Number, Model.Lab);
}
<meta name="description" content="@metaDesc" />
<meta property="og:description" content="@metaDesc" />
<meta name="twitter:description" content="@metaDesc" />
}
<h1>@Model.FullBuildString</h1>
@ -36,14 +30,14 @@
@if (User.Identity.IsAuthenticated)
{
<div class="form-group">
<label class="control-label col-sm-4">Editor Actions</label>
<label class="control-label col-sm-4">@BuildFeed.Local.Front.EditorActions</label>
<div class="col-sm-8">
<p class="form-control-static">
@Html.ActionLink("Edit", "editBuild", new { id = Model.Id }, new { @class = "btn btn-default btn-xs" })
@Html.ActionLink(BuildFeed.Local.Front.Edit, "editBuild", new { id = Model.Id }, new { @class = "btn btn-default btn-xs" })
@if (Roles.IsUserInRole("Administrators"))
{
@Html.ActionLink("Delete", "deleteBuild", new { id = Model.Id }, new { @class = "btn btn-danger btn-xs" })
@Html.ActionLink(BuildFeed.Local.Front.Delete, "deleteBuild", new { id = Model.Id }, new { @class = "btn btn-danger btn-xs" })
}
</p>
</div>
@ -83,12 +77,12 @@
<p class="form-control-static">
@if (string.IsNullOrEmpty(Model.Lab))
{
<em>No lab string</em>
<em>@BuildFeed.Local.Front.NoLab</em>
}
else
{
@Model.Lab<br />
<a href="@Url.Action("viewLab", new { lab = Model.Lab })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> Find more builds from @Model.Lab</a>
<a href="@Url.Action("viewLab", new { lab = Model.Lab })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> @string.Format(BuildFeed.Local.Front.MoreFromLab, Model.Lab)</a>
}
</p>
</div>
@ -101,8 +95,8 @@
@if (Model.BuildTime.HasValue)
{
<time datetime="@Model.BuildTime.Value.ToString("yyyy-MM-dd HH:mm")" title="@Model.BuildTime.Value.ToString("h:mm tt on dddd, d MMMM yyyy")">@Html.DisplayFor(model => model.BuildTime, "{0:yyMMdd-HHmm}")</time>
<br />
<a href="@Url.Action("viewYear", new { year = Model.BuildTime.Value.Year })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> Find more builds compiled in @Model.BuildTime.Value.Year</a>
<br />
<a href="@Url.Action("viewYear", new { year = Model.BuildTime.Value.Year })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> @string.Format(BuildFeed.Local.Front.MoreFromYear, Model.BuildTime.Value.Year)</a>
}
</p>
</div>
@ -115,7 +109,7 @@
@Html.LabelFor(model => model.SourceType, new { @class = "control-label" })
<p class="form-control-static">
@Html.DisplayFor(model => model.SourceType, "Enumeration")<br />
<a href="@Url.Action("viewSource", new { source = Model.SourceType })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> Find more builds sourced from @Html.DisplayFor(model => model.SourceType, "Enumeration")</a>
<a href="@Url.Action("viewSource", new { source = Model.SourceType })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> @string.Format(BuildFeed.Local.Front.MoreFromSource, DisplayHelpers.GetDisplayTextForEnum(Model.SourceType))</a>
</p>
</div>
@ -136,7 +130,7 @@
}
<div class="form-group">
<label class="control-label">Share</label>
<label class="control-label">@BuildFeed.Local.Front.Share</label>
<div class="addthis_sharing_toolbox"></div>
</div>
<div class="form-group">
@ -149,7 +143,7 @@
<div class="form-horizontal form-details">
<div class="form-group">
<label class="control-label col-sm-2">Comments</label>
<label class="control-label col-sm-2">@BuildFeed.Local.Front.Comments</label>
<div class="col-sm-10">
<div id="disqus_thread"></div>
<script type="text/javascript">
@ -168,9 +162,9 @@
<div class="form-group">
<div class="col-sm-offset-2 col-sm-8">
<a href="@Url.Action("viewGroup", new { major = Model.MajorVersion, minor = Model.MinorVersion, number = Model.Number, revision = Model.Revision })" class="btn btn-default">Return to build overview</a>
<a href="@Url.Action("viewGroup", new { major = Model.MajorVersion, minor = Model.MinorVersion, number = Model.Number, revision = Model.Revision })" class="btn btn-default">@BuildFeed.Local.Front.ReturnToOverview</a>
&ensp;
<a href="@Url.Action("index")" class="btn btn-default">Return to build listing</a>
<a href="@Url.Action("index")" class="btn btn-default">@BuildFeed.Local.Front.ReturnToListing</a>
</div>
</div>
</div>

View File

@ -1,7 +1,7 @@
@model IGrouping<BuildFeed.Models.BuildGroup, BuildFeed.Models.Build>
@using Humanizer;
@{
ViewBag.Title = string.Format("{0} | BuildFeed", Model.Key.ToString());
ViewBag.Title = string.Format("{0} | {1}", Model.Key.ToString(), BuildFeed.Local.Common.SiteName);
}
<h1>@Model.Key.ToString()</h1>
@ -14,10 +14,10 @@
@if (User.Identity.IsAuthenticated)
{
<p>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">Edit</a>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">@BuildFeed.Local.Front.Edit</a>
@if (Roles.IsUserInRole("Administrators"))
{
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">Delete</a>
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">@BuildFeed.Local.Front.Delete</a>
}
</p>
}
@ -31,11 +31,11 @@
<p>
@if (build.IsLeaked)
{
<span class="label label-success label-build-status">Public</span>
<span class="label label-success label-build-status">@BuildFeed.Local.Front.Public</span>
}
else
{
<span class="label label-danger label-build-status">Private</span>
<span class="label label-danger label-build-status">@BuildFeed.Local.Front.Private</span>
}
</p>
</div>

View File

@ -1,7 +1,7 @@
@model IEnumerable<BuildFeed.Models.Build>
@using Humanizer;
@{
ViewBag.Title = string.Format("Builds from {0}{1} | BuildFeed", ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(" | Page {0}", ViewBag.PageNumber));
ViewBag.Title = string.Format("{0} {1}{2} | {3}", BuildFeed.Local.Front.BuildsFrom, ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(BuildFeed.Local.Common.PageTitleSegment, ViewBag.PageNumber), BuildFeed.Local.Common.SiteName);
}
@section head
@ -13,8 +13,9 @@
}
else
{
<meta name="description" content="Check out all the known builds to come out of the Windows development lab @ViewBag.ItemId through BuildFeed, a collaborative Windows build list" />
<meta property="og:description" content="Check out all the known builds to come out of the Windows development lab @ViewBag.ItemId through BuildFeed, a collaborative Windows build list" />
string metaDesc = string.Format(BuildFeed.Local.Front.LabMetaGeneric, ViewBag.ItemId);
<meta name="description" content="@metaDesc" />
<meta property="og:description" content="@metaDesc" />
}
@if(ViewBag.PageNumber != 1)
@ -23,15 +24,15 @@
}
}
<h1>@string.Format("Builds from {0}", ViewBag.ItemId)</h1>
<h1>@string.Format("{0} {1}", BuildFeed.Local.Front.BuildsFrom, ViewBag.ItemId)</h1>
@if (ViewBag.MetaItem != null && !string.IsNullOrWhiteSpace(ViewBag.MetaItem.PageContent))
{
<h3>About</h3>
<h3>@BuildFeed.Local.Front.About</h3>
@Html.Raw(ViewBag.MetaItem.PageContent)
}
<h3>Share</h3>
<h3>@BuildFeed.Local.Front.Share</h3>
<div class="addthis_sharing_toolbox"></div>
<h3>Listing</h3>
<h3>@BuildFeed.Local.Front.Listing</h3>
<div class="row">
@foreach (var build in Model)
{
@ -40,10 +41,10 @@
@if (User.Identity.IsAuthenticated)
{
<p>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">Edit</a>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">@BuildFeed.Local.Front.Edit</a>
@if (Roles.IsUserInRole("Administrators"))
{
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">Delete</a>
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">@BuildFeed.Local.Front.Delete</a>
}
</p>
}
@ -57,11 +58,11 @@
<p>
@if (build.IsLeaked)
{
<span class="label label-success label-build-status">Public</span>
<span class="label label-success label-build-status">@BuildFeed.Local.Front.Public</span>
}
else
{
<span class="label label-danger label-build-status">Private</span>
<span class="label label-danger label-build-status">@BuildFeed.Local.Front.Private</span>
}
</p>
</div>

View File

@ -1,7 +1,7 @@
@model IEnumerable<BuildFeed.Models.Build>
@using Humanizer;
@{
ViewBag.Title = string.Format("{0}{1} | BuildFeed", ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(" | Page {0}", ViewBag.PageNumber));
ViewBag.Title = string.Format("{0}{1} | {2}", ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(BuildFeed.Local.Common.PageTitleSegment, ViewBag.PageNumber), @BuildFeed.Local.Common.SiteName);
}
@section head
@ -21,12 +21,12 @@
<h1>@ViewBag.ItemId</h1>
@if (ViewBag.MetaItem != null && !string.IsNullOrWhiteSpace(ViewBag.MetaItem.PageContent))
{
<h3>About</h3>
<h3>@BuildFeed.Local.Front.About</h3>
@Html.Raw(ViewBag.MetaItem.PageContent)
}
<h3>Share</h3>
<h3>@BuildFeed.Local.Front.Share</h3>
<div class="addthis_sharing_toolbox"></div>
<h3>Listing</h3>
<h3>@BuildFeed.Local.Front.Listing</h3>
<div class="row">
@foreach (var build in Model)
{
@ -35,10 +35,10 @@
@if (User.Identity.IsAuthenticated)
{
<p>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">Edit</a>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">@BuildFeed.Local.Front.Edit</a>
@if (Roles.IsUserInRole("Administrators"))
{
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">Delete</a>
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">@BuildFeed.Local.Front.Delete</a>
}
</p>
}
@ -56,11 +56,11 @@
<p>
@if (build.IsLeaked)
{
<span class="label label-success label-build-status">Public</span>
<span class="label label-success label-build-status">@BuildFeed.Local.Front.Public</span>
}
else
{
<span class="label label-danger label-build-status">Private</span>
<span class="label label-danger label-build-status">@BuildFeed.Local.Front.Private</span>
}
</p>
</div>

View File

@ -1,7 +1,7 @@
@model IEnumerable<BuildFeed.Models.Build>
@using Humanizer;
@{
ViewBag.Title = string.Format("Windows NT {0}{1} | BuildFeed", ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(" | Page {0}", ViewBag.PageNumber));
ViewBag.Title = string.Format("{0} {1}{2} | {3}", BuildFeed.Local.Common.ProductName, ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(BuildFeed.Local.Common.PageTitleSegment, ViewBag.PageNumber), BuildFeed.Local.Common.SiteName);
}
@section head
@ -18,15 +18,15 @@
}
}
<h1>@string.Format("Windows NT {0}", ViewBag.ItemId)</h1>
<h1>@string.Format("{0} {1}", BuildFeed.Local.Common.ProductName, ViewBag.ItemId)</h1>
@if (ViewBag.MetaItem != null && !string.IsNullOrWhiteSpace(ViewBag.MetaItem.PageContent))
{
<h3>About</h3>
<h3>@BuildFeed.Local.Front.About</h3>
@Html.Raw(ViewBag.MetaItem.PageContent)
}
<h3>Share</h3>
<h3>@BuildFeed.Local.Front.Share</h3>
<div class="addthis_sharing_toolbox"></div>
<h3>Listing</h3>
<h3>@BuildFeed.Local.Front.Listing</h3>
<div class="row">
@foreach (var build in Model)
{
@ -35,10 +35,10 @@
@if (User.Identity.IsAuthenticated)
{
<p>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">Edit</a>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">@BuildFeed.Local.Front.Edit</a>
@if (Roles.IsUserInRole("Administrators"))
{
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">Delete</a>
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">@BuildFeed.Local.Front.Delete</a>
}
</p>
}
@ -56,11 +56,11 @@
<p>
@if (build.IsLeaked)
{
<span class="label label-success label-build-status">Public</span>
<span class="label label-success label-build-status">@BuildFeed.Local.Front.Public</span>
}
else
{
<span class="label label-danger label-build-status">Private</span>
<span class="label label-danger label-build-status">@BuildFeed.Local.Front.Private</span>
}
</p>
</div>

View File

@ -1,7 +1,7 @@
@model IEnumerable<BuildFeed.Models.Build>
@using Humanizer;
@{
ViewBag.Title = string.Format("Builds from {0}{1} | BuildFeed", ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(" | Page {0}", ViewBag.PageNumber));
ViewBag.Title = string.Format("{0} {1}{2} | {3}", BuildFeed.Local.Front.BuildsFrom, ViewBag.ItemId, ViewBag.PageNumber == 1 ? "" : string.Format(BuildFeed.Local.Common.PageTitleSegment, ViewBag.PageNumber), BuildFeed.Local.Common.SiteName);
}
@section head
@ -13,8 +13,9 @@
}
else
{
<meta name="description" content="View a list of all Windows builds compiled in @ViewBag.ViewId, and watch how Windows developed steadily over time, through the collaborative build list, BuildFeed" />
<meta property="og:description" content="View a list of all Windows builds compiled in @ViewBag.ViewId, and watch how Windows developed steadily over time, through the collaborative build list, BuildFeed" />
string metaDesc = string.Format(BuildFeed.Local.Front.YearMetaGeneric, ViewBag.ViewId);
<meta name="description" content="@metaDesc" />
<meta property="og:description" content="@metaDesc" />
}
@if (ViewBag.PageNumber != 1)
@ -26,12 +27,12 @@
<h1>@string.Format("Builds from {0}", ViewBag.ItemId)</h1>
@if (ViewBag.MetaItem != null && !string.IsNullOrWhiteSpace(ViewBag.MetaItem.PageContent))
{
<h3>About</h3>
<h3>@BuildFeed.Local.Front.About</h3>
@Html.Raw(ViewBag.MetaItem.PageContent)
}
<h3>Share</h3>
<h3>@BuildFeed.Local.Front.Share</h3>
<div class="addthis_sharing_toolbox"></div>
<h3>Listing</h3>
<h3>@BuildFeed.Local.Front.Listing</h3>
<div class="row">
@foreach (var build in Model)
{
@ -40,10 +41,10 @@
@if (User.Identity.IsAuthenticated)
{
<p>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">Edit</a>
<a href="@Url.Action("editBuild", new { id = build.Id })" class="btn btn-primary btn-xs">@BuildFeed.Local.Front.Edit</a>
@if (Roles.IsUserInRole("Administrators"))
{
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">Delete</a>
<a href="@Url.Action("deleteBuild", new { id = build.Id })" class="btn btn-danger btn-xs">@BuildFeed.Local.Front.Delete</a>
}
</p>
}
@ -61,11 +62,11 @@
<p>
@if (build.IsLeaked)
{
<span class="label label-success label-build-status">Public</span>
<span class="label label-success label-build-status">@BuildFeed.Local.Front.Public</span>
}
else
{
<span class="label label-danger label-build-status">Private</span>
<span class="label label-danger label-build-status">@BuildFeed.Local.Front.Private</span>
}
</p>
</div>