{"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233680261", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233680261, "node_id": "IC_kwDOBm6k_c5JiHeF", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-01T03:05:57Z", "updated_at": "2022-09-01T03:05:57Z", "author_association": "OWNER", "body": "OK, I'm convinced that it's time to start figuring this out.\r\n\r\nI've done a little bit of this with Django in the past, but Datasette isn't built on Django.\r\n\r\nIt looks to me like the key library for implementing this is Babel: https://babel.pocoo.org/en/latest/\r\n\r\nIt's been around since 2007 and is very widely used: https://github.com/python-babel/babel/network/dependents?package_id=UGFja2FnZS01MDM0NTU3NQ%3D%3D\r\n\r\nAlso found these hints on getting it to work with Jinja: https://stackoverflow.com/questions/12046998/babel-doesnt-recognize-jinja2-extraction-method-for-language-support", "reactions": "{\"total_count\": 1, \"+1\": 1, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233680769", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233680769, "node_id": "IC_kwDOBm6k_c5JiHmB", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-01T03:06:44Z", "updated_at": "2022-09-01T03:06:44Z", "author_association": "OWNER", "body": "My hope is that Datasette actually has a relatively small i18n footprint - there really aren't that many screens with strings that will need translating.\r\n\r\nTranslating the documentation would be a _much_ bigger task, but that's not a blocker on getting the interface itself internationalized.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233682708", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233682708, "node_id": "IC_kwDOBm6k_c5JiIEU", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-01T03:09:36Z", "updated_at": "2022-09-01T03:09:36Z", "author_association": "OWNER", "body": "Some tutorials that look useful:\r\n\r\n- https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xiii-i18n-and-l10n\r\n- https://phrase.com/blog/posts/i18n-advantages-babel-python/", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233684765", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233684765, "node_id": "IC_kwDOBm6k_c5JiIkd", "user": {"value": 428820, "label": "johnfelipe"}, "created_at": "2022-09-01T03:12:50Z", "updated_at": "2022-09-01T03:12:50Z", "author_association": "NONE", "body": "I want to begin translation to es and it documentation, if u like i would do PR asap.\nBut user interface, frontend and backend is a good feature be i18n support.\nWhen you have may be .pot file I can translate to, or Json file with all strings for internationalized", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233697166", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233697166, "node_id": "IC_kwDOBm6k_c5JiLmO", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-01T03:36:44Z", "updated_at": "2022-09-01T03:36:44Z", "author_association": "OWNER", "body": "I don't want to start any efforts around documentation translation until after the Datasette 1.0 release, because I'd like to be confident that we're not translating documentation that may have some big changes before Datasette is fully stable!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1775#issuecomment-1233702481", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1775", "id": 1233702481, "node_id": "IC_kwDOBm6k_c5JiM5R", "user": {"value": 428820, "label": "johnfelipe"}, "created_at": "2022-09-01T03:48:27Z", "updated_at": "2022-09-01T03:48:27Z", "author_association": "NONE", "body": "I want to do may be 3 or 4 PR for your evaluation, and when you allowed\nthen I want supporting that effort\n\nEl mi\u00e9, 31 de ago. de 2022, 10:36 p. m., Simon Willison <\n***@***.***> escribi\u00f3:\n\n> I don't want to start any efforts around documentation translation until\n> after the Datasette 1.0 release, because I'd like to be confident that\n> we're not translating documentation that may have some big changes before\n> Datasette is fully stable!\n>\n> \u2014\n> Reply to this email directly, view it on GitHub\n> ,\n> or unsubscribe\n> \n> .\n> You are receiving this because you authored the thread.Message ID:\n> ***@***.***>\n>\n", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1323346408, "label": "i18n support"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1798#issuecomment-1234925616", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1798", "id": 1234925616, "node_id": "IC_kwDOBm6k_c5Jm3gw", "user": {"value": 9599, "label": "simonw"}, "created_at": "2022-09-01T23:56:33Z", "updated_at": "2022-09-01T23:56:33Z", "author_association": "OWNER", "body": "Oh that's a classic YAML problem, I hadn't realized it would affect Datasette like this!\r\n\r\nYou should be able to fix it by quoting the `off` key like this:\r\n\r\n```yaml\r\ntitle: Some title\r\ndescription_html: |-\r\n

This is an experiment.

\r\ndatabases:\r\n \"off\":\r\n tables:\r\n products_from_owners:\r\n title: products_from_owners*\r\n description_html: |-\r\n

Description

\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1359557737, "label": "Parts of YAML file do not work when db name is \"off\""}, "performed_via_github_app": null}