Coverage for app/venv/lib/python3.14/site-packages/weblate/lang/migrations/0001_squashed_weblate_5.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 07:15 +0000

1# Copyright © Michal Čihař <michal@weblate.org> 

2# 

3# SPDX-License-Identifier: GPL-3.0-or-later 

4 

5# Generated by Django 4.2.5 on 2023-09-18 08:18 

6 

7import django.db.models.deletion 

8from django.db import migrations, models 

9 

10import weblate.lang.models 

11import weblate.utils.validators 

12 

13 

14class Migration(migrations.Migration): 

15 replaces = [ 

16 ("lang", "0001_squashed_0008_auto_20200408_0436"), 

17 ("lang", "0009_auto_20200521_0753"), 

18 ("lang", "0010_auto_20200627_0508"), 

19 ("lang", "0011_alter_plural_source"), 

20 ("lang", "0012_alter_plural_type"), 

21 ("lang", "0013_alter_plural_formula"), 

22 ("lang", "0014_language_population"), 

23 ("lang", "0015_population"), 

24 ("lang", "0016_alter_plural_source"), 

25 ("lang", "0017_alter_plural_type"), 

26 ("lang", "0018_alter_plural_type"), 

27 ("lang", "0019_alter_plural_type"), 

28 ("lang", "0020_alter_plural_source"), 

29 ] 

30 

31 initial = True 

32 

33 dependencies = [] 

34 

35 operations = [ 

36 migrations.CreateModel( 

37 name="Language", 

38 fields=[ 

39 ( 

40 "id", 

41 models.AutoField( 

42 auto_created=True, 

43 primary_key=True, 

44 serialize=False, 

45 verbose_name="ID", 

46 ), 

47 ), 

48 ("code", models.SlugField(unique=True, verbose_name="Language code")), 

49 ( 

50 "name", 

51 models.CharField(max_length=100, verbose_name="Language name"), 

52 ), 

53 ( 

54 "direction", 

55 models.CharField( 

56 choices=[ 

57 ("", ""), 

58 ("ltr", "Left to right"), 

59 ("rtl", "Right to left"), 

60 ], 

61 default="", 

62 max_length=3, 

63 verbose_name="Text direction", 

64 ), 

65 ), 

66 ( 

67 "population", 

68 models.BigIntegerField( 

69 default=0, 

70 help_text="Number of people speaking this language.", 

71 verbose_name="Number of speakers", 

72 ), 

73 ), 

74 ], 

75 options={ 

76 "verbose_name": "Language", 

77 "verbose_name_plural": "Languages", 

78 "base_manager_name": "objects", 

79 }, 

80 managers=[ 

81 ("objects", weblate.lang.models.LanguageManager()), 

82 ], 

83 ), 

84 migrations.CreateModel( 

85 name="Plural", 

86 fields=[ 

87 ( 

88 "id", 

89 models.AutoField( 

90 auto_created=True, 

91 primary_key=True, 

92 serialize=False, 

93 verbose_name="ID", 

94 ), 

95 ), 

96 ( 

97 "source", 

98 models.SmallIntegerField( 

99 choices=[ 

100 (0, "Default plural"), 

101 (1, "gettext plural formula"), 

102 (3, "CLDR plural with zero"), 

103 (4, "CLDR v38+ plural"), 

104 (5, "Android plural"), 

105 (2, "Manually entered formula"), 

106 ], 

107 default=0, 

108 verbose_name="Plural definition source", 

109 ), 

110 ), 

111 ( 

112 "number", 

113 models.SmallIntegerField( 

114 default=2, verbose_name="Number of plurals" 

115 ), 

116 ), 

117 ( 

118 "formula", 

119 models.TextField( 

120 default="n != 1", 

121 validators=[weblate.utils.validators.validate_plural_formula], 

122 verbose_name="Plural formula", 

123 ), 

124 ), 

125 ( 

126 "type", 

127 models.IntegerField( 

128 choices=[ 

129 (0, "None"), 

130 (1, "One/other"), 

131 (2, "One/few/other"), 

132 (3, "Arabic languages"), 

133 (11, "Zero/one/other"), 

134 (4, "One/two/other"), 

135 (14, "One/other/two"), 

136 (6, "One/two/few/other"), 

137 (13, "Other/one/two/few"), 

138 (5, "One/two/three/other"), 

139 (7, "One/other/zero"), 

140 (8, "One/few/many/other"), 

141 (9, "Two/other"), 

142 (10, "One/two/few/many/other"), 

143 (12, "Zero/one/two/few/many/other"), 

144 (15, "Zero/other"), 

145 (16, "Zero/one/few/other"), 

146 (17, "Zero/one/two/few/other"), 

147 (18, "Zero/one/two/other"), 

148 (19, "Zero/one/few/many/other"), 

149 (20, "One/many/other"), 

150 (21, "Zero/one/many/other"), 

151 (22, "One/few/many"), 

152 (666, "Unknown"), 

153 ], 

154 default=666, 

155 editable=False, 

156 verbose_name="Plural type", 

157 ), 

158 ), 

159 ( 

160 "language", 

161 models.ForeignKey( 

162 on_delete=django.db.models.deletion.CASCADE, to="lang.language" 

163 ), 

164 ), 

165 ], 

166 options={ 

167 "verbose_name": "Plural form", 

168 "verbose_name_plural": "Plural forms", 

169 }, 

170 ), 

171 ]