Text translation

Detect language
English
Translate from
Detect language
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu
Translate to
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu
Getting translation...

Source text

我原来在scrypt上做过一个类似想法的原型,供参考。 这个最好配合Layer 1的token方案,不然就要想另外的办法让合约可以验证token的真伪。 生成的测试网交易: <a href='https://test.whatsonchain.com/tx/30cc3d743d9e76a314dd7f70aaefabd6bdd976754cd5f9bb8f6c546cb7633f7b'>https://test.whatsonchain.com/tx/30cc3d743d9e76a314dd7f70aaefabd6bdd976754cd5f9bb8f6c546cb7633f7b</a> contract文件: contract Sell { bytes bsvReceiveScript; int sellAmount; int getAmount; constructor(bytes bsvReceiveScript,int sellAmount, int getAmount) { this.bsvReceiveScript = bsvReceiveScript; this.sellAmount = sellAmount; this.getAmount = getAmount; } public function match(bytes sighashPreimage, bytes receiverScriptPubkey, int coinAmount, int bsvAmount, bytes additionalOutputs) { Tx tx = new Tx(); require(tx.validate(sighashPreimage)); require(coinAmount&gt;0); require(bsvAmount&gt;0); int len = length(sighashPreimage); bytes hashOutputs = sighashPreimage[len - 40 : len - 8]; // scriptCode is just scriptPubKey if there is no CODESEPARATOR in the latter bytes scriptCode = this.readVarint(sighashPreimage[104:]); int scriptLen = length(scriptCode); // last byte contains the state, i.e., counter int amount = unpack(scriptCode[scriptLen - 4 :]); require(coinAmount&lt;=amount); // increment counter bytes scriptCode_ = scriptCode[: scriptLen - 4] ++ num2bin(amount - coinAmount, 4); //todo verify price where require(this.getAmount * coinAmount &lt;= this.sellAmount * bsvAmount); // output: amount + scriptlen + script Sha256 hashOutputs_ = hash256( num2bin(1000, 8) ++ this.writeVarint( b"6a"++b"0453454e44"++this.writeVarint(num2bin(amount - coinAmount, 4)) ++this.writeVarint(num2bin(coinAmount, 4)) ) ++num2bin(1000, 8) ++ this.writeVarint(scriptCode_) ++num2bin(1000, 8) ++ this.writeVarint(receiverScriptPubkey) ++num2bin(bsvAmount, 8) ++ this.writeVarint(this.bsvReceiveScript) ++additionalOutputs ); // ensure output is expected: amount is same with specified // also output script is the same with scriptCode except counter incremented require(hashOutputs == hashOutputs_); } function readVarint(bytes b) returns (bytes) { int len = 0; bytes ret = b""; bytes header = b[0:1]; if (header == b"fd") { len = this.fromLEUnsigned(b[1:3]); ret = b[3:3+len]; } else if (header == b"fe") { len = this.fromLEUnsigned(b[1:5]); ret = b[5:5+len]; } else if (header == b"ff") { len = this.fromLEUnsigned(b[1:9]); ret = b[9:9+len]; } else { len = this.fromLEUnsigned(b[0:1]); ret = b[1:1+len]; } return ret; } function writeVarint(bytes b) returns (bytes) { int n = length(b); bytes header = b""; if (n &lt; 0xfd) { header = this.toLEUnsigned(n, 1); } else if (n &lt; 0x10000) { header = b"fd" ++ this.toLEUnsigned(n, 2); } else if (n &lt; 0x100000000) { header = b"fe" ++ this.toLEUnsigned(n, 4); } else if (n &lt; 0x10000000000000000) { header = b"ff" ++ this.toLEUnsigned(n, 8); } return header ++ b; } // convert signed integer `n` to unsigned integer of `len` bytes, in little endian function toLEUnsigned(int n, int len) returns (bytes) { // one extra byte to accommodate possible negative sign byte bytes m = num2bin(n, len + 1); // remove sign byte return m[0 : length(m) - 1]; } function fromLEUnsigned(bytes b) returns (int) { // append positive sign byte. This does not hurt even when sign bit is already positive return unpack(b ++ b"00"); } }
我原来在scrypt上做过一个类似想法的原型,供参考。 这个最好配合Layer 1的token方案,不然就要想另外的办法让合约可以验证token的真伪。 生成的测试网交易: <a href='https://test.whatsonchain.com/tx/30cc3d743d9e76a314dd7f70aaefabd6bdd976754cd5f9bb8f6c546cb7633f7b'>https://test.whatsonchain.com/tx/30cc3d743d9e76a314dd7f70aaefabd6bdd976754cd5f9bb8f6c546cb7633f7b</a> contract文件: contract Sell { bytes bsvReceiveScript; int sellAmount; int getAmount; constructor(bytes bsvReceiveScript,int sellAmount, int getAmount) { this.bsvReceiveScript = bsvReceiveScript; this.sellAmount = sellAmount; this.getAmount = getAmount; } public function match(bytes sighashPreimage, bytes receiverScriptPubkey, int coinAmount, int bsvAmount, bytes additionalOutputs) { Tx tx = new Tx(); require(tx.validate(sighashPreimage)); require(coinAmount&gt;0); require(bsvAmount&gt;0); int len = length(sighashPreimage); bytes hashOutputs = sighashPreimage[len - 40 : len - 8]; // scriptCode is just scriptPubKey if there is no CODESEPARATOR in the latter bytes scriptCode = this.readVarint(sighashPreimage[104:]); int scriptLen = length(scriptCode); // last byte contains the state, i.e., counter int amount = unpack(scriptCode[scriptLen - 4 :]); require(coinAmount&lt;=amount); // increment counter bytes scriptCode_ = scriptCode[: scriptLen - 4] ++ num2bin(amount - coinAmount, 4); //todo verify price where require(this.getAmount * coinAmount &lt;= this.sellAmount * bsvAmount); // output: amount + scriptlen + script Sha256 hashOutputs_ = hash256( num2bin(1000, 8) ++ this.writeVarint( b"6a"++b"0453454e44"++this.writeVarint(num2bin(amount - coinAmount, 4)) ++this.writeVarint(num2bin(coinAmount, 4)) ) ++num2bin(1000, 8) ++ this.writeVarint(scriptCode_) ++num2bin(1000, 8) ++ this.writeVarint(receiverScriptPubkey) ++num2bin(bsvAmount, 8) ++ this.writeVarint(this.bsvReceiveScript) ++additionalOutputs ); // ensure output is expected: amount is same with specified // also output script is the same with scriptCode except counter incremented require(hashOutputs == hashOutputs_); } function readVarint(bytes b) returns (bytes) { int len = 0; bytes ret = b""; bytes header = b[0:1]; if (header == b"fd") { len = this.fromLEUnsigned(b[1:3]); ret = b[3:3+len]; } else if (header == b"fe") { len = this.fromLEUnsigned(b[1:5]); ret = b[5:5+len]; } else if (header == b"ff") { len = this.fromLEUnsigned(b[1:9]); ret = b[9:9+len]; } else { len = this.fromLEUnsigned(b[0:1]); ret = b[1:1+len]; } return ret; } function writeVarint(bytes b) returns (bytes) { int n = length(b); bytes header = b""; if (n &lt; 0xfd) { header = this.toLEUnsigned(n, 1); } else if (n &lt; 0x10000) { header = b"fd" ++ this.toLEUnsigned(n, 2); } else if (n &lt; 0x100000000) { header = b"fe" ++ this.toLEUnsigned(n, 4); } else if (n &lt; 0x10000000000000000) { header = b"ff" ++ this.toLEUnsigned(n, 8); } return header ++ b; } // convert signed integer `n` to unsigned integer of `len` bytes, in little endian function toLEUnsigned(int n, int len) returns (bytes) { // one extra byte to accommodate possible negative sign byte bytes m = num2bin(n, len + 1); // remove sign byte return m[0 : length(m) - 1]; } function fromLEUnsigned(bytes b) returns (int) { // append positive sign byte. This does not hurt even when sign bit is already positive return unpack(b ++ b"00"); } }
Loading...
3,514 / 5,000

