{"action":"created","issue":{"url":"https://api.github.com/repos/OptiKey/OptiKey/issues/148","labels_url":"https://api.github.com/repos/OptiKey/OptiKey/issues/148/labels{/name}","comments_url":"https://api.github.com/repos/OptiKey/OptiKey/issues/148/comments","events_url":"https://api.github.com/repos/OptiKey/OptiKey/issues/148/events","html_url":"https://github.com/OptiKey/OptiKey/issues/148","id":112205176,"number":148,"title":"Localisation: General","user":{"login":"JuliusSweetland","id":4722561,"avatar_url":"https://avatars.githubusercontent.com/u/4722561?v=3","gravatar_id":"","url":"https://api.github.com/users/JuliusSweetland","html_url":"https://github.com/JuliusSweetland","followers_url":"https://api.github.com/users/JuliusSweetland/followers","following_url":"https://api.github.com/users/JuliusSweetland/following{/other_user}","gists_url":"https://api.github.com/users/JuliusSweetland/gists{/gist_id}","starred_url":"https://api.github.com/users/JuliusSweetland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JuliusSweetland/subscriptions","organizations_url":"https://api.github.com/users/JuliusSweetland/orgs","repos_url":"https://api.github.com/users/JuliusSweetland/repos","events_url":"https://api.github.com/users/JuliusSweetland/events{/privacy}","received_events_url":"https://api.github.com/users/JuliusSweetland/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/OptiKey/OptiKey/labels/status:help%20wanted","name":"status:help wanted","color":"159818"},{"url":"https://api.github.com/repos/OptiKey/OptiKey/labels/status:in%20progress","name":"status:in progress","color":"5319e7"},{"url":"https://api.github.com/repos/OptiKey/OptiKey/labels/type:improvement","name":"type:improvement","color":"c7def8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":59,"created_at":"2015-10-19T18:32:42Z","updated_at":"2016-01-24T15:06:43Z","closed_at":null,"body":"This is a thread for the **general** discussion of localising OptiKey, e.g. the discussion of how the process works, which languages should be done now/next and branches should be created, etc. It is not the place to discuss specific languages - we can create new issues for those - just ask here.\r\n\r\nHere are the requirements for each language:\r\n\r\n**1.Translation of the UI strings** (the strings used on keys in the user interface, e.g. \"MENU\" and \"SPEAK\") need to be translated on the Transifex site: https://www.transifex.com/optikey/ - you need to register (for free) on that site and then request to join as a translator for each language that you want to help with. I need to approve your applications and then you're good to go. Please don't request English as a new language on Transifex - it's not necessary.\r\n\r\n**2.We need information about what the keyboard looks like.** A list of special characters that are required to type general words (not every single character that might be needed as we have limited space on the main ALPHA keyboard and these characters are probably already on the DIACRITICS keyboard. Screenshots of keyboard layouts like these are also very helpful: http://kbd-intl.narod.ru/english/layouts\r\n\r\n**3.A word list** - this is the dictionary that OptiKey uses for auto-complete and multi-key selection. It should meet the following critieria:\r\n\r\ni)It should be roughly 75,000 words long (it can be a bit less or more, but there is a performance overhead for huge dictionaries so there is no point choosing one that is 1 million words long).\r\nii)No entries of 1 character as the user can type these from the keyboard and they will be ignored.\r\niii)All words should be lower case, unless the case has actual meaning, e.g. proper nouns like names, abbreviations like \"ATM\", or some other meaningful use of capital letters. OptiKey will case words automatically otherwise.\r\niv)There is no need to manually inspect the whole word list, but sanity check it for mistakes, swear words and colloquialisms that wouldn't be used by the average person. It also doesn't need to contain obscure words. Generally speaking it should cover a normal vocabulary for an adult speaker.\r\nv)The dictionary files have to be encoded in unicode (UTF-8). If you encode them in ASCII some characters (e.g. ü) will instead be displayed as the 'replacement character' (�). To do this just copy/paste the whole word list into Notepad and save the file with the Encoding set to \"UTF-8\" like this;\r\n![image](https://cloud.githubusercontent.com/assets/4722561/10235169/06dfce82-6892-11e5-9703-fdbf1b8549db.png)\r\n\r\n**4.Anything else?** Some languages have other considerations that we need to think about. Is it written right to left? Does it use characters from a non-latin alphabet? etc..."},"comment":{"url":"https://api.github.com/repos/OptiKey/OptiKey/issues/comments/174307190","html_url":"https://github.com/OptiKey/OptiKey/issues/148#issuecomment-174307190","issue_url":"https://api.github.com/repos/OptiKey/OptiKey/issues/148","id":174307190,"user":{"login":"JuliusSweetland","id":4722561,"avatar_url":"https://avatars.githubusercontent.com/u/4722561?v=3","gravatar_id":"","url":"https://api.github.com/users/JuliusSweetland","html_url":"https://github.com/JuliusSweetland","followers_url":"https://api.github.com/users/JuliusSweetland/followers","following_url":"https://api.github.com/users/JuliusSweetland/following{/other_user}","gists_url":"https://api.github.com/users/JuliusSweetland/gists{/gist_id}","starred_url":"https://api.github.com/users/JuliusSweetland/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JuliusSweetland/subscriptions","organizations_url":"https://api.github.com/users/JuliusSweetland/orgs","repos_url":"https://api.github.com/users/JuliusSweetland/repos","events_url":"https://api.github.com/users/JuliusSweetland/events{/privacy}","received_events_url":"https://api.github.com/users/JuliusSweetland/received_events","type":"User","site_admin":false},"created_at":"2016-01-24T15:06:43Z","updated_at":"2016-01-24T15:06:43Z","body":"Great, thanks Stephan.\n\nOn Sun, 24 Jan 2016, 14:04 Stephan Meyer <notifications@github.com> wrote:\n\n> I'll do that tomorrow\n>\n> > On Jan 24, 2016, at 8:50 AM, Julius <notifications@github.com> wrote:\n> >\n> > Hi everyone - you may have noticed (or received a notification) that a\n> set of new English strings have been uploaded and need translating. Most\n> languages have dropped from 100% complete to 74% complete. The new strings\n> are for a big new feature which allows users to specify the dwell selection\n> completion time (how long you must look at a key before it selects when\n> using the dwell/fixation trigger) on individual keys. I had to duplicate a\n> lot of existing strings and remove the newline, so most of these new\n> strings are going to need exactly the same translation as before, just\n> without the translation being split over 2 or 3 lines. There are also a few\n> new strings which refer to keyboards, e.g. \"NUMERIC & SYMBOL 1\", \"NUMERIC &\n> SYMBOL 2\", etc, plus a couple of new strings to describe the new settings.\n> >\n> > The new feature will be included with the next release (2.2.3), which\n> will be released as soon as the French, German and Russian translations are\n> back to 100%.\n> >\n> > Thank you for your help.\n> > Julius\n> >\n> > —\n> > Reply to this email directly or view it on GitHub.\n> >\n>\n> —\n> Reply to this email directly or view it on GitHub\n> <https://github.com/OptiKey/OptiKey/issues/148#issuecomment-174300301>.\n>\n"}}