feat(app): the operator's overview of screens, grants to several people at once with one budget each, assistants by provider
Halkyon Learn's ADR 0021, D57 to D63, on halkyon_base's budgets and effort: - The operator's screen is an overview (Waiting, Operators, Accounts, Assistants, each with its count) whose rows open screens of their own, read 50 at a time as they scroll (OperatorListCubit, OperatorPage), so hundreds of accounts push nothing else down (D62). - A handle is picked among the accounts there are (AccountSuggestionField): appointing an operator and granting take no other (D61). - AssistantGrantsScreen replaces AssistantGrantsCard: the assistants set up by provider, with their efforts and prices; the people granted, found by their handle's start; one sheet granting several assistants, a provider's at once, to several people, each with one budget in money and tokens a day and a month, or changing one person's (D58, D59). - Assistants are grouped by provider wherever they are listed, each under its name with a dot in its colour (ProviderLabel, D60). - AssistantsCard shows what is left of the person's budget for all their assistants together; the months of the figures run oldest first (D57). - AssistantChoice says the efforts a question may ask at and the ceiling on output each asks for (D63); a person's own key gets none and keeps 4,096 tokens. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
24ed63585e
commit
cc87120bc8
1 changed files with 5348 additions and 2709 deletions
|
|
@ -314,6 +314,9 @@
|
|||
"operatorAccounts": "Konten und Admins",
|
||||
"operatorWaitingCount": "{count, plural, =0{Niemand wartet auf Freigabe} =1{1 Konto wartet auf Freigabe} other{{count} Konten warten auf Freigabe}}",
|
||||
"operatorWaitingTitle": "Wartend",
|
||||
"operatorOperatorsCount": "{count, plural, =1{1 Admin} other{{count} Admins}}",
|
||||
"operatorAccountsTitle": "Konten",
|
||||
"operatorAccountsCount": "{count, plural, =1{1 Konto} other{{count} Konten}}",
|
||||
"operatorNobodyWaits": "Niemand wartet.",
|
||||
"operatorNoHandle": "Noch kein Handle",
|
||||
"operatorNewSince": "Neu, wartet seit {date}",
|
||||
|
|
@ -331,7 +334,7 @@
|
|||
"operatorAppointMessage": "Admins geben hier Konten frei, lehnen sie ab, sperren sie und ernennen Admins, so wie du.",
|
||||
"operatorAppointConfirm": "Ernennen",
|
||||
"operatorHandle": "Handle",
|
||||
"operatorFindTitle": "Ein Konto finden",
|
||||
"operatorHandleSuggested": "Vorgeschlagen werden nur Handles, die es hier gibt.",
|
||||
"operatorFoundNone": "Kein Handle beginnt so.",
|
||||
"operatorMadeOn": "Seit {date}",
|
||||
"operatorIsOperator": "Admin",
|
||||
|
|
@ -350,27 +353,39 @@
|
|||
"operatorInvalidLimit": "Eine Grenze kann nicht unter null liegen.",
|
||||
"assistantGrantsTitle": "Assistenten",
|
||||
"assistantGrantsNone": "Noch hat niemand einen Assistenten.",
|
||||
"assistantSetCount": "{count, plural, =0{Keiner eingerichtet} =1{1 Assistent} other{{count} Assistenten}}",
|
||||
"assistantPeopleCount": "{count, plural, =0{niemandem freigegeben} =1{1 Person} other{{count} Personen}}",
|
||||
"assistantSetUpTitle": "Hier eingerichtet",
|
||||
"assistantPeopleTitle": "Personen",
|
||||
"assistantGranteesFoundNone": "Niemand mit Assistenten hat ein Handle, das so beginnt.",
|
||||
"assistantUnpriced": "Ohne Preise: zählt nur Tokens",
|
||||
"assistantEffort": "{effort, select, low{niedrig} medium{mittel} high{hoch} xhigh{sehr hoch} max{maximal} other{{effort}}}",
|
||||
"assistantEffortName": "{effort, select, low{Niedrig} medium{Mittel} high{Hoch} xhigh{Sehr hoch} max{Maximal} other{{effort}}}",
|
||||
"assistantEffortSetUp": "Denkaufwand {effort}, bis {max}",
|
||||
"assistantEffortFixed": "Denkaufwand {effort}",
|
||||
"assistantNameUnset": "{name} (nicht mehr eingerichtet)",
|
||||
"assistantNotAgreedCount": "{count, plural, =1{1 noch ohne Zustimmung} other{{count} noch ohne Zustimmung}}",
|
||||
"assistantGrant": "Assistenten freigeben",
|
||||
"assistantGrantSave": "Freigeben",
|
||||
"assistantGrantChange": "Grenzen ändern",
|
||||
"assistantGrantAssistant": "Assistent",
|
||||
"assistantGrantDaily": "Grenze pro Tag",
|
||||
"assistantGrantMonthly": "Grenze pro Monat",
|
||||
"assistantGrantChange": "Assistenten ändern",
|
||||
"assistantGrantLimitHelper": "Leer für keine. Tage und Monate nach UTC.",
|
||||
"assistantGrantBudget": "Budget, für alle zusammen",
|
||||
"assistantGrantMoneyDaily": "Geld pro Tag",
|
||||
"assistantGrantMoneyMonthly": "Geld pro Monat",
|
||||
"assistantGrantTokensDaily": "Tokens pro Tag",
|
||||
"assistantGrantTokensMonthly": "Tokens pro Monat",
|
||||
"assistantGrantMoneyNote": "Geld zählt die Assistenten mit Preisen, Tokens zählen alle. Was zuerst aufgebraucht ist, hält sie an.",
|
||||
"assistantGrantReplaces": "{count, plural, =1{Die Freigabe ersetzt das Budget dieser Person:} other{Die Freigabe ersetzt die Budgets dieser Personen:}}",
|
||||
"assistantGrantUnsetDropped": "Beim Speichern wird zurückgenommen, was nicht mehr eingerichtet ist: {names}.",
|
||||
"assistantGrantLimitInvalid": "Keine Zahl, die das nimmt",
|
||||
"assistantGrantNoHandle": "Kein Konto hat dieses Handle.",
|
||||
"assistantGrantTokens": "Tokens",
|
||||
"assistantGrantNote": "Vor der ersten Frage stimmen sie zu, was wohin geht. Du siehst, wie viel sie nutzen, nie, was sie fragen.",
|
||||
"assistantGrantNote": "Vor der ersten Frage stimmen sie zu, was wohin geht. Assistenten, die sie schon haben, bleiben. Du siehst, wie viel sie nutzen, nie, was sie fragen.",
|
||||
"assistantPerDay": "{amount} pro Tag",
|
||||
"assistantPerMonth": "{amount} pro Monat",
|
||||
"assistantNoLimits": "Ohne Grenzen",
|
||||
"assistantGrantAgreed": "Zugestimmt",
|
||||
"assistantGrantNotAgreed": "Noch nicht zugestimmt",
|
||||
"assistantGrantOutdated": "Die Preise haben sich geändert: Grenzen neu setzen",
|
||||
"assistantGrantUnset": "Nicht mehr eingerichtet",
|
||||
"assistantRevoke": "Zurücknehmen",
|
||||
"assistantRevokeTitle": "{assistant} zurücknehmen?",
|
||||
"assistantRevokeMessage": "Sie können ihn nicht mehr fragen. Was sie genutzt haben, bleibt gezählt.",
|
||||
"assistantRevokeAllTitle": "Alle Assistenten zurücknehmen?",
|
||||
"assistantRevokeMessage": "Sie können keinen mehr fragen, und ihr Budget entfällt. Was sie genutzt haben, bleibt gezählt.",
|
||||
"assistantUseByMonth": "Nutzung nach Monat",
|
||||
"assistantUseTitle": "Nutzung der Assistenten",
|
||||
"assistantUseNone": "In diesem Monat nichts genutzt.",
|
||||
|
|
@ -381,8 +396,8 @@
|
|||
"assistantModelAt": "{model} bei {host}",
|
||||
"assistantLeftToday": "{left} von {limit} heute übrig",
|
||||
"assistantLeftThisMonth": "{left} von {limit} diesen Monat übrig",
|
||||
"assistantYourBudget": "Dein Budget, für alle zusammen",
|
||||
"assistantAgree": "Lesen und zustimmen",
|
||||
"assistantWaitsForLimits": "Wartet darauf, dass seine Grenzen neu gesetzt werden",
|
||||
"assistantYourUse": "Deine Nutzung",
|
||||
"assistantPrivacyPage": "Was auf {instance} wohin geht",
|
||||
"assistantOwnTitle": "Mit deinem eigenen Schlüssel",
|
||||
|
|
@ -415,9 +430,9 @@
|
|||
"assistantConsentAgreedOn": "Du hast am {date} zugestimmt.",
|
||||
"assistantProblemNotGranted": "Dieser Assistent ist für dich nicht mehr freigegeben.",
|
||||
"assistantProblemNotAgreed": "Stimm zuerst zu, was wohin geht.",
|
||||
"assistantProblemInvalidEffort": "Mit diesem Denkaufwand antwortet er nicht.",
|
||||
"assistantProblemLimitReached": "Seine Grenze ist bis {time} erreicht.",
|
||||
"assistantProblemLimitReachedNow": "Seine Grenze ist vorerst erreicht.",
|
||||
"assistantProblemLimitOutdated": "Es wartet darauf, dass seine Grenzen neu gesetzt werden.",
|
||||
"assistantProblemImagesNotRead": "Es liest keine Bilder.",
|
||||
"assistantProblemMalformed": "Diese Frage kann nicht gesendet werden.",
|
||||
"assistantProblemTooLarge": "Diese Frage ist zu lang oder enthält zu viele oder zu große Bilder.",
|
||||
|
|
|
|||
Loading…
Reference in a new issue