diff --git a/Makefile b/Makefile index bb6844399..69eebd1e4 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,7 @@ all: \ .INTERMEDIATE iD.js: \ js/lib/bootstrap-tooltip.js \ js/lib/d3.v3.js \ + js/lib/d3.combobox.js \ js/lib/d3.geo.tile.js \ js/lib/d3.keybinding.js \ js/lib/d3.one.js \ @@ -50,6 +51,7 @@ all: \ js/id/svg/*.js \ js/id/ui.js \ js/id/ui/*.js \ + js/id/presetdata.js \ js/id/validate.js \ js/id/end.js \ js/lib/locale.js \ diff --git a/index.html b/index.html index fc34dc60e..300e2a319 100644 --- a/index.html +++ b/index.html @@ -167,6 +167,8 @@ + + diff --git a/js/id/id.js b/js/id/id.js index 29338b1a3..5dc8fb127 100644 --- a/js/id/id.js +++ b/js/id/id.js @@ -1,6 +1,11 @@ window.iD = function () { var context = {}, - storage = localStorage || {}; + storage; + + // https://github.com/systemed/iD/issues/772 + // http://mathiasbynens.be/notes/localstorage-pattern#comment-9 + try { storage = localStorage } catch (e) {} + storage = storage || {}; context.storage = function(k, v) { if (arguments.length === 1) return storage[k]; diff --git a/js/id/ui/confirm.js b/js/id/ui/confirm.js index 177bb94f0..3bbce24f9 100644 --- a/js/id/ui/confirm.js +++ b/js/id/ui/confirm.js @@ -1,17 +1,30 @@ iD.ui.confirm = function(selection) { var modal = iD.ui.modal(selection); - modal.select('.modal').classed('modal-alert', true); - modal.select('.content') - .attr('class','modal-section fillD') - .append('div') + + modal.select('.modal') + .classed('modal-alert', true); + + var section = modal.select('.content') + .attr('class', 'modal-section fillD'); + + var description = section.append('div') .attr('class', 'description'); - var nochanges = modal.select('.content') - .append('button') - .attr('class','action centered') + + var buttonwrap = section.append('div') + .attr('class', 'buttons cf'); + + var okbutton = buttonwrap.append('button') + .attr('class', 'action centered') .on('click.confirm', function() { modal.remove(); }); - nochanges.append('span').attr('class','label').text('Okay'); + + okbutton.append('span') + .attr('class', 'icon apply icon-pre-text'); + + okbutton.append('span') + .attr('class', 'label') + .text('Okay'); return modal; }; diff --git a/js/id/ui/inspector.js b/js/id/ui/inspector.js index 5a2c1df24..50b50c851 100644 --- a/js/id/ui/inspector.js +++ b/js/id/ui/inspector.js @@ -9,6 +9,7 @@ iD.ui.Inspector = function() { presetUI, presetGrid, tagList, + tagEditor, context; function inspector(selection) { diff --git a/js/id/ui/save.js b/js/id/ui/save.js index 5e05183b2..f5f14365d 100644 --- a/js/id/ui/save.js +++ b/js/id/ui/save.js @@ -41,7 +41,7 @@ iD.ui.Save = function(context) { history.reset(); map.flush().redraw(); if (err) { - var desc = iD.ui.confirm() + var desc = iD.ui.confirm(context.container()) .select('.description'); desc.append('h2') .text(t('save.error')); diff --git a/js/lib/d3.combobox.js b/js/lib/d3.combobox.js index 0273856d2..d09a0f4fd 100644 --- a/js/lib/d3.combobox.js +++ b/js/lib/d3.combobox.js @@ -29,7 +29,7 @@ d3.combobox = function() { top: rect.height + 'px' }); - carat = selection + selection .insert('a', ':first-child') .attr('class', 'combobox-carat') .style({ diff --git a/locale/da.js b/locale/da.js index d791bd4d4..6d68e36d7 100644 --- a/locale/da.js +++ b/locale/da.js @@ -190,7 +190,7 @@ locale.da = { save: { title: "Gem", - help: "Gem ændringer til OpenStreetMap vil gøre dem synlige for andre brugere", + help: "Gem ændringer til OpenStreetMap vil gøre dem synlige for andre brugere.", error: "Der skete en fejl da du prøvede at gemme", uploading: "Gemmer nu ændringer til OpenStreetMap.", unsaved_changes: "Du har ændringer der ikke er gemt endnu", diff --git a/locale/de.js b/locale/de.js index 7145dfe2b..1c56f5ce7 100644 --- a/locale/de.js +++ b/locale/de.js @@ -23,7 +23,7 @@ locale.de = { tail: "Klicke, um Punkte zur Fläche hinzuzufügen. Klicke auf den ersten Punkt, um die Fläche abzuschließen." }, draw_line: { - tail: "Klicke, um mehr Punkte zur Linie hizuzufügen. Klicke auf eine andere Linie um die Linien zu verbinden und klicke doppelt, um die Linie zu beenden." + tail: "Klicke, um mehr Punkte zur Linie hizuzufügen. Klicke auf eine andere Linie, um die Linien zu verbinden und klicke doppelt, um die Linie zu beenden." } }, @@ -132,8 +132,8 @@ locale.de = { nothing_to_redo: "Nichts zum Wiederherstellen.", just_edited: "Sie haben gerade OpenStreetMap editiert!", - browser_notice: "Dieser Editor wird von Firefox, Chrome, Safari, Opera, und Internet Explorer (Version 9 und höher) unterstzützt. Bitte aktualisieren Sie Ihren Browser oder nutzen Sie Potlatch 2, um die Karte zu modifizieren.", - view_on_osm: "Auf OSM anschauen", + browser_notice: "Dieser Editor wird von Firefox, Chrome, Safari, Opera, und Internet Explorer (Version 9 und höher) unterstützt. Bitte aktualisieren Sie Ihren Browser oder nutzen Sie Potlatch 2, um die Karte zu modifizieren.", + view_on_osm: "Auf OpenStreetMap anschauen", zoom_in_edit: "Hineinzoomen, um die Karte zu bearbeiten", logout: "Abmelden", report_a_bug: "Programmfehler melden", @@ -152,7 +152,7 @@ locale.de = { contributors: { list: "Diese Kartenansicht enthält Beiträge von:", - truncated_list: "Diese Kartenansicht enthält Beiträge von: {users} und {count} Anderen" + truncated_list: "Diese Kartenansicht enthält Beiträge von: {users} und {count} anderen" }, geocoder: { @@ -171,7 +171,7 @@ locale.de = { new_tag: "Neues Attribut", edit_tags: "Attribute bearbeiten", okay: "OK", - view_on_osm: "auf OSM ansehen" + view_on_osm: "auf OpenStreetMap ansehen" }, layerswitcher: { @@ -190,14 +190,14 @@ locale.de = { save: { title: "Speichern", - help: "Speichere Änderungen auf OpenStreetMap, um diese für andere Nutzer sichtbar zu machen", + help: "Speichere Änderungen auf OpenStreetMap, um diese für andere Nutzer sichtbar zu machen.", error: "Beim Speichern ist ein Fehler aufgetreten", uploading: "Änderungen werden zu OpenStreetMap hochgeladen.", - unsaved_changes: "Ungespeicherte Änderugen vorhanden", + unsaved_changes: "Ungespeicherte Änderungen vorhanden" }, splash: { - welcome: "Willkommen beim iD OpenStreetMap editor", + welcome: "Willkommen beim iD OpenStreetMap-Editor", text: "Dies ist eine Entwicklungsversion {version}. Für weitere Informationen besuche {website} und melde Fehler unter {github}." }, @@ -217,7 +217,7 @@ locale.de = { untagged_line: "Linie ohne Attribute", untagged_area: "Fläche ohne Attribute", tag_suggests_area: "Das Attribut {tag} suggeriert eine Fläche, ist aber keine Fläche", - deprecated_tags: "Veralterte Attribute: {tags}" + deprecated_tags: "Veraltete Attribute: {tags}" }, zoom: { diff --git a/locale/en.js b/locale/en.js index bd26f932b..99796939f 100644 --- a/locale/en.js +++ b/locale/en.js @@ -190,7 +190,7 @@ locale.en = { save: { title: "Save", - help: "Save changes to OpenStreetMap, making them visible to other users", + help: "Save changes to OpenStreetMap, making them visible to other users.", error: "An error occurred while trying to save", uploading: "Uploading changes to OpenStreetMap.", unsaved_changes: "You have unsaved changes" diff --git a/locale/es.js b/locale/es.js index fb13e01a8..d7078d512 100644 --- a/locale/es.js +++ b/locale/es.js @@ -190,7 +190,7 @@ locale.es = { save: { title: "Guardar", //"Save", - help: "Guardar los cambios en OpenStreetMap haciéndolos visibles a otros usuarios", //"Save changes to OpenStreetMap, making them visible to other users", + help: "Guardar los cambios en OpenStreetMap haciéndolos visibles a otros usuarios.", //"Save changes to OpenStreetMap, making them visible to other users.", error: "Ha ocurrido un error tratando de guardar", //"An error occurred while trying to save", uploading: "Subiendo cambios a OpenStreetMap", //"Uploading changes to OpenStreetMap.", unsaved_changes: "Tienes cambios sin guardar" //"You have unsaved changes", diff --git a/locale/it.js b/locale/it.js index 5902cc14c..eb6fdff43 100644 --- a/locale/it.js +++ b/locale/it.js @@ -190,7 +190,7 @@ locale.it = { save: { title: "Salva", - help: "Salva i cambiamenti su OpenStreetMap, rendendoli visibili ad altri utenti", + help: "Salva i cambiamenti su OpenStreetMap, rendendoli visibili ad altri utenti.", error: "E' accaduto un errore mentre veniva tentato il salvataggio", uploading: "Caricando le modifiche su OpenStreetMap.", unsaved_changes: "Hai modifiche non salvate" diff --git a/locale/ja.js b/locale/ja.js index 3d4abec79..9971b4fb7 100644 --- a/locale/ja.js +++ b/locale/ja.js @@ -190,7 +190,7 @@ locale.ja = { save: { title: "Save", - help: "変更点をOpenStreetMapに保存し、他ユーザが確認できるようにします", + help: "変更点をOpenStreetMapに保存し、他ユーザが確認できるようにします。", error: "データ保存中にエラーが発生しました", uploading: "変更点をOpenStreetMapへアップロードしています", unsaved_changes: "変更が保存されていません" diff --git a/locale/lv.js b/locale/lv.js index 65018ca29..70c966f43 100644 --- a/locale/lv.js +++ b/locale/lv.js @@ -190,7 +190,7 @@ locale.lv = { save: { title: "Saglabāt", - help: "Saglabā izmaiņas, padarot tās redzamas citiem", + help: "Saglabā izmaiņas, padarot tās redzamas citiem.", error: "Kļūda. Nevarēja saglabāt izmaiņas", uploading: "Augšupielādē", unsaved_changes: "Jums ir nesaglabātas izmaiņas" diff --git a/locale/pl.js b/locale/pl.js new file mode 100644 index 000000000..9021fac2f --- /dev/null +++ b/locale/pl.js @@ -0,0 +1,227 @@ +locale.pl = { + modes: { + add_area: { + title: "Obszar", + description: "Obaszary mogą być na przykład parkami, budynkami, jeziorami.", + tail: "Kliknij na mapę aby zacząć rysować obszar, na przykład park, jezioro lub budynek." + }, + add_line: { + title: "Linia", + description: "Linie mogą być na przykład jezdniami, ścieżkami dla pieszych lub nawet kanałami.", + tail: "Kliknij na mapę aby zacząć rysować linię, na przykład drogę, ścieżkę lub trasę." + }, + add_point: { + title: "Punkt", + description: "Punkty mogą być na przykład restauracjami, pomnikami i skrzynkami pocztowymi.", + tail: "Kliknij na mapę aby dodać punkt, na przykład restaurację, pomnik lub skrzynkę pocztową." + }, + browse: { + title: "Przeglądaj", + description: "Przesuwaj i zmieniaj skalę mapy." + }, + draw_area: { + tail: "Kliknij aby dodać punkty do obszaru. Kliknij na pierwszy punkt aby skończyć rysowanie obszaru." + }, + draw_line: { + tail: "Kliknij aby dodać punkty do linii. Kliknij na inne linie aby je połączyć, a dwa razy kliknij na linię aby skończyć ją rysować." + } + }, + + operations: { + add: { + annotation: { + point: "Dodano punkt.", + vertex: "Dodano węzeł do drogi." + } + }, + start: { + annotation: { + line: "Zaczęto linię.", + area: "Zaczęto obszar." + } + }, + 'continue': { + annotation: { + line: "Kontynuacja linii.", + area: "Kontynuacja obszaru." + } + }, + cancel_draw: { + annotation: "Przestano rysować." + }, + change_tags: { + annotation: "Zmieniono tagi." + }, + circularize: { + title: "Zaokrąglij", + description: "Wyrównaj na okręgu.", + key: "O", + annotation: { + line: "Zaokrąglij linię.", + area: "Zaokrąglij obszar." + } + }, + orthogonalize: { + title: "Ortogonalizuj", + description: "Spraw, aby te kąty były proste.", + key: "Q", + annotation: { + line: "Zortogonalizowano kąty linii.", + area: "Zortogonalizowano kąty obszaru." + } + }, + 'delete': { + title: "Usuń", + description: "Usuń to z mapy.", + key: "⌫", + annotation: { + point: "Usunięto punkt.", + vertex: "Usunięto węzeł z drogi.", + line: "Usunięto linię.", + area: "Usunięto obszar.", + relation: "Usunięto relację.", + multiple: "Usunięto {n} obietów/obiekty." + } + }, + connect: { + annotation: { + point: "Połączono drogę z punktem.", + vertex: "Połączono dwie drogi.", + line: "Połączono drogę z linią.", + area: "Połączono drogę z obszarem." + } + }, + disconnect: { + title: "Rozłącz", + description: "Rozłącz te dwie drogi.", + key: "D", + annotation: "Rozłączono drogi." + }, + merge: { + title: "Scal", + description: "Scal te linie.", + key: "C", + annotation: "Scalono {n} linii." + }, + move: { + title: "Przesuń", + description: "Przesuń to w inne miejsce.", + key: "M", + annotation: { + point: "Przesunięto punkt.", + vertex: "Przesunięto węzeł drogi.", + line: "Przesunięto linię.", + area: "Przesunięto obszar." + } + }, + reverse: { + title: "Odwróć", + description: "Spraw by ta linia biegła w przeciwnym kierunku.", + key: "V", + annotation: "Odwrócono linię." + }, + split: { + title: "Rozdziel", + description: "Rozdziel to na dwie drogi w tym punkcie.", + key: "X", + annotation: "Rozdzielono drogę." + } + }, + + nothing_to_undo: "Nie ma nic do cofnięcia.", + nothing_to_redo: "Nie ma nic do powtórzenia.", + + just_edited: "Właśnie wprowadziłeś zmiany w OpenStreetMap!!", + browser_notice: "Ten edytor działa w Firefox, Chrome, Safari, Opera, and Internet Explorer 9 i wyższych. Zaktualizuj swoją przeglądarkę lub użyj Potlatch 2 aby edytować mapę.", + view_on_osm: "Pokaż w OSM", + zoom_in_edit: "zwiększ skalę aby edytować mapę", + logout: "wyloguj", + report_a_bug: "zgłoś błąd", + + commit: { + title: "Zapisz zmiany", + description_placeholder: "Krótki opis twoich zmian", + upload_explanation: "Zmiany które wyślesz jako {user} będą widoczne na wszystkich mapach używających danych OpenStreetMap.", + save: "Zapisz", + cancel: "Anuluj", + warnings: "Ostrzeżenia", + modified: "Zmodyfikowano", + deleted: "Usunięto", + created: "Utworzono" + }, + + contributors: { + list: "Przeglądanie wkładu użytkowników {users}", + truncated_list: "Przeglądanie wkładu użytkownikówy {users} {count} innych" + }, + + geocoder: { + title: "Znajdź miejsce", + placeholder: "znajdź miejsce", + no_results: "Nie można znaleźć miejsca o nazwie '{name}'" + }, + + geolocate: { + title: "Pokaż moją pozycję." + }, + + inspector: { + no_documentation_combination: "Nie ma dokumentacji dla tej kombinacji tagu.", + no_documentation_key: "Nie ma dokumentacji dla tego klucza", + new_tag: "Nowy tag", + edit_tags: "Edytuj tagi", + okay: "Okej", + view_on_osm: "Zobacz w OSM" + }, + + layerswitcher: { + title: "Tło", + description: "Ustawienia tła", + percent_brightness: "jasność {opacity}%", + fix_misalignment: "Wyrównaj podkład", + reset: "resetuj" + }, + + restore: { + description: "Masz niezapisane zmiany z poprzedniej sesji. Chcesz je przywrócić?", + restore: "Przywróć", + reset: "Resetuj" + }, + + save: { + title: "Zapisz", + help: "Zapisz zmiany na OpenStreetMap, aby były one widoczne dla innych", + error: "Wystąpił błąd podczas próby zapisu.", + uploading: "Wysyłanie zmian do OpenStreetMap.", + unsaved_changes: "Masz niezapisane zmiany." + }, + + splash: { + welcome: "Witaj w edytorze iD map OpenStreetMap", + text: "To jest wersja rozwojowa {version}. Informacji szukaj na {website} i zgłaszaj błędy na {github}." + }, + + source_switch: { + live: "live", + dev: "dev" + }, + + tag_reference: { + description: "Opis", + on_wiki: "{tag} na wiki.osm.org", + used_with: "używany z {type}" + }, + + validations: { + untagged_point: "Nieopisany punkt, który nie jest częścią linii lub obszaru.", + untagged_line: "Nieopisana linia.", + untagged_area: "Nieopisany obszar.", + tag_suggests_area: "Tag {tag} sugeruje, że linia powinna być obszarem, ale nim nie jest.", + deprecated_tags: "Przestarzałe tagi: {tags}" + }, + + zoom: { + in: "Powiększ", + out: "Zmniejsz" + } +}; diff --git a/locale/ru.js b/locale/ru.js new file mode 100644 index 000000000..11b10fb61 --- /dev/null +++ b/locale/ru.js @@ -0,0 +1,227 @@ +locale.ru = { + modes: { + add_area: { + title: "Контур", + description: "Добавить парки, здания, озёра или иные объекты на карту.", + tail: "Щёлкните на карту, чтобы начать рисование области — например, парка, озера или здания." + }, + add_line: { + title: "Линия", + description: "Линиями можно обозначить дороги, тропинки, заборы или, к примеру, ручьи.", + tail: "Щёлкните на карту, чтобы начать рисование дороги, тропинки или ручья." + }, + add_point: { + title: "Точка", + description: "Точки — это рестораны, памятники, почтовые ящики.", + tail: "Щёлкните на карту, чтобы поставить точку." + }, + browse: { + title: "Просмотр", + description: "Двигать и масштабировать карту." + }, + draw_area: { + tail: "Щёлкайте, чтобы добавить точки в контур. Щёлкните начальную точку для завершения." + }, + draw_line: { + tail: "Щёлкайте, чтобы добавить точки в линию. Щёлкните на другую линию, чтобы соединить их, двойной щелчок завершит линию." + } + }, + + operations: { + add: { + annotation: { + point: "Добавлена точка.", + vertex: "В линию добавлена точка." + } + }, + start: { + annotation: { + line: "Начато рисование линии.", + area: "Начато рисование области." + } + }, + 'continue': { + annotation: { + line: "Продлена линия.", + area: "Дополнен контур." + } + }, + cancel_draw: { + annotation: "Рисование отменено." + }, + change_tags: { + annotation: "Изменены теги." + }, + circularize: { + title: "Округлить", + description: "Превратить объект в окружность.", + key: "O", + annotation: { + line: "Линия превращена в окружность.", + area: "Контур превращён в окружность." + } + }, + orthogonalize: { + title: "Ортогонализировать", + description: "Выпрямить все углы.", + key: "Q", + annotation: { + line: "Выпрямлены углы в линии.", + area: "Выпрямлены углы контура." + } + }, + 'delete': { + title: "Удалить", + description: "Убрать объект с карты.", + key: "⌫", + annotation: { + point: "Удалена точка.", + vertex: "Удалёна точка из линии.", + line: "Удалена линия.", + area: "Удалён контур.", + relation: "Удалено отношение.", + multiple: "Удалены {n} объектов." + } + }, + connect: { + annotation: { + point: "Линия присоединена к точке.", + vertex: "Одна линия присоединена к другой.", + line: "Линия соединена с другой линией.", + area: "Линия присоединена к контуру." + } + }, + disconnect: { + title: "Разъединить", + description: "Разъединить эти линии.", + key: "D", + annotation: "Разъединены линии." + }, + merge: { + title: "Объединить", + description: "Объединить две линии.", + key: "C", + annotation: "Объединены {n} линий." + }, + move: { + title: "Сместить", + description: "Сместить объект в другое место.", + key: "M", + annotation: { + point: "Смещена точка.", + vertex: "Смещена точка линии.", + line: "Смещена линия.", + area: "Смещён контур." + } + }, + reverse: { + title: "Развернуть", + description: "Сменить направление этой линии на противоположное.", + key: "V", + annotation: "Линия развёрнута." + }, + split: { + title: "Разрезать", + description: "Разбить линию на две в этой точке.", + key: "X", + annotation: "Разрезана линия." + } + }, + + nothing_to_undo: "Отменять нечего.", + nothing_to_redo: "Повторять нечего.", + + just_edited: "Вы только что отредактировали карту OpenStreetMap!", + browser_notice: "Этот редактор работает в браузерах Firefox, Chrome, Safari, Opera и Internet Explorer версии 9 и выше. Пожалуйста, обновите свой браузер или воспользуйтесь редактором Potlatch 2.", + view_on_osm: "Посмотреть на OSM", + zoom_in_edit: "приблизьте для редактирования", + logout: "выйти", + report_a_bug: "сообщить об ошибке", + + commit: { + title: "Сохранить изменения", + description_placeholder: "Краткое описание ваших правок", + upload_explanation: "Изменения, сделанные вами под именем {user}, появятся на всех картах, основанных на данных OpenStreetMap.", + save: "Сохранить", + cancel: "Отменить", + warnings: "Предупреждения", + modified: "Изменено", + deleted: "Удалено", + created: "Создано" + }, + + contributors: { + list: "Здесь карту редактировали {users}", + truncated_list: "Здесь карту редактировали {users} и ещё {count} человек" + }, + + geocoder: { + title: "Найти место", + placeholder: "найти место", + no_results: "Не могу найти место с названием «{name}»" + }, + + geolocate: { + title: "К моим координатам" + }, + + inspector: { + no_documentation_combination: "Для этой комбинации ключа и значения нет описания", + no_documentation_key: "Для этого ключа описания нет", + new_tag: "Новый тег", + edit_tags: "Править теги", + okay: "Готово", + view_on_osm: "Посмотреть в OSM" + }, + + layerswitcher: { + title: "Подложка", + description: "Настройка подложки", + percent_brightness: "яркость {opacity}%", + fix_misalignment: "Поправить смещение", + reset: "сброс" + }, + + restore: { + description: "У вас обнаружились несохранённые правки с прошлого раза. Восстановить их?", + restore: "Восстановить", + reset: "Забыть" + }, + + save: { + title: "Сохранить", + help: "Отправить сделанные изменения на сервер OpenStreetMap, сделав их доступными всему миру", + error: "Во время сохранения произошла ошибка", + uploading: "Отправляем данные на сервер OpenStreetMap.", + unsaved_changes: "У вас есть несохранённые правки" + }, + + splash: { + welcome: "Здравствуйте! Это iD, редактор карты OpenStreetMap", + text: "Вы пользуетесь неокончательной версией {version}. Подробнее на сайте {website}, об ошибках сообщайте в {github}." + }, + + source_switch: { + live: "основной", + dev: "тест" + }, + + tag_reference: { + description: "Описание", + on_wiki: "{tag} в вики OSM", + used_with: "ставится на {type}" + }, + + validations: { + untagged_point: "Точка без тегов и не в составе линии или контура", + untagged_line: "Линия без тегов", + untagged_area: "Контур без тегов", + tag_suggests_area: "Тег {tag} обычно ставится на замкнутые контуры, но это не контур", + deprecated_tags: "Теги устарели: {tags}" + }, + + zoom: { + in: "Приблизить", + out: "Отдалить" + } +}; diff --git a/locale/tr.js b/locale/tr.js index d3683f7f1..aaa3e3ea7 100644 --- a/locale/tr.js +++ b/locale/tr.js @@ -190,7 +190,7 @@ locale.tr = { save: { title: "Kaydet", - help: "Diğer kullanıcıların yaptığınız değişiklikleri görmesi için OpenStreetMap'e kaydediniz", + help: "Diğer kullanıcıların yaptığınız değişiklikleri görmesi için OpenStreetMap'e kaydediniz.", error: "Kaydederken bir hata oluştu", uploading: "Değişiklikleriniz OpenStreetMap'e gönderiliyor.", unsaved_changes: "Kaydedilmemiş değişiklikleriniz var" diff --git a/locale/vi.js b/locale/vi.js index 45a909d15..1ab11a6fc 100644 --- a/locale/vi.js +++ b/locale/vi.js @@ -190,7 +190,7 @@ locale.vi = { save: { title: "Lưu", - help: "Lưu các thay đổi vào OpenStreetMap để cho mọi người xem", + help: "Lưu các thay đổi vào OpenStreetMap để cho mọi người xem.", error: "Đã xuất hiện lỗi khi lưu", uploading: "Đang tải các thay đổi lên OpenStreetMap.", unsaved_changes: "Bạn có Thay đổi Chưa lưu" diff --git a/test/index.html b/test/index.html index 6ef656a35..78b60d11c 100644 --- a/test/index.html +++ b/test/index.html @@ -19,6 +19,7 @@ + @@ -73,9 +74,12 @@ + + + @@ -151,6 +155,8 @@ + +