impr: Rewrite Localization Manager to use more standard format and load localizations on the fly

This commit is contained in:
WerWolv
2025-08-12 18:00:10 +02:00
parent 25c8f4b588
commit b5a3a8b4c2
153 changed files with 18215 additions and 18475 deletions

View File

@@ -1,21 +1,15 @@
{
"code": "de-DE",
"country": "Germany",
"fallback": false,
"language": "German",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Umgebungslicht",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Diffuses Licht",
"hex.visualizers.pl_visualizer.3d.light_color": "Lichtfarbe",
"hex.visualizers.pl_visualizer.3d.light_position": "Lichtposition",
"hex.visualizers.pl_visualizer.3d.more_settings": "Mehr Einstellungen",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Objektreflexion",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Spiegelndes Licht",
"hex.visualizers.pl_visualizer.3d.texture_file": "Texturdatei",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Breitengrade",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Längengrad",
"hex.visualizers.pl_visualizer.coordinates.query": "Adresse finden",
"hex.visualizers.pl_visualizer.coordinates.querying": "Adresse abfragen...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Keine Adresse gefunden"
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Umgebungslicht",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Diffuses Licht",
"hex.visualizers.pl_visualizer.3d.light_color": "Lichtfarbe",
"hex.visualizers.pl_visualizer.3d.light_position": "Lichtposition",
"hex.visualizers.pl_visualizer.3d.more_settings": "Mehr Einstellungen",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Objektreflexion",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Spiegelndes Licht",
"hex.visualizers.pl_visualizer.3d.texture_file": "Texturdatei",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Breitengrade",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Längengrad",
"hex.visualizers.pl_visualizer.coordinates.query": "Adresse finden",
"hex.visualizers.pl_visualizer.coordinates.querying": "Adresse abfragen...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Keine Adresse gefunden"
}

View File

@@ -1,35 +1,29 @@
{
"code": "en-US",
"language": "English",
"country": "United States",
"fallback": true,
"translations": {
"hex.visualizers.pl_visualizer.3d.light_position": "Light Position",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Ambient Brightness",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Diffuse Brightness",
"hex.visualizers.pl_visualizer.3d.error_message_count": "{} count must be a multiple of {}",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} can't be empty",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "Expected {} but got {}",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "Positions",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "Error: Vertex count must be a multiple of 3",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "Colors",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "Normals",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "Texture Coordinates",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_index_pattern": "Error: Cannot determine index type size",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "Error: Index count must be a multiple of 3",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "Error: Indices must be between 0 and the number of vertices minus one. Invalid indices: ",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": " for {} vertices",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_texture_file": "Error: Invalid texture file",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Specular Brightness",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Object Reflectiveness",
"hex.visualizers.pl_visualizer.3d.light_color": "Light Color",
"hex.visualizers.pl_visualizer.3d.more_settings": "More Settings",
"hex.visualizers.pl_visualizer.3d.texture_file": "Texture File Path",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Latitude",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Longitude",
"hex.visualizers.pl_visualizer.coordinates.query": "Find address",
"hex.visualizers.pl_visualizer.coordinates.querying": "Querying address...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "No address found",
"hex.visualizers.pl_visualizer.task.visualizing": "Visualizing data..."
}
"hex.visualizers.pl_visualizer.3d.light_position": "Light Position",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Ambient Brightness",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Diffuse Brightness",
"hex.visualizers.pl_visualizer.3d.error_message_count": "{} count must be a multiple of {}",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} can't be empty",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "Expected {} but got {}",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "Positions",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "Error: Vertex count must be a multiple of 3",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "Colors",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "Normals",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "Texture Coordinates",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_index_pattern": "Error: Cannot determine index type size",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "Error: Index count must be a multiple of 3",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "Error: Indices must be between 0 and the number of vertices minus one. Invalid indices: ",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": " for {} vertices",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_texture_file": "Error: Invalid texture file",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Specular Brightness",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Object Reflectiveness",
"hex.visualizers.pl_visualizer.3d.light_color": "Light Color",
"hex.visualizers.pl_visualizer.3d.more_settings": "More Settings",
"hex.visualizers.pl_visualizer.3d.texture_file": "Texture File Path",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Latitude",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Longitude",
"hex.visualizers.pl_visualizer.coordinates.query": "Find address",
"hex.visualizers.pl_visualizer.coordinates.querying": "Querying address...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "No address found",
"hex.visualizers.pl_visualizer.task.visualizing": "Visualizing data..."
}

