Formatieren Sie die Menüleistenzeit in englische Wörter

Ich habe diesen Screenshot der Menüleiste von jemandem gesehen und seine Zeitformatierung ist in lesbarem Englisch eingestellt.

Menüleiste anzeigen: 'fünf vor elf'

Ist dies eine Party-App oder eine Einstellung / ein Skript, das ich unter OS X ausführen kann?

Auch Gruß an die Quelle. Bitte besuchen Sie madebybright.com .
Nette Wolfram-Alpha-App, die im Menü läuft. Wenn Sie viel mit Python arbeiten, schauen Sie sich dieses Framework an: github.com/jaredks/rumps

Antworten (3)

Dazu habe ich ein Skript geschrieben.

Um es in der Menüleiste anzuzeigen, verwenden Sie BitBar . Eine kleine App, die Menüleistenelemente aus der Shell-Skriptausgabe erstellt.

Menüleisten-Demo

Nachdem Sie BitBar heruntergeladen haben, speichern Sie den folgenden Code in einer Datei mit dem Namen lingualtime.1s.phpund zeigen Sie BitBar dann auf den Speicherort.

#!/usr/bin/env php

<?php

# <bitbar.title>Lingual Clock</bitbar.title>
# <bitbar.version>v1.0</bitbar.version>
# <bitbar.author>Stan Hutcheon</bitbar.author>
# <bitbar.author.github>stnvh</bitbar.author.github>
# <bitbar.desc>displays the current time in a sentence</bitbar.desc>
# <bitbar.dependencies>php</bitbar.dependencies>

$time = array_map(function($time) {
    return intval($time);
}, explode(' ', date('g i')));

$st = array('hour' => '', 'minute' => '');

$past = '%s past %s'; $to = '%s to %s';

$pastHalf = false;

function get($int) {
    $numbers = array(
        1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four', 5 => 'five', 6 => 'six', 7 => 'seven', 8 => 'eight', 9 => 'nine',
        11 => 'eleven', 12 => 'twelve', 13 => 'thirteen', 14 => 'fourteen', 15 => 'fifteen', 16 => 'sixteen', 17 => 'seventeen', 18 => 'eighteen', 19 => 'nineteen',
        10 => 'ten', 20 => 'twenty', 30 => 'thirty', 40 => 'fourty', 50 => 'fifty'
    );

    return isset($numbers[$int]) ? $numbers[$int] : '';
}

if($time[1] >= 35) {
    $pastHalf = true;

    $time[0] = $time[0] === 12 ? 1 : ++$time[0];
    $time[1] = 60 - $time[1];
}

# get lingual values
foreach(array('hour', 'minute') as $key => $part) {
    if($time[$key] < 20) {
        $st[$part] = get($time[$key]);
    } else {
        $currTenth = floor($time[$key] / 10) * 10;
        $currRem = $time[$key] - $currTenth;

        $ling = get($currTenth);
        if($ext = get($currRem)) {
            $ling .= '-' . $ext;
        }

        $st[$part] = $ling;
    }
}

printf(($pastHalf ? $to : $past) . PHP_EOL, $st['minute'], $st['hour']);
BitBar sagt mir, dass es keine Dateien im "PHP script"-Format öffnen kann.
Sie öffnen es nicht direkt; Öffnen Sie BitBar, klicken Sie auf 'BitBar' in der Menüleiste > Einstellungen > Plugin-Ordner öffnen. Kopieren Sie dann die gespeicherte Datei dorthin.
Nur ein Update zu dieser Antwort, mit der neuesten Version von BitBar können Sie diese Funktionalität direkt von der BitBar-Website installieren: getbitbar.com/plugins/Time/fuzzyclock.1s.py

Ich glaube, die gesuchte App heißt World Time . Es ist eine kostenpflichtige App (1,99 USD) und sollte alles tun, was Sie wollen. Allerdings kenne ich keine kostenlosen Alternativen.

Sie sehen sich FuzzyClock an, das kostenlos ist, aber nicht mehr von den Entwicklern gepflegt wird. Ich habe die App gehostet, falls jemand anderes sie braucht. Es funktioniert immer noch auf El Capitan: http://sayzlim.net/reading-time-on-mac-with-fuzzyclock/