# 
# RiskScape™ Copyright New Zealand Institute for Earth Science Limited
# (Earth Sciences New Zealand) is distributed for research purposes only
# under the terms of AGPLv3.
# 
# RiskScape™ Copyright 2026 New Zealand Institute for Earth Science
# Limited (Earth Sciences New Zealand). All rights reserved. Source code
# available under the AGPLv3.
# 
# This program is free software: you can redistribute it and/or modify it under
#  the terms of the GNU Affero General Public License as published by the Free
#  Software Foundation, either version 3 of the License, or (at your option) any
#  later version.
# 
# This program is distributed for RESEARCH PURPOSES ONLY, in the hope that it will
# be useful for research and education initiatives.
# 
# If you are not a researcher, or you are a researcher who wishes to use this
# program on terms other than AGPLv3 (including those who wish to restrict the
# distribution of any source code created using this program), please contact:
# https://riskscape.org.nz
# 
# This program is distributed WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Affero General Public License for more details.  You should have received a copy
# of the GNU Affero General Public License along with this program.  If not, see
# <http://www.gnu.org/licenses/>.
# 
# By way of summary only, under the AGPLv3:
#     • Permissions of this strongest copyleft license are conditioned
#       on making available complete source code of licensed works and
#       modifications, which include larger works using a licensed work,
#       under the same license.
#     • Copyright and license notices must be preserved.
#     • Contributors provide an express grant of patent rights.
#     • When a modified version is used to provide a service over a
#       network, the complete source code of the modified version must be made
#       available.
# 
# I18N translations for riskscape CLI help output.
# Riskscape CLI is implemented using Picocli, refer to: https://picocli.info/#_internationalization

# Common/Mixin options

common.run.output = \
  Save the model results as files in the specified location. \
  By default, results are saved in a `<projectOutputDirectory>/<modelId>/<timestamp>`. \
  Refer to reference/output docs for more information.

common.run.print = \
  Print the realized pipeline without executing it. Useful for trouble-shooting.

common.run.print-step = \
  Print a particular step of the realized pipeline without executing it. Useful for trouble-shooting larger pipelines.


common.run.replace = \
  When an output location is specified, this will replace any existing files with the new results, \
  i.e. any previous results in the output location will be overwritten.

common.run.format = \
  Set an output file format to take effect when no format has been specified in the model itself. \
  See `riskscape format list` for supported formats

common.run.checksum = \
  Produce checksums for model output based on the model input

common.run.engine-stats = \
  Advanced option to include statistics from the engine in the progress output.

common.run.progress-indicator = \
  Change how progress through running the model is indicated. \
  By default, the progress is displayed on the CLI. \
  Use 'none' to not display any progress, or specify a file that will get periodically updated with the progress

# Root command options
riskscape.usage.description = \
  Run the riskscape engine via the command line

riskscape.help = \
  Show this help message and exit

riskscape.license = \
  Display license information and exit

riskscape.version = \
  Display version information and exit

riskscape.show-stacktrace = \
  Show detailed error information

riskscape.project = \
  Specify location of a project file to initialize engine with. \
  Project files take precedence over home directories

riskscape.pipeline-threads = \
  Sets how many threads RiskScape will use to run tasks in parallel where possible. \
  Will default to the number of processors (or cores) available.

riskscape.log-level = \
  Sets the log level for default loggers.\n\
  \n\
  The root logger can be set like \
  `--log-level info`, but you can also set specific loggers (if you know their \
  names) with `LOGGER_NAME=LEVEL` and multiple log levels can be set by comma \
  separating them.  \n\
  \n\
  Logger names that being with nz.org.riskscape can be \
  abbreviated by prefixing the logger name with a `.`.  For example, \
  `nz.org.riskscape.engine.cli=WARN` can be shortened to \
  `.engine.cli=WARN`

riskscape.random-seed = \
  Sets a random seed for any model components that use randomness

riskscape.show-project-errors = \
  Print out detailed information about errors and warnings encountered when loading your project

riskscape.beta = \
  Run RiskScape with (or without) the beta plugin enabled.

# riskscape beta
riskscape.beta.usage.description = \
  Access to features that are still in development and likely to change without warning

# model commands
riskscape.model.usage.description = \
  Run and list framework-based models

riskscape.model.list.usage.description = \
  List models that exist in your project

riskscape.model.run.usage.description = \
  Run a model, save results

riskscape.model.run.<modelId>[0] = \
  ID of the model to run. See `model list` for possible choices

riskscape.model.run.graph = \
  Print the pipeline as Graphviz .dot format without executing it

riskscape.model.run.parameter = \
  Supply parameters to the model in the format key=value, e.g. `-p asset=path-to-assets.shp`.  Give the name alone to \
  clear a parameter, i.e `-p name` would clear the value set for the name parameter.  Parameters supplied via \
  `--parameter` take precedence over any model supplied defaults and any values supplied via `--parameters`.

