Custom Terms and Localization: Difference between revisions

From UmsWiki
Jump to navigation Jump to search
Kpe (talk | contribs)
Samplefile update
Line 1: Line 1:
Custom Terms and Localization is the first step in allowing you to alter the text that is displayed anywhere in the app.
Custom Terms and Localization is the first step in allowing you to alter the text that is displayed anywhere in the app.


== Prerequisites ==
==Prerequisites==
* UMS Web
* Basic understanding of [https://www.w3schools.com/xml/xml_whatis.asp XML]


== Getting started ==
*UMS Web
*Basic understanding of [https://www.w3schools.com/xml/xml_whatis.asp XML]
 
==Getting started==
You must create a file for each language you want to create your own translations for.
You must create a file for each language you want to create your own translations for.


Line 19: Line 20:


Supported cultures are
Supported cultures are
* 'da-DK' (Danish)
* 'en-US' (English)
* 'nb' (Norwegian)


* 'fo-FO' (Faroese)
*'da-DK' (Danish)
*'en-US' (English)
*'nb' (Norwegian)
 
*'fo-FO' (Faroese)


The root element must contain an 'entry' element for each translated key you want to override. The key attribute must match the key used in UMS App.
The root element must contain an 'entry' element for each translated key you want to override. The key attribute must match the key used in UMS App.
Line 29: Line 31:
Inside this element you can write your desired text. Note that this text will have all leading and trailing whitespaces removed.
Inside this element you can write your desired text. Note that this text will have all leading and trailing whitespaces removed.


=== Sample file ===
===Sample file===
<code><nowiki><div style="text-align: right; direction: ltr; margin-left: 1em;"></nowiki></code>
 
<code><root culture="en-US"></code>
 
<code><!-- Student to pupil replace --></code>
 
<code><entry key="StudentCardViewModelEmptyStateMessage">Couldn't find your Pupil ID. If the problem persists, contact your IT department</entry></code>
 
<code><entry key="StudentCardViewModelTitle">Pupil ID</entry></code>
 
<code><entry key="StudentNumberHeader">Pupil number</entry></code>
 
<code><entry key="StudentIdHeader">Pupil ID</entry></code>
 
<code><entry key="MenuStudentCard">Pupil ID</entry></code>
 
<code><entry key="AddNoteTapPersonTip">Tap on a Pupil to add a note to them.</entry></code>
 
<code><entry key="InvalidSelectedBarcodeFormat">The Pupil ID number cannot be displayed in the selected format. Use a different bar code format</entry></code>
 
<code><entry key="InvalidDefaultBarcodeFormat">This Pupil ID number cannot be displayed in the default barcode format. Contact your school</entry></code>
 
<code><entry key="SmsSendSelectedStudentsMessage">You have selected {count, plural, =1 {1 pupil} other {# pupils} }</entry></code>
 
<code><entry key="IncludeFutureStudents">Include future pupils</entry></code>
 
<code><entry key="SmsSendAsSms">Will be sent as text to {pupils, plural, =1 {1 pupil} other {# pupils} }.</entry></code>
 
<code><entry key="SmsSendAsMail">Will be sent as e-mail to {pupils, plural, =1 {1 pupil} other {# pupils} }.</entry></code>
 
<code><entry key="SmsCannotSend">Cannot be sent to {pupils, plural, =1 {1 pupil} other {# pupils} }.</entry></code>
 
<code><entry key="AbsenceRegistrationHowToMark">How do you want to mark pupils?</entry></code>
 
<code><entry key="TimeDetailNoteStudent">pupil: {0}</entry></code>
 
<code><!-- Homework to Betterments replace --></code>
 
<code><entry key="HomeworkUpdateViewModelEmptyStateMessage">Couldn't find your betterments</entry></code>
 
<code><entry key="HomeworkViewModelEmptyStateMessage">Couldn't find your betterments</entry></code>
 
<code><entry key="HomeworkUpdateViewModelTitle">Betterments</entry></code>
 
<code><entry key="HomeworkViewModelTitle">Betterments</entry></code>
 
<code><entry key="MenuHomework">Betterments</entry></code>
 
<code><entry key="HomeworkItemViewModelTitle">Betterments</entry></code>
 
<code><entry key="HomeworkItemViewModelEmptyStateMessage">Couldn't find your Betterments</entry></code>
 
<code></root></code>
 
<code><nowiki></div></nowiki></code>
 
 
  <root culture="da-DK">
  <root culture="da-DK">
     <entry key="StudentNumberHeader">Studie nummer</entry>
     <entry key="StudentNumberHeader">Studie nummer</entry>
Line 37: Line 96:
  </root>
  </root>


== FAQ ==
==FAQ==
* ''The translations are not getting loaded''
 
*''The translations are not getting loaded''
 
Check the Event Viewer, if anything is wrong with the XML structure, it will write an error entry here.
Check the Event Viewer, if anything is wrong with the XML structure, it will write an error entry here.


* ''The app is not using the translations''
*''The app is not using the translations''
 
These translations are only updated once aday, as well as on log in/out.
These translations are only updated once aday, as well as on log in/out.


Please note that the app requires a minimum of version '''3.2.0'''
Please note that the app requires a minimum of version '''3.2.0'''


* ''Letters like Æ, Ø and Å are shown incorrectly''
*''Letters like Æ, Ø and Å are shown incorrectly''
 
Make sure when you save the XML file, that you save it as Unicode encoding. While other types of encoding may work, Unicode has been confirmed to work with all Scandinavian letters
Make sure when you save the XML file, that you save it as Unicode encoding. While other types of encoding may work, Unicode has been confirmed to work with all Scandinavian letters

Revision as of 10:30, 10 November 2021

Custom Terms and Localization is the first step in allowing you to alter the text that is displayed anywhere in the app.

Prerequisites

  • UMS Web
  • Basic understanding of XML

Getting started

You must create a file for each language you want to create your own translations for.

This file must be saved in your root web folder (generally located at 'C:\inetpub\wwwroot'), under the subfolder of \App\Localization\Translations.*culture*.xml

You need to create the Localization subdirectory if it does not exist. Example:

C:\inetpub\wwwroot\App\Localization\Translations.DK.xml

Note: While technically you can call the culture anything (for example Translations.arbitraryname.xml), it is recommended to call it the same culture as you use inside the XML file, for easier overview. The name simply needs to follow the pattern of 'Translations.*.xml'


A Translation file always needs a root element called 'root'. This root element needs a single attribute called 'culture', with the value of the chosen culture.

Supported cultures are

  • 'da-DK' (Danish)
  • 'en-US' (English)
  • 'nb' (Norwegian)
  • 'fo-FO' (Faroese)

The root element must contain an 'entry' element for each translated key you want to override. The key attribute must match the key used in UMS App.

Inside this element you can write your desired text. Note that this text will have all leading and trailing whitespaces removed.

Sample file

<div style="text-align: right; direction: ltr; margin-left: 1em;">

<root culture="en-US">

<entry key="StudentCardViewModelEmptyStateMessage">Couldn't find your Pupil ID. If the problem persists, contact your IT department</entry>

<entry key="StudentCardViewModelTitle">Pupil ID</entry>

<entry key="StudentNumberHeader">Pupil number</entry>

<entry key="StudentIdHeader">Pupil ID</entry>

<entry key="MenuStudentCard">Pupil ID</entry>

<entry key="AddNoteTapPersonTip">Tap on a Pupil to add a note to them.</entry>

<entry key="InvalidSelectedBarcodeFormat">The Pupil ID number cannot be displayed in the selected format. Use a different bar code format</entry>

<entry key="InvalidDefaultBarcodeFormat">This Pupil ID number cannot be displayed in the default barcode format. Contact your school</entry>

<entry key="SmsSendSelectedStudentsMessage">You have selected {count, plural, =1 {1 pupil} other {# pupils} }</entry>

<entry key="IncludeFutureStudents">Include future pupils</entry>

<entry key="SmsSendAsSms">Will be sent as text to {pupils, plural, =1 {1 pupil} other {# pupils} }.</entry>

<entry key="SmsSendAsMail">Will be sent as e-mail to {pupils, plural, =1 {1 pupil} other {# pupils} }.</entry>

<entry key="SmsCannotSend">Cannot be sent to {pupils, plural, =1 {1 pupil} other {# pupils} }.</entry>

<entry key="AbsenceRegistrationHowToMark">How do you want to mark pupils?</entry>

<entry key="TimeDetailNoteStudent">pupil: {0}</entry>

<entry key="HomeworkUpdateViewModelEmptyStateMessage">Couldn't find your betterments</entry>

<entry key="HomeworkViewModelEmptyStateMessage">Couldn't find your betterments</entry>

	<entry key="HomeworkUpdateViewModelTitle">Betterments</entry>

<entry key="HomeworkViewModelTitle">Betterments</entry>

<entry key="MenuHomework">Betterments</entry>

<entry key="HomeworkItemViewModelTitle">Betterments</entry>

<entry key="HomeworkItemViewModelEmptyStateMessage">Couldn't find your Betterments</entry>

</root>

</div>


<root culture="da-DK">
    <entry key="StudentNumberHeader">Studie nummer</entry>
    <entry key="DateHeader">Sidst fornyet</entry>
    <entry key="BirthdayHeader">Fødselsdato</entry>
    <entry key="ExpiryDateHeader">Udløber d.</entry>
</root>

FAQ

  • The translations are not getting loaded

Check the Event Viewer, if anything is wrong with the XML structure, it will write an error entry here.

  • The app is not using the translations

These translations are only updated once aday, as well as on log in/out.

Please note that the app requires a minimum of version 3.2.0

  • Letters like Æ, Ø and Å are shown incorrectly

Make sure when you save the XML file, that you save it as Unicode encoding. While other types of encoding may work, Unicode has been confirmed to work with all Scandinavian letters