move extraction lang scripts into a dedicated directory

This commit is contained in:
Laurent Mazet 2020-05-24 21:41:31 +02:00
parent aac7753bd4
commit cb38c22253
11 changed files with 75 additions and 72 deletions

View File

@ -13,7 +13,7 @@ endif
all: lang
help:
@echo make board: build tiles board files
@echo make extract-lang-dists: extract the distributions per language from Wikipedia
@echo make lang: build the translation files
@echo make eslint: use ESLint to check conformance against the coding style
@echo make start-dev-server: start a development server
@ -21,8 +21,8 @@ help:
public/l10n/js/fr.js: $(wildcard l10n/po/*/*.po)
cd l10n; make
board:
cd l10n; make board
extract-lang-dists:
cd lang-dists-extractor; make
lang: public/l10n/js/fr.js

View File

@ -1,39 +1,10 @@
.PHONY: all lang board
.PHONY: all lang
.EXPORT_ALL_VARIABLES:
ROOT_LANG = ../public/l10n
ROOT_BOARD = ../server/lang
POT = pot/board.pot
SPECIAL = br.json xk.json uk.json
all: lang board
all: lang
lang:
node makejs.js
board: Lettres_du_Scrabble
-rm $(POT)
node make_board.js > $(POT)
make special
special: $(addprefix $(ROOT_BOARD)/,$(SPECIAL))
$(ROOT_BOARD)/br.json: tile-Breton.txt make_board.awk Makefile
$(ROOT_BOARD)/xk.json: tile-Klingon.txt make_board.awk Makefile
$(ROOT_BOARD)/uk.json: tile-Ukrainian.txt make_board.awk Makefile
$(addprefix $(ROOT_BOARD)/,$(SPECIAL)):
# board lang
cat $< | awk -f make_board.awk > $@
sed s/@LANG@/$(subst tile-,,$(<:.txt=))/ -i $@
sed s/@CODE@/$(subst $(ROOT_BOARD)/,,$(@:.json=))/ -i $@
# pot file
echo >> $(POT)
echo "msgid \"$(subst tile-,,$(<:.txt=))\"" >> $(POT)
echo "msgstr \"\"" >> $(POT)
Lettres_du_Scrabble:
wget https://fr.wikipedia.org/wiki/Lettres_du_Scrabble

View File

@ -2,61 +2,67 @@
msgid "Afrikaans"
msgstr ""
msgid "German"
msgstr ""
msgid "English"
msgstr ""
msgid "Arabic"
msgstr ""
msgid "Armenian"
msgstr ""
msgid "Basque"
msgstr ""
msgid "Bulgarian"
msgstr ""
msgid "Breton"
msgstr ""
msgid "Catalan"
msgstr ""
msgid "Croatian"
msgid "Czech"
msgstr ""
msgid "Welsh"
msgstr ""
msgid "Danish"
msgstr ""
msgid "Spanish"
msgid "German"
msgstr ""
msgid "Greek"
msgstr ""
msgid "English"
msgstr ""
msgid "Esperanto"
msgstr ""
msgid "Spanish"
msgstr ""
msgid "Estonian"
msgstr ""
msgid "Basque"
msgstr ""
msgid "Finnish"
msgstr ""
msgid "French"
msgstr ""
msgid "Welsh"
msgstr ""
msgid "Greek"
msgid "Irish"
msgstr ""
msgid "Hebrew"
msgstr ""
msgid "Croatian"
msgstr ""
msgid "Hungarian"
msgstr ""
msgid "Irish"
msgid "Armenian"
msgstr ""
msgid "Icelandic"
@ -68,10 +74,10 @@ msgstr ""
msgid "Latin"
msgstr ""
msgid "Latvian"
msgid "Lithuanian"
msgstr ""
msgid "Lithuanian"
msgid "Latvian"
msgstr ""
msgid "Malay"
@ -104,17 +110,11 @@ msgstr ""
msgid "Swedish"
msgstr ""
msgid "Czech"
msgstr ""
msgid "Turkish"
msgstr ""
msgid "Breton"
msgstr ""
msgid "Klingon"
msgstr ""
msgid "Ukrainian"
msgstr ""
msgid "Klingon"
msgstr ""

View File

@ -0,0 +1,36 @@
.PHONY: all multiple-boards extra-boards pot-file
.EXPORT_ALL_VARIABLES:
ROOT_BOARD = ../server/lang
POT_FILE = ../l10n/pot/board.pot
EXTRA = br.json xk.json uk.json
all:
make multiple-boards
make extra-boards
make pot-file
multiple-boards: Lettres_du_Scrabble
node make_board.js
extra-boards: $(addprefix $(ROOT_BOARD)/,$(EXTRA))
$(ROOT_BOARD)/br.json: tile-Breton.txt make_board.awk Makefile
$(ROOT_BOARD)/xk.json: tile-Klingon.txt make_board.awk Makefile
$(ROOT_BOARD)/uk.json: tile-Ukrainian.txt make_board.awk Makefile
$(addprefix $(ROOT_BOARD)/,$(EXTRA)):
cat $< | awk -f make_board.awk | \
sed s/@LANG@/$(subst tile-,,$(<:.txt=))/ | \
sed s/@CODE@/$(subst $(ROOT_BOARD)/,,$(@:.json=))/ > $@
pot-file: $(POT_FILE)
$(POT_FILE): $(sort $(wildcard $(ROOT_BOARD)/*.json))
awk '/name/ { gsub(/[":,]/, ""); printf "\nmsgid \"%s\"\nmsgstr \"\"\n", $$2 }' $^ > $@
Lettres_du_Scrabble:
wget https://fr.wikipedia.org/wiki/Lettres_du_Scrabble

View File

@ -32,11 +32,6 @@ for (const line of htmlText.split("\n")) {
bag = bag.slice(0, -2);
values = values.slice(0, -2) + "\n";
/* Pot file */
console.log("");
console.log("msgid \"" + lang + "\"");
console.log("msgstr \"\"");
/* Board file */
let file = "{\n";
file += " \"code\": \"" + key + "\",\n";
@ -57,9 +52,10 @@ for (const line of htmlText.split("\n")) {
/* As parsing has been done on the French page, one needs to
translate language name from French to English */
for (const key of Object.keys(code.langFr)) {
if (code.langFr[key] === lang) {
lang = code.langEn[key];
for (const k of Object.keys(code.langFr)) {
if (code.langFr[k] === lang) {
lang = code.langEn[k];
key = k;
break;
}
}