Skip to content

Commit 4dff0fd

Browse files
committed
Add translation guidelines for documentation and refine test terminology
1 parent de662f5 commit 4dff0fd

File tree

2 files changed

+59
-8
lines changed

2 files changed

+59
-8
lines changed

CLAUDE.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Гайдлайн по переводу документации
2+
3+
## Основные принципы
4+
5+
1. **Естественность важнее дословности**
6+
- Перевод должен звучать так, как говорят русские разработчики
7+
- Избегать кальки с английского, если это звучит неестественно
8+
9+
2. **Сохранять технические термины**
10+
- Не переводить названия классов, методов, атрибутов, пакетов
11+
- Оставлять код примеры без изменений
12+
13+
## Терминология
14+
15+
### Устоявшиеся термины
16+
17+
| Английский | ❌ Неправильно | ✅ Правильно |
18+
|------------|----------------|--------------|
19+
| test case | тестовый случай | тест, тест-кейс |
20+
| data provider | поставщик данных | провайдер данных |
21+
| dataset || датасет / набор данных (оба допустимы) |
22+
| callable | вызываемый | вызываемый объект (в контексте) |
23+
| closure | закрытие | замыкание |
24+
25+
### Специфичные фразы
26+
27+
| Английский | ❌ Неправильно | ✅ Правильно |
28+
|------------|----------------|--------------|
29+
| Simple as that | Просто как это | Вот так просто |
30+
| right on the method | прямо на методе | непосредственно над методом |
31+
32+
## Стилистика
33+
34+
1. **Избегать канцеляризмов**
35+
- Вместо "тестовый случай" → "тест"
36+
- Вместо "осуществить проверку" → "проверить"
37+
38+
2. **Сохранять тон оригинала**
39+
- Если оригинал неформальный и дружелюбный — перевод тоже
40+
- Технические термины оставлять точными
41+
42+
3. **Порядок слов**
43+
- Использовать естественный русский порядок слов
44+
- Не копировать английскую структуру предложения
45+
46+
## Проверка качества
47+
48+
Перед финализацией перевода задать вопросы:
49+
- Так ли говорят русские разработчики?
50+
- Звучит ли фраза естественно при чтении вслух?
51+
- Сохранен ли технический смысл оригинала?

ru/docs/sample-module.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
В настоящее время включает:
66
- **DataProvider** — для динамических, сложных наборов данных
7-
- **TestInline** — для простых, статических тестовых случаев прямо на методе
7+
- **TestInline** — для простых, статических тестов прямо на методе
88

99
## Провайдер данных
1010

@@ -62,7 +62,7 @@ public function testAddition(int $a, int $b, int $expected): void { ... }
6262
public function testUser($data): void { ... }
6363
```
6464

65-
Вызываемые объекты особенно полезны для разделения логики загрузки данных. Например, загрузка тестовых случаев из JSON/CSV файлов в выделенный класс позволяет сохранить код тестов чистым.
65+
Вызываемые объекты особенно полезны для разделения логики загрузки данных. Например, загрузка тестов из JSON/CSV файлов в выделенный класс позволяет сохранить код тестов чистым.
6666

6767
### Метки и описания
6868

@@ -80,16 +80,16 @@ public function userDataProvider(): array
8080
```
8181

8282
Используйте `DataProvider`, когда:
83-
- У вас много тестовых случаев (10+)
83+
- У вас много тестов (10+)
8484
- Данные генерируются динамически или загружаются из внешних файлов
85-
- Тестовым случаям нужны метки или описания для ясности
85+
- Тестам нужны метки или описания для ясности
8686
- Требуется сложная логика настройки для тестовых данных
8787

8888
**Примечание:** `DataProvider` является дополнением к обычным тестам (методам, помеченным `#[Test]`). Он предоставляет данные существующим тестовым методам.
8989

9090
## Встроенные тесты
9191

92-
`TestInline` использует другой подход — он объявляет тестовые случаи как атрибуты непосредственно на тестируемом методе, без необходимости отдельного тестового класса.
92+
`TestInline` использует другой подход — он объявляет тесты как атрибуты непосредственно на тестируемом методе, без необходимости отдельного тестового класса.
9393

9494
Это может быть полезно для простых чистых функций, где отдельный тестовый файл был бы избыточным. Также хорошо работает для тестирования приватных вспомогательных методов — вы можете тестировать их напрямую без изменения видимости. При прототипировании `TestInline` дает вам немедленную валидацию без переключения контекста на тестовый файл.
9595

@@ -100,7 +100,7 @@ public function userDataProvider(): array
100100
TestInline(array $arguments, mixed $result = null)
101101
```
102102

103-
Объявите тестовые случаи прямо на методе:
103+
Объявите тесты непосредственно над методом:
104104

105105
```php
106106
use Testo\Sample\TestInline;
@@ -114,9 +114,9 @@ public function sum(int $a, int $b): int
114114
}
115115
```
116116

117-
Каждый атрибут `TestInline` запускает метод с заданными аргументами и проверяет результат. Просто как это.
117+
Каждый атрибут `TestInline` запускает метод с заданными аргументами и проверяет результат. Вот так просто.
118118

119-
`TestInline` работает лучше всего с 2-10 статическими тестовыми случаями, где ожидаемое поведение очевидно из пар входных/выходных данных. Для больших наборов тестов или случаев, требующих пояснений, рассмотрите написание отдельного теста в директории `tests/` с использованием `DataProvider`.
119+
`TestInline` работает лучше всего с 2-10 статическими тестами, где ожидаемое поведение очевидно из пар входных/выходных данных. Для больших наборов тестов или случаев, требующих пояснений, рассмотрите написание отдельного теста в директории `tests/` с использованием `DataProvider`.
120120

121121
### Тестирование приватных методов
122122

0 commit comments

Comments
 (0)