riskscape.model.run.parameters = \
  Supply parameters to the model in an INI formatted file.  Similar to `--parameter`, but allows \
  many parameters to be set at once.  Parameters are read from a single INI section (if the file only has one section), \
  or an INI section with the same name as the model being run.  \
  Parameters supplied via `--parameters` take precedence over any model supplied \
  defaults, but not over any supplied via `--parameter`.

riskscape.model.batch.usage.description.0 = \
  Run a model repeatedly, varying one parameter each time

riskscape.model.batch.usage.description.1 = \
  Batch mode allows you to run your model multiple times by varying a particular \
  parameter of your model, e.g. vary the hazard to produce multiple outputs for \
  each of your different hazard inputs.

riskscape.model.batch.usage.description.2 = \
  Use `--vary-parameter` to control which parameter changes for each run and \
  `--vary-input` to supply the different values that comprise the batch.

riskscape.model.batch.<modelId>[0] = \
  ID of the model to run. See `model list` for possible choices

riskscape.model.batch.vary-parameter.0 = \
  Name of parameter to vary over each batch run. Used when the vary-input contains the entire \
  parameter value. If the vary-input contains part of the parameter value then use \
  `--parameter` with `{}`.

riskscape.model.batch.vary-input = \
  - Path to a file containing the different values to use for each run of the batch. One per line\n\
  - Path to a directory, values are <path-to-directory>/<file> for each file in directory\n\
  - Path to a directory with file pattern, similar to path to directory but files are filtered by file \
  pattern. {} or * are allowed for wildcards. e.g. <path-to-directory>/assets{}.shp or \
  <path-to-directory>/assets*.shp.

riskscape.model.batch.failure-mode = \
  Controls behaviour when a batch run is bad, Options: ${COMPLETION-CANDIDATES}

riskscape.model.batch.output.0 = \
  Save the model results as files in the specified location. \
  By default, results are saved in a `<projectOutputDirectory>/<modelId>/<timestamp>/batchx`. \
  Refer to reference/output docs for more information.

riskscape.model.batch.output.1 = \
  The vary-input value can included in the output directory to save batch results in a \
  different directory (per batch) with `{}`. E.g `--output output/{}`

riskscape.model.batch.replace.0 = \
  When an output location is specified, this will replace any existing files with the new results, \
  i.e. any previous results in the output location will be overwritten.

riskscape.model.batch.replace.1 = \
  If `--replace` is used and `--output` is specified without making a per batch output directory \
  the previous batch's output will be replaced.

riskscape.model.batch.parameter.0 = \
  Supply parameters to the model in the format key=value, e.g. `-p asset=path-to-assets.shp`.  Give the name alone to \
  clear a parameter, i.e `-p name` would clear the value set for the name parameter.  Parameters supplied via \
  `--parameter` take precedence over any model supplied defaults and any values supplied via `--parameters`.

riskscape.model.batch.parameter.1 = \
  Any occurrence of {} will be replaced by the current value from vary-input (e.g `"{} + 10"`). Only one parameter may \
  contain {} and `--vary-parameter` should not be used in that case.

riskscape.model.batch.parameters = \
  Supply parameters to the model in an INI formatted file.  Similar to `--parameter`, but allows \
  many parameters to be set at once.  Parameters are read from a single INI section (if the file only has one section), \
  or an INI section with the same name as the model being run.  \
  Parameters supplied via `--parameters` take precedence over any model supplied \
  defaults, but not over any supplied via `--parameter`.

riskscape.model.framework.usage.description = \
  Query the model frameworks that can be used to define a model

riskscape.model.framework.list.usage.description = \
  List the model frameworks that can be used to define a model

riskscape.model.parameter-template.usage.description = \
  Lists the templates that can be used to customize model parameters

riskscape.model.parameter-template.list.usage.description = \
  Lists the templates that can be used to customize model parameters

# riskscape model verify
riskscape.model.verify.usage.description = \
  Verify model manifest checksums match local files

riskscape.model.verify.<manifest>[0] = \
  The manifest file to verify or a directory containing `manifest.txt`

# riskscape bookmark

riskscape.bookmark.usage.description = \
  List and inspect bookmark data

riskscape.bookmark.list.usage.description = \
  Lists all bookmarks

riskscape.bookmark.list.detailed = \
  Produce a detailed list of information

riskscape.bookmark.info.usage.description = \
  Show information for a single bookmark

riskscape.bookmark.info.brief = \
  Skip examining the contents of the data and only print a brief summary

riskscape.bookmark.eval.usage.description = \
  Evaluate the bookmark data as it would be used in a model

riskscape.bookmark.eval.<bookmarkId>[0] = \
  The ID of the bookmark to evaluate

