mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2025-03-14 09:45:42 +00:00

* website: add fontmatter & improve image URLs where necessary * website: add docs to website * website: add prismjs for code highlighting * website: change npm install position in web.sh * website: fix an image URL in lang/cs/README.md * website: improve image paths in lang/cs/translations.md * website: add responsiveness & improve stylings of docs * website: add dir to navbar in blog & docs * website: remove scroll in mobile dropdown menu * website: remove rfcs & add guide docs to website * website: remove file renaming script from web.sh * website: add menu to docs in nav * website: add hash list & add scroll to headers * website: customize docs frontmatter through JS * website: remove supported_languages.json * website: move merge_translations.js to JS folder * website: add the following changes to docs - add frontmatter to new doc merged from master - add ignoreForWeb property to frontmatter of README.md docs * website: remove package-lock.json from .gitignore * website: add package-lock.json from .gitignore * website: add no docs message to docs dropdown * website: improve the sidebar of docs * website: add revision date to docs * website: add script to add version to docs frontmatter * website: add layout to display message in docs if its version is old * website: improve nav responsiveness * website: remove frontmatter form main README & rfcs * website: remove rfcs from website folder * website: add ignore condition for rfcs in .eleventy * website: remove frontmatter from lang README docs * website: remove README from website's lang docs * website: add guides menu in nav * website: following changes - add docs_dropdown.json - extend reference menu in nav - remove docs menu from nav * website: fix in docs sidebar * website: revert main docs README.md files * website: revert main docs README.md files * website: move scripts out of js that are for build * website: remove displayAt form guide docs * website: create a docs_sidebar.json & shift to that approach * update navigation * website: set navbar * website: add icons to external links * website: change the approach for docs sidebar creation * website: update docs template * website: add some strings to en.json and map them accordingly * remove icon --------- Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
const fs = require("fs");
|
|
const path = require("path");
|
|
|
|
let supportedLangs = []
|
|
const translationsDirectoryPath = path.resolve(__dirname, "langs")
|
|
|
|
const files = fs.readdirSync(translationsDirectoryPath);
|
|
const jsonFileNames = files.filter(file => file.endsWith('.json'));
|
|
supportedLangs = jsonFileNames.map(file => file.replace('.json', ''))
|
|
|
|
// keys of the english language are used as the base keys
|
|
const enStrings = require(path.resolve(__dirname, "langs/en.json"))
|
|
|
|
const languages = {}
|
|
for (const lang of supportedLangs) {
|
|
languages[lang] = require(path.resolve(__dirname, `langs/${lang}.json`))
|
|
}
|
|
|
|
// this program generates a combined translations.json file
|
|
const translations = {}
|
|
for (const key in enStrings) {
|
|
const langStrings = {}
|
|
for (const lang of supportedLangs) {
|
|
const str = languages[lang][key]
|
|
if (str) langStrings[lang] = str
|
|
}
|
|
translations[key] = langStrings
|
|
}
|
|
|
|
saveFile(path.resolve(__dirname, "translations.json"), translations)
|
|
|
|
function saveFile(relPath, data) {
|
|
filePath = path.resolve(__dirname, relPath)
|
|
fs.writeFileSync(filePath, JSON.stringify(data, undefined, " "), 'utf-8');
|
|
console.log(`Data was successfully written to ${filePath}`);
|
|
}
|