{"id":32280747,"url":"https://github.com/alettsy/mymemory_translate","last_synced_at":"2026-05-14T20:02:09.230Z","repository":{"id":226777957,"uuid":"769415512","full_name":"alettsy/mymemory_translate","owner":"alettsy","description":"A simple API to get and manage translations from MyMemory.","archived":false,"fork":false,"pushed_at":"2024-03-18T17:55:22.000Z","size":315,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-23T00:47:38.749Z","etag":null,"topics":["api","dart","dart-package","flutter","flutter-package","mymemory","mymemory-api","package"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alettsy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-09T02:37:27.000Z","updated_at":"2024-12-12T10:33:57.000Z","dependencies_parsed_at":"2024-03-18T19:00:12.103Z","dependency_job_id":"a79dea28-2806-42bf-9189-a06c9cb00d4e","html_url":"https://github.com/alettsy/mymemory_translate","commit_stats":null,"previous_names":["alettsy/mymemory_translate"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alettsy/mymemory_translate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alettsy%2Fmymemory_translate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alettsy%2Fmymemory_translate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alettsy%2Fmymemory_translate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alettsy%2Fmymemory_translate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alettsy","download_url":"https://codeload.github.com/alettsy/mymemory_translate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alettsy%2Fmymemory_translate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33041204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"online","status_checked_at":"2026-05-14T02:00:06.663Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","dart","dart-package","flutter","flutter-package","mymemory","mymemory-api","package"],"created_at":"2025-10-23T00:47:55.873Z","updated_at":"2026-05-14T20:02:09.221Z","avatar_url":"https://github.com/alettsy.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mymemory_translate\n\nA simple API to get and manage translations from the\n[MyMemory](https://mymemory.translated.net/) translation REST API.\n\nA full specification for the API can be found \n[here](https://mymemory.translated.net/doc/spec.php).\n\n## Getting started\n\nIn your Flutter project add the dependency:\n\n```yaml\ndependencies:\n    mymemory_translate: ^2.0.0\n```\n\nor run `flutter pub add mymemory_translate`.\n\n## Usage Examples\n\n### Translating\n\n```dart\nvoid main() async {\n  \n  // Create a new translator without a key or email\n  var translator = MyMemoryTranslator(http.Client);\n  \n  // Translate \"Hello\" from English to German\n  var result = await translator.translate('Hello', 'en-us', 'de');\n  \n  // Prints \"Hallo\"\n  print(result.responseData.translatedText);\n  \n  // You can set your email to get 50,000 characters per day\n  // instead of only 5,000.\n  translator.email = \"email@email.com\";\n}\n```\n\n### Generating an API Key\n\n```dart\nvoid main() async {\n\n  // Create a new translator without a key or email\n  var translator = MyMemoryTranslator(http.Client);\n  \n  // Generate the API key with my username and password\n  await translator.generateKey('myusername', 'mypassword');\n  print(translator.key);\n  \n  // Now you can access your private glossary\n  // For example, to get translations only from your private glossary\n  var result = await translator.translate('Hello', 'en-us', 'de', private: true);\n\n  // Or to set a translation in your private glossary\n  await translator.setTranslation('Hello', 'Hallo', 'en-us', 'de', private: true);\n}\n```\n\n### Setting Translations\n```dart\nvoid main() async {\n\n  // Create a new translator without a key or email\n  var translator = MyMemoryTranslator(http.Client);\n  \n  // Set \"Hello\" to \"Hallo\" from English to German\n  await translator.setTranslation('Hello', 'Hallo', 'en-us', 'de');\n}\n```\n\n## Languages\n\nCurrently accepted languages are as follows:\n```json\n{\n  \"Autodetect\": \"Autodetect\",\n  \"Afrikaans\": \"af-ZA\",\n  \"Albanian\": \"sq-AL\",\n  \"Amharic\": \"am-ET\",\n  \"Arabic\": \"ar-SA\",\n  \"Armenian\": \"hy-AM\",\n  \"Azerbaijani\": \"az-AZ\",\n  \"Bajan\": \"bjs-BB\",\n  \"Balkan Gipsy\": \"rm-RO\",\n  \"Basque\": \"eu-ES\",\n  \"Bemba\": \"bem-ZM\",\n  \"Bengali\": \"bn-IN\",\n  \"Bielarus\": \"be-BY\",\n  \"Bislama\": \"bi-VU\",\n  \"Bosnian\": \"bs-BA\",\n  \"Breton\": \"br-FR\",\n  \"Bulgarian\": \"bg-BG\",\n  \"Burmese\": \"my-MM\",\n  \"Catalan\": \"ca-ES\",\n  \"Cebuano\": \"ceb-PH\",\n  \"Chamorro\": \"ch-GU\",\n  \"Chinese (Simplified)\": \"zh-CN\",\n  \"Chinese Traditional\": \"zh-TW\",\n  \"Comorian (Ngazidja)\": \"zdj-KM\",\n  \"Coptic\": \"cop-EG\",\n  \"Creole English (Antigua and Barbuda)\": \"aig-AG\",\n  \"Creole English (Bahamas)\": \"bah-BS\",\n  \"Creole English (Grenadian)\": \"gcl-GD\",\n  \"Creole English (Guyanese)\": \"gyn-GY\",\n  \"Creole English (Jamaican)\": \"jam-JM\",\n  \"Creole English (Vincentian)\": \"svc-VC\",\n  \"Creole English (Virgin Islands)\": \"vic-US\",\n  \"Creole French (Haitian)\": \"ht-HT\",\n  \"Creole French (Saint Lucian)\": \"acf-LC\",\n  \"Creole French (Seselwa)\": \"crs-SC\",\n  \"Creole Portuguese (Upper Guinea)\": \"pov-GW\",\n  \"Croatian\": \"hr-HR\",\n  \"Czech\": \"cs-CZ\",\n  \"Danish\": \"da-DK\",\n  \"Dutch\": \"nl-NL\",\n  \"Dzongkha\": \"dz-BT\",\n  \"English (UK)\": \"en-GB\",\n  \"English (US)\": \"en-US\",\n  \"Esperanto\": \"eo-EU\",\n  \"Estonian\": \"et-EE\",\n  \"Fanagalo\": \"fn-FNG\",\n  \"Faroese\": \"fo-FO\",\n  \"Finnish\": \"fi-FI\",\n  \"French\": \"fr-FR\",\n  \"Galician\": \"gl-ES\",\n  \"Georgian\": \"ka-GE\",\n  \"German\": \"de-DE\",\n  \"Greek\": \"el-GR\",\n  \"Greek (Classical)\": \"grc-GR\",\n  \"Gujarati\": \"gu-IN\",\n  \"Hausa\": \"ha-NE\",\n  \"Hawaiian\": \"haw-US\",\n  \"Hebrew\": \"he-IL\",\n  \"Hindi\": \"hi-IN\",\n  \"Hungarian\": \"hu-HU\",\n  \"Icelandic\": \"is-IS\",\n  \"Indonesian\": \"id-ID\",\n  \"Inuktitut (Greenlandic)\": \"kl-GL\",\n  \"Irish Gaelic\": \"ga-IE\",\n  \"Italian\": \"it-IT\",\n  \"Japanese\": \"ja-JP\",\n  \"Javanese\": \"jv-ID\",\n  \"Kabuverdianu\": \"kea-CV\",\n  \"Kabylian\": \"kab-DZ\",\n  \"Kannada\": \"kn-IN\",\n  \"Kazakh\": \"kk-KZ\",\n  \"Khmer\": \"km-KM\",\n  \"Kinyarwanda\": \"rw-RW\",\n  \"Kirundi\": \"rn-BI\",\n  \"Korean\": \"ko-KR\",\n  \"Kurdish\": \"ku-TR\",\n  \"Kurdish Sorani\": \"ckb-IQ\",\n  \"Kyrgyz\": \"ky-KG\",\n  \"Lao\": \"lo-LA\",\n  \"Latin\": \"la-VA\",\n  \"Latvian\": \"lv-LV\",\n  \"Lithuanian\": \"lt-LT\",\n  \"Luxembourgish\": \"lb-LU\",\n  \"Macedonian\": \"mk-MK\",\n  \"Malagasy\": \"mg-MG\",\n  \"Malay\": \"ms-MY\",\n  \"Maldivian\": \"dv-MV\",\n  \"Maltese\": \"mt-MT\",\n  \"Manx Gaelic\": \"gv-IM\",\n  \"Maori\": \"mi-NZ\",\n  \"Marshallese\": \"mh-MH\",\n  \"Mende\": \"men-SL\",\n  \"Mongolian\": \"mn-MN\",\n  \"Morisyen\": \"mfe-MU\",\n  \"Nepali\": \"ne-NP\",\n  \"Niuean\": \"niu-NU\",\n  \"Norwegian\": \"no-NO\",\n  \"Nyanja\": \"ny-MW\",\n  \"Pakistani\": \"ur-PK\",\n  \"Palauan\": \"pau-PW\",\n  \"Panjabi\": \"pa-IN\",\n  \"Papiamentu\": \"pap-CW\",\n  \"Pashto\": \"ps-PK\",\n  \"Persian\": \"fa-IR\",\n  \"Pijin\": \"pis-SB\",\n  \"Polish\": \"pl-PL\",\n  \"Portuguese\": \"pt-PT\",\n  \"Potawatomi\": \"pot-US\",\n  \"Quechua\": \"qu-PE\",\n  \"Romanian\": \"ro-RO\",\n  \"Russian\": \"ru-RU\",\n  \"Samoan\": \"sm-WS\",\n  \"Sango\": \"sg-CF\",\n  \"Scots Gaelic\": \"gd-GB\",\n  \"Serbian\": \"sr-RS\",\n  \"Shona\": \"sn-ZW\",\n  \"Sinhala\": \"si-LK\",\n  \"Slovak\": \"sk-SK\",\n  \"Slovenian\": \"sl-SI\",\n  \"Somali\": \"so-SO\",\n  \"Sotho, Southern\": \"st-ST\",\n  \"Spanish\": \"es-ES\",\n  \"Sranan Tongo\": \"srn-SR\",\n  \"Swahili\": \"sw-SZ\",\n  \"Swedish\": \"sv-SE\",\n  \"Swiss German\": \"de-CH\",\n  \"Syriac (Aramaic)\": \"syc-TR\",\n  \"Tagalog\": \"tl-PH\",\n  \"Tajik\": \"tg-TJ\",\n  \"Tamashek (Tuareg)\": \"tmh-DZ\",\n  \"Tamil\": \"ta-LK\",\n  \"Telugu\": \"te-IN\",\n  \"Tetum\": \"tet-TL\",\n  \"Thai\": \"th-TH\",\n  \"Tibetan\": \"bo-CN\",\n  \"Tigrinya\": \"ti-TI\",\n  \"Tok Pisin\": \"tpi-PG\",\n  \"Tokelauan\": \"tkl-TK\",\n  \"Tongan\": \"to-TO\",\n  \"Tswana\": \"tn-BW\",\n  \"Turkish\": \"tr-TR\",\n  \"Turkmen\": \"tk-TM\",\n  \"Tuvaluan\": \"tvl-TV\",\n  \"Ukrainian\": \"uk-UA\",\n  \"Uma\": \"ppk-ID\",\n  \"Uzbek\": \"uz-UZ\",\n  \"Vietnamese\": \"vi-VN\",\n  \"Wallisian\": \"wls-WF\",\n  \"Welsh\": \"cy-GB\",\n  \"Wolof\": \"wo-SN\",\n  \"Xhosa\": \"xh-ZA\",\n  \"Yiddish\": \"yi-YD\",\n  \"Zulu\": \"zu-ZA\"\n}\n```\n\n## Current Issues\n\n- The `subjects` endpoint seems to be missing from the API so there is\n  no way to get the list of allowed subjects at the moment.\n- The `v2/tmx/import` endpoint doesn't appear to work. I have tested it with\n  a HTML/JavaScript application and the result is always that the TMX file\n  is missing. I have left the code in in-case anyone notices a mistake I\n  I have made.\n\n## Disclaimer\n\nI am not affiliated with MyMemory or Translated; I just made this as I saw there was no API to interact with these services in Flutter/Dart.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falettsy%2Fmymemory_translate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falettsy%2Fmymemory_translate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falettsy%2Fmymemory_translate/lists"}