I am working on a site that is multilingual (English and Hebrew) and we are using the WPML plugin to handle the translations/localization.

We are using a custom post type on the site that has many entries and the client needed to import a bunch of entries in both languages.

After trying several CSV importer plugins, the one that worked for me was the WP-CSV plugin

Here’s how I used it, and what I learned along the way:

  1. Set up the CSV file column headings. In order to find out how to name the column headings, this plugin includes a very handy export tool, that exports a custom post type from your Dashboard into a CSV so that you can see exactly how to name the column headings and how the CSV should be formatted. They also have a very useful guide to help explain the column descriptions.
    Tip: I found that I needed the post_status column to all be set to publish in order for this to work on the non-English site
  2. For non-English languages: If you are importing a non-English language, like Hebrew, you need to save your CSV file in UTF-8. Here’s how I did it:
    1. Save the file as a regular CSV
    2. Open CSV file with Notepad.
    3. Do Save As
    4. In the Save As dialog box, change the encoding to utf-8.
  3. Go to the relevant language in the Dashboard (For example, if you’re importing a Hebrew CSV, make sure you’re in the Hebrew Dashboard). This is important!
  4. Go to Tools > WPCSV
  5. Set Post Type Filter to relevant Post Type
  6. Import the CSV
  7. Check if everything is ok!