Einstellungen wirken sofort statt erst nach einem Neustart. In einer App ohne Fenster ist eine verzögerte Änderung praktisch unauffindbar — man sieht ja nicht, dass etwas passiert ist. AppModel meldet Layout- und Anzeigeänderungen an den Koordinator, das Panel zeichnet sich neu und die Panelgröße zieht mit. Widgets lassen sich hinzufügen, entfernen, in der Größe ändern und per Drag-and-Drop umsortieren. Angeboten werden nur die Größen, die ein Widget sinnvoll ausfüllt — ein Mini-Monat in 1x1 wäre unleserlich. Lokalisierung als String Catalog in DE und EN, Quellsprache Englisch damit die Schlüssel im Code lesbar bleiben. Der Katalog von OnyxCore musste ausdrücklich als Ressource deklariert werden: ohne das gibt es kein Bundle.module und die Übersetzungen wären zur Laufzeit unauffindbar. Im gebauten Bundle liegen jetzt de.lproj und en.lproj, auch für das Paket. Kein Menüleisten-Tab: solange es keine Module gibt, wäre das eine Oberfläche für ein Feature, das noch nicht existiert. Er kommt mit Phase 5. 80 Tests grün.
136 lines
6.1 KiB
Plaintext
136 lines
6.1 KiB
Plaintext
{
|
||
"sourceLanguage" : "en",
|
||
"strings" : {
|
||
"menu.openPanel" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Panel öffnen" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Open Panel" } }
|
||
}
|
||
},
|
||
"menu.settings" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Einstellungen …" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Settings…" } }
|
||
}
|
||
},
|
||
"menu.quit" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Onyx beenden" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Quit Onyx" } }
|
||
}
|
||
},
|
||
|
||
"settings.tab.widgets" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Widgets" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Widgets" } }
|
||
}
|
||
},
|
||
"settings.tab.display" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Anzeige" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Display" } }
|
||
}
|
||
},
|
||
"settings.widgets.hint" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Die Reihenfolge bestimmt die Anordnung im Panel. Jedes Widget rückt an die erste Stelle, an die es passt." } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "The order determines the arrangement in the panel. Each widget takes the first spot it fits into." } }
|
||
}
|
||
},
|
||
"settings.widgets.inPanel" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Im Panel" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "In the panel" } }
|
||
}
|
||
},
|
||
"settings.widgets.available" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Verfügbar" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Available" } }
|
||
}
|
||
},
|
||
"settings.widgets.empty" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Keine Widgets im Panel. Das Panel bleibt leer, bis du eins hinzufügst." } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "No widgets in the panel. It stays empty until you add one." } }
|
||
}
|
||
},
|
||
"settings.widgets.add" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Hinzufügen" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Add" } }
|
||
}
|
||
},
|
||
"settings.widgets.remove" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Aus dem Panel entfernen" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Remove from panel" } }
|
||
}
|
||
},
|
||
|
||
"settings.size.small" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Klein (1×1)" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Small (1×1)" } }
|
||
}
|
||
},
|
||
"settings.size.medium" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Mittel (2×1)" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Medium (2×1)" } }
|
||
}
|
||
},
|
||
"settings.size.large" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Groß (2×2)" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Large (2×2)" } }
|
||
}
|
||
},
|
||
"settings.size.wide" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Breit (4×1)" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Wide (4×1)" } }
|
||
}
|
||
},
|
||
|
||
"settings.display.policy" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Panel anzeigen auf" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Show panel on" } }
|
||
}
|
||
},
|
||
"settings.display.builtInOnly" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Nur dem internen Display" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Built-in display only" } }
|
||
}
|
||
},
|
||
"settings.display.all" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Allen Displays" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "All displays" } }
|
||
}
|
||
},
|
||
"settings.display.hint" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Auf Displays ohne echte Notch erscheint oben mittig ein Balken, der sich genauso verhält. Ist der Deckel geschlossen und kein internes Display vorhanden, erscheint das Panel trotzdem auf einem externen — sonst wäre Onyx nicht erreichbar." } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "On displays without a real notch, a bar appears at the top centre and behaves the same. With the lid closed and no built-in display present, the panel still appears on an external one — otherwise Onyx would be unreachable." } }
|
||
}
|
||
},
|
||
"settings.display.menuBarIcon" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Symbol in der Menüleiste anzeigen" } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "Show icon in the menu bar" } }
|
||
}
|
||
},
|
||
"settings.display.menuBarIcon.hint" : {
|
||
"localizations" : {
|
||
"de" : { "stringUnit" : { "state" : "translated", "value" : "Über das Symbol erreichst du Panel, Einstellungen und Beenden. Ohne es kommst du nur über die Notch an Onyx heran." } },
|
||
"en" : { "stringUnit" : { "state" : "translated", "value" : "The icon gives you the panel, settings and quit. Without it, the notch is the only way to reach Onyx." } }
|
||
}
|
||
}
|
||
},
|
||
"version" : "1.0"
|
||
}
|