Python library that allows you to easily load languages and settings into your project using JSON files
Project description
EasyJsonPy
EasyJsonPy is a Python library for loading and managing languages and settings in JSON format.
Installation
To install EasyJsonPy, simply clone the repository and run:
pip install easyjsonpy
Usage
Simple use of language functions.
You need the language files in your project in their respective path
from easyjsonpy import (
load_language,
load_languages,
set_language,
translate_message,
get_current_language,
get_languages
)
# Load a single language
load_language('en', 'path/to/en.json')
# Load multiple languages
languages = [
{'name': 'en', 'path': 'path/to/en.json'},
{'name': 'es', 'path': 'path/to/es.json'}
]
load_languages(languages)
# Set the current language
set_language('en')
# Translate a message
message = translate_message('greeting.hello')
print(message) # Output: Hello (if the translation exists in en.json)
# Get the current language
current_language = get_current_language()
print(current_language) # Output: en
# Get all loaded languages
loaded_languages = get_languages()
print(loaded_languages) # Output: {'en': {...}, 'es': {...}}
You can load the language in the main file and get the translations in other files.
main.py
from easyjsonpy import load_language, set_language
from test import example_function
load_language('en', 'en.json')
set_language('en')
example_function()
test.py
from easyjsonpy import translate_message
def example_function():
print(translate_message('helloWorld')) # Output: Hello World
print(translate_message('messages.example')) # Output: Example Message
en.json
{
"messages": {
"example": "Example Message"
},
"helloWorld": "Hello World"
}
Complete documentation of language features here
Simple use of settings functions.
You need the setting file in your project in their respective path
from easyjsonpy import (
load_configuration,
load_configurations,
get_config_value,
set_config_value,
get_configuration,
get_configurations,
remove_configuration,
remove_all_configurations
)
# Load a single configuration
load_configuration('config1', 'path/to/config1.json')
# Load multiple configurations
configs = [
{'name': 'config1', 'path': 'path/to/config1.json'},
{'name': 'config2', 'path': 'path/to/config2.json'}
]
load_configurations(configs)
# Get a value from a configuration
value = get_config_value('some.key', 'config1')
print(f"Value from config1: {value}")
# Set a value in a configuration
set_config_value('some.key', 'new_value', 'config1')
# Verify the value was set
updated_value = get_config_value('some.key', 'config1')
print(f"Updated value from config1: {updated_value}")
# Get the loaded configuration
config = get_configuration('config1')
print(f"Loaded config1: {config}")
# Get all loaded configurations
all_configs = get_configurations()
print(f"All loaded configurations: {all_configs}")
# Remove a specific configuration
remove_configuration('config1')
print(f"Configurations after removing config1: {get_configurations()}")
# Remove all configurations
remove_all_configurations()
print(f"Configurations after removing all: {get_configurations()}")
Like the language, you can load the configuration in your main file and in the modules get the configuration directly
main.py
from easyjsonpy import load_configuration
from test import example_function
load_configuration('default', 'config.json')
load_configuration('anotherConfig', 'anotherConfig.json')
example_function()
test.py
from easyjsonpy import get_config_value
def example_function():
print(get_config_value('key1', 'default')) # Output: 'defaultValue'
print(get_config_value('key1')) # Default config_name is 'default'. Output: 'defaultValue'
print(get_config_value('key2', 'anotherConfig')) # Output: 'anotherValue'
config.json
{
"key1": "defaultValue"
}
anotherConfig.json
{
"key2": "anotherValue"
}
Complete documentation of language features here
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
easyjsonpy-1.0.0.tar.gz
(8.7 kB
view hashes)
Built Distribution
Close
Hashes for easyjsonpy-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03030a66e625ff0b00c48d6647c31007c2c7c2b4bf111856d4e375a3b11940e5 |
|
MD5 | b887dfb0e7116db15da2906ce326bc07 |
|
BLAKE2b-256 | ff3f9a3c1a6476e0fcd2e7ef53939a3f9a3a877340186a80007c5af2cf6b69aa |