Merge pull request #32 from stevage/bug-4258-4259
authorRichard Fairhurst <richard@systemeD.net>
Sun, 4 Mar 2012 14:30:36 +0000 (06:30 -0800)
committerRichard Fairhurst <richard@systemeD.net>
Sun, 4 Mar 2012 14:30:36 +0000 (06:30 -0800)
Fix #4258 and #4258 by adding styles for

30 files changed:
build.xml
l10n/locale/ast/help_dialog.properties [new file with mode: 0644]
l10n/locale/br/help_dialog.properties [new file with mode: 0644]
l10n/locale/en_US/help_dialog.properties
l10n/locale/es_ES/p2_main.properties [new file with mode: 0644]
l10n/locale/fr_FR/help_dialog.properties
l10n/locale/fr_FR/p2_main.properties
l10n/locale/ja_JP/help_dialog.properties
l10n/locale/mk/help_dialog.properties
l10n/locale/ms/help_dialog.properties
l10n/locale/nb_NO/p2_main.properties
l10n/locale/nl_NL/help_dialog.properties
l10n/locale/nn_NO/p2_main.properties
l10n/locale/ru/help_dialog.properties
l10n/locale/sq/help_dialog.properties [new file with mode: 0644]
l10n/locale/tr/p2_main.properties [new file with mode: 0644]
l10n/locale/vi/help_dialog.properties
l10n/locale/zh_CN/p2_main.properties [new file with mode: 0644]
net/systemeD/controls/Spinner.as [new file with mode: 0644]
net/systemeD/halcyon/connection/XMLConnection.as
net/systemeD/halcyon/styleparser/RuleSet.as
net/systemeD/halcyon/styleparser/Style.as
potlatch2.mxml
resources/map_features/buildings.xml
resources/map_features/landuse.xml
tests/fakeroot/embedded [new symlink]
tests/src/net/systemeD/halcyon/connection/NodeTest.as
tests/src/net/systemeD/halcyon/connection/actions/AddMemberToRelationActionTest.as
tests/src/net/systemeD/halcyon/connection/actions/JoinNodeActionTest.as
tests/src/net/systemeD/halcyon/connection/actions/SetTagActionTest.as

index 45c5ee655a625dc8cc461823043f33a03a8c6eb6..179ca4e63d1b46383b8b67e5c40f205c3afb7fb4 100644 (file)
--- a/build.xml
+++ b/build.xml
        
       <!-- Sets java.awt.headless=true so font compilation works in headless environments -->
       <compiler.headless-server>true</compiler.headless-server>
-      <target-player>10.0.0</target-player>
+      <target-player>10.2.0</target-player>
      </mxmlc>
      
      <echo message="The ${test.application.name}.swf test runner has been created in ${test.bin.dir}" />
 
 
         <source-path path-element="${basedir}/l10n/locale/@{locale}"/>
+        <source-path path-element="${basedir}/l10n/locale/en_US"/>
         <include-resource-bundles>help_dialog</include-resource-bundles>
         <include-resource-bundles>p2_main</include-resource-bundles>
 
     <ac:for param="dirname">
       <path>
         <dirset dir="${basedir}/l10n/locale/">
+          <include name="*"/>
           <exclude name="bundles"/>
-          <include name="??_??"/>
         </dirset>
       </path>
       <sequential>
diff --git a/l10n/locale/ast/help_dialog.properties b/l10n/locale/ast/help_dialog.properties
new file mode 100644 (file)
index 0000000..7cfb7ba
--- /dev/null
@@ -0,0 +1,26 @@
+# Messages for Asturian (Asturianu)
+# Exported from translatewiki.net
+# Author: Xuacu
+
+help.gettingStarted=Primeros pasos
+help.welcome=Bienveníos
+help.whyOpenstreetmap=<p><b>¿Por qué OpenStreetMap?</b> OSM ye un serviciu de mapes nel que tolos datos s'anueven constantemente y los edita xente como tu. La ventaya obvia ye que se pue usar llibremente, pero tamién ye un recursu importante na cartografía de crisis (por exemplu, la utilización de datos d'OSM pa coordinar los esfuerzos de salvamentu nel terremotu d'Haití). La precisión de los datos ye crítica, y ¡esperamos que puedas ufrir voluntariamente parte del to tiempu!</p>
+help.activeMembers=<p><b>+ Pa los miembros activos d'OpenStreetMap</b>, anicia sesión en OSM enantes d'editar</p>
+help.newMembers=<p><b>+ Pa miembros nuevos</b>, por favor visita <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> pa crear una cuenta, anicia sesión, y llueu vuelvi equí pa permitir l'accesu a Potlatch 2 y empezar a editar.</p>
+help.introText=<p><b>Potlatch2</b> ye un editor d'OpenStreetMap (OSM) que te permite editar direutamente per aciu del sitiu Web {0}.</p>
+help.introduction=Introducción
+help.controls=Controles
+help.interfaceControls=Controles de la interfaz
+help.mapBackground=<p>Escueyi'l fondu del mapa d'unu de los elementos de la llista o amiesta'l to propiu ficheru vectorial.</p>
+help.colourStyle=<p>Escueyi l'estilu col que quies ver el mapa. Los colores y l'estilu xeneral cambien y tamién incluyen otres opciones como cadarma d'alambre (wireframe).</p>
+help.gps=GPS
+help.createOsmMap=<p>Crear los datos del mapa OSM usando les traces GPS d'otra xente como fondu</p>
+help.myGps=MyGPS
+help.displayGps=<p>Amuesa les traces GPS que xubisti anteriormente a OpenStreetMap.</p>
+help.undoRedo=Desfacer / Volver a facer
+help.madeMistake=<p>¿T'enquivocasti? Val con calcar desfacer y/o volver a facer pa correxir les ediciones.</p>
+help.help=Ayuda
+help.guideInfomation=<p>Trai esta guía en casu de necesitar dalguna información cuando principies a editar.</p>
+help.save=Guardar
+help.shortcuts=Atayos
+help.keyboardShortcuts=Atayos de tecláu
diff --git a/l10n/locale/br/help_dialog.properties b/l10n/locale/br/help_dialog.properties
new file mode 100644 (file)
index 0000000..b2e4dc1
--- /dev/null
@@ -0,0 +1,15 @@
+# Messages for Breton (Brezhoneg)
+# Exported from translatewiki.net
+# Author: Fulup
+
+help.gettingStarted=Kregiñ ganti
+help.welcome=Degemer mat
+help.introduction=Digoradur
+help.gps=GPS
+help.myGps=MyGPS
+help.undoRedo=Dizober / Adober
+help.help=Skoazell
+help.save=Enrollañ
+help.tag=Tikedenn
+help.shortcuts=Berradennoù
+help.keyboardShortcuts=Berradennoù klavier
index afd7e22ce023e41d3e0dfade8540c97c771ec4e1..3c795c2c2140d1a4bc4caa0ca39c05637a223cd9 100644 (file)
@@ -24,12 +24,12 @@ help.addingFeatures = Adding Features
 help.addingFeaturesText = <p><i>Before you begin, the first rule you need to know is the use of proprietary data. Data from copyrighted maps or any other proprietary data is strictly prohibited! Copying, tracing or any reproduction of copyrighted work is not allowed! (Source: <a href="http://wiki.openstreetmap.org/wiki/Copyright" target="_blank">Copyright - OpenStreetMap Wiki</a>)</i></p>\n  <p></p>\n  <p>Linear features such as streets, footpaths, railways and building outlines will hereby be referred to as <b>ways</b>.</p>\n  <p>If you suddenly realize your sidebar with all the icons have gone missing, it's because you have a feature selected on the map. Simply deselect by clicking on a blank area of the map to bring up the icons again.</p>\n            <p><b>To create a point (or node)</b>, just drag and drop the appropriate icon from the sidebar onto the map. See Add POIs to learn more about creating a POI (Point of Interest)</p>\n            <p><b>To create a way</b>, begin by clicking on the map at its start point, then click at each successive point. Double-click to finish the line or press Enter.</p>\n            <p><b>To create a polygon</b>, begin by clicking on the map at its start point, then click at each successive point (similar to creating a way), and finish by clicking on the very first point to close the polygon.</p>\n            <p>Remember, if you make a mistake, you can always hit the Undo button. Pressing the Esc key will undo all your edits for the current feature.</p>
 help.editBeg = Edit (Beg.)
 help.editingFeatures = Editing Features (Beginner)
