csv2po(1)
π csv2po β ok bestie, let's turn your spreadsheets into translation files π
Hi hi hiii π«Ά this is the csv2po manual page, from the Translate Toolkit (version 3.19.5, she's iconic). If you're holding a .csv file and crying because you need a Gettext PO file instead β girl, same, but also: this tool is literally made for exactly that. No cap.
β¨ NAME β¨
csv2po β Convert Comma-Separated Value (.csv) files to Gettext PO localization files. That's it, that's the whole job, and she does it flawlessly. π
πΈ 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]
Look at her. All those flags. Main character energy honestly. π
π¦ DESCRIPTION π¦
Okay so the actual how-to lives over here, and you should 100% go read it because it has examples and usage instructions and everything:
http://docs.translatehouse.org/projects/translate-toolkit/en/latest/commands/csv2po.html
That's the spot for examples and usage instructions β the manual page (this one, hi) is just the flag menu, iykyk. β¨
π OPTIONS π
Every single one, in order, nothing skipped, because we do not gatekeep here:
--versionβ show program's version number and exit. Quick lil "who am I" moment. π-h/--helpβ show this help message and exit.--manpageβ output a manpage based on the help. (Manpage-ception. So meta. Obsessed.) π--progressβ show progress as:dots,none,bar,names,verbose. Pick your vibe check for how much you wanna watch it chug along. π--errorlevelβ show errorlevel as:none,message,exception,traceback. Basically: how much detail do you want when things go sideways? Choose wisely bestie.-i/--inputβ read fromINPUTincsvformat. Your source spreadsheet, the whole reason we're here. π₯-x/--excludeβ exclude names matchingEXCLUDEfrom input paths. Not today, certain files. Not today. π-o/--outputβ write toOUTPUTinpo,potformats. Where the glow-up gets saved. πΎ-t/--templateβ read fromTEMPLATEinpo,pot,potformats. (Yes,potis listed twice in the original β I'm just reporting the facts, fr fr, not touching it.) π-S/--timestampβ skip conversion if the output file has newer timestamp. She said "already fresh, not redoing my work." π-P/--potβ output PO Templates (.pot) rather than PO files (.po). Template era instead of translation era. β¨--charsetβ set charset to decode from csv files. Because encoding drama is real and we respect it. π§--columnorderβ specify the order and position of columns (location,source,target,context). You tell her how your columns are laid out, she doesn't have to guess. Periodt.--duplicatesβ what to do with duplicate strings (identical source text):merge,msgctxt(default:'msgctxt'). So if the same source text shows up twice, you either merge them or give themmsgctxtβ and the default is'msgctxt'. π₯
Heads up bestie π the duplicate-string answer matters β if you've got identical source text hanging around, pickmergeormsgctxton purpose instead of letting it surprise you. The default is'msgctxt', just so you know what you're getting. π«Ά
π SEE ALSO π
Um, there isn't a SEE ALSO section in this page β but the DESCRIPTION points you at the Translate Toolkit docs page above, which is basically the same energy. Go look at her. She's pretty. π
Okay that's the whole page, you made it, I'm so proud of you. π This was the csv2po page from Translate Toolkit 3.19.5 β go convert literally everything, you're gonna slay. π β¨π¦
π¦ where this page comes from
- ubuntu stonking: translate-toolkit 3.19.5-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms