diff --git a/BlueMapCommon/webapp/public/lang/settings.conf b/BlueMapCommon/webapp/public/lang/settings.conf index 21efafc3..e3a04483 100644 --- a/BlueMapCommon/webapp/public/lang/settings.conf +++ b/BlueMapCommon/webapp/public/lang/settings.conf @@ -26,5 +26,6 @@ { locale: "zh_TW", name: "中文(台灣)" } { locale: "zh_HK", name: "中文(香港)" } { locale: "ko", name: "한국어" } + { locale: "vi", name: "Tiếng Việt"} ] } diff --git a/BlueMapCommon/webapp/public/lang/vi.conf b/BlueMapCommon/webapp/public/lang/vi.conf new file mode 100644 index 00000000..508a7a80 --- /dev/null +++ b/BlueMapCommon/webapp/public/lang/vi.conf @@ -0,0 +1,171 @@ +{ + pageTitle: "BlueMap - {map}" + menu: { + title: "Menu" + tooltip: "Menu" + } + map: { + unloaded: "Không có bản đồ." + loading: "Đang tải bản đồ..." + errored: "Có lồi khi tải bản đồ!" + } + maps: { + title: "Bản đồ" + button: "Bản đồ" + tooltip: "Mọi bản đồ" + } + markers: { + title: "Đánh dấu" + button: "Đánh dấu" + tooltip: "Mọi đánh dấu" + marker: "đánh dấu | các đánh dấu" + markerSet: "cụm đánh dấu | các cụm đánh dấu" + searchPlaceholder: "Tìm..." + followPlayerTitle: "Bám theo" + sort { + title: "Sắp xếp" + by { + default: "mặc định" + label: "tên" + distance: "khoảng cách" + } + } + } + settings: { + title: "Cài đặt" + button: "Cài đặt" + } + goFullscreen: { + button: "Toản màn hình" + } + resetCamera: { + button: "Đặt lại camera" + tooltip: "Đặt lại camera và vị trí" + } + updateMap: { + button: "Cập nhật bản đồ" + tooltip: "Xóa bộ nhớ đệm" + } + lighting: { + title: "Ánh sáng" + dayNightSwitch: { + tooltip: "Ngày/Đêm" + } + sunlight: "Nhật quang" + ambientLight: "Phát quang" + } + resolution: { + title: "Độ phân giải" + high: "Cao (SSAA x2)" + normal: "Thường (Native x1)" + low: "Thấp (Upscaling x0.5)" + } + mapControls: { + title: "Điều khiển" + showZoomButtons: "Hiện nút thu phóng" + } + freeFlightControls: { + title: "Chế độ bay" + mouseSensitivity: "Độ nhạy chuột" + invertMouseY: "Đảo trục dọc" + } + renderDistance: { + title: "Khoảng cách kết xuất" + hiresLayer: "Vùng chất lượng cao" + lowersLayer: "Vùng chất lượng thấp" + loadHiresWhileMoving: "Tải vùng chất lượng cao khi di chuyển" + off: "Tắt" + } + theme: { + title: "Giao diện" + default: "Mặc định (hệ thống)" + dark: "Tối" + light: "Sáng" + contrast: "Tương phản" + } + debug: { + button: "Gỡ lỗi" + } + resetAllSettings: { + button: "Thiết đặt lại" + } + players: { + title: "Người chơi" + tooltip: "Danh sách người chơi" + } + compass: { + tooltip: "Hướng / chỉ bắc" + } + screenshot: { + title: "Chụp màn hình" + button: "Chụp màn hình" + clipboard: "Sao chép" + } + controls: { + title: "Chế độ" + perspective: { + button: "Xung quanh" + tooltip: "Góc nhìn xung quanh" + } + flatView: { + button: "Phẳng" + tooltip: "Góc nhìn từ trên xuống" + } + freeFlight: { + button: "Bay" + tooltip: "Góc nhìn chim bay" + } + } + language: { + title: "Ngôn ngữ" + } + blockTooltip: { + block: "Khối" + position: "Vị chí" + chunk: "Vùng" + region: { + region: "Khu vực" + file: "File" + } + light: { + light: "Ánh sáng" + sun: "Nhật quang" + block: "Phát quang" + } + } + info: { + title: "Thông tin" + button: "Thông tin" + content: """ + +

+

Điều khiển chuột:

+ + + + +
di chuyểnchuột trái + kéo
thu phónglăn chuột
xoay/nghiêngchuột phải + kéo
+

+

+

Điều khiển bàn phím:

+ + + + +
di chuyểnwasd / phím mũi tên
thu phóngBàn phím số: +/- or Ins/Home
xoay/nghiêngAlt trái + wasd / phím mũi tên hoặc Delete/End/Page Up/Page Down
+

+

+

Điều khiển cảm ứng:

+ + + + +
di chuyểnchạm + kéo
thu phóngchạm 2 ngón + nhón
xoay/nghiêngchạm 2 ngón + di chuyển / xoay
+

+

+ +""" + } +} diff --git a/BlueMapCommon/webapp/src/js/BlueMap.js b/BlueMapCommon/webapp/src/js/BlueMap.js index 6cb5f086..8db2cc54 100644 --- a/BlueMapCommon/webapp/src/js/BlueMap.js +++ b/BlueMapCommon/webapp/src/js/BlueMap.js @@ -22,41 +22,85 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -import {Object3D} from "three"; +import { Object3D } from "three"; -export * from "./MapViewer"; +export * as Three from "three"; +export * from "./controls/freeflight/FreeFlightControls"; +export * from "./controls/freeflight/keyboard/KeyHeightControls"; +// class name conflicts with map controls +export { KeyMoveControls as FreeFlightKeyMoveControls } from "./controls/freeflight/keyboard/KeyMoveControls"; +export { MouseAngleControls as FreeFlightMouseAngleControls } from "./controls/freeflight/mouse/MouseAngleControls"; +export { MouseRotateControls as FreeFlightMouseRotateControls } from "./controls/freeflight/mouse/MouseRotateControls"; +export * from "./controls/freeflight/touch/TouchPanControls"; + +export * from "./controls/map/MapControls"; +export * from "./controls/map/MapHeightControls"; +export * from "./controls/map/keyboard/KeyAngleControls"; +export { KeyMoveControls as MapKeyMoveControls } from "./controls/map/keyboard/KeyMoveControls"; +export * from "./controls/map/keyboard/KeyRotateControls"; +export * from "./controls/map/keyboard/KeyZoomControls"; +export { MouseAngleControls as MapMouseAngleControls } from "./controls/map/mouse/MouseAngleControls"; +export * from "./controls/map/mouse/MouseMoveControls"; +export { MouseRotateControls as MapMouseRotateControls } from "./controls/map/mouse/MouseRotateControls"; +export * from "./controls/map/mouse/MouseZoomControls"; +export * from "./controls/map/touch/TouchAngleControls"; +export * from "./controls/map/touch/TouchMoveControls"; +export * from "./controls/map/touch/TouchRotateControls"; +export * from "./controls/map/touch/TouchZoomControls"; + +export * from "./controls/ControlsManager"; +export * from "./controls/KeyCombination"; + +export * from "./map/LowresTileLoader"; export * from "./map/Map"; export * from "./map/Tile"; export * from "./map/TileLoader"; export * from "./map/TileManager"; export * from "./map/TileMap"; +export * from "./map/hires/HiresFragmentShader"; +export * from "./map/hires/HiresVertexShader"; +export * from "./map/lowres/LowresFragmentShader"; +export * from "./map/lowres/LowresVertexShader"; export * from "./markers/ExtrudeMarker"; export * from "./markers/HtmlMarker"; export * from "./markers/LineMarker"; export * from "./markers/Marker"; +export * from "./markers/MarkerFillFragmentShader"; +export * from "./markers/MarkerFillVertexShader"; export * from "./markers/MarkerManager"; export * from "./markers/MarkerSet"; -export * from "./markers/PlayerMarkerSet"; +export * from "./markers/NormalMarkerManager"; export * from "./markers/ObjectMarker"; export * from "./markers/PlayerMarker"; +export * from "./markers/PlayerMarkerManager"; +export * from "./markers/PlayerMarkerSet"; export * from "./markers/PoiMarker"; export * from "./markers/ShapeMarker"; -export * from "./controls/map/MapControls"; -export * from "./controls/freeflight/FreeFlightControls"; +export * from "./skybox/SkyFragmentShader"; +export * from "./skybox/SkyVertexShader"; +export * from "./skybox/SkyboxScene"; +export * from "./util/CSS2DRenderer"; export * from "./util/CombinedCamera"; +export * from "./util/LineShader"; +export * from "./util/Stats"; export * from "./util/Utils"; +export * from "./BlueMapApp"; +export * from "./MainMenu"; +export * from "./MapViewer"; +export * from "./PopupMarker"; +export * from "./Utils"; + /** * @param event {object} * @return {boolean} - whether the event has been consumed (true) or not (false) */ -Object3D.prototype.onClick = function(event) { - - if (this.parent){ +Object3D.prototype.onClick = function (event) { + if (this.parent) { if (!Array.isArray(event.eventStack)) event.eventStack = []; event.eventStack.push(this); diff --git a/BlueMapCommon/webapp/src/main.js b/BlueMapCommon/webapp/src/main.js index 3d6c63a1..467a6c47 100644 --- a/BlueMapCommon/webapp/src/main.js +++ b/BlueMapCommon/webapp/src/main.js @@ -25,6 +25,7 @@ import * as Vue from 'vue'; import App from './App.vue'; +import * as BlueMap from "./js/BlueMap"; import {BlueMapApp} from "./js/BlueMapApp"; import {i18nModule, loadLanguageSettings} from "./i18n"; @@ -38,6 +39,7 @@ async function load() { try { const bluemap = new BlueMapApp(document.getElementById("map-container")); window.bluemap = bluemap; + window.BlueMap = BlueMap; // init vue const vue = Vue.createApp(App, {