SlideShare a Scribd company logo
Languages, Office 365,
and PointFire 365
MARTIN LAPLANTE
CEO, ICEFIRE STUDIOS, CANADA
SUMMARY
• Historical background
• Language & MUI in SharePoint 2016 & O365
• User Language Settings
• PointFire on-prem and PointFire 365
• Brief Demo
• Machine Translation & other topics if time allows
Tower of Babel: Quick Recap
• After the great flood destroyed everything, God put a rainbow in the cloud.
• It was the promise of a new relationship.
• Cloud: scary→ reassuring.
• Noah’s descendants wanted to build a tower that would reach the cloud.
Genesis 11
A tower, whose top may reach unto heaven
• Because humans are one people with one language, anything that they want to do is
possible.
• But God decided to go down there and confound their language, so they can’t collaborate.
• God scattered them by language upon the face of all the earth.
• The project to reach the cloud was abandoned.
2016/O365 and Languages
• Variations
• Managed Metadata
• MUI (Multilingual User Interface)
• Machine Translation
Change Default Language
of an O365 Site Collection?
• MSFT support:
• “If the requirement is strong for your organization, from our back end, we can help change it. However,
we need to delete all site collections and re-create them, which also means all data will be deleted.”
• For My Site, this will also delete every user’s OneDrive for Business documents.
• Ouch! Easier to segregate users by language?
• Your choice: great flood that destroys all, or scatter your users upon the face of all the earth?
• Or you can use PointFire
USER LANGUAGE SETTINGS
What Sets User MUI Language?
• 2007: Site’s base language only, no alternate languages
• 2010: Menu toggle sets cookie
• 2013: Browser or user profile.
• O365: It’s complicated
7+ Language Settings
Base language Alt languages
Browser
language
ranked
list
Profile
language
list
Base language Alt languages
O365 Account
language
SP site settings
Browser settings
Add-in site settings
O365 Account
My Profile
O365 Profile
Which one?
First one on the list
that matches base or
alt language.
Mapping: regional
variants
Ignore browser if
this list overlaps
site languages
On change,
changes profile
setting
Make them match ↑
Delay in Profile Change
Changes Propagate
at Different Rates
English → Spanish → German
OneDrive UI Language Behaves Like
SharePoint
The Instant Toggle Trick
1. Account setting that has no overlap with base + alt languages
2. Profile setting blank, or no overlap with base + alt languages
3. Go home, come back tomorrow
4. Now change browser settings
• Effect is instantaneous, but training needed
PointFire On Premise
• For SharePoint 2007, 2010, 2013, 2016
• Ensures that 2 different users going to the same URL will each see it be entirely in
their own language
• Does not segregate users and content on separate sites
• Solution includes feature, http module, web parts
• Runs on the server, interacts with SharePoint and IIS
• Modifies and filters text on the server
• None of those techniques work in Office 365
PointFire 365 v 1.1 functionality
• SharePoint-hosted app
• None of your content goes to our server
• Configures SharePoint MUI & localization
• Shows/hides web parts according to language
• Filters content of lists, libraries, calendars according to language
• User can turn off filtering
• Filters other web parts including search
• Redirects pages according to language
• “Manage Variations” interface to set relationship between pages, items
DEMO
PF 365 version 2 functionality
• Language toggle
• Slow but steady
• Change date, number, currency formatting with language
• Machine Translation of items & documents
• Translate UI customizations using combination of user-defined translations list and machine
translation
• Better support of Modern Libraries
• More admin & provisioning features
MACHINE TRANSLATION
French says: “Buff the sausage”
SharePoint’s
Machine Translation Service
• SharePoint Service Application
• Connects to Microsoft Translator
• Similar back end to Bing translation engine
• Custom version for SharePoint users
• Statistical engine, now with deep learning
• On-premise – you can set it up to train with your own documents
• Used in Variations
• Used in Managed Metadata
• Available through API
Machine Translation
Has Some Risks
Machine Translation Service
is Sometimes Unavailable
Check Translations with Context
• ¡Oye! ¿Cómo se escribe “papa” en Inglés?
• “Potato”.
• Gracias.
Machine Translation:
Write for Translation
• Microsoft Global English experiment
• Microsoft Manual of Style
• Global English Syntax
• Use short sentences
• Avoid sentence fragments
• Use optional pronouns – that, who
• Use optional articles – the
• Use optional punctuation
• Keep adjectives & adverbs close,
watch “only”
• Machine Translation Syntax
• But not too short
• Present participle vs. gerunds
• Past participles vs adjectives
• Limit coordinate conjunctions – and, or, but
• Capitalize correctly
Localizing Add-ins
• Localization vs. Globalization
• Site Language vs. User Language
• At time of creating add-in site, template elements set according to site or user
language
• Stays in that language even when user selects alternative language
• At run-time, change the display using JS file selected according to user UI
language
Globalize Add-ins
• SharePoint-hosted or injected branding JS files
• Language-specific “Resources.nn-NN.js” file solutions
• Remote components: Request.QueryString["SPLanguage"]
• Add-in domain has no easy access to user language in host domain (JS XSS security)
• However, if alternate languages match, then user language matches
• Note: add-in domain may not have same alternate languages activated
• {add-in web name} /_layouts/15/muisetng.aspx
JS for Globalization
Based on User Language
<script type="text/javascript" src="../scripts/Resources.<SharePoint:EncodedLiteral runat='server'
text='<%$Resources:wss,language_value%>' EncodeMethod='HtmlEncode' />.js"></script>
• Load language-specific JS file Resources.nn-NN.js
• This JS file should contain localized string values
• Replace strings using JS
<h2 id="heading">Bookshop</h2>
<script type="text/javascript"> window.onload = function () {
document.getElementById("heading").innerText = localizedheading;
}
</script>
var localizedheading = "Librería";
Localized PnP Provisioning
<pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2015/12/ProvisioningSchema">
<pnp:Preferences Generator="OfficeDevPnP.Core, Version=2.0.1601.0, Culture=neutral, PublicKeyToken=null" />
<pnp:Localizations>
<pnp:Localization LCID="1033" Name="English" ResourceFile="SiteTemplate-en.resx"/>
<pnp:Localization LCID="1043" Name="Dutch" ResourceFile="SiteTemplate-nl.resx"/>
</pnp:Localizations>
• PnP Localization using .resx & tokens, based on Site Language
<pnp:Templates ID="CONTAINER-TEMPLATE-8C075A44E60F4E82B8F013637DB1E654">
<pnp:ProvisioningTemplate ID="TEMPLATE-8C075A44E60F4E82B8F013637DB1E654" Version="1">
<pnp:Lists>
<pnp:ListInstance Title="{resource:myListTitle}" Description="{resource:myListDesc}" DocumentTemplate="" OnQuickLaunch="true"
TemplateType="105" Url="Lists/my" MinorVersionLimit="0" MaxVersionLimit="0" DraftVersionVisibility="0" TemplateFeatureID="00bfea71-7e6d-
4186-9ba8-c047ac750105" EnableFolderCreation="false">
• Token identifiers, all equivalent:
{localization:<key>} , {localize:<key>} , {loc:<key>} , {resource:<key>}, {res:<key>}.
More questions?
Martin.Laplante@icefire.ca
Thank You For Coming To aOS