riskscape.bookmark.eval.format = \
  The format to save the evaluated bookmark data in. Refer `riskscape format list` for options

# riskscape format

riskscape.format.list.usage.description = \
  List file formats RiskScape supports for input and output data

riskscape.format.info.usage.description = \
  Lists detailed information about supported bookmark parameters for a given input file format

riskscape.format.usage.description = \
  List file formats supported for input and output data

riskscape.format.info.<name>[0] = \
  Name of the input file format, as reported by `riskscape format list`

riskscape.format.save.usage.description = \
  Lists supported options for the 'save' pipeline step

riskscape.format.save.options.usage.description = \
  Lists supported options for the 'save' pipeline step

riskscape.format.save.options.<name>[0] = \
  Name of the output file format, as reported by `riskscape format list`

# expression

riskscape.expression.usage.description = \
  Test and debug RiskScape expressions

riskscape.expression.eval.usage.description = \
  Evaluate a RiskScape expression and print out the result

riskscape.expression.eval.<expression>[0] = \
  An expression, e.g. "my_damage_function({type: 'house', cost: 150.0})"

riskscape.expression.eval.return-type = \
  Print the return type of the expression in addition to its value

riskscape.expression.inspect.usage.description = \
  Inspect a RiskScape expression by printing out its structure, types and how it is evaluated

# riskscape function

riskscape.function.usage.description = \
  Query available functions (built-in or user-defined)

riskscape.function.list.usage.description = \
  List available functions. By default, only those in RISK_MODELLING and UNASSIGNED categories are shown.

riskscape.function.list.category = \
  Only list functions that belong to one of the specified categories. \
  Available categories: ${COMPLETION-CANDIDATES}

riskscape.function.list.all = \
  List all functions, from all categories. Includes all built-in functions

riskscape.function.info.usage.description = \
  Output information for a function

riskscape.i18n.usage.description = \
  Internationalisation features

riskscape.i18n.locale = \
  The target locale to generate resource bundle files for. \
  This is the language (ll) and country (CC) in the format ll or ll_CC. \
  E.g. For French use fr, or for Canadian (CA) French use fr_CA

riskscape.i18n.output-dir = \
  The directory to create the resource bundle files in

#Pipeline commands
# riskscape pipeline
riskscape.pipeline.usage.description = \
  Inspect and run pipelines

# riskscape pipeline step
riskscape.pipeline.step.usage.description = \
  Inspect available pipeline steps

# riskscape pipeline step list
riskscape.pipeline.step.list.usage.description = \
  list all steps that are available in the engine

# riskscape pipeline step info
riskscape.pipeline.step.info.usage.description = \
  Detailed information on a particular pipeline step's parameters

riskscape.pipeline.step.info.<stepId>[0] = \
  Name of the pipeline step. See `pipeline step list` for possible choices

# riskscape pipeline eval
riskscape.pipeline.eval.usage.description = \
  Advanced command for running a pipeline without having to define a model.

riskscape.pipeline.eval.<pipelineFile>[0] = \
  The pipeline source you want to evaluate, or a path to a file containing pipeline source.  To force this command to \
  Treat the input as a file, make the argument look like a path, e.g. `./pipeline.txt` instead of `pipeline.txt`

riskscape.pipeline.eval.print = \
  Print the realized pipeline without executing it. Useful for trouble-shooting

riskscape.pipeline.eval.parameters = \
  Supply parameters to the pipeline via a JSON formatted file

# riskscape resource-loader
riskscape.resource-loader.usage.description = \
  Query ways that resource files can be loaded into RiskScape

riskscape.resource-loader.list.usage.description = \
  Lists ways that resources (asset data, functions, etc) can be loaded

# riskscape project
riskscape.project.usage.description = \
  Tools for the current project

riskscape.project.docs.usage.description.0 = \
  Output markdown formatted documentation for the current project

riskscape.project.docs.usage.description.1 = \
  Documentation included the following project entities: \n\
  - Sub-pipelines

# riskscape subpipeline
riskscape.subpipeline.usage.description = \
  Query available sub-pipelines

riskscape.subpipeline.list.usage.description = \
  List available sub-pipelines

riskscape.subpipeline.info.usage.description = \
  Output information for a sub-pipeline

riskscape.subpipeline.info.<subpipelineId>[0] = \
  The sub-pipeline id to show information of

# riskscape type-registry
riskscape.type-registry.usage.description = \
  Query built-in types available

riskscape.type-registry.list.usage.description = \
  List all built-in types

# riskscape type
riskscape.type.usage.description = \
  Query user-defined types

riskscape.type.list.usage.description = \
  List all user-defined types

riskscape.type.info.usage.description = \
  Output information for a user-defined type

riskscape.type.info.<id>[0] = \
  ID of the type to display. See `type list` for possible choices
