{"action":"created","issue":{"url":"https://api.github.com/repos/TryGhost/Ghost/issues/3801","labels_url":"https://api.github.com/repos/TryGhost/Ghost/issues/3801/labels{/name}","comments_url":"https://api.github.com/repos/TryGhost/Ghost/issues/3801/comments","events_url":"https://api.github.com/repos/TryGhost/Ghost/issues/3801/events","html_url":"https://github.com/TryGhost/Ghost/issues/3801","id":40412796,"number":3801,"title":"[Epic] Ghost and i18n","user":{"login":"ErisDS","id":101513,"avatar_url":"https://avatars.githubusercontent.com/u/101513?v=3","gravatar_id":"","url":"https://api.github.com/users/ErisDS","html_url":"https://github.com/ErisDS","followers_url":"https://api.github.com/users/ErisDS/followers","following_url":"https://api.github.com/users/ErisDS/following{/other_user}","gists_url":"https://api.github.com/users/ErisDS/gists{/gist_id}","starred_url":"https://api.github.com/users/ErisDS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ErisDS/subscriptions","organizations_url":"https://api.github.com/users/ErisDS/orgs","repos_url":"https://api.github.com/users/ErisDS/repos","events_url":"https://api.github.com/users/ErisDS/events{/privacy}","received_events_url":"https://api.github.com/users/ErisDS/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/TryGhost/Ghost/labels/epic","name":"epic","color":"ED893A"},{"url":"https://api.github.com/repos/TryGhost/Ghost/labels/feature","name":"feature","color":"9FBB58"},{"url":"https://api.github.com/repos/TryGhost/Ghost/labels/i18n","name":"i18n","color":"94D3DE"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2014-08-16T15:16:00Z","updated_at":"2015-12-13T21:57:42Z","closed_at":null,"body":"[Project description](https://github.com/TryGhost/Ghost/wiki/Planned-Features): Ghost is currently pretty much UK-based English-language only, and has barely any features to account for timezones, locales, languages, alphabets, keyboard layouts or anything else that isn't UTC/English in either the admin or in themes. Even the USA folks luck out, sorry! All this is set to change with full support for multiple locales and languages across the admin and your blog posts. Throughout the Ghost GitHub, support for all of these sorts of features is referred to as i18n (internationalisation).\r\n\r\n----\r\n\r\nCurrently, Ghost effectively doesn't work properly unless you're writing in English or something very similar. Throughout the application, from the ember admin, to the API and even down to themes there are things missing which make it hard to use Ghost if you aren't English speaking.\r\n\r\nThis issue is intended as a placeholder to keep track of all the different places where we know we need to add i18n support so that it becomes possible for anyone to publish content comfortably in their own language and locale.\r\n\r\ni18n for Ghost falls into 2 broad categories\r\n\r\n#### 1. Publish content in your language/locale\r\nWe need to make it possible for anyone to create a blog and publish content which is 100% in their language. This includes extending theme helpers, adding support for non latin-standard chars in URLs and other files, and many other things.\r\n\r\n#### 2. Use Ghost in your language/locale\r\nMuch less important, it would be great for our users if they could have the admin UI appear in their language, with a tailored layout and specific fonts.\r\n\r\n## Features and Support\r\n\r\nThe following is a list of things we know we need to do / make possible / add support for:\r\n\r\n##### Publishing\r\n* Set user and post language, default to the blog language, and allow override\r\n* customisable permalinks where english words are used\r\n* non-latin chars in slugs\r\n* non-latin chars in urls\r\n* non-latin chars when uploading files\r\n* non-latin chars handled by `words` and `characters` features of excerpt/content helpers\r\n* non-latin chars in generated heading `id` attributes\r\n* non-latin chars supported fully in editor\r\n* customisable permalinks for `/tag/`, `/author/`, and `/page/` urls\r\n* locale dates in themes (moment.js language support) \r\n* different plural structures in the `{{plurals}}` helper\r\n* extensible rules for what constitutes paragraphs and words in the excerpt and content helpers\r\n* extensible rules for what constitutes paragraphs and words in the editor\r\n\r\n##### Admin UI\r\n* translate the Admin UI\r\n* locale dates when entering published at date\r\n* register different fonts for use in the admin interface and specifically the editor\r\n* extend the admin interface with layout tweaks for different languages\r\n* install language packs which provide the translations and layout tweaks\r\n* non-latin chars handled by word count and counters on bio/description fields\r\n* ability to include extra character sets in admin via language packs\r\n\r\n\r\n## i18n and Apps\r\n\r\nNot all features and support for other languages will exist in core. Different writing systems require very different layouts and as such it should be expected that if your language is significantly different to English, that an App may be required to make Ghost work for you.\r\n\r\nThe advantage of splitting functionality this way is that we don't have to design one UI that works for all languages and writing systems. Furthermore we don't have to bloat the core of Ghost with features that will only ever be used by one specific group. Language packs which add translations for the Ghost admin UI could also add layout tweaks, better fonts, and other modifications to make Ghost work just as well for other languages as it does for English."},"comment":{"url":"https://api.github.com/repos/TryGhost/Ghost/issues/comments/164301763","html_url":"https://github.com/TryGhost/Ghost/issues/3801#issuecomment-164301763","issue_url":"https://api.github.com/repos/TryGhost/Ghost/issues/3801","id":164301763,"user":{"login":"yusf","id":346211,"avatar_url":"https://avatars.githubusercontent.com/u/346211?v=3","gravatar_id":"","url":"https://api.github.com/users/yusf","html_url":"https://github.com/yusf","followers_url":"https://api.github.com/users/yusf/followers","following_url":"https://api.github.com/users/yusf/following{/other_user}","gists_url":"https://api.github.com/users/yusf/gists{/gist_id}","starred_url":"https://api.github.com/users/yusf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yusf/subscriptions","organizations_url":"https://api.github.com/users/yusf/orgs","repos_url":"https://api.github.com/users/yusf/repos","events_url":"https://api.github.com/users/yusf/events{/privacy}","received_events_url":"https://api.github.com/users/yusf/received_events","type":"User","site_admin":false},"created_at":"2015-12-13T21:57:42Z","updated_at":"2015-12-13T21:57:42Z","body":"@aludvigsen The task is marked as stalled in the Trello roadmap."}}