---
name: "csv2po"
section: "1"
platform: "linux"
package: "translate-toolkit"
version: "3.15.1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/csv2po"
---

# csv2po(1)

Convert Comma-Separated Value (.csv) files to Gettext PO localization files.

## NAME

csv2po -  Convert Comma-Separated Value (.csv) files to Gettext PO localization files.

## SYNOPSIS

**csv2po** \[**--version**\] \[**-h**\|**--help**\] \[**--manpage**\] \[**--progress** *PROGRESS*\] \[**--errorlevel** *ERRORLEVEL*\] \[**-i**\|**--input**\] *INPUT* \[**-x**\|**--exclude** *EXCLUDE*\] \[**-o**\|**--output**\] *OUTPUT* \[**-t**\|**--template** *TEMPLATE*\] \[**-S**\|**--timestamp**\] \[**-P**\|**--pot**\] \[**--charset** *CHARSET*\] \[**--columnorder**\] \[**--duplicates** *DUPLICATESTYLE*\]

## DESCRIPTION

See: http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/csv2po.html for examples and usage instructions.

## OPTIONS

- \--version

  show program's version number and exit

- \-h/--help

  show this help message and exit

- \--manpage

  output a manpage based on the help

- \--progress

  show progress as: dots, none, bar, names, verbose

- \--errorlevel

  show errorlevel as: none, message, exception, traceback

- \-i/--input

  read from INPUT in csv format

- \-x/--exclude

  exclude names matching EXCLUDE from input paths

- \-o/--output

  write to OUTPUT in po, pot formats

- \-t/--template

  read from TEMPLATE in po, pot, pot formats

- \-S/--timestamp

  skip conversion if the output file has newer timestamp

- \-P/--pot

  output PO Templates (.pot) rather than PO files (.po)

- \--charset

  set charset to decode from csv files

- \--columnorder

  specify the order and position of columns (location,source,target,context)

- \--duplicates

  what to do with duplicate strings (identical source text): merge, msgctxt (default: 'msgctxt')
