Spaces:
Runtime error
Runtime error
File size: 4,555 Bytes
905bb30 ae4ea47 2724867 c778bde 2724867 c778bde 2724867 c778bde 2724867 c778bde 42d0feb 2724867 905bb30 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# 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
list_of_items = [
{
"text": "Hello",
"image_url": "https://example.com/image1.jpg",
"translation": "Hola",
"link": "https://www.google.com/"
},
{
"text": "World",
"image_url": "https://example.com/image2.jpg",
"translation": "Mundo",
"link": "https://en.wikipedia.org/wiki/World"
},
{
"text": "Goodbye",
"image_url": "https://example.com/image3.jpg",
"translation": "Adiós",
"link": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
}
]
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):
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)
|