let's crowdin
parent
5af56f5ee9
commit
823fba0c97
64
l10n/de.js
64
l10n/de.js
|
@ -1,64 +0,0 @@
|
|||
OC.L10N.register(
|
||||
"gpxedit",
|
||||
{
|
||||
"Lat" : "Lat",
|
||||
"Lon" : "Lon",
|
||||
"Description" : "Beschreibung",
|
||||
"Ok" : "Ok",
|
||||
"Route" : "Route",
|
||||
"Load folder" : "Lade Verzeichnis",
|
||||
"Unknown symbol" : "Unbekanntes Symbol",
|
||||
"Where to save" : "Wo speichern",
|
||||
"Track" : "Track",
|
||||
"Waypoint" : "Markierung",
|
||||
"Name" : "Name",
|
||||
"Comment" : "Kommentar",
|
||||
"Symbol" : "Symbol",
|
||||
"No symbol" : "kein Symbol",
|
||||
"File successfully saved as" : "Datei erfolgreich gespeichert als:",
|
||||
"There is nothing to save" : "Es gibt nichts zu speichern",
|
||||
"Impossible to load this file. " : "Datei kann nicht geladen werden. ",
|
||||
"Supported formats are gpx, kml, csv (unicsv) and jpg." : "Unterstützte Formate sind gpx, kml, csv (unicsv) und jpg",
|
||||
"Load error" : "Fehler beim Laden",
|
||||
"Impossible to write file" : "Kann Datei nicht schreiben",
|
||||
"write access denied" : "Schreibzugriff verweigert",
|
||||
"folder does not exist" : "Verzeichnis existiert nicht",
|
||||
"folder write access denied" : "Schreibzugriff auf Verzeichnis verweigert",
|
||||
"Bad file name, must end with \".gpx\"" : "Falscher Dateiname, er muss auf \".gpx\" enden",
|
||||
"Load file (gpx, kml, csv, png)" : "Datei laden (gpx, kml, csv, png)",
|
||||
"Failed to save file" : "Speichern der Datei fehlgeschlagen",
|
||||
"Draw a track" : "Einen Track zeichnen",
|
||||
"Add a waypoint" : "Eine Markierung hinzufügen",
|
||||
"Edit" : "Bearbeiten",
|
||||
"Nothing to edit" : "Nichts zu bearbeiten",
|
||||
"Delete" : "Löschen",
|
||||
"Nothing to delete" : "Nichts zu löschen",
|
||||
"Cancel" : "Abbrechen",
|
||||
"Discard all changes" : "Alle Änderungen verwerfen",
|
||||
"Validate changes" : "Änderungen bestätigen",
|
||||
"Drag to move elements,<br/>click to remove a point<br/>hover a middle marker and press \"Del\" to cut the line" : "Ziehen verschiebt Elemente,<br/>Klick entfernt einen Punkt<br/>Über einen \"middle marker\" bewegen und \"Entf\" drücken zerschneidet einen Weg.",
|
||||
"Click cancel to undo changes": "Auf Abbrechen klicken um die Änderungen zu verwerfen",
|
||||
"Click on an element to delete it" : "Auf ein Element klicken um es zu löschen",
|
||||
"Click map to add waypoint" : "In die Karte klicken um eine Markierung hinzuzufügen",
|
||||
"Click to start drawing track" : "Klicken, um einen neuen Weg zu zeichnen",
|
||||
"Click to continue drawing track" : "Klicken, um das Zeichnen eines Weges fortzuführen",
|
||||
"Click last point to finish track" : "Klick auf den letzen Punkt beendet den Weg",
|
||||
"Cancel drawing" : "Zeichnen abbrechen",
|
||||
"Finish" : "Beenden",
|
||||
"Finish drawing" : "Zeichnen beenden",
|
||||
"Delete last point" : "Letzten Punkt löschen",
|
||||
"Delete last point drawn" : "Letzten gezeichneten Punkt löschen",
|
||||
"Server name or server url should not be empty" : "Servername oder Server-URL dürfen nicht leer sein",
|
||||
"A server with this name already exists" : "Ein Server mit diesem Namen existiert bereits",
|
||||
"Impossible to add tile server" : "Tile-Server kann nicht hinzugefügt werden",
|
||||
"Failed to restore options values" : "Wiederherstellen der Einstellungen fehlgeschlagen",
|
||||
"Failed to save options values" : "Speichern der Einstellungen fehlgeschlagen",
|
||||
"Edit with GpxEdit" : "Mit GpxEdit bearbeiten",
|
||||
"Load in GpxEdit" : "In GpxEdit laden",
|
||||
"Tile server \"{ts}\" has been deleted" : "Tile-Server \"{ts}\" wurde gelöscht",
|
||||
"Tile server \"{ts}\" has been added" : "Tile-Server \"{ts}\" wurde hinzugefügt",
|
||||
"Failed to add tile server \"{ts}\"" : "Kann Tile-Server \"{ts}\" nicht hinzufügen",
|
||||
"Failed to delete tile server \"{ts}\"" : "Kann Tile-Server \"{ts}\" nicht löschen",
|
||||
"Error" : "Fehler"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
74
l10n/de.json
74
l10n/de.json
|
@ -1,74 +0,0 @@
|
|||
{ "translations": {
|
||||
"GpxEdit" : "GpxEdit",
|
||||
"Options" : "Einstellungen",
|
||||
"Shortcuts" : "Shortcuts",
|
||||
"Documentation" : "Dokumentation",
|
||||
"toggle sidebar" : "Sidebar umschalten",
|
||||
"toggle minimap" : "kleine Karte umschalten",
|
||||
"Authors" : "Autoren",
|
||||
"exporting file to gpx" : "Datei als gpx exportieren",
|
||||
"permanent" : "permanent",
|
||||
"all files" : "Alle Dateien",
|
||||
"Source management" : "Quellcodeverwaltung",
|
||||
"saving file" : "speichere Datei",
|
||||
"Load and save files" : "Dateien laden und speichern",
|
||||
"loading file" : "lade Datei",
|
||||
"Choose directory and save" : "Verzeichnis wählen und speichern",
|
||||
"About GpxEdit" : "Über GpxEdit",
|
||||
"Load file" : "Datei laden",
|
||||
"Load directory" : "Verzeichnis laden",
|
||||
"Save" : "Speichern",
|
||||
"File name" : "Dateiname",
|
||||
"Description (optional)" : "Beschreibung (optional)",
|
||||
"Clear map" : "Karte löschen",
|
||||
"Waypoint style" : "Markierungstyp",
|
||||
"Tooltip" : "Tooltip",
|
||||
"on hover" : "beim Überfahren",
|
||||
"Use defined symbols instead of default symbol" : "Benutze definierte Symbole anstatt dem Standardsymbol",
|
||||
"Use defined symbols" : "Benutze definierte Symbole",
|
||||
"Custom tile servers" : "Eigene Kachel-Server",
|
||||
"Server name" : "Servername",
|
||||
"For example : my custom server" : "Zum Beispiel: Mein XY-Server",
|
||||
"Server url" : "Server-URL",
|
||||
"For example : http://tile.server.org/cycle/{z}/{x}/{y}.png" : "Zum Beispiel: http://tile.server.org/cycle/{z}/{x}/{y}.png",
|
||||
"For example : http://overlay.server.org/cycle/{z}/{x}/{y}.png" : "Zum Beispiel: http://overlay.server.org/cycle/{z}/{x}/{y}.png",
|
||||
"Add" : "Hinzufügen",
|
||||
"Delete" : "Löschen",
|
||||
"Default symbol for waypoints when value is not set" : "Standardsymbol für Markierungen",
|
||||
"Clear map before loading" : "Lösche Karte vor dem Laden",
|
||||
"Features overview" : "Feature-Überblick",
|
||||
"Draw, edition and deletion buttons are in the map's bottom-left corner." : "Buttons zum Zeichnen, Bearbeiten und Löschen sind in der linken unteren Ecke der Karte.",
|
||||
"You can draw a line or add a marker." : "Sie können einen Weg zeichnen oder eine Markierung hinzufügen.",
|
||||
"If you click on a line or a marker, a popup pops and let you set the object properties." : "Mit einem Klick auf einen Weg oder eine Markierung können Sie die Eigenschaften des Objekts in einem Popup-Fenster bearbeiten.",
|
||||
"After a click on \"edition\" button, in edition mode, you can" : "Nach einem Klick auf \"bearbeiten\" können Sie im Bearbeiten-Modus",
|
||||
"move markers" : "Markierungen verschieben",
|
||||
"move line points" : "Punkte eines Weges verschieben",
|
||||
"click on a line point to remove it" : "auf einen Punkt eines Weges klicken, um ihn zu löschen",
|
||||
"hover a \"middle marker\" (between two line points) and press \"Del\" to cut the line in two (this action cannot be canceled)" : "über der Mitten-Markierung zwischen zwei Punkten eines Weges auf \"Entf\" drücken, um den Weg in zwei Teile zu spalten (diese Aktion kann nicht rückgängig gemacht werden)",
|
||||
"Extra symbols" : "Zusätzliche Symbole",
|
||||
"Those symbols will be available in GpxEdit." : "Diese Symbole sind in GpxEdit verfügbar",
|
||||
"Keep in mind that only symbol names are saved in gpx files. Other programs will display default symbol if they do not know a symbol name." : "Nur die Namen der Symbole werden in der GPX-Datei abgelegt. Andere Programme stellen ein Standard-Symbol dar, wenn sie diesen Namen nicht kennen.",
|
||||
"Recommended image ratio : 1:1" : "Empfohlenes Bildverhältnis : 1:1",
|
||||
"Recommended image resolution : between 24x24 and 50x50" : "Empfohlene Bildgröße: zwischen 24x24 und 50x50",
|
||||
"Accepted image format : png" : "Erlaubtes Bildformat: png",
|
||||
"New symbol name" : "Name für das neue Symbol",
|
||||
"Approximate new points elevations" : "Höhe für neue Punkte mitteln",
|
||||
"Min zoom (1-20)" : "min. Zoom (1-20)",
|
||||
"Opacity (0.0-1.0)" : "Deckkraft (0.0-1.0)",
|
||||
"Format" : "Format",
|
||||
"Custom overlay tile servers" : "Eigene Overlay-Kachel-Server",
|
||||
"Your tile servers" : "Eigene Kachel-Server",
|
||||
"WMS version" : "WMS-Version",
|
||||
"Your WMS tile servers" : "Eigene WMS-Server",
|
||||
"Max zoom (1-20)" : "max. Zoom (1-20)",
|
||||
"Custom WMS overlay servers" : "Eigene WMS-Overlay-Server",
|
||||
"Layers to display" : "anzuzeigende Layer",
|
||||
"Custom WMS tile servers" : "Eigene WMS-Server",
|
||||
"Your overlay tile servers" : "Eigene Overlay-Kachel-Server",
|
||||
"Your WMS overlay tile servers" : "Eigene WMS-Overlay-Server",
|
||||
"Transparent" : "Transparent",
|
||||
"Link URL (optional)" : "Link-URL (optional)",
|
||||
"Link text (optional)" : "Link-Text (optional)",
|
||||
"Upload new symbol image" : "Neues Symbol hochladen"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
65
l10n/fr.js
65
l10n/fr.js
|
@ -1,65 +0,0 @@
|
|||
OC.L10N.register(
|
||||
"gpxedit",
|
||||
{
|
||||
"Lat" : "Lat",
|
||||
"Lon" : "Lon",
|
||||
"Description" : "Description",
|
||||
"Ok" : "Ok",
|
||||
"Route" : "Route",
|
||||
"Load folder" : "Charger un dossier",
|
||||
"Unknown symbol" : "Symbole inconnu",
|
||||
"Where to save" : "Où enregistrer",
|
||||
"Track" : "Trace",
|
||||
"Waypoint" : "Étape",
|
||||
"Name" : "Nom",
|
||||
"Comment" : "Commentaire",
|
||||
"Symbol" : "Symbole",
|
||||
"No symbol" : "Aucun symbole",
|
||||
"File successfully saved as" : "Fichier enregistré avec succès :",
|
||||
"There is nothing to save" : "Il n'y a rien à sauver",
|
||||
"Impossible to load this file. " : "Impossible de charger ce fichier. ",
|
||||
"Supported formats are gpx, kml, csv (unicsv) and jpg." : "Les formats pris en charge sont gpx, kml, csv (unicsv) et jpg",
|
||||
"Load error" : "Erreur de chargement",
|
||||
"Impossible to write file" : "Impossible d'écrire le fichier",
|
||||
"write access denied" : "Droit d'accès d'écriture refusé",
|
||||
"folder does not exist" : "Le dossier n'existe pas",
|
||||
"folder write access denied" : "Droit d'accès d'écriture pour le dossier refusé",
|
||||
"Bad file name, must end with \".gpx\"" : "Nom mal formé, doit finir par \".gpx\"",
|
||||
"Load file (gpx, kml, csv, png)" : "Charger un fichier (gpx, kml, csv, png)",
|
||||
"Failed to save file" : "Échec à l'enregistrement du fichier",
|
||||
"Draw a track" : "Dessiner une trace",
|
||||
"Add a waypoint" : "Ajouter une étape",
|
||||
"Edit" : "Éditer",
|
||||
"Nothing to edit" : "Rien à éditer",
|
||||
"Delete" : "Effacer",
|
||||
"Nothing to delete" : "Rien à effacer",
|
||||
"Cancel" : "Annuler",
|
||||
"Discard all changes" : "Annuler tous les changements",
|
||||
"Validate changes" : "Valider les changements",
|
||||
"Drag to move elements,<br/>click to remove a point<br/>hover a middle marker and press \"Del\" to cut the line" : "Déplacer par glisser-déposer,<br/>cliquer sur un point pour le supprimer<br/>survoler un \"middle marker\" et presser la touche \"Suppr\" pour couper la ligne",
|
||||
"Click cancel to undo changes": "Cliquer sur annuler pour défaire les changements",
|
||||
"Click on an element to delete it" : "Cliquer sur un élément pour l'effacer",
|
||||
"Click map to add waypoint" : "Cliquer sur la carte pour ajouter une étape",
|
||||
"Click to start drawing track" : "Cliquer pour commencer à dessiner une trace",
|
||||
"Click to continue drawing track" : "Cliquer pour continuer à dessiner une trace",
|
||||
"Click last point to finish track" : "Cliquer sur le dernier point pour terminer la trace",
|
||||
"Cancel drawing" : "Annuler le dessin",
|
||||
"Finish" : "Terminer",
|
||||
"Finish drawing" : "Terminer le dessin",
|
||||
"Delete last point" : "Supprimer le dernier point",
|
||||
"Delete last point drawn" : "Supprimer le dernier point dessiné",
|
||||
"Server name or server url should not be empty" : "L'URL ou le nom du serveur doivent être non vides",
|
||||
"A server with this name already exists" : "Un serveur avec ce nom existe déjà",
|
||||
"Impossible to add tile server" : "Impossible d'ajouter le serveur de tuiles",
|
||||
"Failed to restore options values" : "Echec du chargement des valeurs des options",
|
||||
"Failed to save options values" : "Echec à la sauvegarde des valeurs des options",
|
||||
"Edit with GpxEdit" : "Éditer avec GpxEdit",
|
||||
"Load in GpxEdit" : "Charger dans GpxEdit",
|
||||
"Tile server \"{ts}\" has been deleted" : "Le serveur de tuiles \"{ts}\" a été supprimé",
|
||||
"Tile server \"{ts}\" has been added" : "Le serveur de tuiles \"{ts}\" a été ajouté",
|
||||
"Failed to add tile server \"{ts}\"" : "Échec de l'ajout du serveur de tuiles \"{ts}\"",
|
||||
"Failed to delete tile server \"{ts}\"" : "Échec de la suppression du serveur de tuiles \"{ts}\"",
|
||||
"Error" : "Erreur"
|
||||
},
|
||||
"nplurals=2; plural=(n > 1);");
|
||||
|
80
l10n/fr.json
80
l10n/fr.json
|
@ -1,80 +0,0 @@
|
|||
{ "translations": {
|
||||
"GpxEdit" : "GpxEdit",
|
||||
"Options" : "Options",
|
||||
"Shortcuts" : "Raccourcis clavier",
|
||||
"Documentation" : "Documentation",
|
||||
"toggle sidebar" : "montrer/cacher la barre latérale",
|
||||
"toggle minimap" : "montrer/cacher la mini carte",
|
||||
"Authors" : "Auteurs",
|
||||
"exporting file to gpx" : "export en gpx",
|
||||
"permanent" : "permanent",
|
||||
"all files" : "tous les fichiers",
|
||||
"Source management" : "Gestion des sources",
|
||||
"saving file" : "sauvegarde du fichier",
|
||||
"Load and save files" : "Charger et enregistrer des fichiers",
|
||||
"loading file" : "chargement du fichier",
|
||||
"Choose directory and save" : "Choisir un dossier et sauver",
|
||||
"About GpxEdit" : "À propos de GpxEdit",
|
||||
"Load file" : "Charger un fichier",
|
||||
"Load directory" : "Charger un dossier",
|
||||
"Save" : "Enregistrer",
|
||||
"File name" : "Nom de fichier",
|
||||
"Description (optional)" : "Description (facultatif)",
|
||||
"Clear map" : "Vider la carte",
|
||||
"Waypoint style" : "Style des étapes",
|
||||
"Tooltip" : "Info-bulle",
|
||||
"on hover" : "au survol",
|
||||
"Use defined symbols instead of default symbol" : "Utilise les symboles définis au lieu du symbole par défaut",
|
||||
"Use defined symbols" : "Utiliser les symboles définis",
|
||||
"Custom tile servers" : "Serveurs de tuiles personnels",
|
||||
"Server name" : "Nom du serveur",
|
||||
"For example : my custom server" : "Par exemple : mon super serveur",
|
||||
"Server url" : "URL du serveur",
|
||||
"For example : http://tile.server.org/cycle/{z}/{x}/{y}.png" : "Par exemple : http://tile.server.org/cycle/{z}/{x}/{y}.png",
|
||||
"For example : http://overlay.server.org/cycle/{z}/{x}/{y}.png" : "Par exemple : http://overlay.server.org/cycle/{z}/{x}/{y}.png",
|
||||
"Add" : "Ajouter",
|
||||
"Delete" : "Supprimer",
|
||||
"Default symbol for waypoints when value is not set" : "Symbole par défaut pour les étapes si non défini",
|
||||
"Clear map before loading" : "Vider la carte avant de charger",
|
||||
"Features overview" : "Aperçu des fonctionnalités",
|
||||
"Draw, edition and deletion buttons are in the map's bottom-left corner." : "Les boutons de dessin, édition et suppression sont dans le coin inférieur gauche de la carte.",
|
||||
"You can draw a line or add a marker." : "Vous pouvez dessiner une ligne ou ajouter un marqueur.",
|
||||
"If you click on a line or a marker, a popup pops and let you set the object properties." : "Si vous cliquez sur une ligne ou un marqueur, une popup apparait et vous permet de définir les propriétés de l'objet.",
|
||||
"After a click on \"edition\" button, in edition mode, you can" : "Après un clic sur le bouton \"édition\", en mode édition, vous pouvez",
|
||||
"move markers" : "déplacer les marqueurs",
|
||||
"move line points" : "déplacer les points des lignes",
|
||||
"click on a line point to remove it" : "cliquer sur un point d'une ligne pour le supprimer",
|
||||
"hover a \"middle marker\" (between two line points) and press \"Del\" to cut the line in two (this action cannot be canceled)" : "survoler un \"middle marker\" (entre deux points d'une ligne) et presser la touche \"Suppr\" pour couper la ligne en deux (cette action ne peut pas être annulée)",
|
||||
"Extra symbols" : "Symboles supplémentaires",
|
||||
"Those symbols will be available in GpxEdit." : "Ces symboles seront disponibles dans GpxEdit",
|
||||
"Keep in mind that only symbol names are saved in gpx files. Other programs will display default symbol if they do not know a symbol name." : "Gardez à l'esprit que seuls les noms de symboles sont sauvés dans les fichiers gpx. D'autres programmes afficheront un symbole par défaut s'ils ne connaissent pas un nom de symbole.",
|
||||
"Recommended image ratio : 1:1" : "Ratio d'image recommandé : 1:1",
|
||||
"Recommended image resolution : between 24x24 and 50x50" : "Résolution d'image recommandée : entre 24x24 et 50x50",
|
||||
"Accepted image format : png" : "Format d'image accepté : png",
|
||||
"New symbol name" : "Nom du nouveau symbole",
|
||||
"Approximate new points elevations" : "Approximer l'altitude des nouveaux points",
|
||||
"Min zoom (1-20)" : "Zoom mini (1-20)",
|
||||
"Opacity (0.0-1.0)" : "Opacité (0.0-1.0)",
|
||||
"Format" : "Format",
|
||||
"Custom overlay tile servers" : "Serveurs de revêtement personnels",
|
||||
"Your tile servers" : "Vos serveurs de tuiles personnels",
|
||||
"WMS version" : "Version de WMS",
|
||||
"Your WMS tile servers" : "Vos serveurs de tuiles WMS personnels",
|
||||
"Max zoom (1-20)" : "Zoom maxi (1-20)",
|
||||
"Custom WMS overlay servers" : "Serveurs de revêtement WMS",
|
||||
"Layers to display" : "Layers à afficher",
|
||||
"Custom WMS tile servers" : "Serveurs de tuiles WMS personnels",
|
||||
"Your overlay tile servers" : "Vos serveurs de revêtements personnels",
|
||||
"Your WMS overlay tile servers" : "Vos serveurs de revêtements WMS personnels",
|
||||
"Transparent" : "Transparent",
|
||||
"Link URL (optional)" : "URL du lien (facultatif)",
|
||||
"Link text (optional)" : "Texte du lien (facultatif)",
|
||||
"Track name (optional)" : "Nom de la trace (facultatif)",
|
||||
"Metadata" : "Métadonnées",
|
||||
"Units (needs page reload to take effect)" : "Unités (effectif après rechargement de la page)",
|
||||
"English" : "Anglaises",
|
||||
"Metric" : "Métriques",
|
||||
"Nautical" : "Nautiques",
|
||||
"Upload new symbol image" : "Téléverser une nouvelle image de symbole"
|
||||
},"pluralForm" :"nplurals=2; plural=(n > 1);"
|
||||
}
|
|
@ -0,0 +1,237 @@
|
|||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use Locale::PO;
|
||||
use Cwd;
|
||||
use Data::Dumper;
|
||||
use File::Path;
|
||||
|
||||
sub crawlPrograms{
|
||||
my( $dir, $ignore ) = @_;
|
||||
my @found = ();
|
||||
print "$dir crawl PROGRAMS\n";
|
||||
print "ignore $ignore\n";
|
||||
|
||||
opendir( DIR, $dir );
|
||||
my @files = readdir( DIR );
|
||||
closedir( DIR );
|
||||
@files = sort( @files );
|
||||
print "FILE $_\n" for @files;
|
||||
|
||||
foreach my $i ( @files ){
|
||||
next if substr( $i, 0, 1 ) eq '.';
|
||||
print "i : $i et $ignore\n";
|
||||
if( !($i eq 'l10n') && !$ignore ){
|
||||
push( @found, $dir );
|
||||
}
|
||||
elsif( -d $dir.'/'.$i ){
|
||||
push( @found, crawlPrograms( $dir.'/'.$i ));
|
||||
}
|
||||
}
|
||||
|
||||
print "end crawl LIST FOUND :\n";
|
||||
print "FOUND $_\n" for @found;
|
||||
return @found;
|
||||
}
|
||||
|
||||
sub crawlFiles{
|
||||
print "crawl FILES\n";
|
||||
my( $dir ) = @_;
|
||||
my @found = ();
|
||||
|
||||
opendir( DIR, $dir );
|
||||
my @files = readdir( DIR );
|
||||
closedir( DIR );
|
||||
@files = sort( @files );
|
||||
|
||||
foreach my $i ( @files ){
|
||||
next if substr( $i, 0, 1 ) eq '.';
|
||||
next if $i eq 'l10n';
|
||||
|
||||
if( -d $dir.'/'.$i ){
|
||||
push( @found, crawlFiles( $dir.'/'.$i ));
|
||||
}
|
||||
else{
|
||||
push(@found,$dir.'/'.$i) if $i =~ /.*(?<!\.min)\.js$/ || $i =~ /\.php$/;
|
||||
}
|
||||
}
|
||||
|
||||
return @found;
|
||||
}
|
||||
|
||||
sub readIgnorelist{
|
||||
return () unless -e 'l10n/ignorelist';
|
||||
my %ignore = ();
|
||||
open(IN,'l10n/ignorelist');
|
||||
while(<IN>){
|
||||
my $line = $_;
|
||||
chomp($line);
|
||||
$ignore{"./$line"}++;
|
||||
}
|
||||
close(IN);
|
||||
return %ignore;
|
||||
}
|
||||
|
||||
sub getPluralInfo {
|
||||
my( $info ) = @_;
|
||||
|
||||
# get string
|
||||
$info =~ s/.*Plural-Forms: (.+)\\n.*/$1/;
|
||||
$info =~ s/^(.*)\\n.*/$1/g;
|
||||
|
||||
return $info;
|
||||
}
|
||||
|
||||
sub init() {
|
||||
# let's get the version from stdout of xgettext
|
||||
my $out = `xgettext --version`;
|
||||
# we assume the first line looks like this 'xgettext (GNU gettext-tools) 0.19.3'
|
||||
$out = substr $out, 29, index($out, "\n")-29;
|
||||
$out =~ s/^\s+|\s+$//g;
|
||||
$out = "v" . $out;
|
||||
my $actual = version->parse($out);
|
||||
# 0.18.3 introduced JavaScript as a language option
|
||||
my $expected = version->parse('v0.18.3');
|
||||
if ($actual < $expected) {
|
||||
die( "Minimum expected version of xgettext is " . $expected . ". Detected: " . $actual );
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
||||
|
||||
my $task = shift( @ARGV );
|
||||
my $place = '..';
|
||||
|
||||
die( "Usage: l10n.pl task\ntask: read, write\n" ) unless $task && $place;
|
||||
|
||||
# Our current position
|
||||
my $whereami = cwd();
|
||||
die( "Program must be executed in a l10n-folder called 'l10n'" ) unless $whereami =~ m/\/l10n$/;
|
||||
|
||||
# Where are i18n-files?
|
||||
my @dirs = crawlPrograms( $place, 1 );
|
||||
|
||||
# Languages
|
||||
my @languages = ();
|
||||
opendir( DIR, '.' );
|
||||
my @files = readdir( DIR );
|
||||
closedir( DIR );
|
||||
foreach my $i ( @files ){
|
||||
push( @languages, $i ) if -d $i && substr( $i, 0, 1 ) ne '.';
|
||||
}
|
||||
|
||||
if( $task eq 'read' ){
|
||||
rmtree( 'templates' );
|
||||
mkdir( 'templates' ) unless -d 'templates';
|
||||
print "Mode: readingg\n";
|
||||
foreach my $dir ( @dirs ){
|
||||
print "$dir";
|
||||
my @temp = split( /\//, $dir );
|
||||
my $app = pop( @temp );
|
||||
chdir( $dir );
|
||||
# parses the app info and creates an dummy file specialAppInfoFakeDummyForL10nScript.php
|
||||
`php $whereami/../build/l10nParseAppInfo.php`;
|
||||
my @totranslate = crawlFiles('.');
|
||||
my %ignore = readIgnorelist();
|
||||
my $output = "${whereami}/templates/gpxedit.pot";
|
||||
print "OUUUUUUUUUUUUUUUUUUUUUUUUU $output";
|
||||
print " Processing $app\n";
|
||||
|
||||
foreach my $file ( @totranslate ){
|
||||
print "$file";
|
||||
next if $ignore{$file};
|
||||
my $keywords = '';
|
||||
if( $file =~ /\.js$/ ){
|
||||
$keywords = '--keyword=t:2 --keyword=n:2,3';
|
||||
}
|
||||
else{
|
||||
$keywords = '--keyword=t --keyword=n:1,2';
|
||||
}
|
||||
my $language = ( $file =~ /\.js$/ ? 'Javascript' : 'PHP');
|
||||
my $joinexisting = ( -e $output ? '--join-existing' : '');
|
||||
print " Reading $file\n";
|
||||
`xgettext --output="$output" $joinexisting $keywords --language=$language "$file" --add-comments=TRANSLATORS --from-code=UTF-8 --package-version="8.0.0" --package-name="ownCloud Core" --msgid-bugs-address="translations\@owncloud.org"`;
|
||||
}
|
||||
rmtree( "specialAppInfoFakeDummyForL10nScript.php" );
|
||||
chdir( $whereami );
|
||||
}
|
||||
}
|
||||
elsif( $task eq 'write' ){
|
||||
print "Mode: write\n";
|
||||
foreach my $dir ( @dirs ){
|
||||
my @temp = split( /\//, $dir );
|
||||
my $app = pop( @temp );
|
||||
chdir( $dir.'/l10n' );
|
||||
print " Processing $app\n";
|
||||
foreach my $language ( @languages ){
|
||||
next if $language eq 'templates';
|
||||
|
||||
my $input = "${whereami}/$language/gpxedit.po";
|
||||
next unless -e $input;
|
||||
|
||||
print " Language $language\n";
|
||||
my $array = Locale::PO->load_file_asarray( $input );
|
||||
# Create array
|
||||
my @strings = ();
|
||||
my @js_strings = ();
|
||||
my $plurals;
|
||||
|
||||
TRANSLATIONS: foreach my $string ( @{$array} ){
|
||||
if( $string->msgid() eq '""' ){
|
||||
# Translator information
|
||||
$plurals = getPluralInfo( $string->msgstr());
|
||||
}
|
||||
elsif( defined( $string->msgstr_n() )){
|
||||
# plural translations
|
||||
my @variants = ();
|
||||
my $msgid = $string->msgid();
|
||||
$msgid =~ s/^"(.*)"$/$1/;
|
||||
my $msgid_plural = $string->msgid_plural();
|
||||
$msgid_plural =~ s/^"(.*)"$/$1/;
|
||||
my $identifier = "_" . $msgid."_::_".$msgid_plural . "_";
|
||||
|
||||
foreach my $variant ( sort { $a <=> $b} keys( %{$string->msgstr_n()} )){
|
||||
next TRANSLATIONS if $string->msgstr_n()->{$variant} eq '""';
|
||||
push( @variants, $string->msgstr_n()->{$variant} );
|
||||
}
|
||||
|
||||
push( @strings, "\"$identifier\" => array(".join(",", @variants).")");
|
||||
push( @js_strings, "\"$identifier\" : [".join(",", @variants)."]");
|
||||
}
|
||||
else{
|
||||
# singular translations
|
||||
next TRANSLATIONS if $string->msgstr() eq '""';
|
||||
push( @strings, $string->msgid()." => ".$string->msgstr());
|
||||
push( @js_strings, $string->msgid()." : ".$string->msgstr());
|
||||
}
|
||||
}
|
||||
next if $#strings == -1; # Skip empty files
|
||||
|
||||
for (@strings) {
|
||||
s/\$/\\\$/g;
|
||||
}
|
||||
|
||||
# delete old php file
|
||||
unlink "$language.php";
|
||||
|
||||
# Write js file
|
||||
open( OUT, ">$language.js" );
|
||||
print OUT "OC.L10N.register(\n \"gpxedit\",\n {\n ";
|
||||
print OUT join( ",\n ", @js_strings );
|
||||
print OUT "\n},\n\"$plurals\");\n";
|
||||
close( OUT );
|
||||
|
||||
# Write json file
|
||||
open( OUT, ">$language.json" );
|
||||
print OUT "{ \"translations\": ";
|
||||
print OUT "{\n ";
|
||||
print OUT join( ",\n ", @js_strings );
|
||||
print OUT "\n},\"pluralForm\" :\"$plurals\"\n}";
|
||||
close( OUT );
|
||||
|
||||
}
|
||||
chdir( $whereami );
|
||||
}
|
||||
}
|
||||
else{
|
||||
print "unknown task!\n";
|
||||
}
|
|
@ -0,0 +1,575 @@
|
|||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the ownCloud Core package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: ownCloud Core 8.0.0\n"
|
||||
"Report-Msgid-Bugs-To: translations@owncloud.org\n"
|
||||
"POT-Creation-Date: 2017-11-10 16:14+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: app.php:42 admin.php:7
|
||||
msgid "GpxEdit"
|
||||
msgstr ""
|
||||
|
||||
#: admin.js:15 gpxedit.js:403 gpxedit.js:1269 admin.php:27 gpxcontent.php:165
|
||||
#: gpxcontent.php:209 gpxcontent.php:255 gpxcontent.php:305
|
||||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: filetypes.js:11
|
||||
msgid "Load in GpxEdit"
|
||||
msgstr ""
|
||||
|
||||
#: filetypes.js:36
|
||||
msgid "Edit with GpxEdit"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:399
|
||||
msgid "Draw a track"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:400
|
||||
msgid "Add a waypoint"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:401
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:402
|
||||
msgid "Nothing to edit"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:404
|
||||
msgid "Nothing to delete"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:405
|
||||
msgid "Validate changes"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:406
|
||||
msgid "Ok"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:407
|
||||
msgid "Discard all changes"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:408 gpxedit.js:416
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:409
|
||||
msgid ""
|
||||
"Drag to move elements,<br/>click to remove a point<br/>hover a middle marker "
|
||||
"and press \"Del\" to cut the line"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:410
|
||||
msgid "Click cancel to undo changes"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:411
|
||||
msgid "Click on an element to delete it"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:412
|
||||
msgid "Click map to add waypoint"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:413
|
||||
msgid "Click to start drawing track"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:414
|
||||
msgid "Click to continue drawing track"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:415
|
||||
msgid "Click last point to finish track"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:417
|
||||
msgid "Cancel drawing"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:418
|
||||
msgid "Finish"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:419
|
||||
msgid "Finish drawing"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:420
|
||||
msgid "Delete last point"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:421
|
||||
msgid "Delete last point drawn"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:486
|
||||
msgid "Track"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:491
|
||||
msgid "Route"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:496
|
||||
msgid "Waypoint"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:501
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:502
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:503
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:505
|
||||
msgid "Lat"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:507
|
||||
msgid "Lon"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:509
|
||||
msgid "Symbol"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:512
|
||||
msgid "No symbol"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:514
|
||||
msgid "Unknown symbol"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:975
|
||||
msgid "Failed to save file"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:993
|
||||
msgid "File successfully saved as"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1104
|
||||
msgid "Impossible to load this file. "
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1105
|
||||
msgid "Supported formats are gpx, kml, csv (unicsv) and jpg."
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1106
|
||||
msgid "Load error"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1209
|
||||
msgid "Tile server \"{ts}\" has been deleted"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1212 gpxedit.js:1216
|
||||
msgid "Failed to delete tile server \"{ts}\""
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1231
|
||||
msgid "Server name or server url should not be empty"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1232 gpxedit.js:1237
|
||||
msgid "Impossible to add tile server"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1236
|
||||
msgid "A server with this name already exists"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1302
|
||||
msgid "Tile server \"{ts}\" has been added"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1305 gpxedit.js:1309
|
||||
msgid "Failed to add tile server \"{ts}\""
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1381
|
||||
msgid "Failed to restore options values"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1382 gpxedit.js:1437
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1436
|
||||
msgid "Failed to save options values"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1503 gpxedit.js:1510 gpxedit.js:1517
|
||||
msgid "Impossible to write file"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1504
|
||||
msgid "write access denied"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1511
|
||||
msgid "folder does not exist"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1518
|
||||
msgid "folder write access denied"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1524
|
||||
msgid "Bad file name, must end with \".gpx\""
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1636
|
||||
msgid "Load file (gpx, kml, csv, png)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1653
|
||||
msgid "Load folder"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1665
|
||||
msgid "There is nothing to save"
|
||||
msgstr ""
|
||||
|
||||
#: gpxedit.js:1670
|
||||
msgid "Where to save"
|
||||
msgstr ""
|
||||
|
||||
#: leaflet.js:5
|
||||
msgid "left"
|
||||
msgstr ""
|
||||
|
||||
#: leaflet.js:5
|
||||
msgid "right"
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:8
|
||||
msgid "Extra symbols"
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:9
|
||||
msgid "Those symbols will be available in GpxEdit."
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:10
|
||||
msgid ""
|
||||
"Keep in mind that only symbol names are saved in gpx files. Other programs "
|
||||
"will display default symbol if they do not know a symbol name."
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:34
|
||||
msgid "Recommended image ratio : 1:1"
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:35
|
||||
msgid "Recommended image resolution : between 24x24 and 50x50"
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:36
|
||||
msgid "Accepted image format : png"
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:38
|
||||
msgid "New symbol name"
|
||||
msgstr ""
|
||||
|
||||
#: admin.php:42
|
||||
msgid "Upload new symbol image"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:4
|
||||
msgid "Load and save files"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:5 gpxcontent.php:106
|
||||
msgid "Options"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:6 gpxcontent.php:316
|
||||
msgid "About GpxEdit"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:24
|
||||
msgid "Load file"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:25
|
||||
msgid "Load directory"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:27
|
||||
msgid "all files"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:35
|
||||
msgid "Save"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:37
|
||||
msgid "File name"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:40
|
||||
msgid "Metadata"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:42
|
||||
msgid "Track name (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:44
|
||||
msgid "Description (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:46
|
||||
msgid "Link text (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:48
|
||||
msgid "Link URL (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:51
|
||||
msgid "Choose directory and save"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:54
|
||||
msgid "Clear map"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:65
|
||||
msgid "loading file"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:69
|
||||
msgid "exporting file to gpx"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:73
|
||||
msgid "saving file"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:109
|
||||
msgid "Default symbol for waypoints when value is not set"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:110
|
||||
msgid "Waypoint style"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:114
|
||||
msgid "Tooltip"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:116
|
||||
msgid "on hover"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:117
|
||||
msgid "permanent"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:119
|
||||
msgid "Units (needs page reload to take effect)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:121
|
||||
msgid "Metric"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:122
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:123
|
||||
msgid "Nautical"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:125 gpxcontent.php:127
|
||||
msgid "Use defined symbols instead of default symbol"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:126
|
||||
msgid "Use defined symbols"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:129
|
||||
msgid "Clear map before loading"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:131
|
||||
msgid "Approximate new points elevations"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:135
|
||||
msgid "Custom tile servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:138 gpxcontent.php:178 gpxcontent.php:222 gpxcontent.php:268
|
||||
msgid "Server name"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:139 gpxcontent.php:179 gpxcontent.php:223 gpxcontent.php:269
|
||||
msgid "For example : my custom server"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:140 gpxcontent.php:180 gpxcontent.php:224 gpxcontent.php:270
|
||||
msgid "Server url"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:141 gpxcontent.php:225
|
||||
msgid "For example : http://tile.server.org/cycle/{z}/{x}/{y}.png"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:142 gpxcontent.php:182 gpxcontent.php:226 gpxcontent.php:272
|
||||
msgid "Min zoom (1-20)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:144 gpxcontent.php:184 gpxcontent.php:228 gpxcontent.php:274
|
||||
msgid "Max zoom (1-20)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:146 gpxcontent.php:190 gpxcontent.php:236 gpxcontent.php:286
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:149
|
||||
msgid "Your tile servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:175
|
||||
msgid "Custom overlay tile servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:181 gpxcontent.php:271
|
||||
msgid "For example : http://overlay.server.org/cycle/{z}/{x}/{y}.png"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:186 gpxcontent.php:276
|
||||
msgid "Transparent"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:188 gpxcontent.php:278
|
||||
msgid "Opacity (0.0-1.0)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:193
|
||||
msgid "Your overlay tile servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:219
|
||||
msgid "Custom WMS tile servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:230 gpxcontent.php:280
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:232 gpxcontent.php:282
|
||||
msgid "WMS version"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:234 gpxcontent.php:284
|
||||
msgid "Layers to display"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:239
|
||||
msgid "Your WMS tile servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:265
|
||||
msgid "Custom WMS overlay servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:289
|
||||
msgid "Your WMS overlay tile servers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:318
|
||||
msgid "Features overview"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:320
|
||||
msgid "Draw, edition and deletion buttons are in the map's bottom-left corner."
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:322
|
||||
msgid "You can draw a line or add a marker."
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:324
|
||||
msgid ""
|
||||
"If you click on a line or a marker, a popup pops and let you set the object "
|
||||
"properties."
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:329
|
||||
msgid "After a click on \"edition\" button, in edition mode, you can"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:332
|
||||
msgid "move markers"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:333
|
||||
msgid "move line points"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:334
|
||||
msgid "click on a line point to remove it"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:335
|
||||
msgid ""
|
||||
"hover a \"middle marker\" (between two line points) and press \"Del\" to cut "
|
||||
"the line in two (this action cannot be canceled)"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:338
|
||||
msgid "Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:340
|
||||
msgid "toggle sidebar"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:341
|
||||
msgid "toggle minimap"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:344
|
||||
msgid "Documentation"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:352
|
||||
msgid "Source management"
|
||||
msgstr ""
|
||||
|
||||
#: gpxcontent.php:363
|
||||
msgid "Authors"
|
||||
msgstr ""
|
Loading…
Reference in New Issue