Translation results

Translating...
Translations are gender-specific. Learn more
Some sentences may contain gender-specific alternatives. Click a sentence to see alternatives. Learn more
Translation error
Send feedback

Document translation

Detect language
English
Translate from
Detect language
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu
Translate to
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu

Drag and drop

Choose a file
Supported file types: .docx, .pdf, .pptx, .xlsx. Learn more
Drop file here
Send feedback

Website translation

Detect language
English
Translate from
Detect language
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu
Translate to
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu
Translating
Send feedback

Image translation

Detect language
English
Translate from
Detect language
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu
Translate to
All languages
Abkhaz
Acehnese
Acholi
Afar
Afrikaans
Albanian
Alur
Amharic
Arabic
Armenian
Assamese
Avar
Awadhi
Aymara
Azerbaijani
Balinese
Baluchi
Bambara
Baoulé
Bashkir
Basque
Batak Karo
Batak Simalungun
Batak Toba
Belarusian
Bemba
Bengali
Betawi
Bhojpuri
Bikol
Bosnian
Breton
Bulgarian
Buryat
Cantonese
Catalan
Cebuano
Chamorro
Chechen
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Chuukese
Chuvash
Corsican
Crimean Tatar (Cyrillic)
Crimean Tatar (Latin)
Croatian
Czech
Danish
Dari
Dhivehi
Dinka
Dogri
Dombe
Dutch
Dyula
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Fijian
Filipino
Finnish
Fon
French
French (Canada)
Frisian
Friulian
Fulani
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hakha Chin
Hausa
Hawaiian
Hebrew
Hiligaynon
Hindi
Hmong
Hungarian
Hunsrik
Iban
Icelandic
Igbo
Ilocano
Indonesian
Inuktut (Latin)
Inuktut (Syllabics)
Irish
Italian
Jamaican Patois
Japanese
Javanese
Jingpo
Kalaallisut
Kannada
Kanuri
Kapampangan
Kazakh
Khasi
Khmer
Kiga
Kikongo
Kinyarwanda
Kituba
Kokborok
Komi
Konkani
Korean
Krio
Kurdish (Kurmanji)
Kurdish (Sorani)
Kyrgyz
Lao
Latgalian
Latin
Latvian
Ligurian
Limburgish
Lingala
Lithuanian
Lombard
Luganda
Luo
Luxembourgish
Macedonian
Madurese
Maithili
Makassar
Malagasy
Malay
Malay (Jawi)
Malayalam
Maltese
Mam
Manx
Maori
Marathi
Marshallese
Marwadi
Mauritian Creole
Meadow Mari
Meiteilon (Manipuri)
Minang
Mizo
Mongolian
Myanmar (Burmese)
Nahuatl (Eastern Huasteca)
Ndau
Ndebele (South)
Nepalbhasa (Newari)
Nepali
NKo
Norwegian
Nuer
Occitan
Odia (Oriya)
Oromo
Ossetian
Pangasinan
Papiamento
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi (Gurmukhi)
Punjabi (Shahmukhi)
Quechua
Qʼeqchiʼ
Romani
Romanian
Rundi
Russian
Sami (North)
Samoan
Sango
Sanskrit
Santali (Latin)
Santali (Ol Chiki)
Scots Gaelic
Sepedi
Serbian
Sesotho
Seychellois Creole
Shan
Shona
Sicilian
Silesian
Sindhi
Sinhala
Slovak
Slovenian
Somali
Spanish
Sundanese
Susu
Swahili
Swati
Swedish
Tahitian
Tajik
Tamazight
Tamazight (Tifinagh)
Tamil
Tatar
Telugu
Tetum
Thai
Tibetan
Tigrinya
Tiv
Tok Pisin
Tongan
Tshiluba
Tsonga
Tswana
Tulu
Tumbuka
Turkish
Turkmen
Tuvan
Twi
Udmurt
Ukrainian
Urdu
Uyghur
Uzbek
Venda
Venetian
Vietnamese
Waray
Welsh
Wolof
Xhosa
Yakut
Yiddish
Yoruba
Yucatec Maya
Zapotec
Zulu

Drag and drop

Choose a file
Supported file types: .jpg, .jpeg, .png, .webp. Learn more
Drop file here
Send feedback
5,000 character limit. Use the arrows to translate more.

Saved

History

Google apps
Main menu