This commit is contained in:
Lukas Rieger (Blue) 2023-06-16 20:23:42 +02:00
commit 0f7fd4ccd4
No known key found for this signature in database
GPG Key ID: 2D09EC5ED2687FF2
4 changed files with 226 additions and 8 deletions

View File

@ -26,5 +26,6 @@
{ locale: "zh_TW", name: "中文(台灣)" } { locale: "zh_TW", name: "中文(台灣)" }
{ locale: "zh_HK", name: "中文(香港)" } { locale: "zh_HK", name: "中文(香港)" }
{ locale: "ko", name: "한국어" } { locale: "ko", name: "한국어" }
{ locale: "vi", name: "Tiếng Việt"}
] ]
} }

View File

@ -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: """
<img src="assets/logo.png" style="display: block; width: 40%; margin: 3em auto; border-radius: 50%">
<p>
<h2>Điều khiển chuột:</h2>
<table>
<tr><th>di chuyển</th><td><kbd>chuột trái</kbd> + kéo</td></tr>
<tr><th>thu phóng</th><td><kbd>lăn chuột</kbd></td></tr>
<tr><th>xoay/nghiêng</th><td><kbd>chuột phải</kbd> + kéo</td></tr>
</table>
</p>
<p>
<h2>Điều khiển bàn phím:</h2>
<table>
<tr><th>di chuyển</th><td><kbd>wasd</kbd> / <kbd>phím mũi tên</kbd></td></tr>
<tr><th>thu phóng</th><td>Bàn phím số: <kbd>+</kbd>/<kbd>-</kbd> or <kbd>Ins</kbd>/<kbd>Home</kbd></td></tr>
<tr><th>xoay/nghiêng</th><td><kbd>Alt trái</kbd> + <kbd>wasd</kbd> / <kbd>phím mũi tên</kbd> hoặc <kbd>Delete</kbd>/<kbd>End</kbd>/<kbd>Page Up</kbd>/<kbd>Page Down</kbd></td></tr>
</table>
</p>
<p>
<h2>Điều khiển cảm ứng:</h2>
<table>
<tr><th>di chuyển</th><td>chạm + kéo</td></tr>
<tr><th>thu phóng</th><td>chạm 2 ngón + nhón</td></tr>
<tr><th>xoay/nghiêng</th><td>chạm 2 ngón + di chuyển / xoay</td></tr>
</table>
</p>
<br><hr>
<p class="info-footer">
Trang được tạo &#9829; bởi <a href="https://bluecolo.red/bluemap">BlueMap</a> {version}
</p>
"""
}
}

View File

@ -22,41 +22,85 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE. * 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/Map";
export * from "./map/Tile"; export * from "./map/Tile";
export * from "./map/TileLoader"; export * from "./map/TileLoader";
export * from "./map/TileManager"; export * from "./map/TileManager";
export * from "./map/TileMap"; 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/ExtrudeMarker";
export * from "./markers/HtmlMarker"; export * from "./markers/HtmlMarker";
export * from "./markers/LineMarker"; export * from "./markers/LineMarker";
export * from "./markers/Marker"; export * from "./markers/Marker";
export * from "./markers/MarkerFillFragmentShader";
export * from "./markers/MarkerFillVertexShader";
export * from "./markers/MarkerManager"; export * from "./markers/MarkerManager";
export * from "./markers/MarkerSet"; export * from "./markers/MarkerSet";
export * from "./markers/PlayerMarkerSet"; export * from "./markers/NormalMarkerManager";
export * from "./markers/ObjectMarker"; export * from "./markers/ObjectMarker";
export * from "./markers/PlayerMarker"; export * from "./markers/PlayerMarker";
export * from "./markers/PlayerMarkerManager";
export * from "./markers/PlayerMarkerSet";
export * from "./markers/PoiMarker"; export * from "./markers/PoiMarker";
export * from "./markers/ShapeMarker"; export * from "./markers/ShapeMarker";
export * from "./controls/map/MapControls"; export * from "./skybox/SkyFragmentShader";
export * from "./controls/freeflight/FreeFlightControls"; export * from "./skybox/SkyVertexShader";
export * from "./skybox/SkyboxScene";
export * from "./util/CSS2DRenderer";
export * from "./util/CombinedCamera"; export * from "./util/CombinedCamera";
export * from "./util/LineShader";
export * from "./util/Stats";
export * from "./util/Utils"; export * from "./util/Utils";
export * from "./BlueMapApp";
export * from "./MainMenu";
export * from "./MapViewer";
export * from "./PopupMarker";
export * from "./Utils";
/** /**
* @param event {object} * @param event {object}
* @return {boolean} - whether the event has been consumed (true) or not (false) * @return {boolean} - whether the event has been consumed (true) or not (false)
*/ */
Object3D.prototype.onClick = function(event) { Object3D.prototype.onClick = function (event) {
if (this.parent) {
if (this.parent){
if (!Array.isArray(event.eventStack)) event.eventStack = []; if (!Array.isArray(event.eventStack)) event.eventStack = [];
event.eventStack.push(this); event.eventStack.push(this);

View File

@ -25,6 +25,7 @@
import * as Vue from 'vue'; import * as Vue from 'vue';
import App from './App.vue'; import App from './App.vue';
import * as BlueMap from "./js/BlueMap";
import {BlueMapApp} from "./js/BlueMapApp"; import {BlueMapApp} from "./js/BlueMapApp";
import {i18nModule, loadLanguageSettings} from "./i18n"; import {i18nModule, loadLanguageSettings} from "./i18n";
@ -38,6 +39,7 @@ async function load() {
try { try {
const bluemap = new BlueMapApp(document.getElementById("map-container")); const bluemap = new BlueMapApp(document.getElementById("map-container"));
window.bluemap = bluemap; window.bluemap = bluemap;
window.BlueMap = BlueMap;
// init vue // init vue
const vue = Vue.createApp(App, { const vue = Vue.createApp(App, {