/
Inmeta Crayon AS Resource management in WinRT Inmeta Crayon AS Resource management in WinRT

Inmeta Crayon AS Resource management in WinRT - PowerPoint Presentation

marina-yarberry
marina-yarberry . @marina-yarberry
Follow
353 views
Uploaded On 2018-11-22

Inmeta Crayon AS Resource management in WinRT - PPT Presentation

Jonny Bekkum NET Architect and Developer at Inmeta Core developer CSLANET NET Code Resx filetype Codegen Resourcesdesignercs Translation is convention based on filename ResourcesltcultureNamegtresx for translated resources ID: 732865

net resources winrt resource resources net resource winrt scale pri files image file xaml code test var resx windows

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Inmeta Crayon AS Resource management in ..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Inmeta Crayon AS

Resource management in WinRT

Jonny Bekkum

.NET Architect and Developer at Inmeta

Core developer CSLA.NETSlide2

.NET Code

Resx – filetype

Codegen Resources.designer.cs

Translation is convention based on filename, Resources.<cultureName>.resx for translated resourcesDefault resource file in project properties. Slide3

.NET Deployment

Default resources.resx

embedded in assembly.

Translated resources compiled into satellite assemblies <cultureName>\<assembly>.resources.dllSlide4

.NET

DEMOSlide5

WinRT Code

New filetype

.resw (same XML specification as resx)

No codegen, no default resource fileConvention based on file structure and files must

have

identical filename

. Slide6

WinRT Compile

Resw files is compiled into pri files by makepri.exe

R

esources per project is compiled into <AssemblyName>.priSlide7

WinRT Deploy

Application

ALL language resources for

application and libraries is merged into a common tree (ResourceMap) and placed in

resources.pri

Resouces.pri must be deployed with your applicationSlide8

Package Resource

Index (.pri)

The PRI contains actual string resources, and an indexed set of file paths that refer to the files in the package.

Packages typically contain a single PRI file named resources.pri.

PRI files are data-only and are not of the PE format. They are specifically designed to be data-only as the resource format for Windows. They replace resources contained within DLLs in the Win32 app model

.

Use makepri.exe /dump to see the content of the .

pri

file.Slide9

Load resources by ResourceLoader

Application

var rl = new ResourceLoader

(); // default is “Resources”

var stringVal = rl.GetString(<resourceName

>);

In an assembly

var

rl

= new

ResourceLoader

("<

AssemblyName

>/Resources

");

var stringVal = rl.GetString(<resourceName>);

In a custom resource tree

var

rl

= new

ResourceLoader

("<

AssemblyName

>//<

Custom>");

var stringVal = rl.GetString(<resourceName>);Slide10

Load

resources

by

ResourceManagerWindows.ApplicationModel.Resources.Core.ResourceManagerRequires more knowledge of the ResourceMap

Can retrive other types than string (=> StorageFile)

Can enumerate through/inspect

all possible values Slide11

WinRT - resources

DEMOSlide12

Image localization in Xaml

If you are referencing the image from XAML, localizing an image is as simple as creating folders for the locals you need to support and put localized versions of the image file into the local

folder

And referencing the image in XAML is the normal relative URL without the

culture

code as shown in the following

example.Slide13

Image localization in code

Using a relative URI to reference package content is not permitted in Metro XAML apps

.

Instead you have to use an absolute URI using the ms-appx scheme.Slide14

Contrast and scale conventions

High Contrast :

contrast-black

contrast-white

Pixel

Density:

scale-80 (start

screen only

)

scale-100

(normal

DPI, no scaling)

scale-140 (

1920*1080, minimum DPI 174)

scale-180 (

2560*1440, minimum DPI 240)Slide15

Image scaling conventions

Use scalable vector

graphics

- SVGOr use resource loading for bitmap images:

Option

#1 - File naming convention:

\

test.scale-100.jpg

\

test.scale-140.jpg

\

test.scale-180.jpg

Option

#2 - Folder naming convention:

\

scale-100\test.jpg

\

scale-140\test.jpg

\

scale-180\test.jpg Slide16

WinRT – image localization

DEMOSlide17

.NET and WinRT side by side

So you have business / framework code in NET that you want to share into WinRT projects?

Code can be linked into other project

Then there’s the case of resource stringsCopy .resx files to new folder structure and name .resw

Create your own Resources.Designer.cs so you can use resource strings as in .NET.

Use ResEx to update your resource files.

Only one master set of resx – filesSlide18

NET and winRT

Makepri.exe has better checks than .NET compiler

Allowed languages (not supprort for legacy languages)

Invalid language name causes duplicate name causes errorsResources in localized languages only causes warningsStart wth default language and add languages one by one. Slide19

Net and WinRT

DEMOSlide20

Summary

Understand resources and assets is handled in WinRT

Understand how to localize and style your Windows Store App

Understand ResourceMAP and PRI files.Share code between .NET and WinRT.Slide21

Resources

MSDN

Guidelines

for scaling to pixel density

Resource Management System

Choosing your languages

Windows 8 Recipes

Building Global Windows 8 Metro XAML Apps Part

1

Building Global Windows 8 Metro XAML Apps Part 2

Building Global Windows 8 Metro XAML Apps Part 3Slide22

Resources

ResEx

-

the composite, translation friendly .NET Resource editor.ILSpy - the open-source .NET assembly browser and

decompiler

.Slide23

Thank you

Mail:

jonny.bekkum@gmail.com

Blog: http://jonnybekkum.wordpress.com