| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
The Setup.hs script now queries darcs to create more detailed version info
to include in the startup message.
Note thought that with distributed version control systems like darcs,
the only way to uniquely identify a version is by the set of patches included.
Since the patches are not totally ordered, just looking at the last patch is
not enough.
For official releases, we tag the current set of patches so we can refer to
it by name (e.g. RELEASE-3.3.3).
|
|
|
|
The translator picks "the first" translation by default, but the user can
choose among the generated translations from a popup menu.
|
|
This fixes a bug introduced on May 16.
|
|
This is in addition to the existing "Segment by Segment" view.
Also some minor documentation updates.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
warning if it is missing
|
|
|
|
|
|
|
|
Note though that the unlexer does the wrong thing with initial words that are
supposed to be capitalized, e.g. "I am ready.", "Spanish wine is good.", so
these sentenses are not translated at the moment.
|
|
|
|
|
|
|
|
My menu hiding hack didn't work in Gecko browsers because of a difference in
the behaviour of the JavaScript setTimeout function.
|
|
It is part of the cloud services available with gf -server.
|
|
* Update Setup.hs to build Japanese by default.
* News item about Japanese on the home page.
* Add Japanese to the supported RGL imports in the grammar editor (gfse).
|
|
|
|
your own risk.
|
|
|
|
|
|
As a temporary workaround, alex is no longer invoked automatically when
building with cabal. Developers who want to modify the lexer need to run
alex on Lexer.x manually and record the modified Lexer.hs.
src/compiler/GF/Grammar/lexer/Lexer.x -- hidden from cabal
src/compiler/GF/Grammar/Lexer.hs -- update it manually
|
|
|
|
with pgf_online.js
This makes the minibar offline demo work again.
|
|
words when possible
Instead of showing the name of a function in the abstract syntax, linearize it
and show the result. For functions with argument, e.g. That : Kind -> Item,
the function is applied to the right number of placeholder arguments: 'That ?'.
If the linearization fails, the name of the function is shown anyway.
|
|
The grammar extension is now done with a regular HTML form, so you can use the
TAB key to move between the fields and press ENTER to submit the extension when
you are done.
TODO: more immediate error feedback
|
|
Also include the GF logo on the cloud service start page.
|
|
Document recent additions in minibar/about.html.
|
|
This functionality was available in the origial Fridge Poetry app, but has been
missing in minibar until now.
|
|
word-for-word replacment on or off
|
|
The current intput is now represented as an array of words instead of as a
string.
(This is the kind of change is scary to do in a dynamically type language
like JavaScript. In a statically typed language like Haskell you can do it
with confidence, since you know the compiler can help you catch all mistakes...)
|
|
Get rid of list of previous states, which was only used to delete the last
word.
|
|
as the other functions
Also document it in gf-web-api-examples.html.
|
|
It works OK now, but it could be better, e.g. the number of mouse clicks
required to enter an extension could to be reduced...
|
|
There are still some user interface wrinkles to iron out.
|
|
If you leave the minibar and later return, the previous input will be
restored. One input string per grammar is rememebered, so you can also switch
back and forth between grammars without losing the input.
This is implemented using localStorage, i.e. the data is stored locally on
the user's device.
|
|
|
|
Instead of trying to reconstruct the abstract tree from the bracketed string,
use the node numbers (the field called "fid") to identify which node in the
abstact syntax tree a word in the bracketed string corresponds to.
|
|
|
|
Abstract syntax trees are represented as strings in the web API. To make them
easier to manipulate in JavaScript, the new function converts them to JSON.
To support structural editing, the nodes are numbered in the same way as in
the bracketed string created when linearizing an abstract syntax tree.
Example: "Pred (That Fish) Fresh" is converted to
{fun:"Pred",fid:3,
children:[{fun:"That",fid:1,
children:[{fun:"Fish",fid:0}]},
{fun:"Fresh",fid:2}]}
|
|
lack it
|
|
|