英文:
how to translate the texts with python?
问题
I have translated the code part you provided:
我正在尝试找到一种使用else if翻译一些文本的方法,但我找不到如何做的方式:
我尝试翻译的是代码的以下部分:
rarity = {api["rarity"]}
if rarity:
    rarity="epico"
else:
    rarity="epic"
if rarity:
    rarity="un poco comun"
else:
    rarity="uncommon"
print(f'Rareza: {rarity}')
This is the complete code that I am using:
import json
import requests
args = input("Escribe: ")
response = requests.get("https://jose89fcb.es/apifortnite/fish.php")
data = response.json()
match_found = False
for api in data['fish']:
    
    if args == api["name"]: 
        print(f'Imagen: {api["image"]}')
        print(f'Descripción: {api["description"]}')
        rarity = {api["rarity"]}
        if rarity:
            rarity = "epico"
        else:
            rarity = "epic"
        if rarity:
            rarity = "un poco comun"
        else:
            rarity = "uncommon"
        print(f'Rareza: {rarity}')
        match_found = True
if not match_found:
    print("Error")
请注意,我已将代码进行了翻译,但你需要确保代码中的引号和缩进在翻译后仍然是有效的,以确保代码的正确性。
英文:
I'm trying to find a way to translate some texts with else if but I can't find the way to do it:
What I try to translate is the following part of the code:
rarity = {api["rarity"]}
        if rarity:
            rarity="epico"
        else:
            rarity="epic"
            if rarity:
                rarity="un poco comun"
            else:
                rarity="uncommon"   
        
        print(f'Rareza: {rarity}')
But I can't figure out how to do it
This is the complete code that I am using:
import json
import requests
args= input("Escribe: ")
response = requests.get("https://jose89fcb.es/apifortnite/fish.php")
data = response.json()
match_found = False
for api in data['fish']:
    
    if args == api["name"]: 
        print(f'Imagen: {api["image"]}')
        print(f'Descripción: {api["description"]}')
        rarity = {api["rarity"]}
        if rarity:
            rarity="epico"
        else:
            rarity="epic"
            if rarity:
                rarity="un poco comun"
            else:
                rarity="uncommon"   
        
        print(f'Rareza: {rarity}')
        match_found = True
if not match_found:
    print("Error")
Could someone give me a hand? Thank you very much in advance!
答案1
得分: 0
A dictionary that takes English keys and returns Spanish values is what you are likely after:
rarity_en_to_sp = {
    "epic": "epico",
    "uncommon": "poco común",
}
rarity_en = "uncommon"
rarity_sp = rarity_en_to_sp.get(rarity_en, rarity_en)
print(f'Rarity: {rarity_en} Rareza: {rarity_sp}')
rarity_en = "unknown"
rarity_sp = rarity_en_to_sp.get(rarity_en, rarity_en)
print(f'Rarity: {rarity_en} Rareza: {rarity_sp}')
The use of get() here allows us to fall back to whatever the English version was in the event we don't have a translation yet.
This code should give you:
Rarity: uncommon Rareza: poco común
Rarity: unknown Rareza: unknown
英文:
A dictionary that takes English keys and returns Spanish values is what you are likely after:
rarity_en_to_sp = {
    "epic": "epico",
    "uncommon": "un poco comun",
}
rarity_en = "uncommon"
rarity_sp = rarity_en_to_sp.get(rarity_en, rarity_en)
print(f'Rarity: {rarity_en} Rareza: { rarity_sp }')
rarity_en = "unknown"
rarity_sp = rarity_en_to_sp.get(rarity_en, rarity_en)
print(f'Rarity: {rarity_en} Rareza: { rarity_sp }')
The use of get() here allows us to fall back to whatever the English version was in the event we don't have a translation yet.
This code should give you:
Rarity: uncommon Rareza: un poco comun
Rarity: unknown Rareza: unknown
答案2
得分: 0
我认为你不理解if rarity的含义。这只是指检查其值是否被视为True或False。如果字符串中有任何内容,这将被视为True。也许你想检查其内容是否等于英文版本,并将其翻译为西班牙文版本?
你可以通过if-elif来实现:
rarity = {api["rarity"]}
if rarity == "epic":
    rarity = "epico"
elif rarity == "uncommon":
    rarity = "un poco comun"
print(f'Rareza: {rarity}')
或者使用一个dict:
translations = {
    "epic": "epico",
    "uncommon": "un poco comun"
}
rarity = translations[rarity]
print(f'Rareza: {rarity}')
英文:
I don't think you understand what if rarity means. That just means, check if its value is considered True or False. If a string has any content in it, this will be considered True. Perhaps you meant to check if its content was equal to the English version, and you want to translate it to the Spanish version?
You could do this via if-elif:
rarity = {api["rarity"]}
if rarity == "epic":
    rarity = "epico"
elif rarity == "uncommon":
    rarity = "un poco comun"
print(f'Rareza: {rarity}')
Or a dict:
translations = {
    "epic": "epico",
    "uncommon": "un poco comun"
}
rarity = translations[rarity]
print(f'Rareza: {rarity}')
答案3
得分: -1
You can use the Google Translate library if it's for a small-sized project.
Use pip to install googletrans library:
pip3 install googletrans
And then for example:
# import library
from googletrans import Translator, constants
# initialize translator instance
translator = Translator()
# translate something to English from Italian (English is the default)
translation = translator.translate("Ciao Mondo!")
print(f"{translation.origin} ({translation.src}) --> {translation.text} ({translation.dest})")
Output:
Ciao Mondo! (it) --> Hello World! (en)
Source: How to Translate Languages in Python
If you get an error similar to this: AttributeError: 'NoneType' object has no attribute 'group' (which I got too), use these commands to install the specific version of the library that is used in the code above:
pip3 uninstall googletrans
pip3 install googletrans==3.1.0a0
英文:
You can use the Google Translate library if it's for a small-sized project.
Use pip to install googletrans library:
pip3 install googletrans
And then for example:
# import library
from googletrans import Translator, constants
# initialize translator instance
translator = Translator()
# translate something to English from Italian (English is the default)
translation = translator.translate("Ciao Mondo!")
print(f"{translation.origin} ({translation.src}) --> {translation.text} ({translation.dest})")
Output:
Ciao Mondo! (it) --> Hello World! (en)
Source: How to Translate Languages in Python
If you get an error similar to this: AttributeError: 'NoneType' object has no attribute 'group' (which I got too), use these commands to install the specific version of the library that is used in the code above:
pip3 uninstall googletrans
pip3 install googletrans==3.1.0a0
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论