### Install Dependencies for Internationalization Source: https://github.com/cs50/submit50/blob/main/README.md Ensure babel and submit50 are installed in development mode before generating translation files. ```bash pip install babel pip install -e . ``` -------------------------------- ### Initialize Catalog for a New Language Source: https://github.com/cs50/submit50/blob/main/README.md Use this command to create a .po file for a specific language. Replace with the language code. ```python python setup.py init_catalog -l ``` -------------------------------- ### Generate Translation Template Source: https://github.com/cs50/submit50/blob/main/README.md Run this command to create a template file for new translations. ```python python setup.py extract_messages ``` -------------------------------- ### Submit a Problem in English Source: https://github.com/cs50/submit50/blob/main/README.md Use this command to submit a problem when the default language is English. ```bash submit50 problem ``` -------------------------------- ### Test New Language Translations Source: https://github.com/cs50/submit50/blob/main/README.md Set the LANGUAGE environment variable to your desired language code and submit a problem to test the translations. ```bash LANGUAGE= submit50 ``` -------------------------------- ### Compile Translations Source: https://github.com/cs50/submit50/blob/main/README.md After adding translations to the .po file, compile them using this command. ```python python setup.py compile_catalog ``` -------------------------------- ### Submit a Problem in Spanish Source: https://github.com/cs50/submit50/blob/main/README.md Set the LANGUAGE environment variable to 'es' to submit a problem in Spanish. ```bash LANGUAGE=es submit50 problem ``` -------------------------------- ### Update Existing Language Translations Source: https://github.com/cs50/submit50/blob/main/README.md Use this command to update the .po file for an existing language when translations have changed. ```python python setup.py update_catalog -l ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.