More Related Content

Viewers also liked

LCDS Community Partnership 2017-18
LCDS Community Partnership 2017-18LCDS Community Partnership 2017-18
LCDS Community Partnership 2017-18
Aileen Hawkins
 
Visually Stunning Content Marketing Strategies
Visually Stunning Content Marketing StrategiesVisually Stunning Content Marketing Strategies
Visually Stunning Content Marketing Strategies
Michael Hurley
 
Integrated Treatment for ARLD: making it happen, 2nd February 2017 Presentat...
Integrated Treatment for ARLD:  making it happen, 2nd February 2017 Presentat...Integrated Treatment for ARLD:  making it happen, 2nd February 2017 Presentat...
Integrated Treatment for ARLD: making it happen, 2nd February 2017 Presentat...
Health Innovation Wessex
 
Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...
Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...
Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...
Health Innovation Wessex
 
Smartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT NewsSmartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT News
Krishna Arani
 
Perfil administrativo
Perfil administrativoPerfil administrativo
Perfil administrativo
Pablo Sg25
 
Geohydrology ii (2)
Geohydrology ii (2)Geohydrology ii (2)
Geohydrology ii (2)
Amro Elfeki
 
Mf0015 international financial management
Mf0015 international financial managementMf0015 international financial management
Mf0015 international financial management
consult4solutions
 
