Interactive assimilation?


The PanLem feature documented here is not currently implemented.

Some sources can be effectively assimilated by editors in interaction with the PanLem interface. This method is particularly appropriate for small and complex sources, sources that include concepticons among their language varieties, and sources that editors decide to assimilate only fractionally by looking up small parts of the information in them.

Interactive assimilation proceeds incrementally, one meaning at a time. As soon as you complete your extraction of the information about a meaning, PanLem submits a single-meaning final source file for importation, and you are then ready to work on the next meaning.

Structural analysis

In order to make interactive assimilation of a source possible, an editor creates at least one structural analysis of the source. By this analysis, the editor decides what kinds of information, in what order, will be extracted from the source. The meaning—kind—edit feature of PanLem provides an interface for this analysis.

The editor defines a structural analysis with a single line of text. The legend below the form shows an example and lists the types of content that the editor may assemble into a structural analysis. The editor formulates the analysis as a sequence of content types, separated with semicolons.

The content types are mostly identical to the blocks of content that can appear in final source files. The only deviation is the tx type. This and the tt type both represent ex blocks, but with one difference. The tx type requires that the editor use only expressions that already exist in the language variety. We use the tx type mostly for the (usually numeric) expressions of concepticons. The structural analyst chooses tx to prevent an editor from introducing new expressions into a concepticon. The editor would usually not want to do that, but might do so by mistake. The tx type catches such mistakes. The tx type has another feature: PanLem automatically prepopulates these expressions to make the entry of expressions faster, because many concepticon-based sources list the concepticon expressions in numerical order, making the next expression predictable. If the prepopulated expression isn’t the one that the editor wants, it may be overwritten.



You can do interactive assimilation on any source of which you are an editor, if the source has at least one structural analysis. If it has multiple structural analyses, that’s because there are multiple ideas about how a source should be used, or because not all entries in a source fit the same structure, so they can be assimilated in more than one pass, using different structural analyses for different entries.

You can reach the interactive assimilation form by selecting the meaning—whole—new feature. It permits you to enter all the information about a single meaning of the source. The form looks like a small final source file, so if you know that format you will understand the form.

The form differs in particular ways from a final source file, however:

(1) You are free to omit text fields. If the information for a field is missing from the source, simply skip it, and PanLem will ignore the whole block of which it is a part.

(2) Conversely, you may also add extra information. Suppose that a small fraction of a source’s entries contain information of a particular kind. The structural analyst may choose not to provide a content type for that kind of information because it is only rarely present in the source. But you may include it where it does appear. To do this, you append it to the end of any text field, where it would be permitted to appear in a final source file. Your appended block includes all the lines of the added block. The lines are separated from each other with any single character of your choice. Simply be sure that this delimiter character doesn’t appear in any text field of the current meaning, except as a delimiter. If you use a delimiter for a meaning, you must specify which character you have chosen. For example, suppose the form gives you fields for two expressions one after the other, but you encounter an entry where the first expression (in language variety eng-000)  is “know (a person)”. What you want, then, is to insert a definition, namely “know (a person)”, in addition to an expression, namely “know”. You can do this by entering, in the text field under eng-000,

know#df#eng-000#know (a person)

and entering “#” into the line—new—character box at the bottom of the form to identify the number sign as your current delimiter.

(3) If a text field is marked with an asterisk, it has special properties:

  • Its block is of the tx type, so the expression you enter there must be an already existing expression in the block’s language variety.
  • No delimiter may be included in that text field.
  • A suggested text appears automatically in that field.


When you submit the form, it is subjected to validation before importation. If any error is found, importation is aborted and the form reappears with an error box at the top. If the error was found during validation of the final source file, PanLem also displays a transcript of that final source file so you can see where the error occurred.

Not every error that you might make will be caught in validation. If, for example, you misspell a word or enter an item from the wrong line of the source file, your mistaken data will be imported into the database. The meaning—whole—new feature does not provide a way to correct errors, once they are imported. To make such a correction, go back to the start, choose the translation—edit feature, and either correct or delete the meaning. You can then return to the beginning and select the meaning—whole—new feature to continue your interactive assimilation.

Special characters

The meaning—whole—new form does not offer text replacement. Therefore, if you are assimilating a source that contains hard-to-type characters, you cannot substitute easy characters for them and then globally replace them with the proper characters.

Instead, you can use any text-replacement feature offered by your operating system or an application. For example, under OS X, you can define text replacements in the Text tab of the Keyboard pane of the System Preferences application. To enable it in the Safari browser, display the form and then get the contextual menu by holding the Control key down while clicking in one of the text fields. In that menu, enable Text Replacement in the Substitutions submenu. From then on, your text replacements will work on forms. To make them work, you must type the text to be replaced and then type a space or a punctuation mark. You can backspace over that last character and continue typing.

Another approach is to use an input method designed for a language that you need to type, or to design your own keyboard layout to make hard characters easy to type. Applications for the latter purpose, such as Ukelele, exist.

Still another approach is to use a character viewer or picker to display an array of available characters, on which you act (such as by double-clicking) to insert them into the current text field.