Spaces:
Runtime error
Runtime error
| # import gradio as gr | |
| # # Define a list of word and translation pairs | |
| # word_translations = [ | |
| # {"word": "Hello", "translation": "Hola"}, | |
| # {"word": "Goodbye", "translation": "Adiós"}, | |
| # {"word": "Thank you", "translation": "Gracias"}, | |
| # {"word": "Please", "translation": "Por favor"} | |
| # ] | |
| # # Initialize an index to keep track of the current word | |
| # current_index = 0 | |
| # # Function to display the current word and translation | |
| # def display_word(): | |
| # global current_index | |
| # word_translation = word_translations[current_index] | |
| # current_index = (current_index + 1) % len(word_translations) | |
| # return f"Word: {word_translation['word']}<br>Translation: {word_translation['translation']}" | |
| # # Create a Gradio interface | |
| # iface = gr.Interface( | |
| # fn=display_word, | |
| # live=True, | |
| # title="Word Translation App", | |
| # description="Click 'Next' to view the next word and translation.", | |
| # inputs=[], | |
| # outputs=["html"], | |
| # layout="vertical" | |
| # ) | |
| # # Start the Gradio interface | |
| # iface.launch() | |
| # import gradio as gr | |
| # import random | |
| # # Define your list of words and their translations | |
| # word_translations = [ | |
| # {"word": "Apple", "translation": "Manzana", "image_url": "apple_image.jpg"}, | |
| # {"word": "Banana", "translation": "Plátano", "image_url": "banana_image.jpg"}, | |
| # {"word": "Orange", "translation": "Naranja", "image_url": "orange_image.jpg"}, | |
| # # Add more words and translations as needed | |
| # ] | |
| # # Initialize a variable to keep track of the current word index | |
| # current_word_index = 0 | |
| # # Define a function to display the current word and translation | |
| # def display_word(): | |
| # word_info = word_translations[current_word_index] | |
| # word = word_info["word"] | |
| # translation = word_info["translation"] | |
| # image_url = word_info["image_url"] | |
| # return f"Word: {word}<br>Translation: {translation}<br><img src='{image_url}' width='200'>" | |
| # # Define a function to handle the "Next" button click | |
| # def next_word(): | |
| # global current_word_index | |
| # current_word_index = (current_word_index + 1) % len(word_translations) | |
| # return display_word() | |
| # # Create a Gradio interface | |
| # iface = gr.Interface( | |
| # fn=display_word, | |
| # live=True, | |
| # title="Word Translation App", | |
| # description="Click 'Next' to view the next word and translation.", | |
| # inputs=[], | |
| # outputs="html", | |
| # layout="vertical", | |
| # wide=True | |
| # ) | |
| # # Add a "Next" button to the interface | |
| # iface.add_button("Next", next_word) | |
| # # Launch the Gradio interface | |
| # iface.launch() | |
| import gradio as gr | |
| import requests | |
| from PIL import Image | |
| def display_item(index, list_of_items): | |
| """Displays a single item from a list of items. | |
| Args: | |
| index: The index of the item to display. | |
| list_of_items: A list of Python dictionaries, where each dictionary has the following keys: | |
| * text: The text. | |
| * image_url: The URL of the image. | |
| * translation: The translation of the text. | |
| * link: The URL of the website link. | |
| """ | |
| # Get the item from the list of items | |
| item = list_of_items[index] | |
| # Display the text | |
| gr.Text(item["text"]) | |
| # Display the image | |
| image = Image.open(requests.get(item["image_url"], stream=True).raw) | |
| gr.Image(image) | |
| # Display the translation | |
| gr.Text(item["translation"]) | |
| # Display the website link | |
| gr.Button("View website", onclick=lambda: gr.HTML(f"<iframe src='{item['link']}' width='100%' height='500px'></iframe>")) | |
| # Define a function to show the next item | |
| def show_next_item(index, list_of_items): | |
| """Shows the next item in the list of items. | |
| Args: | |
| index: The current index. | |
| list_of_items: A list of Python dictionaries, where each dictionary has the following keys: | |
| * text: The text. | |
| * image_url: The URL of the image. | |
| * translation: The translation of the text. | |
| * link: The URL of the website link. | |
| """ | |
| # Increment the index | |
| index += 1 | |
| # If the index is greater than the length of the list of items, then reset the index to 0 | |
| if index >= len(list_of_items): | |
| index = 0 | |
| # Display the next item | |
| display_item(index, list_of_items) | |
| # Create a Gradio interface | |
| interface = gr.Interface(display_item, inputs=["number", "list"], outputs="html") | |
| # Launch the Gradio interface | |
| interface.launch(index=0, list_of_items=list_of_items, show_next_item=show_next_item) | |