Pitch 2016
Pitch 2016Pitch 2016
Pitch 2016
Larry Nelson
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
seleneuni
 
Student 26 Revised Assign.1
Student 26 Revised Assign.1 Student 26 Revised Assign.1
Student 26 Revised Assign.1
Aaron Helton
 
20161212-PLEDGE-Milowski-CT
20161212-PLEDGE-Milowski-CT20161212-PLEDGE-Milowski-CT
20161212-PLEDGE-Milowski-CT
Chris Milowski
 
Development+of+South+Korea+-+Final+Paper-+Wynn (2)
Development+of+South+Korea+-+Final+Paper-+Wynn (2)Development+of+South+Korea+-+Final+Paper-+Wynn (2)
Development+of+South+Korea+-+Final+Paper-+Wynn (2)
Wynn Wang, MA
 
Ellis Course Work
Ellis Course Work Ellis Course Work
Ellis Course Work
blundenellis
 
Estadística descriptiva continuación
Estadística descriptiva continuaciónEstadística descriptiva continuación
Estadística descriptiva continuación
Esther Acosta
 
Big data
Big dataBig data
Big data
Mahmudul Alam
 
Pm0012 project finance and budgeting
Pm0012 project finance and budgetingPm0012 project finance and budgeting
Pm0012 project finance and budgeting
consult4solutions
 

Viewers also liked (17)

LCDS Community Partnership 2017-18
LCDS Community Partnership 2017-18LCDS Community Partnership 2017-18
LCDS Community Partnership 2017-18
 
Visually Stunning Content Marketing Strategies
Visually Stunning Content Marketing StrategiesVisually Stunning Content Marketing Strategies
Visually Stunning Content Marketing Strategies
 
Integrated Treatment for ARLD: making it happen, 2nd February 2017 Presentat...
Integrated Treatment for ARLD:  making it happen, 2nd February 2017 Presentat...Integrated Treatment for ARLD:  making it happen, 2nd February 2017 Presentat...
Integrated Treatment for ARLD: making it happen, 2nd February 2017 Presentat...
 
Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...
Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...
Integrated Treatment for ARLD: Making it happen, 2 February 2017 Presentation...
 
Smartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT NewsSmartly Secure, Securely Smart _ Enterprise IT News
Smartly Secure, Securely Smart _ Enterprise IT News
 
Perfil administrativo
Perfil administrativoPerfil administrativo
Perfil administrativo
 
Geohydrology ii (2)
Geohydrology ii (2)Geohydrology ii (2)
Geohydrology ii (2)
 
Mf0015 international financial management
Mf0015 international financial managementMf0015 international financial management
Mf0015 international financial management
 
Pitch 2016
Pitch 2016Pitch 2016
Pitch 2016
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
Student 26 Revised Assign.1
Student 26 Revised Assign.1 Student 26 Revised Assign.1
Student 26 Revised Assign.1
 
20161212-PLEDGE-Milowski-CT
20161212-PLEDGE-Milowski-CT20161212-PLEDGE-Milowski-CT
20161212-PLEDGE-Milowski-CT
 
Development+of+South+Korea+-+Final+Paper-+Wynn (2)
Development+of+South+Korea+-+Final+Paper-+Wynn (2)Development+of+South+Korea+-+Final+Paper-+Wynn (2)
Development+of+South+Korea+-+Final+Paper-+Wynn (2)
 
Ellis Course Work
Ellis Course Work Ellis Course Work
Ellis Course Work
 
Estadística descriptiva continuación
Estadística descriptiva continuaciónEstadística descriptiva continuación
Estadística descriptiva continuación
 
Big data
Big dataBig data
Big data
 
Pm0012 project finance and budgeting
Pm0012 project finance and budgetingPm0012 project finance and budgeting
Pm0012 project finance and budgeting
 

Similar to IceFire Presentation for Aos Canada tour

Team Me Up Scotty SPSOslo w.Extending
Team Me Up Scotty SPSOslo w.ExtendingTeam Me Up Scotty SPSOslo w.Extending
Team Me Up Scotty SPSOslo w.Extending
Thorbjørn Værp
 
