Skip to content

Commit 80f2eff

Browse files
committed
Add English version of README
- Created README_EN.md with complete English translation - Maintained same structure and content as Chinese version - Includes all 22 supported languages with proper descriptions - Added technical architecture and development guidelines - Provides comprehensive usage instructions in English
1 parent 556369b commit 80f2eff

File tree

1 file changed

+215
-0
lines changed

1 file changed

+215
-0
lines changed

README_EN.md

Lines changed: 215 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,215 @@
1+
# Hash
2+
3+
A concise and efficient macOS hash calculation tool that supports multiple hash algorithms and batch file processing.
4+
5+
## Features
6+
7+
- 🔐 **Multiple Hash Algorithm Support**: MD5, SHA-1, CRC32
8+
- 📁 **Batch File Processing**: Calculate hash values for multiple files simultaneously
9+
- 🎯 **Drag & Drop Operation**: Simply drag files to the application window to start calculation
10+
- 📋 **One-Click Copy**: Click to copy hash values to clipboard
11+
- 📊 **File Information Display**: Shows file size, version info, modification date, etc.
12+
- 🌍 **Multilingual Support**: Supports 22 languages including Chinese, English, Japanese, Korean, German, French, Spanish, Russian, Arabic, etc.
13+
- 🎨 **Modern Interface**: Native macOS app built with SwiftUI
14+
-**High Performance Computing**: Asynchronous processing with support for large files
15+
16+
## Screenshots
17+
18+
![Hash Application Interface](Screenshots/hash.png)
19+
20+
*Main interface of the Hash application, showcasing file selection, hash calculation, and result display features*
21+
22+
## System Requirements
23+
24+
- macOS 11.0 or later
25+
- Xcode 13.0 or later (for development)
26+
27+
## Installation
28+
29+
### Build from Source
30+
31+
1. Clone the repository:
32+
```bash
33+
git clone https://github.com/iOSDevLog/Hash
34+
cd Hash
35+
```
36+
37+
2. Open the project with Xcode:
38+
```bash
39+
open Hash.xcodeproj
40+
```
41+
42+
3. Build and run the project in Xcode (⌘+R)
43+
44+
## Usage
45+
46+
### Basic Operations
47+
48+
1. **Launch the Application**: Double-click the app icon or launch from Launchpad
49+
50+
2. **Add Files**:
51+
- Click the "Select Files" button to choose files
52+
- Or drag files directly to the application window
53+
54+
3. **Select Hash Algorithm**:
55+
- Check the desired hash algorithms in the right panel
56+
- Supports MD5, SHA-1, CRC32
57+
58+
4. **Start Calculation**:
59+
- Click the "Start Calculation" button
60+
- Or calculation starts automatically after adding files
61+
62+
5. **Copy Results**:
63+
- Click any hash value to copy to clipboard
64+
- Supports copying individual hash values or all results
65+
66+
### Advanced Features
67+
68+
- **Batch Processing**: Add multiple files for simultaneous batch calculation
69+
- **Progress Display**: Real-time calculation progress display
70+
- **File Management**: Support for clearing individual files or all files
71+
- **Result Export**: Copy all calculation results
72+
73+
## Technical Architecture
74+
75+
### Core Technologies
76+
77+
- **SwiftUI**: Modern user interface framework
78+
- **CryptoKit**: Apple's official cryptographic framework for SHA-1 calculation
79+
- **Foundation**: For MD5 and file operations
80+
- **UniformTypeIdentifiers**: File type identification
81+
82+
### Project Structure
83+
84+
```
85+
Hash/
86+
├── Hash/
87+
│ ├── ContentView.swift # Main interface view
88+
│ ├── HashApp.swift # Application entry point
89+
│ ├── Assets.xcassets/ # Application resources
90+
│ │ └── AppIcon.appiconset/ # Application icon
91+
│ ├── Hash.entitlements # Application permissions
92+
│ └── *.lproj/ # Multilingual localization files
93+
├── HashTests/ # Unit tests
94+
└── HashUITests/ # UI tests
95+
```
96+
97+
### Hash Algorithm Implementation
98+
99+
- **MD5**: Implemented using CommonCrypto framework
100+
- **SHA-1**: Implemented using CryptoKit framework
101+
- **CRC32**: Custom implementation using standard CRC32 polynomial
102+
103+
## Development
104+
105+
### Environment Setup
106+
107+
1. Install Xcode 13.0 or later
108+
2. Ensure macOS version is 11.0 or later
109+
3. Clone the project and open in Xcode
110+
111+
### Build Project
112+
113+
```bash
114+
# Build using Xcode command line tools
115+
xcodebuild -project Hash.xcodeproj -scheme Hash -configuration Debug build
116+
117+
# Or use shortcut ⌘+B in Xcode
118+
```
119+
120+
### Run Tests
121+
122+
```bash
123+
# Run unit tests
124+
xcodebuild test -project Hash.xcodeproj -scheme Hash -destination 'platform=macOS'
125+
126+
# Or use shortcut ⌘+U in Xcode
127+
```
128+
129+
## Localization
130+
131+
The application supports the following 22 languages:
132+
133+
### Asian Languages
134+
- 🇨🇳 中文(简体)(Chinese Simplified)
135+
- 🇹🇼 中文(繁体)(Chinese Traditional)
136+
- 🇯🇵 日本語 (Japanese)
137+
- 🇰🇷 한국어 (Korean)
138+
- 🇹🇭 ไทย (Thai)
139+
- 🇻🇳 Tiếng Việt (Vietnamese)
140+
- 🇮🇳 हिन्दी (Hindi)
141+
- 🇮🇩 Bahasa Indonesia (Indonesian)
142+
- 🇲🇾 Bahasa Melayu (Malay)
143+
144+
### European Languages
145+
- 🇺🇸 English
146+
- 🇩🇪 Deutsch (German)
147+
- 🇫🇷 Français (French)
148+
- 🇪🇸 Español (Spanish)
149+
- 🇮🇹 Italiano (Italian)
150+
- 🇵🇹 Português (Portuguese)
151+
- 🇳🇱 Nederlands (Dutch)
152+
- 🇸🇪 Svenska (Swedish)
153+
- 🇳🇴 Norsk (Norwegian)
154+
- 🇩🇰 Dansk (Danish)
155+
- 🇫🇮 Suomi (Finnish)
156+
- 🇵🇱 Polski (Polish)
157+
- 🇨🇿 Čeština (Czech)
158+
- 🇭🇺 Magyar (Hungarian)
159+
- 🇬🇷 Ελληνικά (Greek)
160+
- 🇹🇷 Türkçe (Turkish)
161+
- 🇺🇦 Українська (Ukrainian)
162+
- 🇷🇴 Română (Romanian)
163+
- 🇧🇬 Български (Bulgarian)
164+
- 🇸🇰 Slovenčina (Slovak)
165+
- 🇸🇮 Slovenščina (Slovenian)
166+
- 🇭🇷 Hrvatski (Croatian)
167+
- 🇷🇸 Српски (Serbian)
168+
- 🇷🇺 Русский (Russian)
169+
170+
### Middle Eastern Languages
171+
- 🇸🇦 العربية (Arabic)
172+
- 🇮🇱 עברית (Hebrew)
173+
174+
### Adding New Languages
175+
176+
1. Select the project in Xcode
177+
2. Add a new language in the "Localizations" section
178+
3. Translate the strings in the `Localizable.strings` file
179+
180+
## Contributing
181+
182+
Issues and Pull Requests are welcome!
183+
184+
### Contribution Guidelines
185+
186+
1. Fork the project
187+
2. Create a feature branch (`git checkout -b feature/AmazingFeature`)
188+
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
189+
4. Push to the branch (`git push origin feature/AmazingFeature`)
190+
5. Create a Pull Request
191+
192+
## License
193+
194+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
195+
196+
## Changelog
197+
198+
### v1.0.0
199+
- ✨ Initial release
200+
- 🔐 Support for MD5, SHA-1, CRC32 hash algorithms
201+
- 📁 Support for batch file processing
202+
- 🎯 Support for drag & drop operations
203+
- 🌍 Support for multilingual interface
204+
- 🎨 Modern SwiftUI interface
205+
206+
## Contact
207+
208+
For questions or suggestions, please contact us through:
209+
210+
- Submit Issues: [GitHub Issues](https://github.com/iOSDevLog/Hash/issues)
211+
- Project Homepage: [GitHub Repository](https://github.com/iOSDevLog/Hash)
212+
213+
---
214+
215+
**Hash** - Making file hash calculation simple and efficient 🚀

0 commit comments

Comments
 (0)