client messages
[en_US]
startup=@1 v@2 starting up, running as @3
shutdown=@1 shutting down
restart=Restart requested
http=Starting up http on @1, port @2
https=Starting up https on @1, port @2
http-allow=Allowing connections from @1
http-notallowed=Connections from @1 refused, check configured allow list
readconfig=Configuration has changed, restarting
updating=Update found (@1), update being applied
updateavail=Update found (@1) but no auto-update possible.  Update with CirrusPrint 3.0 Client app.
updateavailx=Update found (@1).  To install update, sudo cp30c restart.
updateneedatt=Update ready to install on location client @1.
connecting=Connecting to @1
connect-err=Connection to @1 failed, retry pending (@2)
debug=Debug msg: @1
devsupdated=Device list updated
srcsupdated=Source list updated

err-generic=Unexpected error @1
err-badport=Invalid port setting (@1), falling back to default port (@2)
err-startup=Unable to start server: @1

err-profile-find=Can't find profile @1
err-profileid=Profile ID values must have one or more letters, digits, or .,-, _ (@1)
err-deldefault=Can't delete default profile
err-connect=Error connecting to server @1 (@2)
err-update=Error downloading update @1 from @2 (@3)
err-access=Transient error accessing server @1 (@2)

err-deliver=Temporary error delivering job @1 to device @2 (@3)
err-deliver-perm=Permanent error delivering job @1 to device @2 (@3)

err-jobparse=Failed to parse job data, message '@1'
err-workfile=Error creating work file @1 (@2)
err-segment=Error updating file @1 with data segment @2

dbg-watch=New job(s) at server (new stamp @1, old stamp @2)
dbg-sync-request=Requesting jobs from server, url=@1
dbg-sync-response=Response for jobs request, bytes=@1
dbg-sync-jobs-new=New job file @1 from server
dbg-sync-jobs-update=Update job file @1 from server
dbg-parse=File @1 parse starting
dbg-parse-file-received=File @1 received, ready for delivery
dbg-parse-file-download=File @1 ready to receive data
dbg-parse-file-downloaded=File @1 received all data
dbg-parse-file-locked=Job locked at server
dbg-parse-file-lockerr=Job failed to lock at server
dbg-parse-file-delivererr=Job delivery failed (@1)
dbg-parse-file-delivered-already=Job delivered already or deleted, removed
dbg-msgwrite-request=Posting msgstatus update block
dbg-msgwrite-response=Receive msgstatus response @1


err-bad-devid=Invalid device id @1, job discarded

err-pathmon-open=Unable to create or open monitor for @1, skipping source @2
err-pathmon-dir=Can't monitor non-directory @1, skipping source @2
err-pathmon-wildcard=Bad wildcard pattern @1, skipping source @2
err-pathmon-maxsize=File @1 exceeds max size of @2, discarded
err-pathmon-notarget=Source @1 has no targets defined
err-pathmon-queue=Unable to create or open directory @1
err-pathmon-pickup=Unable to read file from monitored path @1 (@2)
err-pathmon-capture=Unable to write spool file while monitoring @1 (@2)

err-portmon-open=Unable to open monitor for @1, skipping source @2
err-portmon-wildcard=Bad wildcard pattern @1, skipping source @2
err-portmon-maxsize=File from @1 exceeds max size of @2, discarded
err-portmon-notarget=Source @1 has no targets defined
err-portmon-queue=Unable to create or open directory @1
err-portmon-accept=Error accepting a connection @1
err-portmon-workfile=Error creating work file for incoming port source @1, @2
err-portmon-read=Error loading work file into memory @1
err-portmon-nomatch=File from port source @1 (@2) doesn't match wildcard type specification
err-portmon-denied=Connection to @1 from @2 denied, not in allowed list


err-notdirectory=@1 is not a directory
err-sourcetype=Source type must be path, port, or email
err-compid=Company ID values must have one or more letters, digits, or .,-, _ (@1)
err-userid=User ID values must have one or more letters, digits, or .,-, _ (@1)
err-locid=Location ID values must have one or more letters, digits, or .,-, _ (@1)
err-devid=Device ID values must have one or more letters, digits, or .,-, _ (@1)
err-srcid=Source ID values must have one or more letters, digits, or .,-, _ (@1)
err-comp-load=Company ID '@1' can't be loaded (@2)
err-comp-find=Can't find company ID '@1'
err-siteuser-load=Site users can't be loaded
err-siteuser-find=Can't find site user '@1'
err-loc-find=Can't find location ID '@1'
err-dev-find=Can't find device ID '@1' in location '@2'
err-src-find=Can't find source ID '@1'
err-copy-dupid=The ID '@1' already exists and can't be copied to
err-request-noadmin=No valid user found to perform request-noadmin
err-file-timeout=Timeout error, file @1 in use, unable to update it
err-parsein-file=Parse input file system error @1
err-duration-invalid=Bad duration configured @1, using 24h
err-putfile=Failed to create work file - @1
err-job-find=Can't find job @1 for @2, @3, @4
err-argfile=Can't open @1 for command line
err-ssn-lock=Unable to lock sessions file
err-passcode=Invalid or expired passcode
err-session=Invalid or expired session
err-passcodefails=Too many passcode attempts, resetting all codes, please start over

