Cooking Up a Bulk User Invite Recipe for Your Transifex Organization👩‍🍳

Greetings, culinary code connoisseurs! :stew: Today, we’re whipping up a Python recipe for adding users to your Transifex organization in bulk. This dish will help you seamlessly build a team with specific roles, allowing you to manage your localization projects with ease. Let’s get our aprons on and start cooking!

:cook: Kitchen Prep: Ingredients You’ll Need

Before diving in, make sure you have everything ready:

  1. Download the "Add users to your organization in bulk" recipe from the Transifex Developer Hub.
  2. Install Python on your computer.
  3. Prepare a CSV file with the user details (structure explained below).
  4. Transifex API Token for authentication.
  5. Users already signed up on Transifex.

Pro Tip: Use UTF-8 encoding for your CSV file to avoid errors. Google Sheets does this automatically, but if you’re using Excel, double-check your encoding settings when saving.

:memo: Structuring Your CSV File

Your CSV file should be set up with each row representing a user and columns for the necessary details:

Column Description
username Required; exact username of the user in Transifex.
role Required; role to assign (e.g., project maintainer, team manager, translator, reviewer, etc.).
project_slug Optional; slug for the project (needed if adding a project maintainer).
team_slug Optional; slug for the team (needed for roles like team manager or translator).
language_code Optional; code for the language (needed for language-specific roles like translator).

CSV Example

Here’s an example of how your CSV file might look:

username role project_slug team_slug language_code
user1 project maintainer proj_123
user2 team manager team_123
user3 language coordinator team_456 es_MX
user4 translator team_456 es_MX

Note: If you’re adding translators or reviewers, make sure a language coordinator is already set up for that language team.

:fire: Cooking Instructions: Running the Recipe

  1. Open Your Terminal
    Navigate to the directory where your Python script (recipe.py) and CSV file (users.csv) are located.

  2. Run the Command:

    python recipe.py users.csv
    
  3. Enter Your API Token and Organization Slug
    The script will prompt you to enter your API token and organization slug. Here’s what you’ll see:

    Please enter your API token: 
    
    Please enter your Organization slug: 
    
  4. Sit Back and Watch
    The script will read through your CSV file and start adding users. For each user, it will display success messages based on their role:

    SUCCESSFUL ADDITION: user1 was added to your project proj_123 as project maintainer
    SUCCESSFUL ADDITION: user2 was added to your team team_123 as team manager
    SUCCESSFUL ADDITION: user3 was added to your team team_456 as coordinator in language es_MX
    SUCCESSFUL ADDITION: user4 was added to your team team_456 as translator in language es_MX
    

:hammer_and_wrench: Troubleshooting Errors

If any issues arise during the process, a file called app.log will be generated in the same directory. This log file will record any errors encountered, such as incorrect role assignments, invalid slugs, or encoding problems.

:tada: Savor the Success

With your team all set up, you’re ready to tackle your localization projects like a pro. Bon appétit, and happy translating! :clinking_glasses:

2 Likes