Metadata-Version: 2.1
Name: nepali-roman
Version: 1.0.0
Summary: Convert Nepali text to roman English
Home-page: https://github.com/Suraj1127/nepali-roman
Author: Suraj Regmi
Author-email: regmi125@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown

# nepali-roman
## Package to convert Nepali text to romanized English.

Many a time, while working with data, either from government sector or from private sector, we encounter Nepali names of
VDCs, municipalities, local level units, districts and places. While merging such data with another datasheet consisting
names of units in English, we need to romanize the Nepali names to English before using some text similarity algorithms 
to do string matching.

This package helps in romanizing Nepali names using rudimentary script. It is worth mentioning that romanization of 
Nepali text used in our daily life is inconsistent. For example, the popular romanization of "नेपाल" is "Nepal". It might
seem as the correct romanization but if we have to distinguish between "नेपाल" and "नेपल", we can't do that with this
romanization scheme. So, this package uses unique and standard romanization scheme such that no two Nepali words have
same romanization.

## Installation
`nepali-roman` package is available for `Python 3` and can be installed using `pip`. 

First make sure [`pip`](https://pip.pypa.io/en/stable/installing/) is installed.

Then, the package can be installed using this command.
```
pip install nepali-roman
```

## Usage

Import the `nepali_roman` module using the following command.
```python
import nepali_roman as nr
```
The `nepali_roman` module has three functions: `is_devanagari`, `romanize_text` and `romanize`.

### `is_devanagari`
This function checks if the text is in Devanagari format.

**Detail description**:
In the text, it ignores all the punctuations, white spaces and other non-alphanumeric characters and then counts the
number of devanagari characters. If the number of devanagari characters is more than or equal to 50% of the stripped
text, the function deems the text devanagari, otherwise not.

Syntax:
```python
>>> nr.is_devanagari(text)
```

Example:
```python
>>> import nepali_roman as nr
>>> nr.is_devanagari("नगरपालिका")
    True

>>> nr.romanize_text("surajपालिक")
    False

>>> nr.romanize_text("suraj")
    False
```



### `romanize_text`
This function can be used to romanize the Nepali text to English.

Syntax:
```python
>>> nr.romanize_text(nepali_text)
```
Example:
```python
>>> import nepali_roman as nr
>>> nr.romanize_text("नगरपालिका")
    nagarapaalikaa
```

### `romanize`
This function takes Nepali text file as an input and saves the romanized text in specified output file.

Syntax:
```python
>>> nr.romanize(input_file_path, output_file_path)
```

Example:
```python
>>> import nepali_roman as nr
>>> nr.romanize('nepali.txt', 'romanized_english.txt')
# this takes Nepali text file nepali.txt and stores romanized English in the file romanized_english.txt
```

## Contributions

The package is licenced with The MIT License (MIT) about which details can be found in the [LICENSE](LICENSE) file. As
the package is open sourced and requires many improvements and extensions, any contributions are welcome. Any other
feedback of any sort are highly welcome.

