Skip to content

Commit 587a02c

Browse files
committed
Updated docs with contributions page.
1 parent e430475 commit 587a02c

9 files changed

Lines changed: 74 additions & 39 deletions

File tree

README.md

Lines changed: 18 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ Data for natal charts, solar returns, progressions, and composites are available
1313

1414
Simply pass in a date and coordinates to one of the available chart classes, and the returned instance will contain all data necessary to construct a full astrological chart. A serializer is bundled to easily output all data as JSON, or it can simply be printed out as human-readable text.
1515

16-
## Documentation
17-
18-
Full documentation is available [here](https://github.com/theriftlab/immanuel-python/tree/v1.3.2/docs/0-contents.md), or follow the Quick Start below to see how to quickly generate a natal chart.
19-
2016
## Translations
2117

22-
Immanuel is currently available in the following locales / languages:
18+
Immanuel's output is currently available in the following locales / languages:
2319

2420
* **en_US:** (default) US English
2521
* **pt_BR:** Brazilian Portuguese
2622
* **es_ES:** Spanish
2723

28-
See [the documentation](https://github.com/theriftlab/immanuel-python/tree/v1.3.2/docs/5-settings.md#locale) on how to switch. The documentation itself is not currently available in other translations. To contribute in-software translations, see [below](#contributions).
24+
See [here](https://github.com/theriftlab/immanuel-python/tree/v1.3.2/docs/5-settings.md#locale) for details on how to switch. The documentation itself is not currently available in other translations. To contribute in-software translations, see [here](https://github.com/theriftlab/immanuel-python/tree/v1.3.2/docs/7-contributions.md).
25+
26+
## Documentation
27+
28+
Full documentation is available [here](https://github.com/theriftlab/immanuel-python/tree/v1.3.2/docs/0-contents.md), or follow the Quick Start below to see how to quickly generate a natal chart.
2929

3030
## Quick Start
3131

@@ -56,16 +56,16 @@ for object in natal.objects.values():
5656
This will output all the chart objects (planets, points, asteroids etc.) in this format:
5757

5858
```
59-
Sun 10°37'26" in Capricorn, 11th House, Direct
60-
Moon 16°19'29" in Scorpio, 8th House, Direct
61-
Mercury 02°16'43" in Capricorn, 10th House, Direct
62-
Venus 01°52'05" in Sagittarius, 9th House, Direct
63-
Mars 28°09'26" in Aquarius, 12th House, Direct
64-
Jupiter 25°15'48" in Aries, 2nd House, Direct
59+
Sun 10°37'26" in Capricorn, 11th House
60+
Moon 16°19'29" in Scorpio, 8th House
61+
Mercury 02°16'43" in Capricorn, 10th House
62+
Venus 01°52'05" in Sagittarius, 9th House
63+
Mars 28°09'26" in Aquarius, 12th House
64+
Jupiter 25°15'48" in Aries, 2nd House
6565
Saturn 10°23'27" in Taurus, 2nd House, Retrograde
66-
Uranus 14°49'19" in Aquarius, 12th House, Direct
67-
Neptune 03°12'07" in Aquarius, 12th House, Direct
68-
Pluto 11°27'49" in Sagittarius, 9th House, Direct
66+
Uranus 14°49'19" in Aquarius, 12th House
67+
Neptune 03°12'07" in Aquarius, 12th House
68+
Pluto 11°27'49" in Sagittarius, 9th House
6969
...
7070
```
7171

@@ -93,7 +93,7 @@ for object in natal.objects.values():
9393
Now you will see this appended to the list:
9494

9595
```
96-
Ceres 04°30'28" in Libra, 7th House, Direct
96+
Ceres 04°30'28" in Libra, 7th House
9797
```
9898

9999
More on the settings & constants in the full documentation - for now, we can see much more data by serializing the chart's `objects` property to JSON like this:
@@ -249,6 +249,7 @@ Planetary dignity scores are based on those of Astro Gold, although these are so
249249

250250
The full documentation covers settings in detail, but much of the output can be customized. The settings class allows you to specify and personalize:
251251

252+
* Locale / language
252253
* The house system to use
253254
* What data each chart returns
254255
* What planets, points, asteroid etc. to include
@@ -275,29 +276,7 @@ This program is distributed in the hope that it will be useful, but WITHOUT ANY
275276

276277
Immanuel is forever indebted to the pioneering work of Alois Treindl and Dieter Koch at Astrodienst, and to João Ventura for the incredibly detailed [flatlib](https://github.com/flatangle/flatlib) which first inspired the development of this package.
277278

278-
A big thank-you goes to Nathan Octavio who suggested translations, and who translated Immanuel into Brazilian Portuguese.
279-
280-
## Contributions
281-
282-
New translations for Immanuel's output are always welcome, although it is currently geared to Western-European languages. If you would like to contribute a translation, follow these steps:
283-
284-
* Fork the repo.
285-
* Create a branch named after the locale, eg. `translations/pr_BR` - locale names for various languages can be found online, for example [here](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a), although you should use an underscore rather than a hyphen.
286-
* Create a subdirectory named after your locale code in the existing `immanuel/locales` directory, and another sub-directory under this called `LC_MESSAGES`.
287-
* Copy `immanuel/locales/immanuel.pot` into the new `LC_MESSAGES` sub-directory and rename it `immanuel.po`.
288-
* Within `immanuel.po`, for every English word or sentence in a `msgid` string, if there is a direct translation in your language, enter it in the following empty `msgstr`. For gendered adjectives, you will need to add all gendered variants using `msgctxt` like this:
289-
```
290-
msgctxt "masculine"
291-
msgid "Applicative"
292-
msgstr "Aplicativo"
293-
294-
msgctxt "feminine"
295-
msgid "Applicative"
296-
msgstr "Aplicativa"
297-
```
298-
* To map genders, a file `mappings.py` will need to be created under your new locale directory alongside `LC_MESSAGES`. See existing mapping files for an example of how to assign all of Immanuel's objects a gender for your language.
299-
* Once all translations and gender-mapping is complete, you can either compile your `.po` file to an `.mo` file or simply leave this out and I will compile it. Commit your changes and create a pull request.
300-
* If everything looks good, I will merge to master & prep a new release!
279+
A big thank-you goes to Nathan Octavio who suggested translations, and who translated Immanuel into both Brazilian Portuguese and Spanish.
301280

302281
## Contact
303282

docs/0-contents.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
4. [Returned Data](4-data.md)
77
5. [Settings](5-settings.md)
88
6. [Submodules](6-submodules.md)
9+
7. [Contributions](7-contributions.md)

docs/1-overview.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,4 @@ Some confusion might arise with the word "object" - since an astrological chart
3232
4. [Returned Data](4-data.md)
3333
5. [Settings](5-settings.md)
3434
6. [Submodules](6-submodules.md)
35+
7. [Contributions](7-contributions.md)

docs/2-installation.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ Note that the package requirements have currently locked in the outdated version
1616
4. [Returned Data](4-data.md)
1717
5. [Settings](5-settings.md)
1818
6. [Submodules](6-submodules.md)
19+
7. [Contributions](7-contributions.md)

docs/3-examples.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,4 @@ This makes Immanuel ideal for powering APIs and other applications. For a deeper
189189
4. [Returned Data](4-data.md)
190190
5. [Settings](5-settings.md)
191191
6. [Submodules](6-submodules.md)
192+
7. [Contributions](7-contributions.md)

docs/4-data.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -626,3 +626,4 @@ Fixed stars (which are included without you having to bring your own ephemeris f
626626
4. Returned Data
627627
5. [Settings](5-settings.md)
628628
6. [Submodules](6-submodules.md)
629+
7. [Contributions](7-contributions.md)

docs/5-settings.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,3 +671,4 @@ If you want Immanuel to only use your own ephemeris files for everything, passin
671671
4. [Returned Data](4-data.md)
672672
5. Settings
673673
6. [Submodules](6-submodules.md)
674+
7. [Contributions](7-contributions.md)

docs/6-submodules.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ These submodules represent Immanuel's backbone and therefore contain far too muc
3434
4. [Returned Data](4-data.md)
3535
5. [Settings](5-settings.md)
3636
6. Submodules
37+
7. [Contributions](7-contributions.md)

docs/7-contributions.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Contributions
2+
3+
New translations for Immanuel's output are always welcome, although it is currently geared to Western-European languages. If you would like to contribute a translation, follow these steps:
4+
5+
* Fork the repo.
6+
* Create a branch named after the locale, eg. `translations/pr_BR` - locale names for various languages can be found online, for example [here](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a), although you should use an underscore rather than a hyphen.
7+
* Create a subdirectory named after your locale code in the existing `/immanuel/locales` directory, and another sub-directory under this called `LC_MESSAGES`.
8+
* Copy `/immanuel/locales/immanuel.pot` into your new `LC_MESSAGES` sub-directory and rename it `immanuel.po`.
9+
* To map noun genders, a file `mappings.py` will need to be created under your new locale directory alongside `LC_MESSAGES`. See existing mapping files for an example of how to assign all of Immanuel's objects a gender for your language.
10+
11+
Your file tree should now look something like this:
12+
13+
```
14+
immanuel/
15+
├- ...
16+
├─ locales/
17+
├- ├- ...
18+
│ ├─ xx_XX/
19+
│ │ ├─ LC_MESSAGES/
20+
│ │ │ ├─ immanuel.po
21+
│ │ ├─ mappings.py
22+
│ ├─ immanuel.pot
23+
```
24+
25+
Now you can begin translating. Within `immanuel.po`, for every English word or sentence in a `msgid` string, if there is a direct translation in your language, enter it in the following empty `msgstr`. For gendered adjectives, you will need to add all gendered variants using `msgctxt` like this:
26+
27+
```
28+
msgctxt "masculine"
29+
msgid "Applicative"
30+
msgstr "Aplicativo"
31+
32+
msgctxt "feminine"
33+
msgid "Applicative"
34+
msgstr "Aplicativa"
35+
```
36+
37+
The masculine and feminine versions of these adjectives (and neuter if applicable) are determined by the relevant noun's gender as specified in your new `mappings.py` file.
38+
39+
Once all translations and gender-mapping is complete, you can either compile your `.po` file to an `.mo` file or simply leave this out and I will compile it.
40+
41+
Time to commit your changes and create a pull request - if everything looks good, I will merge to master & prep a new release!
42+
43+
1. [Overview](1-overview.md)
44+
2. [Installation](2-installation.md)
45+
3. [Examples](3-examples.md)
46+
4. [Returned Data](4-data.md)
47+
5. [Settings](5-settings.md)
48+
6. [Submodules](6-submodules.md)
49+
7. Contributions

0 commit comments

Comments
 (0)