parent
523459b1e3
commit
e8f1674b95
|
@ -1,10 +1,10 @@
|
|||
pub mod auto_translate;
|
||||
pub mod duties;
|
||||
pub mod jobs;
|
||||
pub mod roulettes;
|
||||
pub mod territory_names;
|
||||
pub mod treasure_maps;
|
||||
pub mod worlds;
|
||||
use std::{
|
||||
cmp::Ordering,
|
||||
str::FromStr,
|
||||
};
|
||||
use std::borrow::Cow;
|
||||
|
||||
use crate::listing::{DutyCategory, DutyType};
|
||||
|
||||
pub use self::{
|
||||
auto_translate::AUTO_TRANSLATE,
|
||||
|
@ -16,12 +16,13 @@ pub use self::{
|
|||
worlds::WORLDS,
|
||||
};
|
||||
|
||||
use std::{
|
||||
cmp::Ordering,
|
||||
str::FromStr,
|
||||
};
|
||||
use std::borrow::Cow;
|
||||
use crate::listing::{DutyCategory, DutyType};
|
||||
pub mod auto_translate;
|
||||
pub mod duties;
|
||||
pub mod jobs;
|
||||
pub mod roulettes;
|
||||
pub mod territory_names;
|
||||
pub mod treasure_maps;
|
||||
pub mod worlds;
|
||||
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
pub enum Language {
|
||||
|
@ -150,6 +151,12 @@ pub fn duty_name<'a>(duty_type: DutyType, category: DutyCategory, duty: u16, lan
|
|||
Language::German => "Himmelssäule",
|
||||
Language::French => "Pilier des Cieux",
|
||||
}),
|
||||
(DutyType::Other, DutyCategory::DeepDungeons) if duty == 3 => return Cow::from(match lang {
|
||||
Language::English => "Eureka Orthos",
|
||||
Language::Japanese => "オルト・エウレカ",
|
||||
Language::German => "Eureka Orthos",
|
||||
Language::French => "Eurêka Orthos",
|
||||
}),
|
||||
(DutyType::Normal, _) => {
|
||||
if let Some(info) = crate::ffxiv::duty(u32::from(duty)) {
|
||||
return Cow::from(info.name.text(&lang));
|
||||
|
|
|
@ -4725,6 +4725,12 @@ lazy_static::lazy_static! {
|
|||
de: "Barbarizia",
|
||||
fr: "Barbariccia",
|
||||
},
|
||||
(23, 1959) => LocalisedText {
|
||||
en: "Rubicante",
|
||||
ja: "ルビカンテ",
|
||||
de: "Rubicante",
|
||||
fr: "Rubicante",
|
||||
},
|
||||
(24, 2000) => LocalisedText {
|
||||
en: "【Duty】",
|
||||
ja: "【コンテンツ】",
|
||||
|
@ -7197,6 +7203,12 @@ lazy_static::lazy_static! {
|
|||
de: "Pod 602",
|
||||
fr: "pod 602",
|
||||
},
|
||||
(49, 285) => LocalisedText {
|
||||
en: "moon-hopper",
|
||||
ja: "ムーンホッパー",
|
||||
de: "Mondhopper",
|
||||
fr: "bondisseur lunaire",
|
||||
},
|
||||
(49, 286) => LocalisedText {
|
||||
en: "island alligator",
|
||||
ja: "アイランド・アリゲーター",
|
||||
|
@ -7221,6 +7233,12 @@ lazy_static::lazy_static! {
|
|||
de: "Geißelskorpion",
|
||||
fr: "vinaigrier",
|
||||
},
|
||||
(49, 292) => LocalisedText {
|
||||
en: "Orthos craklaw",
|
||||
ja: "オルト・クラックロー",
|
||||
de: "Orthos-Kraklaw",
|
||||
fr: "craqulov Orthos",
|
||||
},
|
||||
(49, 293) => LocalisedText {
|
||||
en: "bluefeather lynx",
|
||||
ja: "ブルーフェザー・リンクス",
|
||||
|
@ -7269,6 +7287,12 @@ lazy_static::lazy_static! {
|
|||
de: "Sturmwind-Luchs",
|
||||
fr: "lynx des vents tempétueux",
|
||||
},
|
||||
(49, 308) => LocalisedText {
|
||||
en: "aeturna",
|
||||
ja: "アエテルナエ",
|
||||
de: "Aeturna",
|
||||
fr: "Aeturna",
|
||||
},
|
||||
(49, 311) => LocalisedText {
|
||||
en: "Anden III",
|
||||
ja: "アンデンIII世",
|
||||
|
@ -8895,6 +8919,12 @@ lazy_static::lazy_static! {
|
|||
de: "Heiligtum der Schlange",
|
||||
fr: "Sanctuaire du Grand Serpent",
|
||||
},
|
||||
(51, 2529) => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
(51, 2530) => LocalisedText {
|
||||
en: "Eureka Pyros",
|
||||
ja: "エウレカ:ピューロス帯",
|
||||
|
@ -18987,6 +19017,12 @@ lazy_static::lazy_static! {
|
|||
de: "/kontaktperle",
|
||||
fr: "/appelvialinkperle",
|
||||
},
|
||||
(62, 653) => LocalisedText {
|
||||
en: "/earwiggle",
|
||||
ja: "/earwiggle",
|
||||
de: "/löffelwackeln",
|
||||
fr: "/longuesoreillessoyeuses",
|
||||
},
|
||||
(63, 29054) => LocalisedText {
|
||||
en: "Guard",
|
||||
ja: "防御",
|
||||
|
@ -23434,6 +23470,18 @@ lazy_static::lazy_static! {
|
|||
de: "Aufzieh-Cagnazzo",
|
||||
fr: "Cagnazzo miniature",
|
||||
},
|
||||
(65, 472) => LocalisedText {
|
||||
en: "Findingway",
|
||||
ja: "ファインディングウェイ",
|
||||
de: "Findingway",
|
||||
fr: "Findingway",
|
||||
},
|
||||
(65, 473) => LocalisedText {
|
||||
en: "private pachypodium",
|
||||
ja: "プライベート・パキポディウム",
|
||||
de: "Privat-Pachypodium",
|
||||
fr: "soldate pachypodium",
|
||||
},
|
||||
(65, 474) => LocalisedText {
|
||||
en: "wind-up Halone",
|
||||
ja: "マメット・ハルオーネ",
|
||||
|
@ -26332,6 +26380,132 @@ lazy_static::lazy_static! {
|
|||
de: "Totenlaterne",
|
||||
fr: "Lanterne de résurrection",
|
||||
},
|
||||
(27, 3628) => LocalisedText {
|
||||
en: "Pylon of Return",
|
||||
ja: "再生装置",
|
||||
de: "Reanimator",
|
||||
fr: "résurrecteur",
|
||||
},
|
||||
(27, 3629) => LocalisedText {
|
||||
en: "Pylon of Passage",
|
||||
ja: "転移装置",
|
||||
de: "Translokator",
|
||||
fr: "téléporteur",
|
||||
},
|
||||
(27, 3630) => LocalisedText {
|
||||
en: "Unei demiclone",
|
||||
ja: "デミクローン・ウネ",
|
||||
de: "Demiklon-Unei",
|
||||
fr: "semi-clone d'Unéi",
|
||||
},
|
||||
(27, 3631) => LocalisedText {
|
||||
en: "Doga demiclone",
|
||||
ja: "デミクローン・ドーガ",
|
||||
de: "Demiklon-Doga",
|
||||
fr: "semi-clone de Doga",
|
||||
},
|
||||
(27, 3632) => LocalisedText {
|
||||
en: "onion knight demiclone",
|
||||
ja: "デミクローン・オニオンナイト",
|
||||
de: "Demiklon-Zwiebelritter",
|
||||
fr: "semi-clone du chevalier Oignon",
|
||||
},
|
||||
(27, 3633) => LocalisedText {
|
||||
en: "Protomander of Lethargy",
|
||||
ja: "魔科学器:スロウガ",
|
||||
de: "Ätherogefäß der Trägheit",
|
||||
fr: "magismobjet de ralentissement",
|
||||
},
|
||||
(27, 3634) => LocalisedText {
|
||||
en: "Protomander of Storms",
|
||||
ja: "魔科学器:ミールストーム",
|
||||
de: "Ätherogefäß der Schwäche",
|
||||
fr: "magismobjet de Charybde",
|
||||
},
|
||||
(27, 3635) => LocalisedText {
|
||||
en: "Protomander of Dread",
|
||||
ja: "魔科学器:ドレッドノート化",
|
||||
de: "Ätherogefäß der Macht",
|
||||
fr: "magismobjet de cuirassé Dreadnaught",
|
||||
},
|
||||
(27, 3636) => LocalisedText {
|
||||
en: "Protomander of Safety",
|
||||
ja: "魔科学器:呪印解除",
|
||||
de: "Ätherogefäß des Siegelbruchs",
|
||||
fr: "magismobjet de désamorçage",
|
||||
},
|
||||
(27, 3637) => LocalisedText {
|
||||
en: "Protomander of Sight",
|
||||
ja: "魔科学器:サイトロ",
|
||||
de: "Ätherogefäß der Sicht",
|
||||
fr: "magismobjet de localisation",
|
||||
},
|
||||
(27, 3638) => LocalisedText {
|
||||
en: "Protomander of Strength",
|
||||
ja: "魔科学器:自己強化",
|
||||
de: "Ätherogefäß der Stärkung",
|
||||
fr: "magismobjet de puissance",
|
||||
},
|
||||
(27, 3639) => LocalisedText {
|
||||
en: "Protomander of Steel",
|
||||
ja: "魔科学器:防御強化",
|
||||
de: "Ätherogefäß der Abwehr",
|
||||
fr: "magismobjet de protection",
|
||||
},
|
||||
(27, 3640) => LocalisedText {
|
||||
en: "Protomander of Affluence",
|
||||
ja: "魔科学器:宝箱増加",
|
||||
de: "Ätherogefäß der Schätze",
|
||||
fr: "magismobjet de décèlement",
|
||||
},
|
||||
(27, 3641) => LocalisedText {
|
||||
en: "Protomander of Flight",
|
||||
ja: "魔科学器:敵排除",
|
||||
de: "Ätherogefäß des Feindtods",
|
||||
fr: "magismobjet de sécurisation",
|
||||
},
|
||||
(27, 3642) => LocalisedText {
|
||||
en: "Protomander of Alteration",
|
||||
ja: "魔科学器:敵変化",
|
||||
de: "Ätherogefäß der Feindwandlung",
|
||||
fr: "magismobjet d'affaiblissement",
|
||||
},
|
||||
(27, 3643) => LocalisedText {
|
||||
en: "Protomander of Purity",
|
||||
ja: "魔科学器:解呪",
|
||||
de: "Ätherogefäß der Entzauberung",
|
||||
fr: "magismobjet d'anti-maléfice",
|
||||
},
|
||||
(27, 3644) => LocalisedText {
|
||||
en: "Protomander of Fortune",
|
||||
ja: "魔科学器:運気上昇",
|
||||
de: "Ätherogefäß des Glücks",
|
||||
fr: "magismobjet de chance",
|
||||
},
|
||||
(27, 3645) => LocalisedText {
|
||||
en: "Protomander of Witching",
|
||||
ja: "魔科学器:形態変化",
|
||||
de: "Ätherogefäß der Wandlung",
|
||||
fr: "magismobjet de mutation",
|
||||
},
|
||||
(27, 3646) => LocalisedText {
|
||||
en: "Protomander of Serenity",
|
||||
ja: "魔科学器:魔法効果解除",
|
||||
de: "Ätherogefäß der Enthexung",
|
||||
fr: "magismobjet de dissipation",
|
||||
},
|
||||
(27, 3647) => LocalisedText {
|
||||
en: "Protomander of Intuition",
|
||||
ja: "魔科学器:財宝感知",
|
||||
de: "Ätherogefäß des Finders",
|
||||
fr: "magismobjet d'intuition",
|
||||
},
|
||||
(27, 3648) => LocalisedText {
|
||||
en: "Protomander of Raising",
|
||||
ja: "魔科学器:リレイズ",
|
||||
de: "Ätherogefäß des Lebens",
|
||||
fr: "magismobjet de résurrection",
|
||||
},
|
||||
(17, 4000) => LocalisedText {
|
||||
en: "magia board",
|
||||
ja: "マギアボード",
|
||||
|
@ -26560,6 +26734,12 @@ lazy_static::lazy_static! {
|
|||
de: "Manderville-Waffe",
|
||||
fr: "arme des Manderville",
|
||||
},
|
||||
(17, 4044) => LocalisedText {
|
||||
en: "Splendorous tool",
|
||||
ja: "モーエンツール",
|
||||
de: "Mowen-Werkzeug",
|
||||
fr: "outil des merveilles",
|
||||
},
|
||||
(24, 5000) => LocalisedText {
|
||||
en: "normal raid",
|
||||
ja: "ノーマルレイド",
|
||||
|
@ -27214,6 +27394,12 @@ lazy_static::lazy_static! {
|
|||
de: "Lapis Manalis",
|
||||
fr: "Lapis Manalis",
|
||||
},
|
||||
(24, 5114) => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
(24, 5115) => LocalisedText {
|
||||
en: "The Omega Protocol (Ultimate)",
|
||||
ja: "絶オメガ検証戦",
|
||||
|
@ -27226,6 +27412,18 @@ lazy_static::lazy_static! {
|
|||
de: "Euphrosyne",
|
||||
fr: "Domaine divin - Euphrosyne",
|
||||
},
|
||||
(24, 5117) => LocalisedText {
|
||||
en: "Mount Ordeals",
|
||||
ja: "ルビカンテ討滅戦",
|
||||
de: "Prophetie - Rubicante",
|
||||
fr: "Mont du Supplice",
|
||||
},
|
||||
(24, 5118) => LocalisedText {
|
||||
en: "Mount Ordeals (Extreme)",
|
||||
ja: "極ルビカンテ討滅戦",
|
||||
de: "Eschatos - Rubicante",
|
||||
fr: "Mont du Supplice (extrême)",
|
||||
},
|
||||
(24, 5119) => LocalisedText {
|
||||
en: "Containment Bay P1T6 (Unreal)",
|
||||
ja: "幻女神ソフィア討滅戦",
|
||||
|
|
|
@ -6536,6 +6536,116 @@ lazy_static::lazy_static! {
|
|||
high_end: false,
|
||||
content_kind: ContentKind::Dungeons,
|
||||
},
|
||||
897 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 1-10)",
|
||||
ja: "オルト・エウレカ B1~B10",
|
||||
de: "Eureka Orthos (Ebenen 1-10)",
|
||||
fr: "Eurêka Orthos (sous-sols 1-10)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
898 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 11-20)",
|
||||
ja: "オルト・エウレカ B11~B20",
|
||||
de: "Eureka Orthos (Ebenen 11-20)",
|
||||
fr: "Eurêka Orthos (sous-sols 11-20)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
899 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 21-30)",
|
||||
ja: "オルト・エウレカ B21~B30",
|
||||
de: "Eureka Orthos (Ebenen 21-30)",
|
||||
fr: "Eurêka Orthos (sous-sols 21-30)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
900 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 31-40)",
|
||||
ja: "オルト・エウレカ B31~B40",
|
||||
de: "Eureka Orthos (Ebenen 31-40)",
|
||||
fr: "Eurêka Orthos (sous-sols 31-40)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
901 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 41-50)",
|
||||
ja: "オルト・エウレカ B41~B50",
|
||||
de: "Eureka Orthos (Ebenen 41-50)",
|
||||
fr: "Eurêka Orthos (sous-sols 41-50)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
902 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 51-60)",
|
||||
ja: "オルト・エウレカ B51~B60",
|
||||
de: "Eureka Orthos (Ebenen 51-60)",
|
||||
fr: "Eurêka Orthos (sous-sols 51-60)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
903 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 61-70)",
|
||||
ja: "オルト・エウレカ B61~B70",
|
||||
de: "Eureka Orthos (Ebenen 61-70)",
|
||||
fr: "Eurêka Orthos (sous-sols 61-70)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
904 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 71-80)",
|
||||
ja: "オルト・エウレカ B71~B80",
|
||||
de: "Eureka Orthos (Ebenen 71-80)",
|
||||
fr: "Eurêka Orthos (sous-sols 71-80)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
905 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 81-90)",
|
||||
ja: "オルト・エウレカ B81~B90",
|
||||
de: "Eureka Orthos (Ebenen 81-90)",
|
||||
fr: "Eurêka Orthos (sous-sols 81-90)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
906 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Eureka Orthos (Floors 91-100)",
|
||||
ja: "オルト・エウレカ B91~B100",
|
||||
de: "Eureka Orthos (Ebenen 91-100)",
|
||||
fr: "Eurêka Orthos (sous-sols 91-100)",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::DeepDungeons,
|
||||
},
|
||||
907 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "Generational Bonding",
|
||||
ja: "はつらつとした親子",
|
||||
de: "Väterliche Liebe",
|
||||
fr: "Tel gentilhomme, tel gentilhomme",
|
||||
},
|
||||
high_end: false,
|
||||
content_kind: ContentKind::QuestBattles,
|
||||
},
|
||||
908 => DutyInfo {
|
||||
name: LocalisedText {
|
||||
en: "The Omega Protocol (Ultimate)",
|
||||
|
|
|
@ -5343,6 +5343,66 @@ lazy_static::lazy_static! {
|
|||
de: "Sylphenland",
|
||||
fr: "Sylve sylphe sibylline",
|
||||
},
|
||||
1099 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1100 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1101 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1102 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1103 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1104 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1105 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1106 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1107 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1108 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1109 => LocalisedText {
|
||||
en: "The Great Gubal Library",
|
||||
ja: "グブラ幻想図書館",
|
||||
|
@ -5379,6 +5439,12 @@ lazy_static::lazy_static! {
|
|||
de: "Baelsar-Wall",
|
||||
fr: "Muraille de Baelsar",
|
||||
},
|
||||
1115 => LocalisedText {
|
||||
en: "The Tower of Babil",
|
||||
ja: "バブイルの塔",
|
||||
de: "Turm von Babil",
|
||||
fr: "Tour de Babil",
|
||||
},
|
||||
1116 => LocalisedText {
|
||||
en: "The Clockwork Castletown",
|
||||
ja: "東方絡繰御殿",
|
||||
|
@ -5427,6 +5493,12 @@ lazy_static::lazy_static! {
|
|||
de: "Gymnasion Agonon",
|
||||
fr: "Elpis Gymnasion",
|
||||
},
|
||||
1124 => LocalisedText {
|
||||
en: "Eureka Orthos",
|
||||
ja: "オルト・エウレカ",
|
||||
de: "Eureka Orthos",
|
||||
fr: "Eurêka Orthos",
|
||||
},
|
||||
1125 => LocalisedText {
|
||||
en: "Khadga",
|
||||
ja: "カドガの大岩",
|
||||
|
|
|
@ -114,13 +114,13 @@ lazy_static::lazy_static! {
|
|||
18 => LocalisedText {
|
||||
en: "Kumbhiraskin Treasure Map",
|
||||
ja: "古ぼけた地図G14",
|
||||
de: "Ophiotaurosleder-Schatzkarte",
|
||||
de: "Kumbhilaleder-Schatzkarte",
|
||||
fr: "Carte au trésor en peau de kumbhira",
|
||||
},
|
||||
19 => LocalisedText {
|
||||
en: "Ophiotauroskin Treasure Map",
|
||||
ja: "古ぼけた地図G15",
|
||||
de: "Kumbhiraleder-Schatzkarte",
|
||||
de: "Ophiotaurosleder-Schatzkarte",
|
||||
fr: "Carte au trésor en peau d'ophiotauros",
|
||||
},
|
||||
20 => LocalisedText {
|
||||
|
|
Loading…
Reference in New Issue