View File

@@ -1,21 +1,15 @@
{
"code": "es_ES",
"country": "Spain",
"fallback": false,
"language": "Spanish",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}

View File

@@ -1,33 +1,27 @@
{
"code": "fr-FR",
"language": "Français",
"country": "France",
"fallback": false,
"translations": {
"hex.visualizers.pl_visualizer.3d.light_position": "Position de la lumière",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Luminosité ambiante",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Luminosité diffuse",
"hex.visualizers.pl_visualizer.3d.error_message_count": "Le nombre de {} doit être un multiple de {}",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} ne peut pas être vide",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "Attendu {} mais obtenu {}",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "Positions",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "Erreur : Le nombre de sommets doit être un multiple de 3",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "Couleurs",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "Normales",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "Coordonnées de texture",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "Erreur : Le nombre d'index doit être un multiple de 3",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "Erreur : Les index doivent être compris entre 0 et le nombre de sommets moins un. Index invalides : ",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": " pour {} sommets",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Luminosité spéculaire",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Réflectivité de l'objet",
"hex.visualizers.pl_visualizer.3d.light_color": "Couleur de la lumière",
"hex.visualizers.pl_visualizer.3d.more_settings": "Plus de paramètres",
"hex.visualizers.pl_visualizer.3d.texture_file": "Chemin du fichier de texture",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Latitude",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Longitude",
"hex.visualizers.pl_visualizer.coordinates.query": "Trouver l'adresse",
"hex.visualizers.pl_visualizer.coordinates.querying": "Recherche de l'adresse...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Aucune adresse trouvée",
"hex.visualizers.pl_visualizer.task.visualizing": "Visualisation des données..."
}
"hex.visualizers.pl_visualizer.3d.light_position": "Position de la lumière",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Luminosité ambiante",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Luminosité diffuse",
"hex.visualizers.pl_visualizer.3d.error_message_count": "Le nombre de {} doit être un multiple de {}",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} ne peut pas être vide",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "Attendu {} mais obtenu {}",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "Positions",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "Erreur : Le nombre de sommets doit être un multiple de 3",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "Couleurs",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "Normales",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "Coordonnées de texture",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "Erreur : Le nombre d'index doit être un multiple de 3",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "Erreur : Les index doivent être compris entre 0 et le nombre de sommets moins un. Index invalides : ",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": " pour {} sommets",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Luminosité spéculaire",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Réflectivité de l'objet",
"hex.visualizers.pl_visualizer.3d.light_color": "Couleur de la lumière",
"hex.visualizers.pl_visualizer.3d.more_settings": "Plus de paramètres",
"hex.visualizers.pl_visualizer.3d.texture_file": "Chemin du fichier de texture",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Latitude",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Longitude",
"hex.visualizers.pl_visualizer.coordinates.query": "Trouver l'adresse",
"hex.visualizers.pl_visualizer.coordinates.querying": "Recherche de l'adresse...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Aucune adresse trouvée",
"hex.visualizers.pl_visualizer.task.visualizing": "Visualisation des données..."
}

View File

@@ -1,21 +1,15 @@
{
"code": "hu_HU",
"language": "Hungarian",
"country": "Hungary",
"fallback": false,
"translations": {
"hex.visualizers.pl_visualizer.3d.light_position": "Fény pozició",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Környezeti fényerő",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Szórt fényerő",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Tükröződő fényerő",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Tárgyak fényvisszaverése",
"hex.visualizers.pl_visualizer.3d.light_color": "Fény színe",
"hex.visualizers.pl_visualizer.3d.more_settings": "További beállítások",
"hex.visualizers.pl_visualizer.3d.texture_file": "Textúra fájl helye",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Szélesség",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Hosszúság",
"hex.visualizers.pl_visualizer.coordinates.query": "Cím keresése",
"hex.visualizers.pl_visualizer.coordinates.querying": "Cím lekérdezése...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Nem található cím"
}
"hex.visualizers.pl_visualizer.3d.light_position": "Fény pozició",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Környezeti fényerő",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Szórt fényerő",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Tükröződő fényerő",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Tárgyak fényvisszaverése",
"hex.visualizers.pl_visualizer.3d.light_color": "Fény színe",
"hex.visualizers.pl_visualizer.3d.more_settings": "További beállítások",
"hex.visualizers.pl_visualizer.3d.texture_file": "Textúra fájl helye",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Szélesség",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Hosszúság",
"hex.visualizers.pl_visualizer.coordinates.query": "Cím keresése",
"hex.visualizers.pl_visualizer.coordinates.querying": "Cím lekérdezése...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Nem található cím"
}

View File

@@ -1,21 +1,15 @@
{
"code": "it-IT",
"country": "Italy",
"fallback": false,
"language": "Italian",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}

View File

@@ -1,21 +1,15 @@
{
"code": "ja-JP",
"country": "Japan",
"fallback": false,
"language": "Japanese",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}

View File

@@ -1,21 +1,15 @@
{
"code": "ko-KR",
"country": "Korea",
"fallback": false,
"language": "Korean",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "주변 밝기",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "확산 밝기",
"hex.visualizers.pl_visualizer.3d.light_color": "조명 색상",
"hex.visualizers.pl_visualizer.3d.light_position": "조명 위치",
"hex.visualizers.pl_visualizer.3d.more_settings": "설정 더 보기",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "개체 반사도",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "반사 밝기",
"hex.visualizers.pl_visualizer.3d.texture_file": "텍스처 파일 경로",
"hex.visualizers.pl_visualizer.coordinates.latitude": "위도",
"hex.visualizers.pl_visualizer.coordinates.longitude": "경도",
"hex.visualizers.pl_visualizer.coordinates.query": "주소 찾기",
"hex.visualizers.pl_visualizer.coordinates.querying": "주소 쿼리 중...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "찾은 주소가 없습니다"
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "주변 밝기",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "확산 밝기",
"hex.visualizers.pl_visualizer.3d.light_color": "조명 색상",
"hex.visualizers.pl_visualizer.3d.light_position": "조명 위치",
"hex.visualizers.pl_visualizer.3d.more_settings": "설정 더 보기",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "개체 반사도",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "반사 밝기",
"hex.visualizers.pl_visualizer.3d.texture_file": "텍스처 파일 경로",
"hex.visualizers.pl_visualizer.coordinates.latitude": "위도",
"hex.visualizers.pl_visualizer.coordinates.longitude": "경도",
"hex.visualizers.pl_visualizer.coordinates.query": "주소 찾기",
"hex.visualizers.pl_visualizer.coordinates.querying": "주소 쿼리 중...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "찾은 주소가 없습니다"
}

View File

@@ -0,0 +1,54 @@
[
{
"code": "en-US",
"path": "lang/en_US.json"
},
{
"code": "es-ES",
"path": "lang/es_ES.json"
},
{
"code": "fr-FR",
"path": "lang/fr_FR.json"
},
{
"code": "de-DE",
"path": "lang/de_DE.json"
},
{
"code": "it-IT",
"path": "lang/it_IT.json"
},
{
"code": "hu-HU",
"path": "lang/hu_HU.json"
},
{
"code": "pt-BR",
"path": "lang/pt_BR.json"
},
{
"code": "ru-RU",
"path": "lang/ru_RU.json"
},
{
"code": "pl-PL",
"path": "lang/pl_PL.json"
},
{
"code": "zh-CN",
"path": "lang/zh_CN.json"
},
{
"code": "zh-TW",
"path": "lang/zh_TW.json"
},
{
"code": "ja-JP",
"path": "lang/ja_JP.json"
},
{
"code": "ko-KR",
"path": "lang/ko_KR.json"
}
]

