CSV

The CSV format lacks a strictly defined universal standard, with variations in field separators, quoting, escaping, and encoding. To ensure consistency, LingoHub implements a CSV standard for localization based on RFC4180.

Format

  • Use UTF-8 encoding for the best results, although you can export to other encodings.
  • The markup follows the RFC4180 standard.
  • LingoHub uses the comma , as the default column separator. You can change this to a semicolon ; or a <tab> in the project settings.
  • You can enclose all values in single or double quotes.
  • Escape double quotes by using two double quotes (e.g., "Hello, ""LingoHub""").
  • Supported line endings are LF and CRLF.
  • Quoted values can span multiple lines.
  • The first line serves as the header and defines the column names:
    • First column: Holds the segment key. You can configure the column name (e.g., Title, Key, or Id) in the project settings.
    • Second column (optional): Holds the segment description or comment. You can configure the column name (e.g., Description or Comment) in the project settings.
    • Subsequent columns: Hold translation content or metadata.
      • Use ISO 639-1 language codes (e.g., en, pt-BR) as column names for translation content.
      • Use the language code combined with [status] (e.g., en[status]) to define the status for a specific language. Valid values are NEW, DRAFT, PRE_TRANSLATED, TRANSLATED, and APPROVED.
  • The default placeholder syntax is {placeholder_name}. If you require a different syntax, please contact our support team.

Lingohints can be included in the description column:

"Title","Description","en","pl","de"
"settings","General Settings <lh>{""status"": ""DRAFT"",""qc"": {""min"": ""4"",""max"": ""30""},""labels"": [""q3-2025""],""not_translatable"": false}</lh>","Settings","Ustawienia","Einstellungen"

Example

Additional example files are available on GitHub.

"Title","Description","en","pl","de"
"settings","General Settings","Settings","Ustawienia","Einstellungen"
"has_placeholders","This example shows the usage of placeholders","Hello {username}","Cześć {username}","Hallo {username}"
"quotes","Quotes in content","Hello ""LingoHub""","Cześć ""LingoHub""","Hallo ""LingoHub"""
"linebreaks","an example for linebreaks","Here is a
linebreak","Oto 
nowa linea","Hier ist ein
Zeilenumbruch"
"Key","Comment","en","pl","de", "en[status]", "pl[status]", "de[status]"
"settings","General Settings","Settings","Ustawienia","Einstellungen", "DRAFT", "TRANSLATED", "APPROVED"
"has_placeholders","This example shows the usage of placeholders","Hello {username}","Cześć {username}","Hallo {username}", "DRAFT", "TRANSLATED", "APPROVED"
"quotes","Quotes in content","Hello ""LingoHub""","Cześć ""LingoHub""","Hallo ""LingoHub""", "DRAFT", "TRANSLATED", "APPROVED"
"linebreaks","an example for linebreaks","Here is a
linebreak","Oto
nowa linea","Hier ist ein
Zeilenumbruch", "DRAFT", "TRANSLATED", "APPROVED"

References