forked from MapComplete/MapComplete
		
	More work on translations
This commit is contained in:
		
							parent
							
								
									bb08d6b11f
								
							
						
					
					
						commit
						ae90440f16
					
				
					 5 changed files with 85 additions and 23 deletions
				
			
		| 
						 | 
					@ -51,7 +51,7 @@ export class GrbToFix extends LayerDefinition {
 | 
				
			||||||
                    },
 | 
					                    },
 | 
				
			||||||
                    question: "Wat is het huisnummer?"
 | 
					                    question: "Wat is het huisnummer?"
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            ).OnlyShowIf(new Tag("fixme","*","")),
 | 
					            ),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            new TagRenderingOptions({
 | 
					            new TagRenderingOptions({
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										2
									
								
								State.ts
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								State.ts
									
										
									
									
									
								
							| 
						 | 
					@ -24,7 +24,7 @@ export class State {
 | 
				
			||||||
    // The singleton of the global state
 | 
					    // The singleton of the global state
 | 
				
			||||||
    public static state: State;
 | 
					    public static state: State;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    public static vNumber = "0.0.7";
 | 
					    public static vNumber = "0.0.7a ¿hablas español?";
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    // The user journey states thresholds when a new feature gets unlocked
 | 
					    // The user journey states thresholds when a new feature gets unlocked
 | 
				
			||||||
    public static userJourney = {
 | 
					    public static userJourney = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,8 @@ import {FilteredLayer} from "../Logic/FilteredLayer";
 | 
				
			||||||
import {Utils} from "../Utils";
 | 
					import {Utils} from "../Utils";
 | 
				
			||||||
import {UIEventSource} from "../Logic/UIEventSource";
 | 
					import {UIEventSource} from "../Logic/UIEventSource";
 | 
				
			||||||
import {UserDetails} from "../Logic/Osm/OsmConnection";
 | 
					import {UserDetails} from "../Logic/Osm/OsmConnection";
 | 
				
			||||||
 | 
					import Translation from "./i18n/Translation";
 | 
				
			||||||
 | 
					import {SubtleButton} from "./Base/SubtleButton";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class ShareScreen extends UIElement {
 | 
					export class ShareScreen extends UIElement {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,7 +22,7 @@ export class ShareScreen extends UIElement {
 | 
				
			||||||
    private _options: UIElement;
 | 
					    private _options: UIElement;
 | 
				
			||||||
    private _iframeCode: UIElement;
 | 
					    private _iframeCode: UIElement;
 | 
				
			||||||
    private _link: UIElement;
 | 
					    private _link: UIElement;
 | 
				
			||||||
    private _linkStatus: UIElement;
 | 
					    private _linkStatus: UIEventSource<string | UIElement>;
 | 
				
			||||||
    private _editLayout: UIElement;
 | 
					    private _editLayout: UIElement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    constructor() {
 | 
					    constructor() {
 | 
				
			||||||
| 
						 | 
					@ -93,21 +95,22 @@ export class ShareScreen extends UIElement {
 | 
				
			||||||
        }, State.state.filteredLayers.data.map((flayer) => flayer.isDisplayed)));
 | 
					        }, State.state.filteredLayers.data.map((flayer) => flayer.isDisplayed)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const switches = [{urlName: "fs-userbadge", human: "Enable the login-button"},
 | 
					        const switches = [
 | 
				
			||||||
            {urlName: "fs-search", human: "Enable the search bar"},
 | 
					            {urlName: "fs-userbadge", human:  tr.fsUserbadge},
 | 
				
			||||||
            {urlName: "fs-welcome-message", human: "Enable the welcome message"},
 | 
					            {urlName: "fs-search", human:  tr.fsSearch},
 | 
				
			||||||
            {urlName: "fs-layers", human: "Enable thelayer control"},
 | 
					            {urlName: "fs-welcome-message", human:  tr.fsWelcomeMessage}, 
 | 
				
			||||||
            {urlName: "layer-control-toggle", human: "Start with the layer control expanded", reverse:true},
 | 
					            {urlName: "fs-layers", human:  tr.fsLayers},
 | 
				
			||||||
            {urlName: "fs-add-new", human: "Enable the 'add new POI' button"},
 | 
					            {urlName: "layer-control-toggle", human:  tr.fsLayerControlToggle, reverse: true}, 
 | 
				
			||||||
            {urlName: "fs-geolocation", human: "Enable the 'geolocate-me' button"},
 | 
					            {urlName: "fs-addXXXnew", human:  tr.fsAddNew},
 | 
				
			||||||
 | 
					            {urlName: "fs-geolocation", human:  tr.fsGeolocation}, 
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (const swtch of switches) {
 | 
					        for (const swtch of switches) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            const checkbox = new CheckBox(
 | 
					            const checkbox = new CheckBox(
 | 
				
			||||||
                new Combine([Img.checkmark, swtch.human]),
 | 
					                new Combine([Img.checkmark, Translations.W(swtch.human)]),
 | 
				
			||||||
                new Combine([Img.no_checkmark, swtch.human]),
 | 
					                new Combine([Img.no_checkmark, Translations.W(swtch.human)]),
 | 
				
			||||||
                swtch.reverse ? false : true
 | 
					                swtch.reverse ? false : true
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            optionCheckboxes.push(checkbox);
 | 
					            optionCheckboxes.push(checkbox);
 | 
				
			||||||
| 
						 | 
					@ -171,16 +174,19 @@ export class ShareScreen extends UIElement {
 | 
				
			||||||
                            if (userDetails.csCount <= State.userJourney.themeGeneratorUnlock) {
 | 
					                            if (userDetails.csCount <= State.userJourney.themeGeneratorUnlock) {
 | 
				
			||||||
                                return "";
 | 
					                                return "";
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                            return `<h3>Edit this theme</h3>` +
 | 
					
 | 
				
			||||||
                                `<a target='_blank' href='./customGenerator.html#${State.state.layoutDefinition}'>Click here to edit</a>`
 | 
					                            return new SubtleButton("./assets/pencil.svg",
 | 
				
			||||||
 | 
					                                new Combine([tr.editThisTheme.SetClass("bold"), "<br/>",
 | 
				
			||||||
 | 
					                                    tr.editThemeDescription]),
 | 
				
			||||||
 | 
					                                {url: `./customGenerator.html#${State.state.layoutDefinition}`, newTab: true}).Render();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    ));
 | 
					                    ));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const status = new UIEventSource(" ");
 | 
					        this._linkStatus = new UIEventSource<string | Translation>("");
 | 
				
			||||||
        this._linkStatus = new VariableUiElement(status);
 | 
					        this.ListenTo(this._linkStatus);
 | 
				
			||||||
        const self = this;
 | 
					        const self = this;
 | 
				
			||||||
        this._link = new VariableUiElement(
 | 
					        this._link = new VariableUiElement(
 | 
				
			||||||
            url.map((url) => {
 | 
					            url.map((url) => {
 | 
				
			||||||
| 
						 | 
					@ -195,7 +201,6 @@ export class ShareScreen extends UIElement {
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            function rejected() {
 | 
					            function rejected() {
 | 
				
			||||||
                status.setData("Copying to clipboard...")
 | 
					 | 
				
			||||||
                var copyText = document.getElementById("code-link--copyable");
 | 
					                var copyText = document.getElementById("code-link--copyable");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // @ts-ignore
 | 
					                // @ts-ignore
 | 
				
			||||||
| 
						 | 
					@ -204,13 +209,17 @@ export class ShareScreen extends UIElement {
 | 
				
			||||||
                copyText.setSelectionRange(0, 99999); /*For mobile devices*/
 | 
					                copyText.setSelectionRange(0, 99999); /*For mobile devices*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                document.execCommand("copy");
 | 
					                document.execCommand("copy");
 | 
				
			||||||
                status.setData("Copied to clipboard")
 | 
					                const copied = tr.copiedToClipboard;
 | 
				
			||||||
 | 
					                copied.SetClass("thanks")
 | 
				
			||||||
 | 
					                self._linkStatus.setData(copied);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                navigator.share(shareData)
 | 
					                navigator.share(shareData)
 | 
				
			||||||
                    .then(() => {
 | 
					                    .then(() => {
 | 
				
			||||||
                        status.setData("Thanks for sharing!")
 | 
					                        const thx = tr.thanksForSharing;
 | 
				
			||||||
 | 
					                        thx.SetClass("thanks");
 | 
				
			||||||
 | 
					                        this._linkStatus.setData(thx);
 | 
				
			||||||
                    }, rejected)
 | 
					                    }, rejected)
 | 
				
			||||||
                    .catch(rejected)
 | 
					                    .catch(rejected)
 | 
				
			||||||
            } catch (err) {
 | 
					            } catch (err) {
 | 
				
			||||||
| 
						 | 
					@ -226,10 +235,10 @@ export class ShareScreen extends UIElement {
 | 
				
			||||||
        const tr = Translations.t.general.sharescreen;
 | 
					        const tr = Translations.t.general.sharescreen;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return new VerticalCombine([
 | 
					        return new VerticalCombine([
 | 
				
			||||||
 | 
					            this._editLayout,
 | 
				
			||||||
            tr.intro,
 | 
					            tr.intro,
 | 
				
			||||||
            this._link,
 | 
					            this._link,
 | 
				
			||||||
            this._linkStatus,
 | 
					            Translations.W(this._linkStatus.data),
 | 
				
			||||||
            this._editLayout,
 | 
					 | 
				
			||||||
            tr.addToHomeScreen,
 | 
					            tr.addToHomeScreen,
 | 
				
			||||||
            tr.embedIntro,
 | 
					            tr.embedIntro,
 | 
				
			||||||
            this._options,
 | 
					            this._options,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -995,6 +995,51 @@ export default class Translations {
 | 
				
			||||||
                    es: "<h3>Inclúyelo en tu página web</h3>Incluye este mapa en tu página web. <br/> Te animamos a que lo hagas, no hace falta que pidas permiso. <br/> Es gratis, y siempre lo será. A más gente que lo use más valioso será.",
 | 
					                    es: "<h3>Inclúyelo en tu página web</h3>Incluye este mapa en tu página web. <br/> Te animamos a que lo hagas, no hace falta que pidas permiso. <br/> Es gratis, y siempre lo será. A más gente que lo use más valioso será.",
 | 
				
			||||||
                    fr: "<h3>Incorporer à votre website</h3>AJouter la carte à votre website. <br/>On vous en encourage - pas besoin de permission. <br/>  C'est gratuit et pour toujours. Le plus de personnes l'utilisent, le mieux ce sera.",
 | 
					                    fr: "<h3>Incorporer à votre website</h3>AJouter la carte à votre website. <br/>On vous en encourage - pas besoin de permission. <br/>  C'est gratuit et pour toujours. Le plus de personnes l'utilisent, le mieux ce sera.",
 | 
				
			||||||
                    nl: "<h3>Plaats dit op je website</h3>Voeg dit kaartje toe op je eigen website.<br/>We moedigen dit zelfs aan - je hoeft geen toestemming te vragen.<br/> Het is gratis en zal dat altijd blijven. Hoe meer het gebruikt wordt, hoe waardevoller"
 | 
					                    nl: "<h3>Plaats dit op je website</h3>Voeg dit kaartje toe op je eigen website.<br/>We moedigen dit zelfs aan - je hoeft geen toestemming te vragen.<br/> Het is gratis en zal dat altijd blijven. Hoe meer het gebruikt wordt, hoe waardevoller"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                copiedToClipboard: new T({
 | 
				
			||||||
 | 
					                    en: "Link copied to clipboard",
 | 
				
			||||||
 | 
					                    nl: "Link gekopieerd naar klembord"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                thanksForSharing: new T({
 | 
				
			||||||
 | 
					                    en: "Thanks for sharing!",
 | 
				
			||||||
 | 
					                    nl: "Bedankt om te delen!"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                editThisTheme: new T({
 | 
				
			||||||
 | 
					                    en: "Edit this theme",
 | 
				
			||||||
 | 
					                    nl: "Pas dit thema aan"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                editThemeDescription: new T({
 | 
				
			||||||
 | 
					                    en: "Add or change questions to this map theme",
 | 
				
			||||||
 | 
					                    nl: "Pas vragen aan of voeg vragen toe aan dit kaartthema",
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                fsUserbadge: new T({
 | 
				
			||||||
 | 
					                    en: "Enable the login-button",
 | 
				
			||||||
 | 
					                    nl: "Activeer de login-knop"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                fsSearch: new T({
 | 
				
			||||||
 | 
					                    en: "Enable the search bar",
 | 
				
			||||||
 | 
					                    nl: "Activeer de zoekbalk"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                fsWelcomeMessage: new T({
 | 
				
			||||||
 | 
					                    en: "Show the welcome message popup and associated tabs",
 | 
				
			||||||
 | 
					                    nl: "Toon het welkomstbericht en de bijhorende tabbladen "
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                fsLayers: new T({
 | 
				
			||||||
 | 
					                    en: "Enable thelayer control",
 | 
				
			||||||
 | 
					                    nl: "Toon de knop voor laagbediening"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                fsLayerControlToggle: new T({
 | 
				
			||||||
 | 
					                    en: "Start with the layer control expanded",
 | 
				
			||||||
 | 
					                    nl: "Toon de laagbediening meteen volledig"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                fsAddNew: new T({
 | 
				
			||||||
 | 
					                    en: "Enable the 'add new POI' button",
 | 
				
			||||||
 | 
					                    nl: "Activeer het toevoegen van nieuwe POI"
 | 
				
			||||||
 | 
					                }),
 | 
				
			||||||
 | 
					                fsGeolocation: new T({
 | 
				
			||||||
 | 
					                    en:  "Enable the 'geolocate-me' button (mobile only)",
 | 
				
			||||||
 | 
					                    nl: "Toon het knopje voor geolocalisatie (enkel op mobiel)"
 | 
				
			||||||
                })
 | 
					                })
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            morescreen: {
 | 
					            morescreen: {
 | 
				
			||||||
| 
						 | 
					@ -1070,7 +1115,11 @@ export default class Translations {
 | 
				
			||||||
                es: "No se han seleccionado etiquetas",
 | 
					                es: "No se han seleccionado etiquetas",
 | 
				
			||||||
                ca: "No s\'han seleccionat etiquetes"
 | 
					                ca: "No s\'han seleccionat etiquetes"
 | 
				
			||||||
            }),
 | 
					            }),
 | 
				
			||||||
            customThemeIntro: new T({en: "<h3>Custom themes</h3>These are previously visited user-generated themes."})
 | 
					            customThemeIntro: new T({
 | 
				
			||||||
 | 
					                en: "<h3>Custom themes</h3>These are previously visited user-generated themes.",
 | 
				
			||||||
 | 
					                nl: "<h3>Onofficiële themea's</h3>Je bezocht deze thema's gemaakt door andere OpenStreetMappers eerder"
 | 
				
			||||||
 | 
					            }),
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        favourite: {
 | 
					        favourite: {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -94,6 +94,10 @@ form {
 | 
				
			||||||
    color: #999;
 | 
					    color: #999;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.bold {
 | 
				
			||||||
 | 
					    font-weight: bold;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.thanks {
 | 
					.thanks {
 | 
				
			||||||
    background-color: #43d904;
 | 
					    background-color: #43d904;
 | 
				
			||||||
    font-weight: bold;
 | 
					    font-weight: bold;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue