Skip to content

leroyanders/google-translate-unlimited

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

This python script translates text using an open-source GPT model with a custom prompt.

  • No limits.
  • Fully free.
  • Supports all 7,151 languages.

Install dependencies

pip3 install -r requirements.txt

The model requires the PyTorch backend. If it is not present in your environment, install it following the instructions on https://pytorch.org/.

On Apple Silicon machines (e.g., M1/M2 Macs), install the PyTorch build with MPS support to offload computation to the GPU. The translators in this project automatically use MPS when it is available, reducing CPU usage.

Python 3.14 note (sentencepiece)

On Python 3.14, sentencepiece does not ship prebuilt wheels, so pip tries to build it from source and can fail unless your system has build tools installed. This project uses the fast tokenizer path by default, so sentencepiece is optional on 3.14. If you want it anyway, install the build tools and then install sentencepiece from source:

brew install cmake pkg-config sentencepiece coreutils
export PKG_CONFIG_PATH="$(brew --prefix sentencepiece)/lib/pkgconfig:$PKG_CONFIG_PATH"
python3 -m pip install sentencepiece --no-binary=:all:

Languages list

Full NameLanguage Code
Afaraa
Abkhazianab
Avestanae
Afrikaansaf
Akanak
Amharicam
Aragonesean
Arabicar
Assameseas
Avaricav
Aymaraay
Azerbaijaniaz
Bashkirba
Belarusianbe
Bulgarianbg
Bihari languagesbh
Bislamabi
Bambarabm
Bengalibn
Tibetanbo
Bretonbr
Bosnianbs
Catalan; Valencianca
Chechence
Chamorroch
Corsicanco
Creecr
Czechcs
Church Slavic; Slavonic;
Old Bulgarian
cu
Chuvashcv
Welshcy
Danishda
Germande
Divehi; Dhivehi; Maldiviandv
Dzongkhadz
Eweee
Greek, Modern (1453-)el
Englishen
Esperantoeo
Spanish; Castilianes
Estonianet
Basqueeu
Persianfa
Fulahff
Finnishfi
Fijianfj
Faroesefo
Frenchfr
Western Frisianfy
Irishga
Gaelic; Scottish Gaelicgd
Galiciangl
Guaranign
Gujaratigu
Manxgv
Hausaha
Hebrewhe
Hindihi
Hiri Motuho
Croatianhr
Haitian; Haitian Creoleht
Hungarianhu
Armenianhy
Hererohz
Interlinguaia
Indonesianid
Interlingue; Occidentalie
Igboig
Sichuan Yi; Nuosuii
Inupiaqik
Idoio
Icelandicis
Italianit
Inuktitutiu
Japaneseja
Javanesejv
Georgianka
Kongokg
Kikuyu; Gikuyuki
Kuanyama; Kwanyamakj
Kazakhkk
Kalaallisut; Greenlandickl
Central Khmerkm
Kannadakn
Koreanko
Kanurikr
Kashmiriks
Kurdishku
Komikv
Cornishkw
Kirghiz; Kyrgyzky
Latinla
Luxembourgish; Letzeburgeschlb
Gandalg
Limburgan; Limburger; Limburgishli
Lingalaln
Laolo
Lithuanianlt
Luba-Katangalu
Latvianlv
Malagasymg
Marshallesemh
Maorimi
Macedonianmk
Malayalamml
Mongolianmn
Marathimr
Malayms
Maltesemt
Burmesemy
Nauruna
Norwegian Bokmålnb
Ndebele, North; North Ndebelend
Nepaline
Ndongang
Dutch; Flemishnl
Norwegian Nynorsknn
Norwegianno
Ndebele, South; South Ndebelenr
Navajo; Navahonv
Chichewa; Chewa; Nyanjany
Occitan (post 1500)oc
Ojibwaoj
Oromoom
Oriyaor
Ossetian; Osseticos
Panjabi; Punjabipa
Palipi
Polishpl
Pushto; Pashtops
Portuguesept
Quechuaqu
Romanshrm
Rundirn
Romanian; Moldavian; Moldovanro
Russianru
Kinyarwandarw
Sanskritsa
Sardiniansc
Sindhisd
Northern Samise
Sangosg
Sinhala; Sinhalesesi
Slovaksk
Sloveniansl
Samoansm
Shonasn
Somaliso
Albaniansq
Serbiansr
Swatiss
Sotho, Southernst
Sundanesesu
Swedishsv
Swahilisw
Tamilta
Telugute
Tajiktg
Thaith
Tigrinyati
Turkmentk
Tagalogtl
Tswanatn
Tonga (Tonga Islands)to
Turkishtr
Tsongats
Tatartt
Twitw
Tahitianty
Uighur; Uyghurug
Ukrainianuk
Urduur
Uzbekuz
Vendave
Vietnamesevi
Volapükvo
Walloonwa
Wolofwo
Xhosaxh
Yiddishyi
Yorubayo
Zhuang; Chuangza
Chinesezh
Zuluzu

Install punkt

python <<< 'import nltk' && python <<< 'nltk.download("punkt")'

Using

import module

tr = module.PromptTranslator(text='Hello, World!', dest='fr')
translated_text = tr.translated_text

if __name__ == '__main__':
    print(f'Result: {translated_text}');

The result will be: Result: Bonjour le monde!

You can run the provided example.py script from the command line:

python example.py "Hello, world!" --dest fr

Prompt-based translator

You can also use an open chat model that accepts custom prompts:

from module import PromptTranslator

tr = PromptTranslator(text="Hello, World!", dest="fr")
print(tr.translated_text)

Loading the default chat model (openai-community/openai-gpt) is lightweight and can run on modest hardware. The model has a 512-token context window, so large prompts are automatically truncated.

About

Google Translate module no length limit. Support all 7,151 languages.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages