Merge branch 'master' of github.com:systemed/iD

This commit is contained in:
Ansis Brammanis
2013-02-16 18:54:59 -05:00
19 changed files with 511 additions and 28 deletions
+2
View File
@@ -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 \
+2
View File
@@ -167,6 +167,8 @@
<script src='locale/ja.js'></script>
<script src='locale/lv.js'></script>
<script src='locale/nl.js'></script>
<script src='locale/pl.js'></script>
<script src='locale/ru.js'></script>
<script src='locale/tr.js'></script>
<script src='locale/vi.js'></script>
+6 -1
View File
@@ -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];
+21 -8
View File
@@ -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;
};
+1
View File
@@ -9,6 +9,7 @@ iD.ui.Inspector = function() {
presetUI,
presetGrid,
tagList,
tagEditor,
context;
function inspector(selection) {
+1 -1
View File
@@ -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'));
+1 -1
View File
@@ -29,7 +29,7 @@ d3.combobox = function() {
top: rect.height + 'px'
});
carat = selection
selection
.insert('a', ':first-child')
.attr('class', 'combobox-carat')
.style({
+1 -1
View File
@@ -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",
+9 -9
View File
@@ -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: {
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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",
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -190,7 +190,7 @@ locale.ja = {
save: {
title: "Save",
help: "変更点をOpenStreetMapに保存し、他ユーザが確認できるようにします",
help: "変更点をOpenStreetMapに保存し、他ユーザが確認できるようにします",
error: "データ保存中にエラーが発生しました",
uploading: "変更点をOpenStreetMapへアップロードしています",
unsaved_changes: "変更が保存されていません"
+1 -1
View File
@@ -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"
+227
View File
@@ -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"
}
};
+227
View File
@@ -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: "Отдалить"
}
};
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"
+6
View File
@@ -19,6 +19,7 @@
<script src='../js/lib/lodash.js'></script>
<script src='../js/lib/d3.v3.js'></script>
<script src='../js/lib/sha.js'></script>
<script src='../js/lib/d3.combobox.js'></script>
<script src='../js/lib/d3.geo.tile.js'></script>
<script src='../js/lib/d3.keybinding.js'></script>
<script src='../js/lib/d3.size.js'></script>
@@ -73,9 +74,12 @@
<script src='../js/id/ui/confirm.js'></script>
<script src='../js/id/ui/preset.js'></script>
<script src='../js/id/ui/presetfavs.js'></script>
<script src="../js/id/ui/presetgrid.js"></script>
<script src='../js/id/ui/presetsearch.js'></script>
<script src='../js/id/ui/splash.js'></script>
<script src='../js/id/ui/source_switch.js'></script>
<script src='../js/id/ui/tageditor.js'></script>
<script src='../js/id/ui/taglist.js'></script>
<script src='../js/id/ui/toggle.js'></script>
<script src='../js/id/actions.js'></script>
@@ -151,6 +155,8 @@
<script src='../locale/lv.js'></script>
<script src='../locale/it.js'></script>
<script src='../locale/nl.js'></script>
<script src='../locale/pl.js'></script>
<script src='../locale/ru.js'></script>
<script src='../locale/tr.js'></script>
<script src='../locale/vi.js'></script>