Fhic
FhicFhic
Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!
Smartling
 
Brighton SEO - The Impact of Translation on SEO
Brighton SEO - The Impact of Translation on SEOBrighton SEO - The Impact of Translation on SEO
Brighton SEO - The Impact of Translation on SEO
Valentine Lacour
 
Introduction to SharePoint as a development platform
Introduction to SharePoint as a development platformIntroduction to SharePoint as a development platform
Introduction to SharePoint as a development platform
Ronald Courville
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
Eugenio Minardi
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
guest3a6661
 
Intro to MUI and variations in SharePoint 2010
Intro to MUI and variations in SharePoint 2010Intro to MUI and variations in SharePoint 2010
Intro to MUI and variations in SharePoint 2010
Joris Poelmans
 
Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15
Eric Foertsch
 
LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...
LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...
LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...
Jack Molisani
 
The ultimate list of website translation tools
The ultimate list of website translation toolsThe ultimate list of website translation tools
The ultimate list of website translation tools
Bablic Ltd
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
Marko Heijnen
 
Simplicity of managing multilingual websites
Simplicity of managing multilingual websitesSimplicity of managing multilingual websites
Simplicity of managing multilingual websites
Alex Kempkens
 
Philly Tech Fest Exchange Server 2008 High Availability
Philly Tech Fest Exchange Server 2008 High AvailabilityPhilly Tech Fest Exchange Server 2008 High Availability
Philly Tech Fest Exchange Server 2008 High Availability
Springhouse Education and Consulting Services
 
Multilingual WordPress With Polylang
Multilingual WordPress With PolylangMultilingual WordPress With Polylang
Multilingual WordPress With Polylang
Teemu Suoranta
 
Rebooting design in RavenDB
Rebooting design in RavenDBRebooting design in RavenDB
Rebooting design in RavenDB
Oren Eini
 
AIM | HDC 2016 Globalization As a Service
AIM | HDC 2016 Globalization As a ServiceAIM | HDC 2016 Globalization As a Service
AIM | HDC 2016 Globalization As a Service
Ramzi Yassine
 
Language Translator using python and google API
Language Translator using python and google APILanguage Translator using python and google API
Language Translator using python and google API
SubhrajitRout6
 
Mobile app development
Mobile app development  Mobile app development
Mobile app development
Luke Summerfield
 
AAK_Resume
AAK_ResumeAAK_Resume
AAK_Resume
Ashraf Khan
 

Similar to IceFire Presentation for Aos Canada tour (20)

Team Me Up Scotty SPSOslo w.Extending
Team Me Up Scotty SPSOslo w.ExtendingTeam Me Up Scotty SPSOslo w.Extending
Team Me Up Scotty SPSOslo w.Extending
 
Fhic
FhicFhic
Fhic
 
Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!Internationalizing your website? There's an app for that!
Internationalizing your website? There's an app for that!
 
Brighton SEO - The Impact of Translation on SEO
Brighton SEO - The Impact of Translation on SEOBrighton SEO - The Impact of Translation on SEO
Brighton SEO - The Impact of Translation on SEO
 
Introduction to SharePoint as a development platform
Introduction to SharePoint as a development platformIntroduction to SharePoint as a development platform
Introduction to SharePoint as a development platform
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
 
Barcelona Multilanguage
Barcelona MultilanguageBarcelona Multilanguage
Barcelona Multilanguage
 
Intro to MUI and variations in SharePoint 2010
Intro to MUI and variations in SharePoint 2010Intro to MUI and variations in SharePoint 2010
Intro to MUI and variations in SharePoint 2010
 
Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15Resume - ERF - 2015-12-15
Resume - ERF - 2015-12-15
 
LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...
LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...
LavaCon 2017 - Agile Localization: Building Bridges Between Translation Quali...
 
The ultimate list of website translation tools
The ultimate list of website translation toolsThe ultimate list of website translation tools
The ultimate list of website translation tools
 
Let's create a multilingual site in WordPress
Let's create a multilingual site in WordPressLet's create a multilingual site in WordPress
Let's create a multilingual site in WordPress
 
