Compare commits

...
Author SHA1 Message Date
Ludovic MarieandClaude Opus 5.5 17a058bb2a launcher: a new Horizon instance is "My Horizon", its versions dated "Nov 1"
The mockup's instance dialog names a new instance before the player types (defaultName): "My
Horizon" for Horizon, as the launcher already did with "Vanilla 26.3" or "Fabric 26.3". A new
Horizon instance opened with an empty name and "New instance" as its title. The dialog now
starts with the default name for every kind, and it follows the kind until the player types
one. The Horizon version rows say "Nov 1" as the mockup's, not "2026-11-01" (the Versions
page's day format). One new string, "My Horizon", in the 16 languages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-03 19:05:02 +01:00
19 changed files with 51 additions and 23 deletions

No files matched your search

+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "تم حذف {name}",
"Launcher settings are back to their defaults": "عادت إعدادات المشغّل إلى قيمها الافتراضية",
"Opened {path}": "تم فتح {path}",
"Saved {name}": "تم حفظ {name}"
"Saved {name}": "تم حفظ {name}",
"My Horizon": "Horizon الخاص بي"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} gelöscht",
"Launcher settings are back to their defaults": "Die Launcher-Einstellungen sind wieder auf Standard",
"Opened {path}": "{path} geöffnet",
"Saved {name}": "{name} gespeichert"
"Saved {name}": "{name} gespeichert",
"My Horizon": "Mein Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} eliminado",
"Launcher settings are back to their defaults": "Los ajustes del launcher vuelven a sus valores predeterminados",
"Opened {path}": "Abierto: {path}",
"Saved {name}": "{name} guardado"
"Saved {name}": "{name} guardado",
"My Horizon": "Mi Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} supprimée",
"Launcher settings are back to their defaults": "Les réglages du launcher sont revenus à leurs valeurs par défaut",
"Opened {path}": "Ouvert : {path}",
"Saved {name}": "{name} enregistrée"
"Saved {name}": "{name} enregistrée",
"My Horizon": "Mon Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} हटाया गया",
"Launcher settings are back to their defaults": "लॉन्चर की सेटिंग्स डिफ़ॉल्ट पर लौट आईं",
"Opened {path}": "खोला गया: {path}",
"Saved {name}": "{name} सहेजा गया"
"Saved {name}": "{name} सहेजा गया",
"My Horizon": "मेरा Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} je izbrisan",
"Launcher settings are back to their defaults": "Postavke pokretača vraćene su na zadane",
"Opened {path}": "Otvoreno: {path}",
"Saved {name}": "{name} je spremljen"
"Saved {name}": "{name} je spremljen",
"My Horizon": "Moj Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} dihapus",
"Launcher settings are back to their defaults": "Pengaturan launcher kembali ke bawaan",
"Opened {path}": "Dibuka: {path}",
"Saved {name}": "{name} disimpan"
"Saved {name}": "{name} disimpan",
"My Horizon": "Horizon saya"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} を削除しました",
"Launcher settings are back to their defaults": "ランチャーの設定を初期設定に戻しました",
"Opened {path}": "開きました: {path}",
"Saved {name}": "{name} を保存しました"
"Saved {name}": "{name} を保存しました",
"My Horizon": "マイ Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name}을(를) 삭제했습니다",
"Launcher settings are back to their defaults": "런처 설정이 기본값으로 돌아갔습니다",
"Opened {path}": "열었음: {path}",
"Saved {name}": "{name}을(를) 저장했습니다"
"Saved {name}": "{name}을(를) 저장했습니다",
"My Horizon": "내 Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "Usunięto {name}",
"Launcher settings are back to their defaults": "Ustawienia launchera wróciły do domyślnych",
"Opened {path}": "Otwarto: {path}",
"Saved {name}": "Zapisano {name}"
"Saved {name}": "Zapisano {name}",
"My Horizon": "Mój Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} excluída",
"Launcher settings are back to their defaults": "As configurações do launcher voltaram ao padrão",
"Opened {path}": "Aberto: {path}",
"Saved {name}": "{name} salva"
"Saved {name}": "{name} salva",
"My Horizon": "Meu Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} eliminada",
"Launcher settings are back to their defaults": "As definições do launcher voltaram às predefinições",
"Opened {path}": "Aberto: {path}",
"Saved {name}": "{name} guardada"
"Saved {name}": "{name} guardada",
"My Horizon": "O meu Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} удалена",
"Launcher settings are back to their defaults": "Настройки лаунчера сброшены по умолчанию",
"Opened {path}": "Открыто: {path}",
"Saved {name}": "{name} сохранена"
"Saved {name}": "{name} сохранена",
"My Horizon": "Мой Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} silindi",
"Launcher settings are back to their defaults": "Başlatıcı ayarları varsayılanlara döndü",
"Opened {path}": "Açıldı: {path}",
"Saved {name}": "{name} kaydedildi"
"Saved {name}": "{name} kaydedildi",
"My Horizon": "Horizon'um"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "{name} видалено",
"Launcher settings are back to their defaults": "Налаштування лаунчера скинуто до типових",
"Opened {path}": "Відкрито: {path}",
"Saved {name}": "{name} збережено"
"Saved {name}": "{name} збережено",
"My Horizon": "Мій Horizon"
}
+2 -1
View File
@@ -1072,5 +1072,6 @@
"Deleted {name}": "已删除 {name}",
"Launcher settings are back to their defaults": "启动器设置已恢复默认",
"Opened {path}": "已打开 {path}",
"Saved {name}": "已保存 {name}"
"Saved {name}": "已保存 {name}",
"My Horizon": "我的 Horizon"
}
+2 -1
View File
@@ -782,7 +782,8 @@ impl Launcher {
.map(|tag| {
let latest = follows.as_ref() == Some(&tag);
let on = chosen.as_ref() == Some(&tag);
let date = horizon_launcher::nightly::date_of(&tag).map(str::to_string);
let date = horizon_launcher::nightly::date_of(&tag)
.map(|d| glass_versions::published(d, ""));
let pick = tag.clone();
list_choice(format!("horizon-version-{tag}"), on, &t)
.py(px(12.))
+10
View File
@@ -284,6 +284,16 @@ impl Launcher {
java: Default::default(),
});
self.servers.text(Field::InstanceVersion).set(String::new());
// A new instance starts with the name the dialog gives it, as the mockup's.
if self
.instances
.dialog
.as_ref()
.is_some_and(|d| d.editing.is_none())
{
let name = self.default_name().unwrap_or_default();
self.servers.text(Field::InstanceName).set(name);
}
}
/// Opens the dialog for a copy of the selected instance, named after it.
+7 -6
View File
@@ -75,17 +75,18 @@ impl Launcher {
self.instances.dialog.as_mut().map(|d| &mut d.java)
}
/// The name a new Java instance gets for what it plays now.
fn default_name(&self) -> Option<String> {
/// The name a new instance gets for what it plays now (the mockup's `defaultName`): "My
/// Horizon", or the game and its version for a Java one.
pub(super) fn default_name(&self) -> Option<String> {
let j = &self.instances.dialog.as_ref()?.java;
if j.kind == NewKind::Horizon {
return Some(tr("My Horizon").to_string());
}
let versions = match &self.instances.versions {
VersionList::Ready(v) => Some(v),
_ => None,
};
(j.kind != NewKind::Horizon)
.then(|| j.minecraft(versions))
.flatten()
.map(|mc| j.default_name(&mc))
j.minecraft(versions).map(|mc| j.default_name(&mc))
}
/// Changes what the new instance plays. Its name follows while it is the one the dialog gave