View File

@@ -1,34 +1,28 @@
{
"code": "pl-PL",
"country": "Polska",
"language": "Polski",
"fallback": false,
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Jasność otoczenia",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Jasność światła rozproszonego",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "Kolory",
"hex.visualizers.pl_visualizer.3d.error_message_count": "Liczba {} musi być wielokrotnością {}",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "Oczekiwano {}, ale otrzymano {}",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": "dla {} wierzchołków",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "Błąd: liczba indeksów musi być wielokrotnością 3",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_index_pattern": "Błąd: nie można określić rozmiaru typu indeksu",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "Błąd: indeksy muszą zawierać się w przedziale od 0 do liczby wierzchołków minus jeden. Nieprawidłowe indeksy:",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "Normalne",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} nie może być puste",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "Pozycje",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "Współrzędne tekstury",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "Błąd: liczba wierzchołków musi być wielokrotnością 3",
"hex.visualizers.pl_visualizer.3d.light_color": "Kolor światła",
"hex.visualizers.pl_visualizer.3d.light_position": "Pozycja światła",
"hex.visualizers.pl_visualizer.3d.more_settings": "Więcej ustawień",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Refleksyjność obiektu ",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Jasność szczegółów",
"hex.visualizers.pl_visualizer.3d.texture_file": "Ścieżka do pliku tekstury",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Szerokość geograficzna",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Długość geograficzna",
"hex.visualizers.pl_visualizer.coordinates.query": "Znajdź adres",
"hex.visualizers.pl_visualizer.coordinates.querying": "Zapytanie o adres... ",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Nie znaleziono adresu",
"hex.visualizers.pl_visualizer.task.visualizing": "Wyświetlanie danych..."
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Jasność otoczenia",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Jasność światła rozproszonego",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "Kolory",
"hex.visualizers.pl_visualizer.3d.error_message_count": "Liczba {} musi być wielokrotnością {}",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "Oczekiwano {}, ale otrzymano {}",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": "dla {} wierzchołków",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "Błąd: liczba indeksów musi być wielokrotnością 3",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_index_pattern": "Błąd: nie można określić rozmiaru typu indeksu",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "Błąd: indeksy muszą zawierać się w przedziale od 0 do liczby wierzchołków minus jeden. Nieprawidłowe indeksy:",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "Normalne",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} nie może być puste",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "Pozycje",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "Współrzędne tekstury",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "Błąd: liczba wierzchołków musi być wielokrotnością 3",
"hex.visualizers.pl_visualizer.3d.light_color": "Kolor światła",
"hex.visualizers.pl_visualizer.3d.light_position": "Pozycja światła",
"hex.visualizers.pl_visualizer.3d.more_settings": "Więcej ustawień",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Refleksyjność obiektu ",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Jasność szczegółów",
"hex.visualizers.pl_visualizer.3d.texture_file": "Ścieżka do pliku tekstury",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Szerokość geograficzna",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Długość geograficzna",
"hex.visualizers.pl_visualizer.coordinates.query": "Znajdź adres",
"hex.visualizers.pl_visualizer.coordinates.querying": "Zapytanie o adres... ",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Nie znaleziono adresu",
"hex.visualizers.pl_visualizer.task.visualizing": "Wyświetlanie danych..."
}

View File

@@ -1,21 +1,15 @@
{
"code": "pt-BR",
"country": "Brazil",
"fallback": false,
"language": "Portuguese",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "",
"hex.visualizers.pl_visualizer.coordinates.longitude": "",
"hex.visualizers.pl_visualizer.coordinates.query": "",
"hex.visualizers.pl_visualizer.coordinates.querying": "",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": ""
}