# permerr messages indicate print failures that should not be retried
permerr-print-format=Invalid print file format (@1)
permerr-print-fileinvalid=Unable to load print file, perhaps corrupt (@1)
permerr-print-filenotfound=Print file not found (@1)
permerr-printer=Printer @1 is not valid
permerr-uncwin=UNC targets are only supported on Windows (@1)
permerr-driverfailure=Print driver unable to print file (@1)
permerr-printto=Error using system to print @1 (@2)
permerr-generic=An Unexpected error occurred while printing (@1)

# print errors that may work, so retry logic should be in effect
err-rawprint=Printing raw mode failed (@1)
err-print=Printing failed (@1)

api-badput=Unknown put item: @1
api-badget=Unknown get item: @1
api-badlist=Unknown list item: @1
api-baddel=Unknown delete item: @1
api-badcopy=Unknown copy item: @1
api-badrequest=Invalid api request format
api-badauthrequest=Request missing userid or locid
api-inactive=Record requested is inactive
api-badpass=Invalid password
api-authtime=Incorrect api time value '@1'
api-authtimerange=Time value outside of limits
api-authrefused=Login not authorized for this api
api-sesid-bad=Session ID incorrect or expired
api-sesid-badfile=Session ID file is corrupt, please reload
api-sesid-expired=Session has expired, please login
api-watch-err=Error in watch request: @1
api-export-badfile=Can't open or read @1
api-putfile-err=Failed to create or write work file - @1
api-putfile-maxsize=File exceeds maximum size
api-tempfile-err=Failed to create or write temp file - @1
api-submitfile-err=Failed to submit file - @1
api-submit-notarget=At least one target is required (-target locid:devid)
api-admin-linux=You must be logged in as root or use sudo
api-admin-windows=You must be an administrator user

log-state-0=Submitted
log-state-1=Received
log-state-2=Delivered
log-state-8=In Pinned
log-state-9=In trash

dead-company=Purged data for dead company @1
dead-source=Purged data for dead source @1, company @2
dead-location=Purged data for dead location @1, company @2
dead-device=Purged data for dead device @1, location @2, company@3
dead-job=Purged dead job file @1
delivered-job=Purged delivered job file @1, job log history unaffected

http-request=http: @1, from=@2 status=@3, size=@4
http-api=http: @1, from=@2 status=@3, size=@4

cmd-api=cmd: @1

pathmon-received=Received file @1 from source @2 (@3)
pathmon-start=Starting path monitor for source id @1, port @2
portmon-received=Received file from source @1 (@2)
portmon-start=Starting port monitor for source id @1, port @2
portmon-listen=Port monitor @1 listening on address @2 @3

portmon-addport=Added port @1 to system
portmon-addport-fail=Unable to add port @1 to system (@2)
portmon-delport=Removed port @1 from system
portmon-delport-fail=Unable to remove port @1 from system (@2)
upload-uploaded=Uploaded file @1 to server as job @2
upload-put-error=Error occurred uploading file to server (@1)
upload-submit-error=Error occurred while submitting to server (@1)
file-delivered=Job delivered to target @1

sourcerecord=Source record @1 from server (type @2, source @3, target @4)
devicerecord=Device record @1 from server (type @2, target @3)

oidc-update=OIDC configuration updated and active, use cp30c -get oidc to view
oidc-noargs=Put oidc must include one of -provider, -clientid, -clientsecret
oidc-noconfig=Unable to load discovery url for @1 (@2)
oidc-badconfig=Unable to parse discover information from @1 (@2)
oidc-err-client=Client ID and client secret are required for OIDC configuration
oidc-active=OIDC active with provider @1
oidc-err-token=OIDC error getting access token (@1)
oidc-refresh=OIDC token expired, refreshing
oidc-refresh-fail=Refreshed token was not accepted by server
oidc-badtoken=OIDC token cannot be verified by server
oidc-locid=OIDC token subject does not match an active compid:locid 

win-FormMain-MessageTitle=CirrusPrint Message
win-FormMain-QuestionTitle=CirrusPrint Question
win-FormMain-ErrorTitle=CirrusPrint Error
win-FormMain-FormMain=CirrusPrint 3.0 Client Manager
win-FormMain-GroupBox1=Start/Stop Client
win-FormMain-GroupBox2=Access
win-FormMain-LabelStart=Start the process service to enable receiving documents
win-FormMain-LabelStop=Stop the process service
win-FormMain-LabelAdmin=Run as administrator to control service
win-FormMain-VerifyStop=Are you sure you want to stop the client program?
win-FormMain-ButtonStart=Start
win-FormMain-ButtonStop=Stop
win-FormMain-ButtonAdmin=Run As Admin
win-FormMain-LabelAccess=Access client with your default browser
win-FormMain-ButtonAccess=Open
win-FormMain-LabelPort=Network Port:
win-FormMain-ButtonSave=Save Port
win-FormMain-Restart=Restart the service to use the new port
win-FormMain-ButtonUpdate=Update
win-FormMain-LabelUpdate=Update if available
win-FormMain-msgupdate=Are you sure you want to update CirrusPrint with the current version?

win-FormMain-LabelPass=Copy access passcode to clipboard
win-FormMain-ButtonPass=Passcode
win-FormMain-msgpass=The passcode has been copied to the clipboard

[test]
startup=I'm starting up my engine on @1
err-srcid=Source ID values must have 1 to 20 letters, digits, or .,-, _ (@1)