Theo Todman's Web Page - Notes Pages
Website Documentation
Website Generator Documentation - Language / Ling Pages
(Work In Progress: output at 03/05/2025 13:12:14)
Introduction
Brief Thoughts on Language & Languages4
- This Page has an Alias on my live site: http://www.theotodman.com/Language.htm.
- This Note is too large to be edited within the MS Access Notes Table directly – at least once the Functors have embedded their data. Hence, it is useful to have to hand an MS Word copy of the text & functors in case the text needs changing.
- The hand-crafted part of the Note starts off with a “H1”-style ling to
→ Languages on Ling: Comparative Database Summary Page5
as this is of the most public interest.
Languages on Ling: Comparative Database Summary Page6
Appendix: Importing Data from Ling
- These instructions are all rather of historical interest as I’ve now completed the imports for all 50 lessons for all 26 languages I’ve looked at.
- However, it’ll be useful if I decide to add further languages.
- The importation of the data – while greatly facilitated by the routines I’ve developed – still required some rather tedious manual intervention.
- The pages I’m after don’t have URLs that define their content uniquely – the page seems to be returned in real-time by Javascript using selections on the pages themselves, and I don’t know how to automate these selections. While I use ADODB.Stream to access the data, I can’t attach this to the on-line page itself, but only to a copy and pasted copy in a local text file. Thankfully – otherwise I’d have given up – the Javascript places a whole Lesson on the page (even though on-line you have to click through item by item), so a single CtrlA/CtrlC grabs the lot.
- So, for each of the 50 Lessons for each of the 24 Languages I’ve been studying, I have had to click to the relevant Ling Review page, select and copy it all – for Vocabulary and Dialogue in turn – and paste into a text file in the “C:\Theo's Files\Languages\Ling” directory, named so as to indicate the Language, Lesson and content-type it is. Don’t forget to press “save”!!
- Once these text files are in the right directory, importation is trivial, using the following routines:-
→ Import_Ling_Vocabulary, and
→ Import_Ling_Dialogue
- The way it works for English is the process checks to see if there are any non-empty rows for that Lesson in Ling_Vocabulary_English (or Ling_Dialogue_English). If there are, it assumes that English has been loaded for another Language. Otherwise, it deletes any rows for that Lesson (these should be empty) and inserts the English from the text file.
- As for the Language tables (Ling_Vocabulary_Langauge (Note7), or Ling_Dialogue_Language), all rows for the relevant Lesson are deleted before the text file is imported.
- There is one caveat for the Vocabulary pages. Usually there is a vocabulary item followed by an example, but not always.
- To get round this, I check the length of the putative Vocabulary item (in English) and if it is more than 20 characters long, output a message and pause for a decision: I check the debug window and if it indicates a missing “example”, so that Vocabulary and Examples are out of step, I stop the import and edit the text file adding a fake “example” (3 lines containing only “skip” [or two such lines for those Languages with Latin scripts requiring no transliteration]).
- Initially, the Vocabulary is loaded into a memory-array, so if one of these problems arises, just terminate it, fix the text file, and re-run. No database updates need removing.
- The issues are in the table below:-
Lesson_ID | Vocab_ID | Vocab_English | English Phrase | Vocab Length |
3 | 1 | to cost | | 7 |
3 | 7 | a glass | | 7 |
5 | 11 | to play | | 7 |
6 | 19 | to put | | 6 |
7 | 11 | fruit | | 5 |
9 | 5 | a meal | | 6 |
9 | 6 | a menu | | 6 |
9 | 17 | to pay | | 6 |
12 | 15 | intersection | | 12 |
13 | 1 | to work | | 7 |
13 | 14 | to meet | | 7 |
16 | 1 | clothes | | 7 |
16 | 23 | to fit | | 6 |
18 | 9 | to repair | | 9 |
22 | 5 | to turn off a mobile phone | Please turn off mobile phones in class. | 26 |
22 | 6 | to turn on a mobile phone | He is turning on his mobile phone. | 25 |
23 | 23 | musical instruments | | 19 |
27 | 1 | to show | | 7 |
27 | 16 | to fill | | 7 |
28 | 16 | to hear (a story) | | 17 |
29 | 7 | emergency | | 9 |
29 | 13 | Fire! | | 5 |
29 | 19 | hurry | | 5 |
30 | 7 | Tooth | | 5 |
30 | 13 | Stomach | | 7 |
31 | 19 | appearance | | 10 |
32 | 15 | temperature | | 11 |
34 | 20 | doll | | 4 |
36 | 6 | mobile phone | | 12 |
36 | 15 | to send a friend request | This is a picture of the woman whom I sent a friend request last night. | 24 |
40 | 8 | result | | 6 |
47 | 1 | to break | | 8 |
49 | 11 | to wish | | 7 |
- So, there were 2,400 of these manual copies and file-name edits8 to do.
- A key design issue is that all the Languages on Ling have the same set of Lessons, Vocabulary and Dialogue – otherwise the inter-Language comparisons wouldn’t make sense. As far as I can tell, this is currently the case and has remained so for several years. I imagine it’ll always be so, but it’s possible that Ling will evolve so that the database underlying the App will change over time.
In-Page Footnotes:
Footnote 7:
- I’ll need to correct this spelling sometime!
Footnote 8:
- As this was tedious and error-prone, I wrote a program (Default_Text_Files) to set these up and park them in directory “C:\Theo's Files\Languages\Ling\zDummyFiles”.
- I move these to the “C:\Theo's Files\Languages\Ling” directory prior to the cutting and pasting.
Summary of Notes Referenced by This Note
To access information, click on one of the links in the table above.
Summary of Notes Citing This Note
To access information, click on one of the links in the table above.
Text Colour Conventions
- Blue: Text by me; © Theo Todman, 2025