Experimental Georgian Braille
This is my first try at incorporating Georgian Braille into LibLouis. Let me know what y'all think.
Please don't press any "Unresolve conversation" buttons, that's confusing for us.
Thanks for your changes!
The main thing left to do now is indeed to create the test data. What you need is basically just a list of verified example translations that cover the braille rules as good as possible. The idea is that if the behavior of the table changes, either due to a change in the Liblouis source code or a change in the table, the test suite will capture this and we will get notified. Ideally no change to the behavior is left unnoticed.
The second purpose of the test file is that it can be used as a way to document the braille code, by alternating comments and tests. This is extra useful in this case because no formal specification can be referenced. E.g. you can write in comments why certain decisions were made.
The format of the test files is explained here: http://liblouis.org/documentation/liblouis.html#Automated-Testing-of-Translation-Tables. Just ask if anything is unclear. There are a lot of examples in the tests/braille-specs directory. It's not a problem if the format is not 100% correct. We'll fix it if that's the case.
Hi everyone. Sorry for clicking 'unresolve'. I added a YAML file with three test sentences. There isn't really that much formatting or punctuation to test for georgian braille at all but i can add more tests. let me know what else i can do to get this done. thanks so much for your help
Thanks. Yes, some more tests would be nice :-). Three small phrases is really minimal, especially since there is no other documentation available for the braille code. Your test file will become the de facto specification of the braille code, so please make sure that you cover as much as possible (there seems to be quite a bit more punctuation than what you have tested?) and that there are comments that explain the mappings. Note that the test file should be readable by a human being, not only a computer. "Sentence 1", "Sentence 2", etc. is not useful.
I added some more test examples. What should the next steps be? Let me know if I should add anything! Thanks
I added the de-facto specs https://github.com/liblouis/braille-specs/pull/21
@letterly There are 5 test failures. Can you please check whether the tests have to be adapted, or whether the table does not behave as expected?
Input: 'მე მიყვარს პუნქტუაცია ,;:\\?'
Expected: '⠍⠑⠀⠍⠊⠮⠺⠁⠗⠎⠀⠏⠥⠝⠻⠞⠥⠁⠉⠊⠁⠀⠂⠆⠒⠢⠡' (length 27)
Received: '⠍⠑⠀⠍⠊⠮⠺⠁⠗⠎⠀⠏⠥⠝⠻⠞⠥⠁⠉⠊⠁⠀⠂⠆⠒⠡⠢' (length 27)
Input: '1990 წლის 28 ოქტომბერს, „მრგვალი მაგიდა - თავისუფალი საქართველო“ (სპიკერი - ზვიად გამსახურდია)'
Expected: '⠼⠁⠊⠊⠁⠀⠹⠇⠊⠎⠀⠼⠉⠓⠀⠕⠻⠞⠕⠍⠃⠑⠗⠎⠂⠀⠦⠍⠗⠛⠺⠁⠇⠊⠀⠍⠁⠛⠊⠙⠁⠀⠤⠀⠋⠁⠗⠊⠎⠥⠧⠁⠇⠊⠀⠎⠁⠻⠁⠗⠋⠺⠑⠇⠕⠴⠀⠶⠎⠏⠊⠅⠑⠗⠊⠀⠤⠀⠵⠺⠊⠁⠙⠀⠛⠁⠍⠎⠁⠓⠥⠗⠙⠊⠁⠶' (length 96)
Received: '⠁⠊⠊⠚⠀⠹⠇⠊⠎⠀⠃⠓⠀⠕⠻⠞⠕⠍⠃⠑⠗⠎⠂⠀⠦⠍⠗⠛⠺⠁⠇⠊⠀⠍⠁⠛⠊⠙⠁⠀⠤⠀⠋⠁⠺⠊⠎⠥⠧⠁⠇⠊⠀⠎⠁⠻⠁⠗⠋⠺⠑⠇⠕⠴⠀⠶⠎⠏⠊⠅⠑⠗⠊⠀⠤⠀⠵⠺⠊⠁⠙⠀⠛⠁⠍⠎⠁⠓⠥⠗⠙⠊⠁⠶' (length 94)
Input: '56 ₾ / ლიტრი'
Expected: '⠼⠑⠋⠀⠬⠀⠌⠀⠇⠊⠞⠗⠊' (length 13)
Received: '⠑⠋⠀⠬⠀⠌⠀⠇⠊⠞⠗⠊' (length 12)
Input: 'ქუთაისის გუბერნია თავდაპირველად იყოფოდა 5 მაზრად'
Expected: '⠻⠥⠋⠁⠊⠎⠊⠎⠀⠛⠥⠃⠑⠗⠝⠊⠁⠀⠋⠁⠺⠙⠁⠏⠊⠗⠺⠑⠇⠁⠙⠀⠊⠮⠕⠧⠕⠙⠁⠀⠼⠑⠀⠍⠁⠵⠗⠁⠙' (length 49)
Received: '⠻⠥⠋⠁⠊⠎⠊⠎⠀⠛⠥⠃⠑⠗⠝⠊⠁⠀⠋⠁⠺⠙⠁⠏⠊⠗⠺⠑⠇⠁⠙⠀⠊⠮⠕⠧⠕⠙⠁⠀⠑⠀⠍⠁⠵⠗⠁⠙' (length 48)
Input: 'ჭოპორტელმა ყარაჩოღელმა ვაჟიკამ ძუნწ და ცოფიან ათაბაგს ქაჯი შეხერეზადა წაჰგვარა'
Expected: '⠭⠕⠏⠕⠗⠞⠑⠇⠍⠁⠀⠮⠁⠗⠁⠟⠕⠫⠑⠇⠍⠁⠀⠺⠁⠚⠊⠅⠁⠍⠀⠽⠥⠝⠹⠀⠙⠁⠀⠉⠕⠧⠊⠁⠝⠀⠁⠋⠁⠃⠁⠛⠎⠀⠻⠁⠪⠊⠀⠱⠑⠓⠑⠗⠑⠵⠁⠙⠁⠀⠹⠁⠯⠛⠺⠁⠗⠁' (length 79)
Received: '⠭⠕⠏⠕⠗⠞⠑⠇⠍⠁⠀⠮⠁⠗⠁⠟⠕⠫⠑⠇⠍⠁⠀⠺⠁⠚⠊⠅⠁⠍⠀⠽⠥⠝⠹⠀⠙⠁⠀⠉⠕⠧⠊⠁⠝⠀⠁⠋⠁⠃⠁⠛⠎⠀⠻⠁⠪⠊⠀⠱⠑⠓⠑⠗⠑⠵⠁⠙⠁⠀⠹⠁⠯⠛⠺⠁⠗⠁' (length 78)
If I add the rule numsign 3456 to ka.utb, only two of these five tests fail. But if we do that it would mean the table isn't a computer braille table. A computer braille table only has mappings from single characters to single dot cells.
@letterly The backward translation tests are failing. And if I comment out the flags: {testmode: bothDirections}, there is still one forward test failing. With some reordering I was able to make most tests pass, but there are still a few issues.
Hello @bertfrees
I'm going to be super honest I have no idea how to run the tests. What test isn't working and how can I fix this? Thanks and sorry for my incompetence.
The tests are run automatically by Github on every push to the branch of the pull request. When some checks have failed you can see this all the way at the bottom of the PR, and by following the links you should be able to find the report of the test suite.
I don't have time right now to copy and paste the test report here, and I don't think I'll have time tomorrow either. I hope that you can figure it out, or that Christian can help you.
If there are certain tests that can not be made to work for back-translation you can run those tests only in forward direction.
„ and ? are both represented with ⠦ in Georgian Braille, do you think this makes both-directional translation impossible? Is there a way I can figure out which forward test is not running? I cannot seem to see it in the test report.
Thanks, Harris
„ and ? are both represented with ⠦ in Georgian Braille, do you think this makes both-directional translation impossible?
It is possible to infer which character was meant by looking the context. E.g. ? makes sense only at the end, while „ is usually one part of a pair of quotation marks. But there is probably not enough time to handle this properly, so it is fine to omit such cases from the back-translation tests.
Is there a way I can figure out which forward test is not running? I cannot seem to see it in the test report.
Oh, I'm sorry I forgot to say this: you need to follow the links to the "Summary" of the action (e.g. https://github.com/liblouis/liblouis/actions/runs/3602739092), and then download test-suite-ucs4.log (under "Artifacts").
I think I fixed everything let's see what the tests say though
@letterly The test still fails. But apparently Github stopped running our automatic checks, which of course makes it hard for you to do your work properly. I guess this is Murphy's law. Since you're probably in bed now, we'll figure out what to do with this. You can rest assured the PR will make it in today's release.
The tests pass for me locally