-help.editingFeaturesText = <p><b>To add a point to an existing way</b>, select the way and shift+click at the desired location.</p>\n    <p><b>To delete a point</b>, select the point and click the Delete Item button in the bottom right corner or press Delete (or Backspace) on your keyboard.</p>\n  <p><b>To delete a way</b>, select the way and click the Delete Item button in the bottom right corner or press shift+Delete (or shift+Backspace) on your keyboard.</p>\n    <p><b>To move a point</b>, click and drag the point.</p>\n   <p><b>To move a way</b>, click and drag the entire feature (hint: grab a segment where you won't accidentally move a node).</p>\n  <p><b>To extend a way</b>, click on one of the end points of the way. Then continue drawing as usual.</p>\n    <p><b>To add a new way extending from an existing way</b>, shift+click on one of the end points of the way. Then continue drawing as usual.</p>
+help.editingFeaturesText = <p><b>To add a point to an existing way</b>, select the way and shift+click at the desired location.</p>\n    <p><b>To delete a point</b>, select the point and click the Delete Item button in the bottom right corner or press Delete (or Backspace) on your keyboard.</p>\n  <p><b>To delete a way</b>, select the way and click the Delete Item button in the bottom right corner or press shift+Delete (or shift+Backspace) on your keyboard.</p>\n    <p><b>To move a point</b>, click and drag the point.</p>\n   <p><b>To move a way</b>, click and drag the entire feature. Hint: Grab a segment where you won't accidentally move a node.</p>\n  <p><b>To extend a way</b>, click on one of the end points of the way. Then continue drawing as usual.</p>\n    <p><b>To add a new way extending from an existing way</b>, shift+click on one of the end points of the way. Then continue drawing as usual.</p>
 help.editAdv = Edit (Adv.)
 help.editingFeaturesAdv = Editing Features (Advanced)
-help.editingFeaturesAdvText =  <p><b>To split a way</b>, select the point at which you want to cut, and click the Scissor tool or press X on your keyboard. (Hint: Add a node first in order to cut between nodes.)</p>\n            <p><b>To make a junction between two ways</b>, draw as usual until you need to make a junction. Then as you move your mouse over another way, the points will light up blue. Click on one of the blue points or any other desired location on the way to make a junction.</p>\n            <p><b>To disconnect a junction</b>, select the point on the way you wish to alter. The press - on your keyboard to remove the point.</p>\n            <p><b>To reverse the direction of a way</b>, click the Reverse Direction button in the bottom right corner. The direction of a way is only a concern for those features with a "oneway" tag - oneway streets, coastlines, islands, and so on.</p>\n            <p><b>To create a way running parallel</b>, select the way and click the Create Parallel Way button in the bottom right corner or press P on your keyboard.</p>\n     <p><b>To create a way that shares nodes with an existing way</b>, start drawing, click the first two shared nodes, then press F to automatically follow the existing way.</p>\n            <p><i>Visit the <a href="http://wiki.openstreetmap.org/wiki/Potlatch2/Primer" target="_blank">Potlatch 2 Primer</a> on the OpenStreetMap wiki for even more advanced editing methods and conventions.</i></p>
+help.editingFeaturesAdvText =  <p><b>To split a way</b>, select the point at which you want to cut, and click the Scissor tool or press X on your keyboard. Hint: Add a node first in order to cut between nodes.</p>\n            <p><b>To make a junction between two ways</b>, draw as usual until you need to make a junction. Then as you move your mouse over another way, the points will light up blue. Click on one of the blue points or any other desired location on the way to make a junction.</p>\n            <p><b>To disconnect a junction</b>, select the point on the way you wish to alter. The press - on your keyboard to remove the point.</p>\n            <p><b>To reverse the direction of a way</b>, click the Reverse Direction button in the bottom right corner. The direction of a way is only a concern for those features with a "oneway" tag - oneway streets, coastlines, islands, and so on.</p>\n            <p><b>To create a way running parallel</b>, select the way and click the Create Parallel Way button in the bottom right corner or press P on your keyboard.</p>\n     <p><b>To create a way that shares nodes with an existing way</b>, start drawing, click the first two shared nodes, then press F to automatically follow the existing way.</p>\n            <p><i>Visit the <a href="http://wiki.openstreetmap.org/wiki/Potlatch2/Primer" target="_blank">Potlatch 2 Primer</a> on the OpenStreetMap wiki for even more advanced editing methods and conventions.</i></p>
 help.tag = Tag
 help.taggingFeatures = Tagging Features
-help.taggingFeaturesText = <p>With Potlatch 2, tagging features has become relatively easy with its use of graphical menus and dedicated fields/icons.</p>\n          <p><b>Tagging a feature</b></p>\n          <p>Select the point or way that you wish to edit, adn choose the appropriate tag from the left sidebar. After tagging the feature, some basic fields should appear such as Name, Speed Limit, and Width, depending on the tag you gave. Fill these out as best you can.</p><p>Advanced users may notice the absence of a few tags and tag values they occasionally use. If this is the case, click on the Advanced tab at the bottom of the sidebar and edit/add as necessary.</p>\n          <p>The OpenStreetMap wiki also provides an <a href="http://wiki.openstreetmap.org/wiki/Map_features" target="_blank">extensive list of tags and tag values</a>. Please refer back to the OSM documentation if you are unsure of which tag to use.</p>
+help.taggingFeaturesText = <p>With Potlatch 2, tagging features has become relatively easy with its use of graphical menus and dedicated fields/icons.</p>\n          <p><b>Tagging a feature</b></p>\n          <p>Select the point or way that you wish to edit, and choose the appropriate tag from the left sidebar. After tagging the feature, some basic fields should appear such as Name, Speed Limit, and Width, depending on the tag you gave. Fill these out as best you can.</p><p>Advanced users may notice the absence of a few tags and tag values they occasionally use. If this is the case, click on the Advanced tab at the bottom of the sidebar and edit/add as necessary.</p>\n          <p>The OpenStreetMap wiki also provides an <a href="http://wiki.openstreetmap.org/wiki/Map_features" target="_blank">extensive list of tags and tag values</a>. Please refer back to the OSM documentation if you are unsure of which tag to use.</p>
 help.shortcuts = Shortcuts
 help.keyboardShortcuts = Keyboard Shortcuts
diff --git a/l10n/locale/es_ES/p2_main.properties b/l10n/locale/es_ES/p2_main.properties
new file mode 100644 (file)
index 0000000..c93299f
--- /dev/null
@@ -0,0 +1,13 @@
+# Messages for Spanish (Español)
+# Exported from translatewiki.net
+# Author: Armando-Martin
+
+oauth.tryAccessButton=Prueba de acceso
+oauth.cancelButton=Cancelar
+save.editDescription=Introduzca una descripción de sus ediciones. Se utilizará para dar a otros mapeadores una idea de los cambios que está haciendo.
+styleSelector.editButton=Editar...
+backgroundSelector.editButton=Editar...
+backgroundSelector.vectorButton=Archivo vectorial...
+options.tbcheck=Mostrar el cuadro de herramientas
+options.cursorcheck=Usar los cursores personalizados
+options.ok=Aceptar
index 685e53ae2f4eabd27b493ea10bd6adba689988f5..214e844751c16da9ddf228b1841332db414547c5 100644 (file)
@@ -1,5 +1,38 @@
 # Messages for French (Français)
 # Exported from translatewiki.net
+# Author: Crochet.david
+# Author: Verdy p
 
-help.gettingStarted=De Commencer
+help.gettingStarted=Comment bien commencer
 help.welcome=Bienvenue
+help.whyOpenstreetmap=<p><b>Pourquoi OpenStreetMap ?</b> OSM est un service de cartographie dans lequel toutes les données sont constamment mises à jour et modifiées par des personnes ordinaires telles que vous. L’avantage évident est qu’OSM est libre et gratuit à utiliser, mais OSM est également devenu un acteur majeur de la cartographie des crises (par ex., utilisation des données OSM pour coordonner les efforts humanitaires suite au tremblement de terre en Haïti). La précision de ces données est critique et nous espérons que vous serez capable de contribuer de façon bénévole un peu de votre temps !</p>
+help.activeMembers=<p><b>+ Pour les membres actifs d’OpenStreetMap</b>, veuillez vous connecter à OSM avant d’effectuer vos modifications.</p>
+help.newMembers=<p><b>+ Pour les nouveaux membres</b>, veuillez visiter <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> pour créer un compte, connectez-vous, puis revenez ici pour autoriser l’accès par Potlatch 2 avant de commencer vos modifications.</p>
+help.introText=<p><b>Potlatch 2</b> est un éditeur pour OpenStreetMap (OSM) qui vous permet d’apporter des modifications directement via le site Web de {0}.</p>
+help.introduction=Introduction
+help.controls=Contrôles
+help.interfaceControls=Contrôles de l’interface
+help.mapBackground=<p>Choisissez votre fond de carte parmi les éléments de la liste ou ajoutez votre propre fichier vectoriel.</p>
+help.colourStyle=<p>Choisissez le style dans lequel vous souhaitez afficher la carte. Les couleurs et le style général varient et comprennent également d’autres options telles que la vue en fil de fer.</p>
+help.gps=GPS
+help.createOsmMap=<p>Créez des données de carte OSM en utilisant en calque de fond les traces GPS fournies par d’autres personnes.</p>
+help.myGps=MonGPS
+help.displayGps=<p>Affichez les traces GPS que vous avez téléversées précédemment sur OpenStreetMap.</p>
+help.undoRedo=Défaire / Refaire
+help.madeMistake=<p>Vous avez commis une erreur ? Cliquez simplement sur Défaire ou Refaire pour corriger vos modifications.</p>
+help.help=Aide
+help.guideInfomation=<p>Fournit ce guide au cas où vous auriez besoin d’informations lorsque vous débutez dans vos modifications.</p>
+help.save=Enregistrer
+help.addingFeatures=Ajout d’objets sur la carte
+help.addingFeaturesText=<p><i>Avant de commencer, la première règle que vous devez savoir concerne l’utilisation des données propriétaires. L’insertion de données cartographiques protégées par le droit d’auteur (copyright) ou des droits voisins (notamment le droit des bases de données), ou de toute autre donnée propriétaire n’est pas autorisée ! La copie, le retraçage ou toute reproduction d’œuvres protégées sont interdits ! (Source : <a href="http://wiki.openstreetmap.org/wiki/Copyright" target="_blank">Copyright - OpenStreetMap Wiki</a>)</i></p>\n<p></p>\n<p>Les objets linéaires tels que des rues, sentiers pédestres, chemins de fer et contours de bâtis seront ci-après nommés comme des <b>chemins</b>.</p>\n<p>Si vous vous apercevez soudainement que votre barre latérale d’icônes a disparu, c’est parce que vous avez un objet sélectionné sur la carte. Désélectionnez-le tout simplement en cliquant sur une zone vide de la carte pour faire apparaître les icônes à nouveau.</p>\n<p><b>Pour créer un point (ou nœud)</b>, il suffit de glisser et déplacer l’icône appropriée de la barre latérale sur la carte. Consultez « Ajouter des POIs » pour en savoir plus sur la création d’un POI (point d’intérêt)</p>\n<p><b>Pour créer un chemin</b>, commencez en cliquant sur la carte à son point de départ, puis cliquez sur chaque point successif. Double-cliquez pour terminer le tracé ou appuyez sur Entrée.</p>\n<p><b>Pour créer un polygone</b>, commencez en cliquant sur la carte à son point de départ, puis cliquez sur chaque point successif (de façon similaire à la création d’un chemin) et terminez en cliquant sur le premier point pour fermer le polygone.</p>\n<p>N’oubliez pas, si vous faites une erreur, vous pouvez toujours frapper le bouton Annuler. L’appui sur la touche Échap annulera toutes vos modifications sur l’objet actuellement sélectionné.</p>
+help.editBeg=Modifs. (déb.)
+help.editingFeatures=Fonctionnalités de modification (débutant)
+help.editingFeaturesText=<p><b>Pour ajouter un point à un chemin existant</b>, sélectionnez le chemin et cliquez en pressant la touche Maj à l’endroit voulu.</p>\n<p><b>Pour supprimer un point</b>, sélectionnez le point et cliquez sur le bouton « Supprimer l’élément » dans le coin inférieur droit ou appuyez sur la touche Suppr (ou Retour arrière) de votre clavier.</p>\n<p><b>Pour supprimer un chemin</b>, sélectionnez le chemin et cliquez le bouton « Supprimer l’élément » dans le coin inférieur droit ou appuyez sur les touches Maj+Suppr (ou Maj+Retour arrière) de votre clavier.</p>\n<p><b>Pour déplacer un point</b>, cliquez et faites glisser le point.</p>\n<p><b>Pour déplacer un chemin</b>, cliquez et faites glisser l’élément entier (Astuce : prenez un segment où vous ne déplacerez pas accidentellement un nœud).</p>\n<p><b>Pour étendre un chemin</b>, cliquez sur l’un des points d’extrémité du chemin. Puis continuez de dessiner les autres points comme d’habitude.</p>\n<p><b>Pour ajouter un nouveau chemin connecté à un chemin existant</b>, cliquez sur un des points du chemin en pressant la touche Maj. Puis continuez de dessin comme d'habitude.</p>
+help.editAdv=Modifs. (av.)
+help.editingFeaturesAdv=Fonctionnalités de modification (avancées)
+help.editingFeaturesAdvText=<p><b>Pour scinder un chemin</b>, sélectionnez le point auquel vous souhaitez couper et cliquez sur les Ciseaux de la boîte d’outils ou tapez la touche X de votre clavier. (Astuce : ajoutez d’abord un premier nœud sur le chemin afin de couper entre deux nœuds existants.)</p>\n<p><b>Pour effectuer une jonction entre deux chemins</b>, tracez comme d’habitude jusqu’à ce que vous deviez faire la jonction. Puis lorsque vous déplacerez votre souris sur un autre chemin, ses points s’allumeront en bleu. Cliquez sur un des points bleus ou tout autre endroit désiré sur le chemin pour réaliser la jonction.</p>\n<p><b>Pour déconnecter une jonction</b>, sélectionnez le point sur le chemin que vous souhaitez modifier. Puis pressez la touche Moins (−) de votre clavier pour ôter le point du chemin.</p>\n<p><b>Pour inverser la direction d’un chemin</b>, cliquez sur le bouton « Inverser la direction » en bas à droite. La direction d'un chemin n’a d’intérêt que pour des objets avec une balise <code>oneway</code> — rues à sens unique, lignes de côtes, îles, etc.</p>\n<p><b>Pour créer un chemin parallèle</b>, sélectionnez le chemin et cliquez sur le bouton « Créer un chemin parallèle » dans le coin inférieur droit ou pressez la touche P de votre clavier.</p>\n<p><b>Pour créer un chemin qui partage des nœuds avec un chemin existant</b>, commencez le tracé normalement, cliquez sur les deux premiers nœuds partagés, puis appuyez sur la touche F de votre clavier pour suivre automatiquement les nœuds successifs du chemin existant.</p>\n<p><i>Visitez <a href="http://wiki.openstreetmap.org/wiki/Potlatch2/Primer" target="_blank">Potlatch 2 Primer</a> sur le wiki d’OpenStreetMap pour connaître des méthodes et conventions de modification encore plus avancées.</i></p>
+help.tag=Balise
+help.taggingFeatures=Fonctionnalité de balisage
+help.taggingFeaturesText=<p>Avec Potlatch 2, le balisage d’objets est devenu relativement facile grâce à son utilisation de menus graphiques et de champs/icônes dédiés.</p>\n<p><b>Balisage d‘un objet</b></p>\n<p>Sélectionnez le point ou le chemin que vous souhaitez modifier, et choisissez la balise appropriée dans la barre latérale gauche. Après le balisage de l’objet, certains champs de base devraient apparaître tels que le nom, la limite de vitesse et la largeur, selon la balise vous avez donnée. Remplissez-les autant que vous le pouvez.</p>\n<p>Des utilisateurs avancés peuvent remarquer l’absence de quelques balises et de valeurs de balises qu’ils utilisent parfois. Si c’est le cas, cliquez sur l’onglet « Options avancées » en bas de la barre latérale et modifiez/ajoutez les balises selon vos besoins.</p>\n<p>Le wiki d’OpenStreetMap fournit également une <a href="http://wiki.openstreetmap.org/wiki/Map_features" target="_blank">liste exhaustive et documentée des balises et des valeurs de balise</a>. Veuillez vous référer à la documentation d’OSM si vous ne savez pas quelle balise utiliser.</p>
+help.shortcuts=Raccourcis
+help.keyboardShortcuts=Raccourcis clavier
index 4621b26994526d11b901bfa86fbe0196b30f111a..73d5e856ff9005672241a3c405bfec2cf5d214d0 100644 (file)
@@ -1,10 +1,12 @@
 # Messages for French (Français)
 # Exported from translatewiki.net
+# Author: Verdy p
 
 main.undo=Défaire
 main.redo=Refaire
 main.background=Arrière-plan
 main.map_style=Style de Carte
+main.gpsButton=Données GPS
 main.gps_data=GPS Informations
 main.my_tracks=Mes Pistes
 main.clear_gps=Effacer
@@ -12,3 +14,31 @@ main.help=Assistance
 main.options=Options
 main.save=Enregistrer
 tag_viewer.dndprompt=Ajouter de nouveaux points en les faisant glisser sur la carte
+toolbox.delete_node=Supprimer le nœud (Suppr)
+toolbox.delete_area=Supprimer la zone (Maj+Suppr)
+toolbox.delete_way=Supprimer le chemin (Maj+Suppr)
+toolbox.delete_item=Supprimer l’élément
+toolbox.reverse_direction=Inverser le chemin (V)
+toolbox.split_way=Scinder le chemin (X)
+toolbox.merge_ways=Fusionner les chemins
+toolbox.straighten_way=Aligner les nœuds
+toolbox.make_circular=Placer les nœuds en cercle
+toolbox.make_right_angled=Rendre une forme orthogonale (Q)
+toolbox.create_parrallel_way=Créer un chemin parallèle (P)
+oauth.gotLinkBox=Cliquez sur le lien ci-dessous pour ouvrir une page web où il vous sera demandé d’autoriser l’accès par cette application.
+oauth.authorized=Une fois que vous aurez autorisé l’accès, cliquez le bouton « Essayer l’accès » ci-dessous
+oauth.deniedLabel=<b>L’accès a été refusé, veuillez vérifier et essayer à nouveau</b>
+oauth.rememberMe=Se souvenir de moi
+oauth.permFail=<p>Le serveur a rejeté les informations d’identification de cette application — un lien d’autorisation n’a pas pu être obtenu.</p>\n<p><b>L’accès OAuth ne sera pas possible.</b></p>\n<p>Contactez le fournisseur de l’application pour savoir ce qui se passe.</p>
+oauth.tempFail=Un problème est survenu en contactant le serveur afin d’obtenir l’autorisation. Ceci peut être une erreur temporaire, veuillez réessayer plus tard.
+oauth.tryAccessButton=Essayer l’accès
+oauth.cancelButton=Annuler
+save.editDescription=Veuillez entrer une description de vos modifications. Cela servira à donner aux autres cartographes une idée des changements que vous effectuez.
+styleSelector.editButton=Modifier...
+backgroundSelector.dim=assombrir
+backgroundSelector.sharpen=accentuer le contraste
+backgroundSelector.editButton=Modifier...
+backgroundSelector.vectorButton=Fichier vectoriel...
+options.tbcheck=Afficher la boîte à outils
+options.cursorcheck=Utiliser les curseurs personnalisés
+options.ok=Valider
index 3996cded42402acd56286e5d7e162b463c7d3e02..1ce1082984aa002c42a0e659f463d0a6ee560df5 100644 (file)
@@ -4,7 +4,7 @@
 help.gettingStarted=はじめよう
 help.welcome=ようこそ
 help.whyOpenstreetmap=<p><b>なぜ OpenStreetMapなのか?</b> OSM は、すべてのデータが、あなたのような人々の手で、いつも更新され、編集される地図作成サービスです。明らかなメリットは、自由かつ無料でつかえるということです。でも、それだけにとどまらず、震災時のマッピングにも活躍するのです。 (例 OSMを東日本大震災の救援活動に使用したsinsai.infoや、ハイチ大震災の救援活動のように)。このデータの正確さは非常に重要です。そして、あなたがボランティアとして、少しの時間を活動に当ててくれることを希望しています!</p>
-help.activeMembers=<p><b>そして、OpenStreetMapメンバーのみなさんは</b>, 編集前にOSM.orgにサインインしてください。</b></p>
+help.activeMembers=<p><b>そして、OpenStreetMapメンバーのみなさんは</b>, 編集前にOSM.orgにサインインしてください。</p>
 help.newMembers=<p><b>そして、新しいメンバーのみんさん</b>! まず、 <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> へ、行って本家アカウントを作ってください。そして、ログインしてください。アカウント作成にはライセンスと規約に同意いただく必要があります。そして、ここにもどってきて、Potlatch2 で編集しましょう。</p>
 help.introText=<p><b>Potlatch2</b> は、 OpenStreetMap (OSM)エディターです。これは、直接{0}のWebサイトから編集できるようにするものです。</p>
 help.introduction=イントロ
index 8f54729530d5a325138d940628c24ef6786e970a..fe85ed036668fc836f1f03ddab196f2ac61af636 100644 (file)
@@ -5,7 +5,7 @@
 help.gettingStarted=Како да почнете
 help.welcome=Добредојдовте
 help.whyOpenstreetmap=<p><b>Зошто OpenStreetMap?</b> OSM е картографска служба каде сите податоци постојано се подновуваат, а уредувањата ги вршат обични луѓе како Вас. Очигледната предност е тоа што е бесплатна за употреба, но денес е од голема важност и при справувањето со вонредни состојби (на пр. кога нашите податоци се користеа за усогласување на дејствата за помош во земјотересот на Хаити). Точноста на податоците е од суштинско значење, па се надеваме дека ќе можете да посветите дел од Вашето време!</p>
-help.activeMembers=<p><b>+ Активни членови на OpenStreetMap:</b>најавете се на OSM пред да уредувате</b></p>
+help.activeMembers=<p><b>+ Активни членови на OpenStreetMap:</b>најавете се на OSM пред да уредувате.</p>
 help.newMembers=<p><b>+ Нови членови:</b>посетете го <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> и направете сметка, најавете се, а потоа вратете се тука за да пристапите на Potlatch 2 и да почнете со уредување.</p>
 help.introText=<p><b>Potlatch2</b> е уредник за OpenStreetMap (OSM) што ви овозможува да уредувате непосредно преку страницата {0}.</p>
 help.introduction=Вовед
index f0a7f79fb0aaf29ccec354926ddb96147946f27c..ca9f2939a91e22fc27025f58f3c61c5a0909a3a6 100644 (file)
@@ -5,7 +5,7 @@
 help.gettingStarted=Permulaan
 help.welcome=Selamat Datang
 help.whyOpenstreetmap=<p><b>Mengapa pilih OpenStreetMap?</b> OSM ialah sebuah perkhidmatan pemetaan di mana semua data sentiasa dikemaskinikan dan disunting oleh orang keramaian seperti anda. Yang bagusnya sekali, anda boleh menggunakannya secara percuma, tetapi ia juga telah memainkan peranan penting dalam pemetaan sewaktu bencana (cth. penggunaan data OSM untuk menyelaras usaha menyelamat di Haiti setelah dilanda gempa bumi). Ketepatan data ini adalah amat penting, dan kami berharap anda anda dapat meluangkan sedikit masa anda!</p>
-help.activeMembers=<p><b>+ Bagi ahli-ahli OpenStreetMap yang aktif</b>, sila daftar masuk ke dalam OSM sebelum menyunting</b></p>
+help.activeMembers=<p><b>+ Bagi ahli-ahli OpenStreetMap yang aktif</b>, sila daftar masuk ke dalam OSM sebelum menyunting.</p>
 help.newMembers=<p><b>+ Bagi ahli baru</b>, sila lawati <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> untuk membuka akaun, log masuk, kemudian balik ke sini untuk membenarkan akses kepada Potlatch 2 dan mula menyunting.</p>
 help.introText=<p><b>Potlatch2</b> ialah sebuah alat penyuntingan OpenStreetMap (OSM) yang membolehkan anda untuk membuat suntingan secara langsung melalui tapak sesawang {0}.</p>
 help.introduction=Pengenalan
index f88e75e2dc7bef8ccbd42f271e28da6f3db41678..fe2fe918a511018ac7405918dbd90ef75aba8936 100644 (file)
@@ -7,7 +7,7 @@ main.undo=Angre
 main.redo=Gjør om
 main.background=Bakgrunn
 main.map_style=Kartstil
-main.gpsButton=GPS Data
+main.gpsButton=GPS-data
 main.gps_data=GPS-data
 main.my_tracks=Mine spor
 main.clear_gps=Tøm
index dc50e81b282340bdf20cf7459c5008b244557160..4ac19a4c6946b2458014c3bb06cf7c91e2c3ead4 100644 (file)
@@ -6,7 +6,7 @@
 help.gettingStarted=Aan de slag
 help.welcome=Welkom
 help.whyOpenstreetmap=<p><b>Waarom OpenStreetMap?</b> OSM is een kaartdienst op internet waarin gegevens voortdurend worden bijgewerkt en bewerkt door gewone mensen zoals u. Het voor de hand liggende voordeel is dat het gratis te gebruiken is, maar het is ook een belangrijke kaartenleverancier in crises geworden (OSM-gegevens zijn bijvoorbeeld gebruikt tijdens het coördineren van de hulpverlening na de aardbeving in Haïti). De nauwkeurigheid van deze gegevens is van cruciaal belang, en we hopen dat u uw tijd als vrijwilliger aan dit project besteedt!</p>
-help.activeMembers=<p><b>+ Als u een actief lid van OpenStreetMap bent</b>, meld u aan bij OSM voordat u bewerkt</b></p>
+help.activeMembers=<p><b>+ Als u een actief lid van OpenStreetMap bent</b>, meld u aan bij OSM voordat u bewerkt.</p>
 help.newMembers=<p><b>+ Voor nieuwe leden</b>: ga alstublieft naar <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> om een gebruiker aan te maken, meld u aan en kom dan terug om toegang te krijgen tot Potlatch 2 en te beginnen met bewerken.</p>
 help.introText=<p><b>Potlatch2</b> is een editor voor OpenStreetMap (OSM) waarmee u de website {0} rechtstreeks kunt bewerken.</p>
 help.introduction=Inleiding
@@ -27,9 +27,12 @@ help.addingFeatures=Functies toevoegen
 help.addingFeaturesText=<p><i>Voordat u begint, moet u weten hoe u moet omgaan met door eigendomsrechten beschermde gegevens. Gegevens gebruiken uit auteursrechtelijk beschermde kaarten of andere merkgebonden gegevens is ten strengste verboden! Kopiëren, overtrekken of elke reproductie van auteursrechtelijk beschermd werk is niet toegestaan! (Bron: <a href="http://wiki.openstreetmap.org/wiki/Copyright" target="_blank">Auteursrechten - OpenStreetMap Wiki</a>)</i></p>\n  <p></p>\n  <p>Lineaire dingen zoals straten, voetpaden, spoorwegen en contouren van gebouwen worden vanaf nu <b>wegen</b> genoemd.</p>\n  <p>Als u zich plotseling realiseert dat uw zijbalk met alle pictogrammen is verdwenen, komt dat doordat u een functie hebt geselecteerd op de kaart. Deselecteer gewoon door te klikken op een leeg gebied van de kaart om de pictogrammen opnieuw weer te geven.</p>\n    <p><b>Een punt (of knooppunt) maken</b>, doet u door gewoon het juiste pictogram uit de zijbalk naar de kaart te slepen en het daar neer te zetten. Zie "POI's toevoegen" voor meer informatie over het maken van een POI (Point of Interest).</p>\n    <p><b>Een weg maken</b> doet u door op de kaart op het startpunt te klikken, en daarna op volgende punten te klikken. Dubbelklik als de lijn klaar is op type "Enter".</p>\n    <p><b>Een veelhoek maken</b> kan door op het beginpunt te klikken punt en daarna op volgende punten te klikken (net zoals voor een weg). Eindig door te klikken op het beginpunt om de polygoon te voltooien.</p>\n  <p>Vergeet niet dat als u een fout maakt, kunt u altijd op de knop ongedaan maken kunt klikken. Door "Esc" in te toetsen worden al uw bewerkingen voor de huidige eigenschap ongedaan gemaakt.</p>
 help.editBeg=Bewerken (beginners)
 help.editingFeatures=Bewerkingsfuncties (voor beginners)
+help.editingFeaturesText=<p><b>Om een punt toe te voegen aan een bestaande weg</b> selecteert u de weg en voert shift+klik uit op de gewenste plaats.</p>\n    <p><b>Om een punt te verwijderen</b> selecteert u het punt en klikt op de knop "Item verwijderen" rechts onderaan of typt "Delete" of "Backspace" op uw toetsenbord.</p>\n  <p><b>Om een weg te verwijderen</b> selecteert u de weg en klikt op de knop "Weg verwijderen" rechts onderaan of u typt shift+Delete of shift+Backspace op uw toestenbord.</p>\n    <p><b>Om ene punt te verplaatsen</b> klikt u op een punt en sleept het naar de gewenste positie.</p>\n   <p><b>Om een weg te verplaatsen</b> klikt u op een weg en sleept deze in het geheel naar de gewenste positie. Hint: Selecteer een segment, zodat u niet per ongeluk een node verplaatst.</p>\n  <p><b>Om een weg langer te maken</b> klikt u op een van de uiteinden van de weg. Daarna kunt u tekenen zoals u gewend bent.</p>\n    <p><b>Om een nieuwe weg toe te voegen die voortkomt uit een bestaande weg</b>, shift+klikt u op een van de uiteinden van de weg.  Daarna kunt u tekenen zoals u gewend bent.</p>
 help.editAdv=Bewerken (gevorderd)
 help.editingFeaturesAdv=Bewerkingsfuncties (voor gevorderden)
+help.editingFeaturesAdvText=<p><b>Om een weg te splitsen</b> selecteert u het punt waar u wilt snijden en klikt op het hulpmiddel Schaar of typt "X" op uw toetsenbord. Hint: Voeg eerst een node toe om tussen twee bestaande nodes te kunnen knippen.</p>\n            <p><b>Om een kruising voor twee wegen te maken</b> tekent u zoals gebruikelijk, totdat u een de kruising moet maken. Als u dan uw muisaanwijzer over de andere weg beweegt, licht deze bluaw op. Klik op een van de blauwe punten of een wllikeurige gewenste plaats op de weg om een kruising te maken.</p>\n            <p><b>Om een kruising op te heffen</b> selecteert u het punt op de weg dat u wilt wijzigen. Typ dan "-" op uw toetsenbord om het punt te verwijderen.</p>\n            <p><b>Om de richting van een weg te wijzigen</b> klikt u op de knop "Richting wijzigen" in de rechter bovenhoek. De richting van een weg is alleen van belang voor eigenschappen met een label "één richting", zoals straten met eenrichtingsverkeer, kustlijnen, eilanden, enzovoort.</p>\n            <p><b>Om een parallelweg te maken</b> selecteert u een weg en klikt op de knop "Parallelweg" in de rechter onderhoek of u typt "P" op uw toetsenbord.</p>\n     <p><b>Om een weg te maken die nodes deelt met een bestaande weg</b> begint u te tekenen, klikt op de eerste twee gedeelde nodes, en typt dan "F" op uw toetsenbord om automatisch de bestaande weg te volgen.</p>\n            <p><i>Bekijk de <a href="http://wiki.openstreetmap.org/wiki/Potlatch2/Primer" target="_blank">Handleiding voor Potlatch 2</a> op de wiki van OpenStreetMap voor nog meer gevorderde bewerkingsmethoden en -afspraken.</i></p>
 help.tag=Label
 help.taggingFeatures=Labelfuncties
+help.taggingFeaturesText=<p>Met Potlatch 2 is het toevoegen van eigenschappen relatief eenvoudig geworden. Er is nu een grafisch menu beschikbaar en specifieke velden en iconen..</p>\n          <p><b>Een eigenschap toevoegen</b></p>\n          <p>Selecteer het punt of de weg die u wilt bewerken en kies het label uit het menu aan de linkerkant. Na het labelen van de eigenschap, verschijnen er een aantal basisvelden zoals Naam, Maximum snelheid en Breedte, afhankelijk van de eigenschap die u hebt toegevoegd. Vul de velden in voor zover mogelijk.</p><p>Gevorderde gebruikers merken wellicht de afwezigheid van een aantal labels en labelwaarden op die ze af en toe gebruiken. Als dit het geval is, klik dan op het tabblad "Gevorderd" onderin de zijbalk en bewerk of voeg toe waar nodig.</p>\n          <p>Op de wiki van OpenStreetMap staat ook een <a href="http://wiki.openstreetmap.org/wiki/Map_features" target="_blank">uitgebreide lijst met labels en labelwaarden</a>. Raadpleeg alstublieft de OSM-documentatie als u niet zeker weet hoe u iets moet labelen.</p>
 help.shortcuts=Snelkoppelingen
 help.keyboardShortcuts=Sneltoetsen
index 93e58516aad10b86ee23f88f4020f80fbdd6fd38..2c39b3909127c504eb379a6411a1df7cf765b739 100644 (file)
@@ -1,12 +1,13 @@
 # Messages for Norwegian Nynorsk (‪Norsk (nynorsk)‬)
 # Exported from translatewiki.net
+# Author: Dittaeva
 # Author: Gnonthgol
 
 main.undo=Angre
 main.redo=Gjer om
 main.background=Bakgrunn
 main.map_style=Kartstil
-main.gpsButton=GPS Data
+main.gpsButton=GPS-data
 main.gps_data=GPS-data
 main.my_tracks=Mine spor
 main.clear_gps=Tøm
index fd01952b910d48fd1d03e496c756dc05c04052bd..3f776a68e301d4f7ba4f8cf169daceb21f1baa67 100644 (file)
@@ -6,7 +6,7 @@
 help.gettingStarted=Начало работы
 help.welcome=Добро пожаловать
 help.whyOpenstreetmap=<p><b>Почему OpenStreetMap?</b> OSM - сервис картографии, в котором все данные постоянно обновляются и редактируются такими же людьми как и вы. Очевидным преимуществом является бесплатное использование сервиса, при этом он стал основным инструментом кризисного картографирования (например, использование данных OSM для координации усилий по оказанию помощи при землетрясении в Гаити). Точность этих данных имеет решающее значение, и мы надеемся, что вы сможете добровольно потратить немного своего времени!</p>
-help.activeMembers=<p><b>+ Для активных участников OpenStreetMap</b>, войдите в OSM перед редактированием</p>
+help.activeMembers=<p><b>+ Для активных участников OpenStreetMap</b>, войдите в OSM перед редактированием.</p>
 help.newMembers=<p><b>+ Для новых участников</b>, пожалуйста посетите <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> для создания учетной записи, войдите в систему, а затем вернитесь для получения доступа к редактору Potlatch 2 для начала редактирования.</p>
 help.introText=<p><b>Potlatch 2</b> — редактор OpenStreetMap (OSM), позволяющий вносить изменения непосредственно через веб-сайт {0}.</p>
 help.introduction=Введение
diff --git a/l10n/locale/sq/help_dialog.properties b/l10n/locale/sq/help_dialog.properties
new file mode 100644 (file)
index 0000000..41c6b5b
--- /dev/null
@@ -0,0 +1,23 @@
+# Messages for Albanian (Shqip)
+# Exported from translatewiki.net
+# Author: Euriditi
+
+help.gettingStarted=Duke filluar
+help.welcome=Mirësevini
+help.whyOpenstreetmap=<p><b>Përse OpenStreetMap?</b> OSM është një shërbim harografik në të cilin të dhënat freskohen në mënyrë konstante çdo ditë nga njerëz si ju. Përfitimi i dukshëm është se gjithçka është falas dhe gjithashtu dhe ne kemi luajtur rol të veçantë në koordifikimin e fatkeqsive natyrore (p.sh. përdorimi i të dhënave nga OSM për të koordinuar përpjekjet e ndihmave gjatë tërmetit në Haiti). Saktësia e të dhënave nuk është e sigurtë dhe shpresojmë se ju do të na kushtoni vullnetarisht pak nga koha juaj!</p>
+help.activeMembers=<p><b>+ Anëtarët aktivë të OpenStreetMap</b>, janë të lutur të kyçen në OSM përpara se të redaktojnë.</p>
+help.newMembers=<p><b>+ Anëtarët e rinj</b>, për të krijuar një llogari janë të lutur të vizitojnë <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a>, më pas kyçuni në llogari, dhe pastaj rikthehuni këtu për të lejuar aksesin e Potlatch 2 në mënyrë që të redaktoni.</p>
+help.introText=<p><b>Potlatch 2</b> është një redaktor i OpenStreetMap (OSM) që ju lejon ju të bëni ndryshime direkte përmes uebsite-it {0}.</p>
+help.controls=Kontrolli
+help.interfaceControls=Ndërfaqja e kontrollit
+help.mapBackground=<p>Zgjidhni një nga artikujt e listuar më poshtë si sfond për hartën ose shto skedën tënde vektoriale.</p>
+help.colourStyle=<p>Zgjidhni stilin në të cilin dëshironi të shikoni hartën. Ngjyrat dhe stili variojnë dhe gjithashtu përfshijnë opsione shtesë si p.sh. korniza.</p>
+help.gps=GPS
+help.createOsmMap=<p>Krijo hartë OSM duke përdorur si sfond gjurmë GPS nga përdorues të tjerë</p>
+help.myGps=MyGPS
+help.displayGps=<p>Shfaq gjurmët GPS që ju i keni ngarkuar më parë në OpenStreetMap.</p>
+help.undoRedo=Zhbëje / Ribëje
+help.madeMistake=<p>Keni bërë ndonjë gabim? Thjesht shtypni zhbëje dhe/ose ribëje për të korrektuar redaktimin tuaj.</p>
+help.help=Ndihmë
+help.guideInfomation=<p>Shfaq këtë guidë në rast se keni nevojë për informacion gjatë redaktimit.</p>
+help.save=Ruaje
diff --git a/l10n/locale/tr/p2_main.properties b/l10n/locale/tr/p2_main.properties
new file mode 100644 (file)
index 0000000..c2d5119
--- /dev/null
@@ -0,0 +1,40 @@
+# Messages for Turkish (Türkçe)
+# Exported from translatewiki.net
+# Author: Emperyan
+# Author: Katpatuka
+
+main.undo=Geri al
+main.redo=Yinele
+main.background=Arka plan
+main.map_style=Harita Biçimi
+main.gpsButton=GPS Verisi
+main.gps_data=GPS Verisi
+main.my_tracks=GPS İzlerim
+main.clear_gps=Temizle
+main.help=Yardım
+main.options=Seçenekler
+main.save=Kaydet
+tag_viewer.dndprompt=Yeni noktaları sürükleyerek haritaya ekle
+toolbox.delete_node=Noktayı sil (Del)
+toolbox.delete_area=Alanı sil (Shift + Del)
+toolbox.delete_way=Yolu sil (Shift + Del)
+toolbox.delete_item=Öğeyi sil
+toolbox.reverse_direction=Yönünü tersine döndür (V)
+toolbox.split_way=Yolunu böl (X)
+toolbox.merge_ways=Yolları birleştir
+toolbox.straighten_way=Yolu hizala
+toolbox.make_circular=Dairesel yap
+toolbox.make_right_angled=Dik açılı yap (Q)
+toolbox.create_parrallel_way=Paralel yolu oluştur (P)
+oauth.rememberMe=Beni hatırla
+oauth.tryAccessButton=Erişim dene
+oauth.cancelButton=Vazgeç
+save.editDescription=Lütfen düzenlemelerinin açıklamasını yaz. Diğer haritacıları ne gibi değişiklikler yaptığını fikir verebilir.
+styleSelector.editButton=Düzenle...
+backgroundSelector.dim=söndür
+backgroundSelector.sharpen=keskinleştir
+backgroundSelector.editButton=Düzenle...
+backgroundSelector.vectorButton=Vektör dosyası...
+options.tbcheck=Araç kutusunu görüntüle
+options.cursorcheck=Özel imleçler kullan
+options.ok=Tamam
index 7988b3886148fd5624b9dae028d1bf2314ac12b9..9fd363ca3b08365035f96c88af644eed595ca16c 100644 (file)
@@ -5,7 +5,7 @@
 help.gettingStarted=Bắt đầu
 help.welcome=Hoan nghênh
 help.whyOpenstreetmap=<p><b>Tại sao OpenStreetMap?</b> OSM là một dịch vụ bản đồ có dữ liệu được cập nhật luôn luôn do công sức của những nguời thường như bạn. Dĩ nhiên bạn có thể sử dụng OSM miễn phí, nhưng nó cũng có điểm lợi khác. Nó là một trong những dịch vụ quan trọng nhất cung cấp bản đồ ở nơi thảm họa: dữ liệu OSM được sử dụng để phối hợp các nỗ lực cứu tế tại Haiti sau động đất. Dữ liệu bản đồ cần phải chính xác và đầy đủ. Hy vọng bạn sẽ tình nguyện để dành một tí thì giờ để đóng góp!</p>
-help.activeMembers=<p><b>• Các thành viên đã có tài khoản:</b> Xin vui lòng đăng nhập vào OpenStreetMap truớc khi sửa đổi</b></p>
+help.activeMembers=<p><b>• Các thành viên đã có tài khoản:</b> Xin vui lòng đăng nhập vào OpenStreetMap truớc khi sửa đổi.</p>
 help.newMembers=<p><b>• Các thành viên mới:</b> Xin vui lòng ghé vào <a href="http://www.openstreetmap.org/user/new" target="_blank">http://www.openstreetmap.org</a> để mở tài khoản mới truớc tiên. Sau đó, đăng nhập và trở về đây để cho phép Potlatch 2 truy cập tài khoản và bắt đầu sửa đổi.</p>
 help.introText=<p><b>Potlatch2</b> là một trình vẽ OpenStreetMap (OSM) cho phép bạn sửa đổi trực tiếp từ trang {0}.</p>
 help.introduction=Giới thiệu
diff --git a/l10n/locale/zh_CN/p2_main.properties b/l10n/locale/zh_CN/p2_main.properties
new file mode 100644 (file)
index 0000000..5feaf76
--- /dev/null
@@ -0,0 +1,44 @@
+# Messages for Simplified Chinese (‪中文(简体)‬)
+# Exported from translatewiki.net
+# Author: Mmyangfl
+
+main.undo=撤销
+main.redo=重做
+main.background=背景
+main.map_style=地图样式
+main.gpsButton=GPS 数据
+main.gps_data=GPS 数据
+main.my_tracks=我的轨迹
+main.clear_gps=清除
+main.help=帮助
+main.options=选项
+main.save=保存
+tag_viewer.dndprompt=拖动它们到地图上以添加新的点
+toolbox.delete_node=删除节点(Delete)
+toolbox.delete_area=删除区域(Shift+Delete)
+toolbox.delete_way=删除路径(Shift+Delete)
+toolbox.delete_item=删除项目
+toolbox.reverse_direction=逆转方向(V)
+toolbox.split_way=分拆路径(X)
+toolbox.merge_ways=合并路径
+toolbox.straighten_way=拉直路径
+toolbox.make_circular=制作圆形
+toolbox.make_right_angled=制作直角(Q)
+toolbox.create_parrallel_way=创建平行路径(P)
+oauth.gotLinkBox=点击下面的链接打开一个网页,在那里你会被要求授权这个应用程序可以访问。
+oauth.authorized=一旦你已授权访问,点击下面的“尝试访问”按钮
+oauth.deniedLabel=<b>访问被拒绝,请检查,然后重试</b>
+oauth.rememberMe=记住我
+oauth.permFail=<p>服务器拒绝此应用程序的凭据 -- 无法获得授权链接。             </p>\n<p>       <b>OAuth 访问将不可用。</b>              </p>\n<p>       请联系应用程序提供商,以找出发生了什么事情。</p>
+oauth.tempFail=联系服务器获得授权时有一个问题。    这可能是一个暂时的错误,请稍后再试。
+oauth.tryAccessButton=尝试访问
+oauth.cancelButton=取消
+save.editDescription=请输入您的修改的说明。这将被用来告诉其他制图者您在做什么。
+styleSelector.editButton=编辑...
+backgroundSelector.dim=亮度
+backgroundSelector.sharpen=锐化
+backgroundSelector.editButton=编辑...
+backgroundSelector.vectorButton=矢量文件...
+options.tbcheck=显示工具栏
+options.cursorcheck=使用自定义光标
+options.ok=确定
diff --git a/net/systemeD/controls/Spinner.as b/net/systemeD/controls/Spinner.as
new file mode 100644 (file)
index 0000000..038aefa
--- /dev/null
@@ -0,0 +1,68 @@
+package net.systemeD.controls {
+       import flash.events.TimerEvent;
+       import flash.events.Event;
+       import flash.display.Sprite;
+       import flash.display.Shape;
+       import flash.utils.Timer;
+       import flash.filters.GlowFilter;
+       
+       // Adapted from http://www.stevensacks.net/2008/10/01/as3-apple-style-preloader/
+
+       public class Spinner extends Sprite {
+               private var timer:Timer;
+               private var slices:int;
+               private var radius:int;
+
+               public function Spinner(slices:int = 12, radius:int = 6) {
+                       super();
+                       this.slices = slices;
+                       this.radius = radius;
+                       draw();
+
+                       var filter:GlowFilter=new GlowFilter(0xFFFFFF,1,4,4,6);
+                       this.filters = [filter];
+               }
+
+               public function start():void {
+                       visible=true;
+                       if (timer) return;
+                       timer = new Timer(65);
+                       timer.addEventListener(TimerEvent.TIMER, onTimer, false, 0, true);
+                       timer.start();
+               }
+
+               public function stop():void {
+                       visible=false;
+                       if (!timer) return;
+                       timer.reset();
+                       timer.removeEventListener(TimerEvent.TIMER, onTimer);
+                       timer = null;
+               }
+
+               private function onTimer(event:TimerEvent):void {
+                       rotation = (rotation + (360 / slices)) % 360;
+               }
+               
+               private function draw():void {
+                       var i:int = slices;
+                       var degrees:int = 360 / slices;
+                       while (i--) {
+                               var slice:Shape = getSlice();
+                               slice.alpha = Math.max(0.2, 1 - (0.1 * i));
+                               var radianAngle:Number = (degrees * i) * Math.PI / 180;
+                               slice.rotation = -degrees * i;
+                               slice.x = Math.sin(radianAngle) * radius;
+                               slice.y = Math.cos(radianAngle) * radius;
+                               addChild(slice);
+                       }
+               }
+
+               private function getSlice():Shape {
+                       var slice:Shape = new Shape();
+                       slice.graphics.beginFill(0x666666);
+                       slice.graphics.drawRoundRect(-1, 0, 2, 6, 12, 12);
+                       slice.graphics.endFill();
+                       return slice;
+               }
+       }
+}
index 8f1172bf4a35c09265c36ebd295ba441f6a36966..fc046c251964e5f29d618aac1b056a6e838d21d6 100644 (file)
@@ -74,18 +74,23 @@ package net.systemeD.halcyon.connection {
 
                private function sendLoadRequest(request:URLRequest):void {
                        var mapLoader:URLLoader = new URLLoader();
+            var errorHandler:Function = function(event:IOErrorEvent):void {
+                errorOnMapLoad(event, request);
+            }
                        mapLoader.addEventListener(Event.COMPLETE, loadedMap);
-                       mapLoader.addEventListener(IOErrorEvent.IO_ERROR, errorOnMapLoad);
+                       mapLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
                        mapLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, mapLoadStatus);
             request.requestHeaders.push(new URLRequestHeader("X-Error-Format", "XML"));
                        mapLoader.load(request);
                        dispatchEvent(new Event(LOAD_STARTED));
                }
 
-        private function errorOnMapLoad(event:Event):void {
-                       dispatchEvent(new MapEvent(MapEvent.ERROR, { message: "Couldn't load the map" } ));
-                       dispatchEvent(new Event(LOAD_COMPLETED));
+        private function errorOnMapLoad(event:Event, request:URLRequest):void {
+            var url:String = request.url + '?' + URLVariables(request.data).toString(); // for get reqeusts, at least
+            dispatchEvent(new MapEvent(MapEvent.ERROR, { message: "There was a problem loading the map data.\nPlease check your internet connection, or try zooming in.\n\n" + url } ));
+            dispatchEvent(new Event(LOAD_COMPLETED));
         }
+
         private function mapLoadStatus(event:HTTPStatusEvent):void {
         }
 
index 9c0e37e31d8cc976da7f71807777628f29a74332..d26d68e6de7b0316d381696ec7ebac7dbe56bc42 100644 (file)
@@ -531,7 +531,7 @@ package net.systemeD.halcyon.styleparser {
 
         public static function parseCSSColor(colorStr:String):uint {
             colorStr = colorStr.toLowerCase();
-            if (CSSCOLORS[colorStr]) {
+            if (CSSCOLORS[colorStr] != undefined) {
                 return CSSCOLORS[colorStr];
             } else {
                 var match:Object = HEX.exec(colorStr);
index 32285a8f251c24ad5f199508f5d7810c72819bd3..a28ece13fb4f79e189a9172b6fda573d2185d029 100644 (file)
@@ -56,7 +56,7 @@ package net.systemeD.halcyon.styleparser {
                public function mergeWith(additional:Style):void {
                        for each (var prop:String in properties) {
                                // Note extra check for empty arrays, which we use to mean 'undefined' (see setPropertyFromString below)
-                               if (additional[prop] && !((additional[prop] is Array) && additional[prop].length==0)) {
+                               if (additional[prop] != undefined && !((additional[prop] is Array) && additional[prop].length==0)) {
                                        this[prop]=additional[prop];
                                }
                        }
index 2c51c5706ceac9d25a48aef8e68755b896d2cf96..279d08f947299aeaa363d48fbe8c78aeaeaab0aa 100644 (file)
                import net.systemeD.potlatch2.utils.*;
         import net.systemeD.potlatch2.mygpx.*;
                import net.systemeD.controls.FloatingAlert;
+               import net.systemeD.controls.Spinner;
                import mx.managers.PopUpManager;
                import flash.system.Security;
                import flash.net.*;
 
                private var savecount:uint=0;
                private var loadcount:uint=0;
+               private var spinner:Spinner;
                private var saveLabel:String='Save';
                private var saveTimer:Timer;
 
             // Auto-load vector backgrounds from config
             theMap.addEventListener(MapEvent.INITIALISED, function(e:Event):void { VectorBackgrounds.instance().init(theMap); });
 
+                       // Add loading 'spinner' indicator
+                       spinner=new Spinner();
+                       _root.addChild(spinner);
+                       spinner.x=dataWorking.x-20;
+                       spinner.y=dataWorking.y+dataWorking.height/2;
+
                        // Set start position of map
                        // ** FIXME: if lat/lon/zoom aren't supplied, we need to keep the map in a non-loading state 
                        //           until the user has decided where to start editing (e.g. when the first GPX loads)
                
                public function onMapError(mapEvent:MapEvent):void {
                        var buttons:uint=0;
-                       if (mapEvent.params.no) { trace("no is set"); }
                        if (mapEvent.params.yes             ) buttons|=mx.controls.Alert.YES;
                        if (mapEvent.params.no              ) buttons|=mx.controls.Alert.NO;
                        if (mapEvent.params.cancel          ) buttons|=mx.controls.Alert.CANCEL;
                        if (mapEvent.params.ok || buttons==0) buttons|=mx.controls.Alert.OK;
-                       trace("showing alert with "+buttons);
                        Alert.show(mapEvent.params.message, 'Error', buttons, null, function(closeEvent:CloseEvent):void { 
                                switch (closeEvent.detail) {
                                        case mx.controls.Alert.CANCEL:  mapEvent.params.cancel(); break; //fixme? this gets called if user presses escape, even if there's no cancel button.
                        else if (savecount>0)           { t="Saving data..."; }
                        else                            { t=""; }
                        dataWorking.text=t.replace("#",(loadcount>1) ? (" ("+loadcount+")") : "");
-                       dataWorking.visible=(dataWorking.text!="");
+
+                       var previousState:Boolean=dataWorking.visible;
+                       var newState:Boolean=(dataWorking.text!="");
+                       if (!previousState && newState) spinner.start();
+                       if (previousState && !newState) spinner.stop();
+                       dataWorking.visible=newState;
                }
         private function onDataDirty(event:Event):void {
                        saveButton.enabled=true;
index aa1b7da4bde8c218203f61c470236783d63e6139..e825026898569d34add085fddab0e207904ffc34 100644 (file)
   </feature>
 
 
-  <feature name="Sports centre">
-    <category>buildings</category>
-    <icon image="features/pois/sport_leisure_centre.n.24.png">
-      <b>${name} ${addr:housename}</b><br/>
-      ${addr:housenumber} ${addr:street} ${addr:postcode}
-    </icon>
-
-    <area/>
-    <point/>
-    <tag k="leisure" v="sports_centre"/>
-    <inputSet ref="names"/>
-    <inputSet ref="buildingAddress"/>
-    <inputSet ref="pitchSport"/>
-    <inputSet ref="isBuilding"/>
-    <inputSet ref="common"/>
-  </feature>
-
-
   <!-- Generic building. Should be last in the entire xml chain -->
   <!-- When user changes feature to some amenity, building tag is cleared. This should not be. -->
   <feature name="Building">
index b7631ad1ec6f90207f0310f52df54cbf0701e0dd..5a8eb106628a34e5b3a2143ff0c3b6b624e9d689 100644 (file)
     <inputSet ref="common"/>
   </feature>
 
+  <feature name="Sports centre">
+    <category>sport</category>
+    <icon image="features/pois/sport_leisure_centre.n.24.png">
+      <b>${name} ${addr:housename}</b><br/>
+      ${addr:housenumber} ${addr:street} ${addr:postcode}
+    </icon>
+
+    <area/>
+    <point/>
+    <tag k="leisure" v="sports_centre"/>
+    <inputSet ref="names"/>
+    <inputSet ref="buildingAddress"/>
+    <inputSet ref="pitchSport"/>
+    <inputSet ref="isBuilding"/>
+    <inputSet ref="common"/>
+  </feature>
+
+
   <!-- **************** Agriculture *************** -->
   <feature name="Farm">
     <category>agriculture</category>
diff --git a/tests/fakeroot/embedded b/tests/fakeroot/embedded
new file mode 120000 (symlink)
index 0000000..d692853
--- /dev/null
@@ -0,0 +1 @@
+../../embedded/
\ No newline at end of file
index 9524b1684a4588f8746b8b31242f7d929e2b8c39..0e68c1caf7fd088be9b295f9d11c71848e4d21f3 100644 (file)
@@ -4,8 +4,12 @@ package net.systemeD.halcyon.connection {
     import net.systemeD.halcyon.connection.Node;
     import net.systemeD.halcyon.connection.UndoableAction;
 
+    [RunWith("org.mockito.integrations.flexunit4.MockitoClassRunner")]
     public class NodeTest {
 
+      [Mock(type="net.systemeD.halcyon.connection.Connection", argsList="constructorArgs")]
+      public var connection:Connection;
+      public var constructorArgs:Array = ["name", "api", "policy"];
     
       [Test]
       public function dummy():void {
@@ -14,13 +18,13 @@ package net.systemeD.halcyon.connection {
 
       [Test]
       public function newNode():void {
-          var n:Node = new Node(1,1,{},true,5,10);
+          var n:Node = new Node(connection,1,1,{},true,5,10);
           Assert.assertEquals(n.lat, 5);
       }
 
       [Test]
       public function moveNode():void {
-          var n:Node = new Node(1,1,{},true,5,10);
+          var n:Node = new Node(connection,1,1,{},true,5,10);
           n.setLatLon(14,41, function(action:UndoableAction):void { action.doAction(); });
           Assert.assertEquals(n.lat, 14);
           Assert.assertEquals(n.lon, 41);
@@ -28,7 +32,7 @@ package net.systemeD.halcyon.connection {
 
       [Test]
       public function within():void {
-          var n:Node = new Node(1,1,{},true,5,10);
+          var n:Node = new Node(connection,1,1,{},true,5,10);
           Assert.assertTrue(n.within(9,11,6,4));
           Assert.assertFalse(n.within(9,11,1,2));
           Assert.assertFalse(n.within(11,12,6,4));
index 084b135be06d09b4356621f70005f6e935282da2..fcc43bc9f0bd042edce26dd3f2d8974b631f35b3 100644 (file)
@@ -8,21 +8,26 @@ package net.systemeD.halcyon.connection.actions {
     import net.systemeD.halcyon.connection.UndoableAction;
     import net.systemeD.halcyon.connection.*;
 
+    [RunWith("org.mockito.integrations.flexunit4.MockitoClassRunner")]
     public class AddMemberToRelationActionTest {
 
+        [Mock(type="net.systemeD.halcyon.connection.Connection", argsList="constructorArgs")]
+        public var connection:Connection;
+        public var constructorArgs:Array = ["name", "api", "policy"];
+
         [Before]
         public function setUp():void {
             //Instantiate the connection first to prevent errors
-            Connection.getConnection();
+            //Connection.getConnection();
         }
 
 
         [Test]
         public function addMember():void {
 
-            var n:Node = new Node(1,1,{},true,5,10);
+            var n:Node = new Node(connection,1,1,{},true,5,10);
 
-            var rel:Relation = new Relation(1,1,{},true,[]);
+            var rel:Relation = new Relation(connection,1,1,{},true,[]);
             var member:RelationMember = new RelationMember(n, "foo");
 
             rel.appendMember(member, function(action:UndoableAction):void { action.doAction(); });
@@ -46,15 +51,15 @@ package net.systemeD.halcyon.connection.actions {
 
         [Test]
         public function appendMember():void {
-            var n:Node = new Node(1,1,{},true,5,10);
-            var n2:Node = new Node(2,1,{},true,5,10);
-            var n3:Node = new Node(3,1,{},true,5,10);
+            var n:Node = new Node(connection,1,1,{},true,5,10);
+            var n2:Node = new Node(connection,2,1,{},true,5,10);
+            var n3:Node = new Node(connection,3,1,{},true,5,10);
 
             var member1:RelationMember = new RelationMember(n, "first");
             var member2:RelationMember = new RelationMember(n2, "second");
             var member3:RelationMember = new RelationMember(n3, "third");
 
-            var rel:Relation = new Relation(1,1,{},true, [member1, member2]);
+            var rel:Relation = new Relation(connection,1,1,{},true, [member1, member2]);
             Assert.assertEquals(2, rel.length);
 
             rel.appendMember(member3, function(action:UndoableAction):void { action.doAction(); });
@@ -63,15 +68,15 @@ package net.systemeD.halcyon.connection.actions {
 
         [Test]
         public function setMember():void {
-            var n:Node = new Node(1,1,{},true,5,10);
-            var n2:Node = new Node(2,1,{},true,5,10);
-            var n3:Node = new Node(3,1,{},true,5,10);
+            var n:Node = new Node(connection,1,1,{},true,5,10);
+            var n2:Node = new Node(connection,2,1,{},true,5,10);
+            var n3:Node = new Node(connection,3,1,{},true,5,10);
 
             var member1:RelationMember = new RelationMember(n, "first");
             var member2:RelationMember = new RelationMember(n2, "second");
             var member3:RelationMember = new RelationMember(n3, "third");
 
-            var rel:Relation = new Relation(1,1,{},true, [member1, member2]);
+            var rel:Relation = new Relation(connection,1,1,{},true, [member1, member2]);
             Assert.assertEquals(2, rel.length);
 
             rel.setMember(1, member3, function(action:UndoableAction):void { action.doAction(); });
index f8c6f118e839e5c6c86d66606824cf7769a6a2e9..1130c0de9e6b3adbaf431ec8769619048a4e67dd 100644 (file)
@@ -4,13 +4,19 @@ package net.systemeD.halcyon.connection.actions {
     import net.systemeD.halcyon.connection.actions.JoinNodeAction;
     import net.systemeD.halcyon.connection.Node;
     import net.systemeD.halcyon.connection.UndoableAction;
+    import net.systemeD.halcyon.connection.Connection;
 
+    [RunWith("org.mockito.integrations.flexunit4.MockitoClassRunner")]
     public class JoinNodeActionTest {
 
+      [Mock(type="net.systemeD.halcyon.connection.Connection", argsList="constructorArgs")]
+      public var connection:Connection;
+      public var constructorArgs:Array = ["name", "api", "policy"];
+
         [Test]
         public function joinTwoNodes():void {
-            var n:Node = new Node(1,1,{},true,5,10);
-            var n1:Node = new Node(2,1,{},true,5,10);
+            var n:Node = new Node(connection,1,1,{},true,5,10);
+            var n1:Node = new Node(connection,2,1,{},true,5,10);
             var action:UndoableAction = new JoinNodeAction(n, [n1], []);
             action.doAction();
             Assert.assertFalse(n.isDeleted());
index 7ca18ec7b6891cf783592cf453b666b7922d9627..540539276714cb45e0f9ff77fc1885a03350333c 100644 (file)
@@ -6,17 +6,22 @@ package net.systemeD.halcyon.connection.actions {
     import net.systemeD.halcyon.connection.Entity;
     import net.systemeD.halcyon.connection.Connection;
 
+    [RunWith("org.mockito.integrations.flexunit4.MockitoClassRunner")]
     public class SetTagActionTest {
 
+        [Mock(type="net.systemeD.halcyon.connection.Connection", argsList="constructorArgs")]
+        public var connection:Connection;
+        public var constructorArgs:Array = ["name", "api", "policy"];
+
         [Before]
         public function setUp():void {
             //Instantiate the connection first to prevent errors
-            Connection.getConnection();
+            //Connection.getConnection();
         }
 
         [Test]
         public function setTag():void {
-            var e:Entity = new Entity(1,1,{},true,1,"");
+            var e:Entity = new Entity(connection,1,1,{},true,1,"");
             var action:UndoableAction = new SetTagAction(e, "foo", "bar");
             action.doAction();
 
@@ -25,7 +30,7 @@ package net.systemeD.halcyon.connection.actions {
 
         [Test]
         public function setNullTag():void {
-            var e:Entity = new Entity(1,1,{foo: "bar"},true,1,"");
+            var e:Entity = new Entity(connection,1,1,{foo: "bar"},true,1,"");
             var action:UndoableAction = new SetTagAction(e, "foo", null);
             action.doAction();