'분류 전체보기'에 해당되는 글 56건
- 2018.01.02
- 2018.01.01
- 2018.01.01
- 2017.12.30
- 2017.12.29
- 2017.12.29
- 2017.12.28
- 2017.12.28
- 2017.12.25
- 2017.12.25
#region Assembly Windows.Foundation.UniversalApiContract, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime
// C:\Program Files (x86)\Windows Kits\10\References\10.0.15063.0\Windows.Foundation.UniversalApiContract\4.0.0.0\Windows.Foundation.UniversalApiContract.winmd
#endregion
using Windows.Foundation;
using Windows.Foundation.Metadata;
using Windows.UI.Core;
namespace Windows.UI.Xaml
{
//
// Summary:
// Represents an object that participates in the dependency property system. Windows.UI.Xaml.DependencyObject
// is the immediate base class of many important UI-related classes, such as Windows.UI.Xaml.UIElement,
// Windows.UI.Xaml.Media.Geometry, Windows.UI.Xaml.FrameworkTemplate, Windows.UI.Xaml.Style,
// and Windows.UI.Xaml.ResourceDictionary.
[Composable(typeof(IDependencyObjectFactory), CompositionType.Protected, 65536, "Windows.Foundation.UniversalApiContract")]
[ContractVersion(typeof(UniversalApiContract), 65536)]
[MarshalingBehavior(MarshalingType.Agile)]
[Threading(ThreadingModel.Both)]
[WebHostHidden]
public class DependencyObject : IDependencyObject, IDependencyObject2
{
//
// Summary:
// Provides base class initialization behavior for Windows.UI.Xaml.DependencyObject
// derived classes.
protected DependencyObject();
//
// Summary:
// Returns the current effective value of a dependency property from a Windows.UI.Xaml.DependencyObject.
//
// Parameters:
// dp:
// The Windows.UI.Xaml.DependencyProperty identifier of the property for which to
// retrieve the value.
//
// Returns:
// Returns the current effective value.
public object GetValue(DependencyProperty dp);
//
// Summary:
// Sets the local value of a dependency property on a Windows.UI.Xaml.DependencyObject.
//
// Parameters:
// dp:
// The identifier of the dependency property to set.
//
// value:
// The new local value.
public void SetValue(DependencyProperty dp, object value);
//
// Summary:
// Clears the local value of a dependency property.
//
// Parameters:
// dp:
// The Windows.UI.Xaml.DependencyProperty identifier of the property for which to
// clear the value.
public void ClearValue(DependencyProperty dp);
//
// Summary:
// Returns the local value of a dependency property, if a local value is set.
//
// Parameters:
// dp:
// The Windows.UI.Xaml.DependencyProperty identifier of the property for which to
// retrieve the local value.
//
// Returns:
// Returns the local value, or returns the sentinel value Windows.UI.Xaml.DependencyProperty.UnsetValue
// if no local value is set.
public object ReadLocalValue(DependencyProperty dp);
//
// Summary:
// Returns any base value established for a dependency property, which would apply
// in cases where an animation is not active.
//
// Parameters:
// dp:
// The identifier for the desired dependency property.
//
// Returns:
// The returned base value.
public object GetAnimationBaseValue(DependencyProperty dp);
//
// Summary:
// Registers a notification function for listening to changes to a specific Windows.UI.Xaml.DependencyProperty
// on this Windows.UI.Xaml.DependencyObject instance.
//
// Parameters:
// dp:
// The dependency property identifier of the property to register for property-changed
// notification.
//
// callback:
// A callback based on the Windows.UI.Xaml.DependencyPropertyChangedCallback delegate,
// which the system invokes when the value of the specified property changes.
//
// Returns:
// A token that represents the callback, used to identify the callback in calls
// to Windows.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback(Windows.UI.Xaml.DependencyProperty,System.Int64).
public long RegisterPropertyChangedCallback(DependencyProperty dp, DependencyPropertyChangedCallback callback);
//
// Summary:
// Cancels a change notification that was previously registered by calling Windows.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback(Windows.UI.Xaml.DependencyProperty,Windows.UI.Xaml.DependencyPropertyChangedCallback).
//
// Parameters:
// dp:
// The dependency property identifier of the property to unregister for property-changed
// notification.
//
// token:
// A token that represents the callback (returned by Windows.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback(Windows.UI.Xaml.DependencyProperty,Windows.UI.Xaml.DependencyPropertyChangedCallback)
// ).
public void UnregisterPropertyChangedCallback(DependencyProperty dp, long token);
//
// Summary:
// Gets the Windows.UI.Core.CoreDispatcher that this object is associated with.
// The Windows.UI.Core.CoreDispatcher represents a facility that can access the
// Windows.UI.Xaml.DependencyObject on the UI thread even if the code is initiated
// by a non-UI thread.
//
// Returns:
// The Windows.UI.Core.CoreDispatcher that Windows.UI.Xaml.DependencyObject object
// is associated with, which represents the UI thread.
public CoreDispatcher Dispatcher { get; }
}
}
CultureInfo description from metadata (0) | 2017.12.29 |
---|---|
DependencyObject description from metadata (0) | 2017.12.13 |
FrameworkElement MeasureOverride and ArrangeOverride Method from metadata description (0) | 2017.12.13 |
UIElement Measure and Arrange Method from metadata description (0) | 2017.12.12 |
Copyright
이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 마지막 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents).
Summary (생략)
Course Summary (생략)
Resource
Resgen.exe : Converts between different resource file types (.txt, .resx, .resources, .resw) (link)
LocBaml : Another way to localize WPF applications (link)
Globalization, Internationalization, and Localization in ASP.NET MVC 3, JavaScript and jQuery (link)
출처
이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 마지막 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(Localization and Globalization in .NET) Considerations (0) | 2018.01.01 |
---|---|
(Localization and Globalization in .Net) Fundamentals (0) | 2017.12.30 |
.Net ecosystem (0) | 2017.12.03 |
Copyright
이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents).
Outline
Naming Resource Strings
Danger of culture-specific Image
Translation Considerations
Screen Layout
Exception Messags
Code Analysis Globalization Rule
Resource Naming Recommendation
Name the resources based on their purpose
Page/View-Level Resources
Naming based on purpose
Grouping_Purpose or Grouping_Grouping_Purpose
Assembly-Level Resources
Naming based on purpose
Module_Grouping_Purpose
e.g., MainWindow_Customer_Rating
The Danger of culture-specific Images
The Danger of Flags for Language
If possible, use images that do not rely on culture-specific references
e.g., A US mailbox may not be recognized in another culture, use a letter or postage stamp image instead
If possible, do not include words as part of images
If it is not possible to avoid culture-specific references, then load localized images into the .resx file along with localized strings
Translation Considerations
Machine Translation (like google translator)
Not good enough to go straight into production
But can help with screen layout during development
Human Translation
Prefer native speakers of the target language
Still not perfect - Locker Issue
Best Bet
A human translator who understands the business purpose of the application
Provide the human translator with the business context and let him determine what is best
(Screen shots and Descriptions of a program... etc)
Screen Layout Concerns
Different languages take up different amounts of space.
German words are usually long
Japanese words are usually short
Some languages read right-to-left
Use flow layouts for greatest flexibility
In XAML : use grids and stack panels to hold our controls
Avoid fixed positions and sizes
Favor auto-sizing controls and grids
Windows Forms : TableLayoutPanel, WinRes Tool
WPF, UWP : Grids and StackPanels, Grid - Auto and Star
Exception Messages
To Localize...
The message is displayed to the user
The user can act on the message
To not Localize...
The message is not displayed to the user
The message is logged for support staff
# Exception Thrower
private void ExceptionThrower(Type exceptionType)
{
var currentCulture = Thread.CurrentThread.CurrentUICulutre;
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
try
{
Exception ex;
ex = Activator.CreateInstance(exceptionType) as Exception;
throw ex;
}
finally
{
Thread.CurrentThread.CurrentUICulture = currentCulture;
}
}
Code Analysis Globalization Rule
FXCop is a downloadable tool that analyzes our code and provides suggestions based on a set of rules
This has been incorporated into the Code Analysis tool that is available in some of the VS versions
We're able to choose a rule set that we want to use for analysis in our project.
This is available in the Solution properties.
One of the rule sets is Microsoft Globalization Rules (specifically checks for items that may affect localization and globalization)
The Globalization Rule Set consists of 11 Rules (check the rules for detail)
e.g., 1.Set Microsoft Globalization Rules in Solution properties -> Code Analysis Settings -> Change Rule Set
2. Analyze menu -> Run Code Analysis On Solution
3. Fix the error messages
Warning : Code Analysis do not work at XAML markup
Summary (생략)
출처
이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(Localization and Globalization in .NET) Globalization (0) | 2018.01.01 |
---|---|
(Localization and Globalization in .Net) Fundamentals (0) | 2017.12.30 |
.Net ecosystem (0) | 2017.12.03 |
Copyright
이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 첫번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents).
Content
1. Fundamentals
Definitions
Localization
The process of adapting an application so that its resources can be replaced at runtime.
(Language, region, culture etc... => strings, images)
Globalization
The process of engineering an application so that it does not have cultural preconceptions.
(DateTime, number, currency, calendars formats etc... => cultural formatting and other things)
Internationalization
The process of localizing and globalizing an application
.NET Localization Support
CultureInfo object (specify a language or both language and culture) (link)
Use this in conjunction with Resource files to create localized strings and images for application
These get compiled into satellite assemblies, and are used based on the culture values of the current thread.
CultureInfo(string name)
virtual string Name { get; }
virtual DateTimeFormatInfo DateTimeFormat { get; set; }
virtual NumberFormatInfo NumberFormat { get; set; }
virtual Calendar Calendar { get; }
virtual Calendar[] OptionalCalendars { get; }
virtual bool IsNeutralCulture { get; }
A neutral culture is one that specifies a language, but not a country or region.
e.g., en is neutral culture, en-US is specific culture
Neutral Cultures still have date time and number formatting information
Formatting and other values are set based on the defaults for the language
e.g., The default values for the English language are based on US English. Warning
static CultureInfo InvariantCulture { get; }
We can create an invariant culture by using an empty string for the CultureInfo constructor.
e.g., var invariantCulture = new CultureInfo("");
Or, can use the static InvariantCulture property on the CoultureInfo object
e.g., var invariantCulture2 = CultureInfo.InvariantCulture;
Invariant Culture is designed for things that should not change with culture
It can be use to persist data in culture-independent format
Invariant Culture is associated with the English language but no culture or region
#so There is neutral culture, specific culture, and invariant culture
static CultureInfo CurrentCulture { get; set; }
Gets or sets the System.Globalization.CultureInfo object that represents the culture used by the current thread
static CultureInfo CurrentUICulture { get; set; }
Gets or sets the CultureInfo object that represents the current user interface culture used by the Resource Manager to look up culture-specific resources at run time
Culture List in MSDN
Resource
Any non-executable data that is logically deployed with an app, including strings, images, and persisted objects.
.NET offers several ways to handle resources.
We will use resx file, or resw file(for UWP)
This gives us a centralized place to put localized strings.
.resx or .resw file contains value withh Name(key), value whill be displayed in our application.
Create culture-specific resource files and set Name-Value pair
Using Resource
WPF XAML
<TextBlock Text="{x:Static resx:Resources.Customer_Customer}" ..../>
ASP.NET MVC Markup
<td>@MVCOrderTaker.Resources.Home.Index.Customer_Customer</td>
C# Code
ProductName = Properties.Resources.Product_UniversalTranslator;
Satellite Assemblies
The compiler generates satellite assemblies.
hub-and-spoke model (image)
Thread and Culture
class Tread : ...
public static Tread CurrentThread { get; }
public CultureInfo CurrentCulture { get; set; } //Determines globalization, formats(data, number, currency), sorting calendars etc
public CultureInfo CurrentUICulture { get; set; }
//Determines which set of Resources are used in the UI
//So, if the CurrentUICulture is set to US English, it will look for the resource assembly that has the same designation
...
Both of these properties are setable, this means that we can change the culture programmatically.
#There is exception for Windows Store Apps
CurrentCulture
For .NET 4.0 or later, this can be specific culture or neutral culture
Prior to .NET 4.0, this must be a specific culture (no neutral cultures allowed)
Is we only have a neutral culture we can call the CreateSpecificCulture method
var specficCulture = CultureInfo.CreateSpecificCulture("en")
Either way, if we use the neutral "en" culture, we will end up with a specific en-US culture
The reason we need a specific culture is that CurrentCulture...
Determines globalization formats for dates, numbers, and currency
Determines the sort order (how accented, or capitalized characters)
Determines parsing (such as DateTime.Parse)
Determines output formats such as DateTime.ToString("d")
Note : most parsing and output methods take an optional IFormatProvider parameter.
CurrentUICulture
Determines which culture-specific resources are used
This is how the resource manager knows which of the satellite assemblies should be used at run time
CurrentCulture can be a neutral or specific culture
CurrentCulture & CurrentUICulture
CurrentCulture and CurrentUICulture are almost always set to the same culture
This will make sure that we have consistency across our application
But they can be set to different values to support special cases.
e.g., French languages in US, "fr-US" does not exist
CurrentCulture = "en-US" to get US formatting (dates, currency)
CurrentUICulture = "fr" to get French language resources
e.g., create custom cultures
How does Culture Get Set?
Thread.CurrentTread.Current(UI)Culture = ??? Where is it come from?
CultureInfo.DefaultThreadCurrentCulture { get; set; }
CultureInfo.DefaultThreadCurrentUICulture { get; set; }
CultureInfo has static "Default" properties, both properties's default values are null
When set, these values are used for all new threads created in the application domain
When a thread is started, its Thread.CurrentThread.Current(UI)Culture is set to the DefaultThreadCurrent(UI)Culture.
If null, Current(UI)Culture is set based on the OS culture
Meaning, if we do nothing, we get the OS culture by default for desktop apps
For web apps, culture is based on the request header
Both CurrentCulture and CurrentUICulture properties on the Thread class are writable
This means that we can manually set the culture if we like as hardcoded value or value from configuration, or user preference setting in our database.
(하지만 UWP에선 Thread class에 접근할 수 없다.)
e.g., var culture = new CultureInfo("cs-CZ");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
//Use the same culture for any newly created threads
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
Summary (생략)
출처
이 모든 내용은 Pluralsight에 Jeremy Clark가 올린 'Localization and Globalization in .NET'라는 강의의 첫번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/intro-to-localization-globalization-dotnet/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(Localization and Globalization in .NET) Globalization (0) | 2018.01.01 |
---|---|
(Localization and Globalization in .NET) Considerations (0) | 2018.01.01 |
.Net ecosystem (0) | 2017.12.03 |
namespace System.Globalization
{
//
// Summary:
// Provides information about a specific culture (called a locale for unmanaged
// code development). The information includes the names for the culture, the writing
// system, the calendar used, and formatting for dates and sort strings.
public class CultureInfo : IFormatProvider
{
//
// Summary:
// Initializes a new instance of the System.Globalization.CultureInfo class based
// on the culture specified by name.
//
// Parameters:
// name:
// A predefined System.Globalization.CultureInfo name, System.Globalization.CultureInfo.Name
// of an existing System.Globalization.CultureInfo, or Windows-only culture name.
// name is not case-sensitive.
//
// Exceptions:
// T:System.ArgumentNullException:
// name is null.
//
// T:System.Globalization.CultureNotFoundException:
// name is not a valid culture name. For more information, see the Notes to Callers
// section.
public CultureInfo(string name);
//
// Summary:
// Gets the System.Globalization.CultureInfo object that is culture-independent
// (invariant).
//
// Returns:
// The object that is culture-independent (invariant).
public static CultureInfo InvariantCulture { get; }
//
// Summary:
// Gets or sets the default UI culture for threads in the current application domain.
//
// Returns:
// The default UI culture for threads in the current application domain, or null
// if the current system UI culture is the default thread UI culture in the application
// domain.
//
// Exceptions:
// T:System.ArgumentException:
// In a set operation, the System.Globalization.CultureInfo.Name property value
// is invalid.
public static CultureInfo DefaultThreadCurrentUICulture { get; set; }
//
// Summary:
// Gets or sets the System.Globalization.CultureInfo object that represents the
// current user interface culture used by the Resource Manager to look up culture-specific
// resources at run time.
//
// Returns:
// The culture used by the Resource Manager to look up culture-specific resources
// at run time.
//
// Exceptions:
// T:System.ArgumentNullException:
// The property is set to null.
//
// T:System.ArgumentException:
// The property is set to a culture name that cannot be used to locate a resource
// file. Resource filenames can include only letters, numbers, hyphens, or underscores.
public static CultureInfo CurrentUICulture { get; set; }
//
// Summary:
// Gets or sets the System.Globalization.CultureInfo object that represents the
// culture used by the current thread.
//
// Returns:
// An object that represents the culture used by the current thread.
//
// Exceptions:
// T:System.ArgumentNullException:
// The property is set to null.
public static CultureInfo CurrentCulture { get; set; }
//
// Summary:
// Gets or sets the default culture for threads in the current application domain.
//
// Returns:
// The default culture for threads in the current application domain, or null if
// the current system culture is the default thread culture in the application domain.
public static CultureInfo DefaultThreadCurrentCulture { get; set; }
//
// Summary:
// Gets the culture name in the format languagefull [country/regionfull] in English.
//
// Returns:
// The culture name in the format languagefull [country/regionfull] in English,
// where languagefull is the full name of the language and country/regionfull is
// the full name of the country/region.
public virtual string EnglishName { get; }
//
// Summary:
// Gets the System.Globalization.CultureInfo that represents the parent culture
// of the current System.Globalization.CultureInfo.
//
// Returns:
// The System.Globalization.CultureInfo that represents the parent culture of the
// current System.Globalization.CultureInfo.
public virtual CultureInfo Parent { get; }
//
// Summary:
// Gets the list of calendars that can be used by the culture.
//
// Returns:
// An array of type System.Globalization.Calendar that represents the calendars
// that can be used by the culture represented by the current System.Globalization.CultureInfo.
public virtual Calendar[] OptionalCalendars { get; }
//
// Summary:
// Gets or sets a System.Globalization.NumberFormatInfo that defines the culturally
// appropriate format of displaying numbers, currency, and percentage.
//
// Returns:
// A System.Globalization.NumberFormatInfo that defines the culturally appropriate
// format of displaying numbers, currency, and percentage.
//
// Exceptions:
// T:System.ArgumentNullException:
// The property is set to null.
//
// T:System.InvalidOperationException:
// The System.Globalization.CultureInfo.NumberFormat property or any of the System.Globalization.NumberFormatInfo
// properties is set, and the System.Globalization.CultureInfo is read-only.
public virtual NumberFormatInfo NumberFormat { get; set; }
//
// Summary:
// Gets the culture name, consisting of the language, the country/region, and the
// optional script, that the culture is set to display.
//
// Returns:
// The culture name. consisting of the full name of the language, the full name
// of the country/region, and the optional script. The format is discussed in the
// description of the System.Globalization.CultureInfo class.
public virtual string NativeName { get; }
//
// Summary:
// Gets the culture name in the format languagecode2-country/regioncode2.
//
// Returns:
// The culture name in the format languagecode2-country/regioncode2. languagecode2
// is a lowercase two-letter code derived from ISO 639-1. country/regioncode2 is
// derived from ISO 3166 and usually consists of two uppercase letters, or a BCP-47
// language tag.
public virtual string Name { get; }
//
// Summary:
// Gets a value indicating whether the current System.Globalization.CultureInfo
// is read-only.
//
// Returns:
// true if the current System.Globalization.CultureInfo is read-only; otherwise,
// false. The default is false.
public bool IsReadOnly { get; }
//
// Summary:
// Gets a value indicating whether the current System.Globalization.CultureInfo
// represents a neutral culture.
//
// Returns:
// true if the current System.Globalization.CultureInfo represents a neutral culture;
// otherwise, false.
public virtual bool IsNeutralCulture { get; }
//
// Summary:
// Gets the ISO 639-1 two-letter code for the language of the current System.Globalization.CultureInfo.
//
// Returns:
// The ISO 639-1 two-letter code for the language of the current System.Globalization.CultureInfo.
public virtual string TwoLetterISOLanguageName { get; }
//
// Summary:
// Gets the System.Globalization.TextInfo that defines the writing system associated
// with the culture.
//
// Returns:
// The System.Globalization.TextInfo that defines the writing system associated
// with the culture.
public virtual TextInfo TextInfo { get; }
//
// Summary:
// Gets or sets a System.Globalization.DateTimeFormatInfo that defines the culturally
// appropriate format of displaying dates and times.
//
// Returns:
// A System.Globalization.DateTimeFormatInfo that defines the culturally appropriate
// format of displaying dates and times.
//
// Exceptions:
// T:System.ArgumentNullException:
// The property is set to null.
//
// T:System.InvalidOperationException:
// The System.Globalization.CultureInfo.DateTimeFormat property or any of the System.Globalization.DateTimeFormatInfo
// properties is set, and the System.Globalization.CultureInfo is read-only.
public virtual DateTimeFormatInfo DateTimeFormat { get; set; }
//
// Summary:
// Gets the System.Globalization.CompareInfo that defines how to compare strings
// for the culture.
//
// Returns:
// The System.Globalization.CompareInfo that defines how to compare strings for
// the culture.
public virtual CompareInfo CompareInfo { get; }
//
// Summary:
// Gets the default calendar used by the culture.
//
// Returns:
// A System.Globalization.Calendar that represents the default calendar used by
// the culture.
public virtual Calendar Calendar { get; }
//
// Summary:
// Gets the full localized culture name.
//
// Returns:
// The full localized culture name in the format languagefull [country/regionfull],
// where languagefull is the full name of the language and country/regionfull is
// the full name of the country/region.
public virtual string DisplayName { get; }
//
// Summary:
// Returns a read-only wrapper around the specified System.Globalization.CultureInfo
// object.
//
// Parameters:
// ci:
// The System.Globalization.CultureInfo object to wrap.
//
// Returns:
// A read-only System.Globalization.CultureInfo wrapper around ci.
//
// Exceptions:
// T:System.ArgumentNullException:
// ci is null.
public static CultureInfo ReadOnly(CultureInfo ci);
//
// Summary:
// Creates a copy of the current System.Globalization.CultureInfo.
//
// Returns:
// A copy of the current System.Globalization.CultureInfo.
public virtual object Clone();
//
// Summary:
// Determines whether the specified object is the same culture as the current System.Globalization.CultureInfo.
//
// Parameters:
// value:
// The object to compare with the current System.Globalization.CultureInfo.
//
// Returns:
// true if value is the same culture as the current System.Globalization.CultureInfo;
// otherwise, false.
public override bool Equals(object value);
//
// Summary:
// Gets an object that defines how to format the specified type.
//
// Parameters:
// formatType:
// The System.Type for which to get a formatting object. This method only supports
// the System.Globalization.NumberFormatInfo and System.Globalization.DateTimeFormatInfo
// types.
//
// Returns:
// The value of the System.Globalization.CultureInfo.NumberFormat property, which
// is a System.Globalization.NumberFormatInfo containing the default number format
// information for the current System.Globalization.CultureInfo, if formatType is
// the System.Type object for the System.Globalization.NumberFormatInfo class.-or-
// The value of the System.Globalization.CultureInfo.DateTimeFormat property, which
// is a System.Globalization.DateTimeFormatInfo containing the default date and
// time format information for the current System.Globalization.CultureInfo, if
// formatType is the System.Type object for the System.Globalization.DateTimeFormatInfo
// class.-or- null, if formatType is any other object.
public virtual object GetFormat(Type formatType);
//
// Summary:
// Serves as a hash function for the current System.Globalization.CultureInfo, suitable
// for hashing algorithms and data structures, such as a hash table.
//
// Returns:
// A hash code for the current System.Globalization.CultureInfo.
public override int GetHashCode();
//
// Summary:
// Returns a string containing the name of the current System.Globalization.CultureInfo
// in the format languagecode2-country/regioncode2.
//
// Returns:
// A string containing the name of the current System.Globalization.CultureInfo.
public override string ToString();
}
}
DependencyObject (0) | 2018.01.02 |
---|---|
DependencyObject description from metadata (0) | 2017.12.13 |
FrameworkElement MeasureOverride and ArrangeOverride Method from metadata description (0) | 2017.12.13 |
UIElement Measure and Arrange Method from metadata description (0) | 2017.12.12 |
Copyright
이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 5~10챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 강의 원작자분께 게시허가도 받았습니다.
Content
1. UX Core Concepts and Terminology
The UX Process
1. Company and industry research
2. User research
3. Information architecture
4. Wireframing
5. Visual design
6. Usability testing
The UX Process : Company and Industry Research
Brand
Represents the intellectual and emotional associations that people make with a company, product, or person. Brand is something that actually lies within each of us. Brand is not just a logo or a color scheme, it's what people think and feel when they hear a company name or see their products.
"A positive user experience has a direct correlation to positive brand perception." - Steve Baty
Questions to Help with Brand Identity
What is your business about?
Who are your customers?
What problem do you solve?
Is there a unique story behind your business?
What are five adjectives or phrases that describe your desired brand?
Culture
The beliefs and behaviors that determine how a company's employees and management interact and handle business transactions, Often implied, not expressly defined.
Questions to Help with Culture
How do employees act at work?
What are common behaviors(both good and bad)?
What does this job/company mean to employees?
Would employees go somewhere else if they could?
Reputation
Collective judgments of a company based on assessments of financial, social and environmental impacts.
"It takes 20 years to build a reputation and 5 minutes to ruin it. If you think about that, you'll do things differently." - Warren Buffet
10 Components of Company Reputation
Ethical, Employees/workplace, Financial performance, Leadership, Management
Social responsibility, Customer focus, Quality, Reliability, Emotional appeal
Industry News
Resource : MarketWatch, Bloomberg, IndustryWeek
Competitors
How is our competitors and what are thy doing right now?
Questions to Ask about Competitors
Who are our three main competitors(direct or indirect)?
How do we set ourselves apart form our competitors?
What do we like and dislike about their brand and experience?
How Business Is Run
The UX Process : User Research (critical!)
User Research
Focuses on understanding user behaviors, needs, and motivations through observation techniques, task analysis, and other feedback methodologies.
User Research Methods
Interviews(asking), Contextual interview(observing), Persona, Focus groups, Surveys, Card sorting, Wireframes, Prototyping, Usability Testing, A/B Testing
User Research is critical
Reason 1. Keeps you from building the wrong product
Reason 2. Removes assumptions from the design process
Reason 3. Users will appreciate for Research, and be able to use it
The UX Process : Information Architecture
Information Architecture
The structural design of shared information environments; the art and science of organizing and labeling websites, intranets, online communities and software to support usability and findability.
Five Activities of Defining Information Architecture
1. Inventory all the content
2. Conduct a content audit
Analyse the existing content and ask:
Can we remove or consolidate?
What content is good and working well?
What is missing?
3. Design the new architecture
4. Test the new architecture with users
5. Iterate
The UX Process : Wireframing
Wireframe
A visualization tool for presenting proposed functions, structure and content of a web pare or website.
Benefits of Low-Fidelity Wireframing
Get your ideas down
Solidify a rough concept
Quick, easy, cheap
Benefits of High-Fidelity Wireframing
Add more detail and substance
More realistic
Can be used to build an actual visual design
Easier for clients to grasp what the end product will look like
Action Callouts
User Flow
Popular Tools for Digital Wireframing
Balsamiq, InVision, Omnigraffle, Patternry, Sketch, Axure, UXPin
General Rules for Creating Wireframes
Keep them practical and usable
- Don't be too worried about tidiness and perfection
Iterate, iterate, iterate
- Don't be afraid to throw things away and start over
The UX Process : Visual Design
Visual Design
Focuses on the aesthetics of a site and its related materials by strategically implementing images, colors, fonts, and other elements
Elements of Visual Design
Line
used to connect two points, to divide sections of page, to create texture, and provide direction on a page
Shape
used to group information or call attention to certain elements on a page, or to compose other objects
Color
differentiate items, create depth, add emphasis or organize related content. It can also be used to affect mood
Texture
Texture is how a surface feels or is perceived to feel based on a digital representation. You can use this in visual design to add interest or attract attention to a particular element
Typography
Fonts
Principles of Design (see link also)
Alignment, Contrast, Visual Hierarchy, Proximity, Layouts, Whitespace, Consistency
The UX Process : Usability Testing
Usability Testing
A technique used in user-centered interaction design to evaluate a product by testing it on users
Benefits of Usability Testing
Determine if users can successfully complete tasks, and how long it takes to complete them
Measure satisfaction with the site
Identify changes necessary to improve satisfaction
Analyze performance of the system
Questions
How wold you rate the overall user experience of the system? - 6.2
How intuitive/helpful is the navigation? - 4.4
How easy is the text to read (style and size)? - 8.1
eye-tracking results
Conducting Usability Testing
1. Create test plan (step-by-step instructions of what users to do, e.g., Find nutritional information for the bacon breakfast sandwich)
2. Set up environment (lab, eye tracking, mirror, desktop sharing, or get results from users later)
3. Identify users (3~10 users)
4. Conduct tests (get step-by-step thinking of user)
5. Summarize results
Heuristic
A rule of thumb, simplification, or educated guess that reduces or limits the search for solutions in domains that are difficult and poorly under stood.
10 Usability Heuristics for User Interface Design
1. Visibility of system status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time. e.g., Logged in Name, Progress view
2. Match between system and the real world
The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order. e.g., Decline X, Nope O
3. User control and freedom
Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through and extended dialogue. Support undo and redo. e.g., Back button, Ctrl + z, Home>South Pacific>New Zealand> Wanaka (buttons to go back to each stage)
4. Consistency and standards
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
5. Error prevention
Even better than good error message is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action. e.g., warning sign, 자동 문자열 검색 리스트
6. Recognition rather than recall
Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information form one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate. e.g., preview of a font list font, VS IntelliSense
7. Flexibility and efficiency of use
Accelerators(unseen by the novice user) may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions. e.g., keyboard shortcuts, save billing information,
8. Aesthetic and minimalist design
Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.
9. Help users recognize, diagnose, and recover form errors
Error messages should be expressed in plain language(no codes), precisely indicate the problem, and constructively suggest a solution.
10, Help and documentation
Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user's task, list concrete steps to be carried out, and not be too large. e.g., Card Security Code with Question mark, Explanation of why Free trial need credit card
The UX Process : Iterate, Iterate, Iterate!!
Summary (생략)
Course Summary (생략)
Additional Tips and Resources
Phrases to live by - "Will this benefit the user?", "Let's ask our users"
Make friends with people on UX team OR become the UX team-of-one
Modify the process to work for your situation
Resource
Creating User Experiences: Fundamental Design Principles - Billy Hollis, Pluralsight
Hacking the User Experience / UX for Developers - Keith Harvey, Pluralsight
User Experience Tips and Tricks for Developers - Amber Israelsen, Pluralsight
출처
이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 5~10챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(UX Basic) Roles in User Experience (0) | 2017.12.28 |
---|---|
(UX Basic) UX Core Concepts and Terminology (0) | 2017.12.28 |
(Design Basic) The Fundamental Gestalt Principles - Understanding Perception (0) | 2017.12.25 |
(Design Basic) Color (0) | 2017.12.25 |
(Design Basic) Typography (0) | 2017.12.25 |
Copyright
이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 강의 원작자분께 게시허가도 받았습니다.
Content
1. UX Core Concepts and Terminology
Common Roles in UX
User Researcher : Champion for the user
Responsibilities
Conduct user interviews, Research market data, Gather findings, Design studies, Conduct usability and A/B testing
Deliverables
User personas, Usability test result, Investigative user studies, Interview results
Tools
Microphones, Cameras, Documents, Paper
"Based on our research, a typical user will...."
Information Architect : The navigator and organizer
Responsibilities
Conduct a content inventory, Card sorting, Create navigation and hierarchy(including labels), Data modeling, Create a sitemap
Deliverables
Content inventory, Card sorting results, Wireframes, Labeling system, Sitemap
Tools
Paper/whiteboard, Omnigraffle, Axure, MindManager, XMind, Treejack, OptimalSort
"Our content should be organized in a way that helps the user to..."
Interaction Designer : The animator
Responsibilities
Create storyboards, Create wireframes and prototypes of key interactions
Deliverables
Wireframes, Prototypes
Tools
Paper/whiteboard, Balsamiq, InVision, Omnigraffle, Patternry, Sketch, Axure, UXPin
"The Button should change to dart gray for 500 milliseconds when the user clicks it..."
Visual/Graphic Designer : Pixel pusher
Responsibilities
Create icons, controls and visual elements for UI, Utilize different kinds of typography, Create and apply styles, Create and enforce brand principles
Deliverables
Mockups, Style guide, Graphic files(PNGs, JPGs, etc)
Tools
Front/Back-End Developer : Coder
Responsibilities
Write code to turn the graphic designer's static design into a working, interactive experience
Deliverables
Working, functional code (e.g., web pages)
Tools
HTML, CSS, JavaScript
Project Manager : Holds it all together
Responsibilities
Oversee team and project from start to finish, Communicate with business stakeholders, Translate between business and UX team, Manage resources, budget and risks
Deliverables
Final product, Project plan, Status updates, Various
Tools
"That new feature will extend the delivery deadline by two weeks..."
Summary (생략)
출처
이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(UX Basic) The UX Process (0) | 2017.12.29 |
---|---|
(UX Basic) UX Core Concepts and Terminology (0) | 2017.12.28 |
(Design Basic) The Fundamental Gestalt Principles - Understanding Perception (0) | 2017.12.25 |
(Design Basic) Color (0) | 2017.12.25 |
(Design Basic) Typography (0) | 2017.12.25 |
Copyright
이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 강의 원작자분께 게시허가도 받았습니다.
Content
1. UX Core Concepts and Terminology
Outline
User Experience
The UX Umbrella
Useful
Usable
User interface
Graphic/visual design
User research
Human-computer interaction(HCI)
Interaction design
Content strategy
Information architecture
Usability testing
User Experience
Encompasses all aspects of the end user's interaction with the company, its services, and its products
UX는 기술, 디자인, 사업모델 모두에 포함되는 영역이다.
The UX Umbrella
Visual Design
Information Architecture
Interaction Design
Usability
User Research
Content Strategy
So What Makes a Great User Experience?
Value (Is it useful?)
Usability (Is it easy to use?)
Adoptability (Is is easy to start using?)
Desirability (Is it fun and engaging?)
Useful : A useful feature or tool allows users to "do things"; it fulfills a need.
Usable : A measure of how easy or hard it is to do something.
User Interface(UI)
The means by which a user and computer system interact, in particular the use of input devices and software.
Pages, menus, images, icons, buttons, mouse, touch screen etc
Visual/Graphic Design
Focuses on the aesthetics of a site and its related materials by strategically implementing images, colors, fonts, and other elements.
User Research
Focuses on understanding user behaviors, needs, and motivations through observation techniques, task analysis, and other feedback methodologies.
Human-Computer Interaction (HCI)
The study of how people interact with computers and to what extent computers are or are not developed for successful interaction with human beings.
Interaction Design
The practice of designing interactive digital products, environments, systems, and services; behavior is the primary focus.
Interaction with the Interface
What can a user do to interact with the interface (e.g., mouse, finger, stylus)?
What commands con the user issue (e.g., keyboard shortcuts)?
Behavior Clues
How does the appearance change to give the user a clue about its behavior (e.g., color, shape, size)?
How do you let users know something is about to happen (e.g., labels, instructions)?
Error Messages
How do you prevent errors? (e.g., gray out a button)
Is an error happens, how does the user know what happened and how to recover?
System Feedback
What sort of feedback should the user get when they take some action (e.g., confirmation message)?
How fast should the feedback be?
Content Strategy
The planning, development, and management of content - written or in other media.
Information Architecture
The structural design of shared information environments; the art and science of organizing and labeling websites, intranets, online communities and software to support usability and findability.
Card Sorting
1. Gather all information as a card
2. Categorize
3. Confirm Labels
Usability Testing
A technique used in user-centered interaction design to evaluate a product by testing it on users.
Summary (생략)
출처
이 모든 내용은 Pluralsight에 Amber Israelsen가 올린 'User Experience: The Big Picture'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/ux-big-picture/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(UX Basic) The UX Process (0) | 2017.12.29 |
---|---|
(UX Basic) Roles in User Experience (0) | 2017.12.28 |
(Design Basic) The Fundamental Gestalt Principles - Understanding Perception (0) | 2017.12.25 |
(Design Basic) Color (0) | 2017.12.25 |
(Design Basic) Typography (0) | 2017.12.25 |
Copyright
이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents).
줄로 잇거나 박스로 묶으면 연관되어보인다. (그 전에는 Similarity로 인해 네모와 세모가 더 연관되어 보였다.)
Summary (생략)
출처
이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 네번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(UX Basic) The UX Process (0) | 2017.12.29 |
---|---|
(UX Basic) Roles in User Experience (0) | 2017.12.28 |
(UX Basic) UX Core Concepts and Terminology (0) | 2017.12.28 |
(Design Basic) Color (0) | 2017.12.25 |
(Design Basic) Typography (0) | 2017.12.25 |
Copyright
이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents).
Content
1. Typography
2. Color
3. The Fundamental Gestalt Principles
4. Layout and Organization Principles
Outline
Basic science
Color models
Meaning of colors
Color schemes
Inspiration
The Science of Light, Sight, and Color
The Electromagnetic Spectrum is a range that contains all the frequencies of electromagnetic radiation.
These frequencies ranges
Radio - Microwave - Infrared - Visible Light - Ultraviolet - X-ray - Gamma ray
(long wavelength radiation) (high frequency, short wavelength radiation)
Human Sight is a combination of the eye and brain working together. Electromagnetic radiation some of which is in the visible spectrum enters the eye. Within the eye there are different types of receptor cells each of which responds to different parts of the visible spectrum(Roughly these correspond to red, green, and blue light). The eye sends information to the brain that processes this information and results in the perception of color. Strictly speaking the visible spectrum of electromagnetic radiation doesn't contain colors. Color is our perception of those wavelengths. We perceive colors differently but we share the same basic mapping model.
Two systems of color
1. Subtractive color : Start with white light then subtract colors from it to give us the final color
eg. black text on a page reflects nothing from sunlight, it subtracts all the colors
2. Additive color : Start with black and adds different wavelengths of light to it to create colors
eg. The screen is in use each pixel emits light in different combinations of red, green, and blue
Color Models
Color models are ways of representing colors based on numeric values.
The RGB color model represents a given color using three values(Red, Green, Blue)
eg. 255, 255, 0 == Yellow, 0, 0, 0 == Black, 255, 255, 255 == Wight
The CMYK model is a subtractive color model used for color printing.
The four components are Cyan, Magenta, Yellow and the K(effectively means Black)
eg. Red=(Cyan 0,Magenta 100,Yellow 100,K 0), Blue=(100,100,0,0), Yellow=(0,0,100,0), Black=(0,0,0,100), White=(0,0,0,0)
Color and Meaning (Western point of view)
Red : a highly sensual color, tempting and suggestive, danger of blood. It attracts attention more than any other color
The family of reds includes both pale and bright pinks, the red of house bricks and deep reds
Brightest form red represent passionate, hot, sexy, exciting, strong, seductive, aggressive and dangerous
Green : color of nature, relaxing and calming
The green include the citrusy limes, the military olives, the protective turquoise, the sophisticated table
Harmonious, natural, fresh, lush, agreeable, relaxing, calming
Blue : color of quiet coolness, stillness, tranquility, constancy, sadness, loyalty and dependability
The blues include the electrical bright blues, serious strong deep dart blue
The lighter and sky blues are spacious, peaceful, open, cool, pure, clean, faithful
Orange : enthusiasm and energy, sunset and fire, food and appetites, sharpen mental activity
The oranges include the soft and intimate peaches, spicy fiery gingers
Its brighter more vibrant forms are energizing, dynamic, stimulating, juicy, fun, hot, happy, playful
Purple : mysterious and magical. Purple is a combination of reds and blues but it's more than the sum of its parts
it's a relatively rare color in nature
The Purple include the romantic and calming lavenders, royal opulent deep, deep purples
Spiritual, cerebral, mysterious, meditative, transcendental
Yellow : the color of light, friendly and enlightening
The yellow include the mellow ambers, golden yellows
The brighter yellows are hot, joyous, energetic, extroverted, youthful, vibrant, hopeful
Brown : wholesome and rustic, working the land ,nature past times(hiking and camping), appetite(coffees, chocolate, cigar)
The Browns include the tans, chocolate browns
Balanced, homely, secure, enduring, natural, solid
Black and White : true polar opposites, night and day, fianl simple truth, the simplicity, timeless combination
White is pure, simple, innocent, clean, untouched
Black is strong, sober, heavy, sophisticated, and classy
Cultural Color Differences
eg Red
USA : heat, passion
Mexico, Africa : death
Argentina : craftsmanship
Netherlands : nature
Armenia : communism
China : luck
Thailand : Buddhism
Green : Universally accepted as nature
Color Schemes
Monochromatic scheme : Uses different shades of the same color
Balanced and appealing, but not much color contrast
Analogous scheme : Uses colors that are close to each other on the color wheel
In the Analogous scheme usually stick to all cool or all warm colors
Complementary scheme : provides maximum contrast
In this scheme we can use the main color as the dominant color and its complimentary color for accents
Hard to balance but maximum attention
Triadic scheme : three colors equally spaced around the color wheel
Good color contrast and some harmonry
#색을 옅게해서 contrast를 줄일 수 있다.
Taking Inspiration form the Real World
Summary (생략)
출처
이 모든 내용은 Pluralsight에 Jason Roberts가 올린 'An Introduction to Design'라는 강의의 세번째 챕터를 듣고 정리한 것입니다(https://app.pluralsight.com/library/courses/design-introduction/table-of-contents). 제가 정리한 것보다 더 많은 내용과 Demo를 포함하고 있으며 최종 Summary는 생략하겠습니다. Microsoft 지원을 통해 한달간 무료로 Pluralsight의 강의를 들으실 수도 있습니다.
(UX Basic) The UX Process (0) | 2017.12.29 |
---|---|
(UX Basic) Roles in User Experience (0) | 2017.12.28 |
(UX Basic) UX Core Concepts and Terminology (0) | 2017.12.28 |
(Design Basic) The Fundamental Gestalt Principles - Understanding Perception (0) | 2017.12.25 |
(Design Basic) Typography (0) | 2017.12.25 |