Swift.org's guidelines. Use appropriate comments and match the existing code style and conventions in the project. Blankie uses swift-format
with default settings to keep code clean and consistent. You can run it via XCode (Editor > Structure > Format File with ‘swift-format’) or command line to ensure consistent formatting. If you're unsure about style, feel free to ask in an issue or pull request.
Closes #123
, Fixes #345
) .Please exercise extreme caution when modifying sound configurations, naming conventions or preset functionality.
These components directly affect user settings and preferences and even small changes in these areas can significantly impact user experience and existing configurations.
Before implementing changes that might alter core functionality in serious ways:
Discuss First
Maintain Core Requirements
Implement Carefully
Blankie aims to be accessible to users around the world, which means we need help translating the app into different languages. You don't need to be a programmer to contribute translations!
Check Current Status: Visit our translations page to see which languages already have translations and their status.
Get the Template: Download a English template or current translation in JSON or CSV format from the translations page with all the strings that need translation.
Edit the Template: Using any text editor, translate the English strings to your target language. Keep the structure intact - only modify the "target" content within the strings.
Submit Your Translation: There are two ways to submit translations:
comment
field provides context about where each string appears in the app. Use this to guide your translation choices.%@
(which represent variable content) and preserve them in your translation.Once submitted, your translations will go through this process:
You can submit translations in three ways:
GitHub Issue: Create a translation contribution issue and attach your updated JSON or CSV file
Email: Send your translation files to i18n@blankie.rest
Direct Import: If you're comfortable using a command line and XCode you can use our blanki18n
tool to import your translations directly into the app. This is the preferred method for developers and contributors who want to test their translations locally.
# Make the tool executable
chmod +x blanki18n.swift
# Using interactive mode (will prompt for language code)
./blanki18n.swift path/to/your-translation.[csv|json]
# Or specify language code directly
./blanki18n.swift path/to/your-translation.[csv|json] es
The tool will update Localizable.xcstrings
directly with your translations for you to build and then test locally. You can then create a pull request with your changes on a fork.
For general translation feedback or to report issues with existing translations, you can create a GitHub issue or email us at the address above. If you have any other questions about translations or need clarification on specific strings, please don't hesitate to reach out. We're here to help!
It is important to give credit where credit is due. Contributors to Blankie may be credited on the Credits page of the Blankie website and on the app's About screen. If you would prefer not to be credited, please let us know in your pull request.
Blankie has a few core GitHub documentation pages that you can contribute to:
If you see a typo, error, or something that could be improved, feel free to submit a pull request with your changes. Also, if you have ideas for new documentation or sections, please open an issue to discuss your idea.
The rest of Blankie's documentation is made available via the Blankie website. The Blankie website code is located in the /docs
directory. For technical details, and development setup, please refer to the website's README.
Before opening a pull request related to the website, please:
npx astro build && npx astro preview
from the /docs
directory and then running Lighthouse tests in Chrome DevToolsThe website serves as the main documentation hub for Blankie users, so clarity, accessibility, and performance are crucial. If you're unsure about any aspect of website development, feel free to open an issue for discussion.
At this time, we're not seeking new sound contributions to Blankie. However, if you have suggestions for sound effects, you are welcomed to post in the "What Sounds Would You Add to Blankie?" discussion thread.
There are undoubtedly other ways to contribute to Blankie that aren't covered above. If you have an idea for a new way to contribute, please open an issue to discuss it!
Blankie respects the rights of creators and the open source community, and we expect the same from our contributors. By contributing to Blankie, you agree that any contributions will be licensed under the same terms as Blankie itself. You also confirm that you have the right to license any code, content, or other materials you contribute. Contributors are expected to follow Blankie's License and Code of Conduct. Any contributions that violate these terms are subject to removal.
If you're unsure about the licensability of content you wish to contribute, please ask before submitting a PR. This includes:
As part of the open source community, we take licensing and attribution seriously. Proper licensing ensures that Blankie remains free and open while respecting the work of others.