View File

@@ -1,22 +1,16 @@
{
"code": "ru-RU",
"language": "Russian",
"country": "Russia",
"fallback": true,
"translations": {
"hex.visualizers.pl_visualizer.3d.light_position": "Положение света",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Яркость окружающего освещения",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Яркость рассеянного света",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Яркость зеркального блика",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Сила отражения",
"hex.visualizers.pl_visualizer.3d.light_color": "Цвет света",
"hex.visualizers.pl_visualizer.3d.more_settings": "Больше настроек",
"hex.visualizers.pl_visualizer.3d.texture_file": "Путь к файлу текстуры",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Широта",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Долгота",
"hex.visualizers.pl_visualizer.coordinates.query": "Найти адрес",
"hex.visualizers.pl_visualizer.coordinates.querying": "Запрос адреса...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Адрес не найден",
"hex.visualizers.pl_visualizer.task.visualizing": "Визуализация данных..."
}
"hex.visualizers.pl_visualizer.3d.light_position": "Положение света",
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "Яркость окружающего освещения",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "Яркость рассеянного света",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "Яркость зеркального блика",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "Сила отражения",
"hex.visualizers.pl_visualizer.3d.light_color": "Цвет света",
"hex.visualizers.pl_visualizer.3d.more_settings": "Больше настроек",
"hex.visualizers.pl_visualizer.3d.texture_file": "Путь к файлу текстуры",
"hex.visualizers.pl_visualizer.coordinates.latitude": "Широта",
"hex.visualizers.pl_visualizer.coordinates.longitude": "Долгота",
"hex.visualizers.pl_visualizer.coordinates.query": "Найти адрес",
"hex.visualizers.pl_visualizer.coordinates.querying": "Запрос адреса...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "Адрес не найден",
"hex.visualizers.pl_visualizer.task.visualizing": "Визуализация данных..."
}

View File

@@ -1,35 +1,29 @@
{
"code": "zh-CN",
"country": "China",
"fallback": false,
"language": "Chinese (Simplified)",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "环境亮度",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "漫射亮度",
"hex.visualizers.pl_visualizer.3d.light_color": "光线颜色",
"hex.visualizers.pl_visualizer.3d.light_position": "光线位置",
"hex.visualizers.pl_visualizer.3d.more_settings": "更多设置",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "物体反射率",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "镜面亮度",
"hex.visualizers.pl_visualizer.3d.texture_file": "纹理文件路径",
"hex.visualizers.pl_visualizer.coordinates.latitude": "维度",
"hex.visualizers.pl_visualizer.coordinates.longitude": "精度",
"hex.visualizers.pl_visualizer.coordinates.query": "查找地址",
"hex.visualizers.pl_visualizer.coordinates.querying": "正在查找地址……",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "找不到地址",
"hex.visualizers.pl_visualizer.task.visualizing": "可视化数据……",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "颜色数据",
"hex.visualizers.pl_visualizer.3d.error_message_count": "{} 的数量必须是 {} 的倍数",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "预期类型为 {},实际类型为 {}",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": " 共需 {} 个顶点",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "错误索引数量必须是3的倍数",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_index_pattern": "错误:无法确定索引类型大小​",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "错误索引值必须在0到顶点数减1范围内。无效索引",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_texture_file": "错误:无效纹理文件",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "​法线数据",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} 不能为空",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "顶点位置数据",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "纹理坐标数据",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "错误顶点数量必须是3的倍数"
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "环境亮度",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "漫射亮度",
"hex.visualizers.pl_visualizer.3d.light_color": "光线颜色",
"hex.visualizers.pl_visualizer.3d.light_position": "光线位置",
"hex.visualizers.pl_visualizer.3d.more_settings": "更多设置",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "物体反射率",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "镜面亮度",
"hex.visualizers.pl_visualizer.3d.texture_file": "纹理文件路径",
"hex.visualizers.pl_visualizer.coordinates.latitude": "维度",
"hex.visualizers.pl_visualizer.coordinates.longitude": "精度",
"hex.visualizers.pl_visualizer.coordinates.query": "查找地址",
"hex.visualizers.pl_visualizer.coordinates.querying": "正在查找地址……",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "找不到地址",
"hex.visualizers.pl_visualizer.task.visualizing": "可视化数据……",
"hex.visualizers.pl_visualizer.3d.error_message_colors": "颜色数据​",
"hex.visualizers.pl_visualizer.3d.error_message_count": "{} 的数量必须是 {} 的倍数",
"hex.visualizers.pl_visualizer.3d.error_message_expected": "预期类型为 {},实际类型为 {}",
"hex.visualizers.pl_visualizer.3d.error_message_for_vertex_count": " 共需 {} 个顶点",
"hex.visualizers.pl_visualizer.3d.error_message_index_count": "错误索引数量必须是3的倍数",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_index_pattern": "错误:无法确定索引类型大小",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_indices": "错误索引值必须在0到顶点数减1范围内。无效索引",
"hex.visualizers.pl_visualizer.3d.error_message_invalid_texture_file": "错误:无效纹理文件",
"hex.visualizers.pl_visualizer.3d.error_message_normals": "​法线数据",
"hex.visualizers.pl_visualizer.3d.error_message_not_empty": "{} 不能为空",
"hex.visualizers.pl_visualizer.3d.error_message_positions": "顶点位置数据",
"hex.visualizers.pl_visualizer.3d.error_message_uv_coords": "纹理坐标数据",
"hex.visualizers.pl_visualizer.3d.error_message_vertex_count": "错误顶点数量必须是3的倍数"
}

