{"id":13618015,"url":"https://github.com/txty-io/texterify","last_synced_at":"2026-04-04T13:38:50.718Z","repository":{"id":38426464,"uuid":"142470203","full_name":"txty-io/texterify","owner":"txty-io","description":"The translation and localization management system.","archived":false,"fork":false,"pushed_at":"2026-02-12T00:00:41.000Z","size":7585,"stargazers_count":199,"open_issues_count":57,"forks_count":18,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-12T10:16:01.113Z","etag":null,"topics":["api","cloud","docker","i18n","internationalization","localization","localization-management","localization-tool","on-premise","rails","translate","translation","translation-management","typescript"],"latest_commit_sha":null,"homepage":"https://texterify.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/txty-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["texterify"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2018-07-26T17:02:45.000Z","updated_at":"2026-02-12T00:00:45.000Z","dependencies_parsed_at":"2024-01-16T11:40:31.971Z","dependency_job_id":"9a47bd2a-b447-486b-93ba-5586193cdcbe","html_url":"https://github.com/txty-io/texterify","commit_stats":null,"previous_names":["texterify/texterify"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/txty-io/texterify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txty-io%2Ftexterify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txty-io%2Ftexterify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txty-io%2Ftexterify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txty-io%2Ftexterify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/txty-io","download_url":"https://codeload.github.com/txty-io/texterify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txty-io%2Ftexterify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","cloud","docker","i18n","internationalization","localization","localization-management","localization-tool","on-premise","rails","translate","translation","translation-management","typescript"],"created_at":"2024-08-01T20:01:52.701Z","updated_at":"2026-04-04T13:38:50.677Z","avatar_url":"https://github.com/txty-io.png","language":"TypeScript","funding_links":["https://github.com/sponsors/texterify"],"categories":["TypeScript"],"sub_categories":[],"readme":" \u003cp align=\"center\"\u003e\n  \u003ca href=\"https://texterify.com/?utm_source=github\u0026utm_medium=logo\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://raw.github.com/texterify/texterify/master/app/assets/images/logo_white_background_rounded.png?sanitize=true\" alt=\"Texterify logo\" height=\"160\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n[![website](https://img.shields.io/badge/website-texterify.com-blue.svg)](https://texterify.com)\n[![open issues](https://img.shields.io/github/issues-raw/texterify/texterify.svg)](https://github.com/texterify/texterify/issues)\n[![stars](https://img.shields.io/github/stars/texterify/texterify)](https://github.com/texterify/texterify)\n[![docker pulls](https://img.shields.io/docker/pulls/chrztoph/texterify)](https://hub.docker.com/r/chrztoph/texterify)\n\n[Texterify](https://texterify.com) is a localization management platform which aims to make software localization as easy as possible. A very clean, fast and user friendly interface makes it super easy to use while providing full flexibility and powerful tools to perfectly integrate it into your workflow.\n\n- Beautiful light and dark mode for every situation\n- Built-in WYSIWYG HTML editor for easy rich content editing\n- Language inheritance and post processing\n- Flexible ways to export your translations\n- Translation and activity history\n- Collaboration features for teams\n- Over the air translations for fast app translation updates\n- A big selection of integrations\n- Cloud and on-premise options\n\nFor future features see our [public roadmap](https://github.com/texterify/texterify/projects/1).\n\nFind out more at [texterify.com](https://texterify.com) or [sign up](https://app.texterify.com/signup) here.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.github.com/texterify/texterify/screenshots/example_1.png\" width=\"290\"\u003e\n  \u003cimg src=\"https://raw.github.com/texterify/texterify/screenshots/example_2.png\" width=\"290\"\u003e\n  \u003cimg src=\"https://raw.github.com/texterify/texterify/screenshots/example_3.png\" width=\"290\"\u003e\n\u003c/p\u003e\n\n\u003ch2\u003eTable of contents\u003c/h2\u003e\n\n- [Getting started](#getting-started)\n- [Tools \u0026 Integrations](#tools-and-integrations)\n- [Contributing](#contributing)\n- [Troubleshooting](#troubleshooting)\n- [Security](#security)\n- [Changelog](#changelog)\n- [Support](#support)\n- [License](#license)\n\n\u003ch2 id=\"getting-started\"\u003e🚀 Getting started\u003c/h2\u003e\n\n\u003ch3\u003eInstallation\u003c/h3\u003e\n\nIf you want to try out Texterify you can sign up at [texterify.com](https://texterify.com) and use the cloud version of Texterify without having to setup anything yourself.\n\nIf you want to set it up yourself the easiest way to get the software up and running is by using the official [Docker image](https://hub.docker.com/r/chrztoph/texterify). We provide a `docker-compose` configuration for starting Texterify locally or on your server within seconds.\n\nYou only need to have `docker` and `docker-compose` installed.\n\nThe process of starting the application is the following:\n\n```sh\n# Clone the docker-compose configuration.\ngit clone https://github.com/texterify/texterify-docker-compose-setup.git\ncd texterify-docker-compose-setup\n\n# Generate a secret key for the app.\n# Make sure to keep this private.\necho SECRET_KEY_BASE=`openssl rand -hex 64` \u003e secrets.env\n\n# Start the service.\ndocker volume create --name=texterify-database\ndocker volume create --name=texterify-assets\ndocker-compose up\n\n# After everything has started create the database in another terminal.\n# Make sure you are still in the `texterify-docker-compose-setup` directory.\ndocker-compose exec app bin/rails db:create db:migrate db:seed\n\n# Service is now available at http://localhost. 🎉\n```\n\nThis will install the latest version of the service available at the time of setting up.\n\n\n\u003ch3\u003eUpdate\u003c/h3\u003e\n\nYou can update to a newer version by following our upgrade guide [here](https://docs.texterify.com/installation/updating-the-service).\n\n\u003ch2 id=\"tools-and-integrations\"\u003e🛠️ Tools \u0026 Integrations\u003c/h2\u003e\n\nWe provide several different tools and integrations to make localization as easy as possible. If you are missing anything you would love to have create a ticket [here](https://github.com/texterify/texterify/issues) and let us know or tell us what you created and we will include it here.\n\n- Texterify VSC Extension (https://github.com/texterify/texterify-vsc)\n- Texterify CLI (https://github.com/texterify/texterify-cli)\n- Texterify Android SDK (https://github.com/texterify/texterify-android)\n- Texterify iOS SDK (https://github.com/texterify/texterify-ios)\n- Texterify API Node (https://github.com/texterify/texterify-api-node)\n\n\u003ch2 id=\"contributing\"\u003e🤝 Contributing\u003c/h2\u003e\n\nWant to help build Texterify?\n\nWe are happy about every help. For major changes, please [open an issue](https://github.com/texterify/texterify/issues/new) first to discuss what you would like to change.\n\nThe easiest way to get started working on Texterify is by using [Visual Studio Code Remote Containers](https://code.visualstudio.com/docs/remote/containers). Follow the guide and open the dev container. After the container has started open a terminal inside of VSC and run the following commands:\n\n```sh\nyarn\nbundle install\nbundle exec rails db:create db:migrate db:seed\n```\n\nThis will install dependencies, create the database and add some [test data](db/seeds/development.rb) like users for you. After that execute the following commands in two different terminals:\n\n```sh\n# terminal 1\nyarn start\n\n# terminal 2\nyarn start:watcher\n```\n\nHaving done that you can open [http://localhost:3000](http://localhost:3000) and see your local development instance of Texterify.\n\nMake sure to also check out our development docs page at [https://docs.texterify.com/development](https://docs.texterify.com/development).\n\n\u003ch2 id=\"troubleshooting\"\u003e👀 Troubleshooting\u003c/h2\u003e\n\n### Why is the watcher command failing randomly with exit code 137?\n\nIf you receive the error below try to increase the memory (e.g. `8 GB`) that docker can use. Webpacker unfortunately requires a lot of memory to compile all the assets.\n\n```sh\n\u003e yarn start:watcher\n...\nKilled\nerror Command failed with exit code 137.\n```\n\n### After starting the server I get Webpacker::Manifest::MissingEntryError?\n\nThis usually happens when you start the development server for the first time and webpack has not yet compiled the required frontend assets and therefore some files can not be found. Run `yarn start` in a terminal and `yarn start:watcher` in another one and wait for the `yarn start:watcher` command to finish initial compilation (the terminal outputs `Compiled successfully`). Then reload the site. This can take some minutes initially.\n\n### I get the error \"common.rb:156:in `parse': 783: unexpected token at '' (JSON::ParserError)\" when starting the server during development?\n\nTry to run the following command:\n\n```sh\nrails webpacker:compile\n```\n\n\u003ch2 id=\"security\"\u003e🔒 Security\u003c/h2\u003e\n\nFound a security issue? Please **don't** create an issue on GitHub. Instead send an email with your findings to [security@texterify.com](mailto:security@texterify.com) so a bugfix can be developed before the security flaw is publicly disclosed. We take security very seriously.\n\nSee [SECURITY](SECURITY.md) for details.\n\n\u003ch2 id=\"changelog\"\u003e📋 Changelog\u003c/h2\u003e\n\nSee [CHANGELOG](CHANGELOG.md) for changelog.\n\n\u003ch2 id=\"support\"\u003e❤️ Support\u003c/h2\u003e\n\nOur goal is to make software accessible to as many people as possible by making it super easy for teams to localize their software. Language should never be a barrier. This is the reason why we are offering a free plan and on-premise hosting so everybody can easily translate their software into multiple languages. If you want to help you can do the following:\n\n- Leave a 🌟 and recommend Texterify to your colleagues\n- [Create a pull request](https://github.com/texterify/texterify/pulls) and fix bugs or add new features\n- Propose new features [here](https://github.com/texterify/texterify/issues/new)\n- [Sponsor](https://github.com/sponsors/texterify) the project\n- Get a license or select a premium plan and get access to [advanced features](https://texterify.com/pricing)\n- Send us some kind words where and how you are using Texterify\n\nIf you have any questions or just want to say hello you can always reach us at support@texterify.com.\n\n\u003ch2 id=\"license\"\u003e📝 License\u003c/h2\u003e\n\nSee the [LICENSE](LICENSE) file for details.\n\nYou can find more information at [texterify.com/pricing](https://texterify.com/pricing).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxty-io%2Ftexterify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftxty-io%2Ftexterify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxty-io%2Ftexterify/lists"}