feat: add Japanese (日本語) translation support thanks to @yoshida-uji and update credits

fix: correct spelling in FAQ and update language availability in documentation

Co-authored-by: yoshida-ujji <yoshida-uji@users.noreply.github.com>
This commit is contained in:
Cody Bromley
2025-05-30 22:54:15 -05:00
parent 4e709215b5
commit 1df3180360
8 changed files with 613 additions and 6 deletions
+2
View File
@@ -40,6 +40,8 @@
"xcconfig", "xcconfig",
"xcstrings", "xcstrings",
"yournamehere", "yournamehere",
"yoshida",
"日本語",
"简体中文" "简体中文"
], ],
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
+1
View File
@@ -239,6 +239,7 @@
tr, tr,
it, it,
"pt-PT", "pt-PT",
ja,
); );
mainGroup = F91350562D233A43003C85BE; mainGroup = F91350562D233A43003C85BE;
minimizedProjectReferenceProxies = 1; minimizedProjectReferenceProxies = 1;
File diff suppressed because it is too large Load Diff
+5 -2
View File
@@ -11,11 +11,14 @@
"Italiano": [ "Italiano": [
"davnr" "davnr"
], ],
"Português": [
"Júlio Coelho"
],
"Türkçe": [ "Türkçe": [
"aybarsnazlica" "aybarsnazlica"
], ],
"Português": [ "日本語": [
"Júlio Coelho" "yoshida-uji"
], ],
"简体中文": [ "简体中文": [
"kur1k0" "kur1k0"
+13
View File
@@ -7,8 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [1.0.11] - 2025-05-30
### Added
- Japanese (日本語) translation support - thanks to **yoshida-uji**
### Changed
- Improved some German (Deutsch) translations
## [1.0.10] - 2025-05-29 ## [1.0.10] - 2025-05-29
### Added
- Portuguese (Português, pt-PT) translation support - thanks to **Júlio Coelho** - Portuguese (Português, pt-PT) translation support - thanks to **Júlio Coelho**
## [1.0.9] - 2025-05-27 ## [1.0.9] - 2025-05-27
@@ -164,6 +176,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- TestFlight availability - TestFlight availability
[Unreleased]: https://github.com/codybrom/blankie/compare/v1.0.10...HEAD [Unreleased]: https://github.com/codybrom/blankie/compare/v1.0.10...HEAD
[1.0.11]: https://github.com/codybrom/blankie/compare/v1.0.10...v1.0.11
[1.0.10]: https://github.com/codybrom/blankie/compare/v1.0.9...v1.0.10 [1.0.10]: https://github.com/codybrom/blankie/compare/v1.0.9...v1.0.10
[1.0.9]: https://github.com/codybrom/blankie/compare/v1.0.8...v1.0.9 [1.0.9]: https://github.com/codybrom/blankie/compare/v1.0.8...v1.0.9
[1.0.8]: https://github.com/codybrom/blankie/compare/v1.0.7...v1.0.8 [1.0.8]: https://github.com/codybrom/blankie/compare/v1.0.7...v1.0.8
+48 -1
View File
@@ -114,9 +114,56 @@ You can submit translations in three ways:
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! 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!
### Adding Support for New Languages (Technical Guide)
When adding support for a new language to Blankie, you need to update several files across the codebase. This guide outlines all the locations that must be modified:
#### Necessary File Updates (Roughly in order of importance)
1. **`Blankie/Localizable.xcstrings`**
* This is the main translation file containing all localized strings
* Add your new language code as a new localization
* Use the `blanki18n` tool to import translations from a JSON or CSV file
2. **`Blankie.xcodeproj/project.pbxproj`**
* Add the language to the project's known regions
* **Important**: Regional language codes (e.g., `en-GB`, `zh-Hans`) must be wrapped in quotes
* Standard language codes (e.g., `es`, `fr`) don't need quotes
3. **`FAQ.md`**
* Add the language with its language code to the available languages list
* Format: `Language Name (language-code)`
4. **`Blankie/credits.json`**
* Add translator credits if provided
* Include translator name and optional link
5. **`CHANGELOG.md`**
* Document the addition of the new language in the appropriate version section
* Format: `- Added [Language] translation support thanks to [Contributor Name]`
6. **`docs/src/utils/i18n-helpers.ts`**
* Only update if adding a regional language code (e.g., `en-GB`, `zh-Hans`)
* Add the regional code mapping to ensure proper handling
7. **`docs/src/pages/index.astro`**
* Update the header language list (temporary location) to showcase support for the new language
8. **`.vscode/settings.json`** (for cspell)
* Add the native language name and contributor to the words list to prevent them from being flagged as typos
#### Testing Your Changes
After updating all the files:
1. Build the project in Xcode to ensure all language files are properly recognized
2. If the language is different from your system langauge, you can change your system language, switch to the new language in Blankie's Preferences or create a new scheme in Xcode to verify the app displays correctly
3. Check that the translation status page reflects the new language
4. Verify all credits appear correctly on the About screen
## Credit and Attribution ## Credit and Attribution
It is important to give credit where credit is due. Contributors to Blankie may be credited on the [Credits](https://blankie.rest/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. It is important to give credit where credit is due. Contributors to Blankie may be credited on the [Credits](https://blankie.rest/credits) page of the Blankie website and on the app's About screen. Credits for the app and website are controlled by `Blankie/credits.json`. If you would prefer not to be credited, please let us know in your pull request.
## Documentation and Website Contributions ## Documentation and Website Contributions
+2 -1
View File
@@ -49,7 +49,7 @@ _**Why does this matter if you're not a programmer?**_
Even if you don't write code, Blankie being open source benefits you in several important ways: Even if you don't write code, Blankie being open source benefits you in several important ways:
- **Transparency:** You can trust Blankie because nothing is hidden. Anyone can verify exactly how it works, what data it collects (or doesn't collect), and help identify and fix problems. Blankie can also be downloaded for use seperate of the Mac App Store in an official version that is still scanned and signed by Apple to safely run as a trusted app. - **Transparency:** You can trust Blankie because nothing is hidden. Anyone can verify exactly how it works, what data it collects (or doesn't collect), and help identify and fix problems. Blankie can also be downloaded for use separate of the Mac App Store in an official version that is still scanned and signed by Apple to safely run as a trusted app.
- **Community:** Blankie exists thanks to a collaborative ecosystem. From sounds, to icons, to developer resources and inspirations, Blankie builds upon contributions from creators around the world who've shared their work openly. By also being open source, Blankie honors this tradition and ensures it can continue to evolve even if the original developer moves on. - **Community:** Blankie exists thanks to a collaborative ecosystem. From sounds, to icons, to developer resources and inspirations, Blankie builds upon contributions from creators around the world who've shared their work openly. By also being open source, Blankie honors this tradition and ensures it can continue to evolve even if the original developer moves on.
@@ -66,6 +66,7 @@ Blankie is currently available in the following languages:
- Español (es) - Español (es)
- Français (fr) - Français (fr)
- Italiano (it) - Italiano (it)
- 日本語 (ja)
- Português (pt-PT) - Português (pt-PT)
- Türkçe (tr) - Türkçe (tr)
- 简体中文 (zh-Hans) - 简体中文 (zh-Hans)
+2 -2
View File
@@ -37,8 +37,8 @@ const title = "Ambient sound mixer for macOS";
class="text-base mt-6 flex items-center justify-center gap-2 bg-blue-900/10 rounded px-3 py-1 mx-auto w-fit border border-blue-300 border-opacity-20 font-normal tracking-wide" class="text-base mt-6 flex items-center justify-center gap-2 bg-blue-900/10 rounded px-3 py-1 mx-auto w-fit border border-blue-300 border-opacity-20 font-normal tracking-wide"
aria-label="Multiple language support announcement" aria-label="Multiple language support announcement"
> >
🌍 Now available in Deutsch, Español, Français, Italiano, Português, 🌍 Now available in Deutsch, Español, Français, Italiano, 日本語,
Türkçe and 简体中文! Português, Türkçe and 简体中文!
</p> </p>
<h1 <h1