View File

@@ -1,21 +1,15 @@
{
"code": "zh-TW",
"country": "Taiwan",
"fallback": false,
"language": "Chinese (Traditional)",
"translations": {
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "緯度",
"hex.visualizers.pl_visualizer.coordinates.longitude": "經度",
"hex.visualizers.pl_visualizer.coordinates.query": "查詢地址",
"hex.visualizers.pl_visualizer.coordinates.querying": "正在查詢地址...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "找不到地址"
}
"hex.visualizers.pl_visualizer.3d.ambient_brightness": "",
"hex.visualizers.pl_visualizer.3d.diffuse_brightness": "",
"hex.visualizers.pl_visualizer.3d.light_color": "",
"hex.visualizers.pl_visualizer.3d.light_position": "",
"hex.visualizers.pl_visualizer.3d.more_settings": "",
"hex.visualizers.pl_visualizer.3d.object_reflectiveness": "",
"hex.visualizers.pl_visualizer.3d.specular_brightness": "",
"hex.visualizers.pl_visualizer.3d.texture_file": "",
"hex.visualizers.pl_visualizer.coordinates.latitude": "緯度",
"hex.visualizers.pl_visualizer.coordinates.longitude": "經度",
"hex.visualizers.pl_visualizer.coordinates.query": "查詢地址",
"hex.visualizers.pl_visualizer.coordinates.querying": "正在查詢地址...",
"hex.visualizers.pl_visualizer.coordinates.querying_no_address": "找不到地址"
}

View File

@@ -17,8 +17,9 @@ using namespace hex::plugin::visualizers;
IMHEX_PLUGIN_SETUP("Visualizers", "WerWolv", "Visualizers for the Pattern Language") {
hex::log::debug("Using romfs: '{}'", romfs::name());
for (auto &path : romfs::list("lang"))
hex::ContentRegistry::Language::addLocalization(nlohmann::json::parse(romfs::get(path).string()));
hex::LocalizationManager::addLanguages(romfs::get("lang/languages.json").string(), [](const std::filesystem::path &path) {
return romfs::get(path).string();
});
registerPatternLanguageVisualizers();
registerPatternLanguageInlineVisualizers();