Simplicity of managing multilingual websites
Simplicity of managing multilingual websitesSimplicity of managing multilingual websites
Simplicity of managing multilingual websites
 
Philly Tech Fest Exchange Server 2008 High Availability
Philly Tech Fest Exchange Server 2008 High AvailabilityPhilly Tech Fest Exchange Server 2008 High Availability
Philly Tech Fest Exchange Server 2008 High Availability
 
Multilingual WordPress With Polylang
Multilingual WordPress With PolylangMultilingual WordPress With Polylang
Multilingual WordPress With Polylang
 
Rebooting design in RavenDB
Rebooting design in RavenDBRebooting design in RavenDB
Rebooting design in RavenDB
 
AIM | HDC 2016 Globalization As a Service
AIM | HDC 2016 Globalization As a ServiceAIM | HDC 2016 Globalization As a Service
AIM | HDC 2016 Globalization As a Service
 
Language Translator using python and google API
Language Translator using python and google APILanguage Translator using python and google API
Language Translator using python and google API
 
Mobile app development
Mobile app development  Mobile app development
Mobile app development
 
AAK_Resume
AAK_ResumeAAK_Resume
AAK_Resume
 

Recently uploaded

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 

Recently uploaded (20)

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 

IceFire Presentation for Aos Canada tour

  • 1. Languages, Office 365, and PointFire 365 MARTIN LAPLANTE CEO, ICEFIRE STUDIOS, CANADA
  • 2. SUMMARY • Historical background • Language & MUI in SharePoint 2016 & O365 • User Language Settings • PointFire on-prem and PointFire 365 • Brief Demo • Machine Translation & other topics if time allows
  • 3. Tower of Babel: Quick Recap • After the great flood destroyed everything, God put a rainbow in the cloud. • It was the promise of a new relationship. • Cloud: scary→ reassuring. • Noah’s descendants wanted to build a tower that would reach the cloud.
  • 4. Genesis 11 A tower, whose top may reach unto heaven • Because humans are one people with one language, anything that they want to do is possible. • But God decided to go down there and confound their language, so they can’t collaborate. • God scattered them by language upon the face of all the earth. • The project to reach the cloud was abandoned.
  • 5.
  • 6. 2016/O365 and Languages • Variations • Managed Metadata • MUI (Multilingual User Interface) • Machine Translation
  • 7. Change Default Language of an O365 Site Collection? • MSFT support: • “If the requirement is strong for your organization, from our back end, we can help change it. However, we need to delete all site collections and re-create them, which also means all data will be deleted.” • For My Site, this will also delete every user’s OneDrive for Business documents. • Ouch! Easier to segregate users by language? • Your choice: great flood that destroys all, or scatter your users upon the face of all the earth? • Or you can use PointFire
  • 8. USER LANGUAGE SETTINGS What Sets User MUI Language? • 2007: Site’s base language only, no alternate languages • 2010: Menu toggle sets cookie • 2013: Browser or user profile. • O365: It’s complicated
  • 9. 7+ Language Settings Base language Alt languages Browser language ranked list Profile language list Base language Alt languages O365 Account language SP site settings Browser settings Add-in site settings O365 Account My Profile O365 Profile Which one? First one on the list that matches base or alt language. Mapping: regional variants Ignore browser if this list overlaps site languages On change, changes profile setting Make them match ↑
  • 11. Changes Propagate at Different Rates English → Spanish → German
  • 12. OneDrive UI Language Behaves Like SharePoint
  • 13. The Instant Toggle Trick 1. Account setting that has no overlap with base + alt languages 2. Profile setting blank, or no overlap with base + alt languages 3. Go home, come back tomorrow 4. Now change browser settings • Effect is instantaneous, but training needed
  • 14. PointFire On Premise • For SharePoint 2007, 2010, 2013, 2016 • Ensures that 2 different users going to the same URL will each see it be entirely in their own language • Does not segregate users and content on separate sites • Solution includes feature, http module, web parts • Runs on the server, interacts with SharePoint and IIS • Modifies and filters text on the server • None of those techniques work in Office 365
  • 15. PointFire 365 v 1.1 functionality • SharePoint-hosted app • None of your content goes to our server • Configures SharePoint MUI & localization • Shows/hides web parts according to language • Filters content of lists, libraries, calendars according to language • User can turn off filtering • Filters other web parts including search • Redirects pages according to language • “Manage Variations” interface to set relationship between pages, items
  • 16. DEMO
  • 17. PF 365 version 2 functionality • Language toggle • Slow but steady • Change date, number, currency formatting with language • Machine Translation of items & documents • Translate UI customizations using combination of user-defined translations list and machine translation • Better support of Modern Libraries • More admin & provisioning features
  • 18. MACHINE TRANSLATION French says: “Buff the sausage”
  • 19. SharePoint’s Machine Translation Service • SharePoint Service Application • Connects to Microsoft Translator • Similar back end to Bing translation engine • Custom version for SharePoint users • Statistical engine, now with deep learning • On-premise – you can set it up to train with your own documents • Used in Variations • Used in Managed Metadata • Available through API
  • 21. Machine Translation Service is Sometimes Unavailable
  • 22. Check Translations with Context • ¡Oye! ¿Cómo se escribe “papa” en Inglés? • “Potato”. • Gracias.
  • 23. Machine Translation: Write for Translation • Microsoft Global English experiment • Microsoft Manual of Style • Global English Syntax • Use short sentences • Avoid sentence fragments • Use optional pronouns – that, who • Use optional articles – the • Use optional punctuation • Keep adjectives & adverbs close, watch “only” • Machine Translation Syntax • But not too short • Present participle vs. gerunds • Past participles vs adjectives • Limit coordinate conjunctions – and, or, but • Capitalize correctly
  • 24. Localizing Add-ins • Localization vs. Globalization • Site Language vs. User Language • At time of creating add-in site, template elements set according to site or user language • Stays in that language even when user selects alternative language • At run-time, change the display using JS file selected according to user UI language
  • 25. Globalize Add-ins • SharePoint-hosted or injected branding JS files • Language-specific “Resources.nn-NN.js” file solutions • Remote components: Request.QueryString["SPLanguage"] • Add-in domain has no easy access to user language in host domain (JS XSS security) • However, if alternate languages match, then user language matches • Note: add-in domain may not have same alternate languages activated • {add-in web name} /_layouts/15/muisetng.aspx
  • 26. JS for Globalization Based on User Language <script type="text/javascript" src="../scripts/Resources.<SharePoint:EncodedLiteral runat='server' text='<%$Resources:wss,language_value%>' EncodeMethod='HtmlEncode' />.js"></script> • Load language-specific JS file Resources.nn-NN.js • This JS file should contain localized string values • Replace strings using JS <h2 id="heading">Bookshop</h2> <script type="text/javascript"> window.onload = function () { document.getElementById("heading").innerText = localizedheading; } </script> var localizedheading = "Librería";
  • 27. Localized PnP Provisioning <pnp:Provisioning xmlns:pnp="http://schemas.dev.office.com/PnP/2015/12/ProvisioningSchema"> <pnp:Preferences Generator="OfficeDevPnP.Core, Version=2.0.1601.0, Culture=neutral, PublicKeyToken=null" /> <pnp:Localizations> <pnp:Localization LCID="1033" Name="English" ResourceFile="SiteTemplate-en.resx"/> <pnp:Localization LCID="1043" Name="Dutch" ResourceFile="SiteTemplate-nl.resx"/> </pnp:Localizations> • PnP Localization using .resx & tokens, based on Site Language <pnp:Templates ID="CONTAINER-TEMPLATE-8C075A44E60F4E82B8F013637DB1E654"> <pnp:ProvisioningTemplate ID="TEMPLATE-8C075A44E60F4E82B8F013637DB1E654" Version="1"> <pnp:Lists> <pnp:ListInstance Title="{resource:myListTitle}" Description="{resource:myListDesc}" DocumentTemplate="" OnQuickLaunch="true" TemplateType="105" Url="Lists/my" MinorVersionLimit="0" MaxVersionLimit="0" DraftVersionVisibility="0" TemplateFeatureID="00bfea71-7e6d- 4186-9ba8-c047ac750105" EnableFolderCreation="false"> • Token identifiers, all equivalent: {localization:<key>} , {localize:<key>} , {loc:<key>} , {resource:<key>}, {res:<key>}.

Editor's Notes

  1. 4
  2. 23