Scroll to the bottom of this document for context of which string corresponds to which part of the page.
In the Bibliogram code repository, copy
another existing language that you know well) to a new file. Translate
all the parts. Paste the result into the body of an email, and send it
to the bibliogram-devel mailing list.
Make sure to also include the name of the language that should be displayed in the settings menu. This should be written in its own language. For example, the listing for French would be français, since that is the French word for the French language.
Reminder: scroll to the bottom of this document to see the context for all the strings.
You won't be able to actually test your changes with this. If you want to test, you must follow the next section, "the complete way".
Before you can start, get set up with the submitting a patchset guide.
/src/lang/en.js (or another existing language that you
know well) to a new file, saving it as the two letter code of your
language with the
.js extension in the same folder.
Translate the contents of the new file to your language. While working
on the translation, you may wish to comment out lines that you haven't
translated yet using
// at the start of the line. This way, things
that you haven't translated will be syntax highlighted in your editor,
and they will show as MISSING STRING on the webpage.
/src/lang/index.js and inside the
Lang constructor, find the
array of language codes (at time of writing, it's on line 10 with
["en", "en-us", "es", "fa",...) and add your new
language code to that array.
/src/site/pug/settings.pug and find the
mixin. Add your new language to that list, with the country code as
value, and the name (e.g. Français) as
Save all the files, start Bibliogram, go to the settings page, select the language, and make sure everything works as intended. If it doesn't, go back and edit the files. At the time of writing this document, you will need to restart Bibliogram to apply changes to language strings.
Once everything works properly, create and send a patchset as described in the patchset guide. Thank you for contributing!!
html_means the contents must be HTML text. You can either write HTML directly, or invoke the Pug compiler to produce it.
pug_means the contents must be a Pug template function. You must use the Pug compiler.
meta_is for internal use and manages data about that language. It is not displayed directly, but it is used by code related to displaying the language. For example,
rtlto specify which direction the language script is written in.
When in doubt, just style the content like whatever
en.js is doing.
These images show where strings are located on pages so that you can easily find the context for what you're translating, without having to run Bibliogram yourself to test.