mirror of
				https://github.com/lunaisnotaboy/mastodon.git
				synced 2025-10-30 19:45:49 +00:00 
			
		
		
		
	Fix missing plural keys (#9084)
* Update i18n-tasks to feature-missing-plural-keys * Fix pluralizations with missing keys in Arabic Fix #8554 * Add i18n-tasks missing-plural-keys to CircleCI
This commit is contained in:
		
							parent
							
								
									d723f2a0a8
								
							
						
					
					
						commit
						df3a7e724d
					
				|  | @ -175,6 +175,7 @@ jobs: | ||||||
|       - *attach_workspace |       - *attach_workspace | ||||||
|       - run: bundle exec i18n-tasks check-normalized |       - run: bundle exec i18n-tasks check-normalized | ||||||
|       - run: bundle exec i18n-tasks unused |       - run: bundle exec i18n-tasks unused | ||||||
|  |       - run: bundle exec i18n-tasks missing-plural-keys | ||||||
| 
 | 
 | ||||||
| workflows: | workflows: | ||||||
|   version: 2 |   version: 2 | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							|  | @ -95,7 +95,7 @@ gem 'rdf-normalize', '~> 0.3' | ||||||
| group :development, :test do | group :development, :test do | ||||||
|   gem 'fabrication', '~> 2.20' |   gem 'fabrication', '~> 2.20' | ||||||
|   gem 'fuubar', '~> 2.3' |   gem 'fuubar', '~> 2.3' | ||||||
|   gem 'i18n-tasks', '~> 0.9', require: false |   gem 'i18n-tasks', '~> 0.9', require: false, git: 'https://github.com/Gargron/i18n-tasks.git', ref: '7a57fbe7000f4f8120e250a757ab345c28c6885c' | ||||||
|   gem 'pry-byebug', '~> 3.6' |   gem 'pry-byebug', '~> 3.6' | ||||||
|   gem 'pry-rails', '~> 0.3' |   gem 'pry-rails', '~> 0.3' | ||||||
|   gem 'rspec-rails', '~> 3.8' |   gem 'rspec-rails', '~> 3.8' | ||||||
|  |  | ||||||
							
								
								
									
										27
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								Gemfile.lock
									
									
									
									
									
								
							|  | @ -1,3 +1,19 @@ | ||||||
|  | GIT | ||||||
|  |   remote: https://github.com/Gargron/i18n-tasks.git | ||||||
|  |   revision: 7a57fbe7000f4f8120e250a757ab345c28c6885c | ||||||
|  |   ref: 7a57fbe7000f4f8120e250a757ab345c28c6885c | ||||||
|  |   specs: | ||||||
|  |     i18n-tasks (0.9.27) | ||||||
|  |       activesupport (>= 4.0.2) | ||||||
|  |       ast (>= 2.1.0) | ||||||
|  |       erubi | ||||||
|  |       highline (>= 2.0.0) | ||||||
|  |       i18n | ||||||
|  |       parser (>= 2.2.3.0) | ||||||
|  |       rails-i18n | ||||||
|  |       rainbow (>= 2.2.2, < 4.0) | ||||||
|  |       terminal-table (>= 1.5.1) | ||||||
|  | 
 | ||||||
| GIT | GIT | ||||||
|   remote: https://github.com/rtomayko/posix-spawn |   remote: https://github.com/rtomayko/posix-spawn | ||||||
|   revision: 58465d2e213991f8afb13b984854a49fcdcc980c |   revision: 58465d2e213991f8afb13b984854a49fcdcc980c | ||||||
|  | @ -272,15 +288,6 @@ GEM | ||||||
|       rainbow (>= 2.0.0) |       rainbow (>= 2.0.0) | ||||||
|     i18n (1.1.1) |     i18n (1.1.1) | ||||||
|       concurrent-ruby (~> 1.0) |       concurrent-ruby (~> 1.0) | ||||||
|     i18n-tasks (0.9.27) |  | ||||||
|       activesupport (>= 4.0.2) |  | ||||||
|       ast (>= 2.1.0) |  | ||||||
|       erubi |  | ||||||
|       highline (>= 2.0.0) |  | ||||||
|       i18n |  | ||||||
|       parser (>= 2.2.3.0) |  | ||||||
|       rainbow (>= 2.2.2, < 4.0) |  | ||||||
|       terminal-table (>= 1.5.1) |  | ||||||
|     idn-ruby (0.1.0) |     idn-ruby (0.1.0) | ||||||
|     ipaddress (0.8.3) |     ipaddress (0.8.3) | ||||||
|     iso-639 (0.2.8) |     iso-639 (0.2.8) | ||||||
|  | @ -691,7 +698,7 @@ DEPENDENCIES | ||||||
|   http_accept_language (~> 2.1) |   http_accept_language (~> 2.1) | ||||||
|   http_parser.rb (~> 0.6)! |   http_parser.rb (~> 0.6)! | ||||||
|   httplog (~> 1.1) |   httplog (~> 1.1) | ||||||
|   i18n-tasks (~> 0.9) |   i18n-tasks (~> 0.9)! | ||||||
|   idn-ruby |   idn-ruby | ||||||
|   iso-639 |   iso-639 | ||||||
|   json-ld (~> 2.2) |   json-ld (~> 2.2) | ||||||
|  |  | ||||||
|  | @ -30,22 +30,16 @@ ar: | ||||||
|     other_instances: خوادم أخرى |     other_instances: خوادم أخرى | ||||||
|     privacy_policy: سياسة الخصوصية |     privacy_policy: سياسة الخصوصية | ||||||
|     source_code: الشفرة المصدرية |     source_code: الشفرة المصدرية | ||||||
|     status_count_after: |     status_count_after: منشورات | ||||||
|       one: منشور |  | ||||||
|       other: منشورات |  | ||||||
|     status_count_before: نشروا |     status_count_before: نشروا | ||||||
|     terms: شروط الخدمة |     terms: شروط الخدمة | ||||||
|     user_count_after: |     user_count_after: مستخدِمين | ||||||
|       one: مستخدِم |  | ||||||
|       other: مستخدِمين |  | ||||||
|     user_count_before: يستضيف |     user_count_before: يستضيف | ||||||
|     what_is_mastodon: ما هو ماستدون ؟ |     what_is_mastodon: ما هو ماستدون ؟ | ||||||
|   accounts: |   accounts: | ||||||
|     choices_html: 'توصيات %{name} :' |     choices_html: 'توصيات %{name} :' | ||||||
|     follow: إتبع |     follow: إتبع | ||||||
|     followers: |     followers: مُتابِعون | ||||||
|       one: مُتابِع |  | ||||||
|       other: مُتابِعون |  | ||||||
|     following: مُتابَع |     following: مُتابَع | ||||||
|     joined: انضم·ت في %{date} |     joined: انضم·ت في %{date} | ||||||
|     link_verified_on: تم التحقق مِن مالك هذا الرابط بتاريخ %{date} |     link_verified_on: تم التحقق مِن مالك هذا الرابط بتاريخ %{date} | ||||||
|  | @ -57,9 +51,7 @@ ar: | ||||||
|     people_who_follow: الأشخاص الذين يتبعون %{name} |     people_who_follow: الأشخاص الذين يتبعون %{name} | ||||||
|     pin_errors: |     pin_errors: | ||||||
|       following: يجب أن تكون مِن متابعي حساب الشخص الذي تريد إبرازه |       following: يجب أن تكون مِن متابعي حساب الشخص الذي تريد إبرازه | ||||||
|     posts: |     posts: تبويقات | ||||||
|       one: تبويق |  | ||||||
|       other: تبويقات |  | ||||||
|     posts_tab_heading: تبويقات |     posts_tab_heading: تبويقات | ||||||
|     posts_with_replies: التبويقات و الردود |     posts_with_replies: التبويقات و الردود | ||||||
|     reserved_username: إسم المستخدم محجوز |     reserved_username: إسم المستخدم محجوز | ||||||
|  | @ -268,9 +260,7 @@ ar: | ||||||
|         suspend: تعليق |         suspend: تعليق | ||||||
|       severity: الشدة |       severity: الشدة | ||||||
|       show: |       show: | ||||||
|         affected_accounts: |         affected_accounts: "%{count} حسابات معنية في قاعدة البيانات" | ||||||
|           one: حساب واحد معني في قاعدة البيانات |  | ||||||
|           other: "%{count} حسابات معنية في قاعدة البيانات" |  | ||||||
|         retroactive: |         retroactive: | ||||||
|           silence: إلغاء الكتم عن كافة الحسابات المتواجدة على هذا النطاق |           silence: إلغاء الكتم عن كافة الحسابات المتواجدة على هذا النطاق | ||||||
|           suspend: إلغاء التعليق المفروض على كافة حسابات هذا النطاق |           suspend: إلغاء التعليق المفروض على كافة حسابات هذا النطاق | ||||||
|  | @ -570,9 +560,7 @@ ar: | ||||||
|   generic: |   generic: | ||||||
|     changes_saved_msg: تم حفظ التعديلات بنجاح ! |     changes_saved_msg: تم حفظ التعديلات بنجاح ! | ||||||
|     save_changes: حفظ التغييرات |     save_changes: حفظ التغييرات | ||||||
|     validation_errors: |     validation_errors: هناك شيء ليس على ما يُرام! يُرجى معاينة الأخطاء الـ %{count} التالية | ||||||
|       one: هناك شيء ما لا يبدو أنه على ما يُرام بعدُ. يُرجى الإطلاع على الخطأ أدناه |  | ||||||
|       other: هناك شيء ليس على ما يُرام! يُرجى معاينة الأخطاء الـ %{count} التالية |  | ||||||
|   imports: |   imports: | ||||||
|     preface: بإمكانك استيراد بيانات قد قُمتَ بتصديرها مِن مثيل خادوم آخَر، كقوائم المستخدِمين الذين كنتَ تتابِعهم أو قُمتَ بحظرهم. |     preface: بإمكانك استيراد بيانات قد قُمتَ بتصديرها مِن مثيل خادوم آخَر، كقوائم المستخدِمين الذين كنتَ تتابِعهم أو قُمتَ بحظرهم. | ||||||
|     success: تم تحميل بياناتك بنجاح وسيتم معالجتها في الوقت المناسب |     success: تم تحميل بياناتك بنجاح وسيتم معالجتها في الوقت المناسب | ||||||
|  | @ -595,9 +583,7 @@ ar: | ||||||
|     expires_in_prompt: أبدا |     expires_in_prompt: أبدا | ||||||
|     generate: توليد |     generate: توليد | ||||||
|     invited_by: 'تمت دعوتك من طرف :' |     invited_by: 'تمت دعوتك من طرف :' | ||||||
|     max_uses: |     max_uses: "%{count} استخدامات" | ||||||
|       one: استعمال واحد |  | ||||||
|       other: "%{count} استخدامات" |  | ||||||
|     max_uses_prompt: بلا حدود |     max_uses_prompt: بلا حدود | ||||||
|     prompt: توليد و مشاركة روابط للسماح للآخَرين بالنفاذ إلى مثيل الخادوم هذا |     prompt: توليد و مشاركة روابط للسماح للآخَرين بالنفاذ إلى مثيل الخادوم هذا | ||||||
|     table: |     table: | ||||||
|  | @ -623,12 +609,8 @@ ar: | ||||||
|       action: معاينة كافة الإشعارات |       action: معاينة كافة الإشعارات | ||||||
|       body: هذا هو مُلَخَّص الرسائل التي فاتتك وذلك منذ آخر زيارة لك في  %{since} |       body: هذا هو مُلَخَّص الرسائل التي فاتتك وذلك منذ آخر زيارة لك في  %{since} | ||||||
|       mention: "%{name} أشار إليك في :" |       mention: "%{name} أشار إليك في :" | ||||||
|       new_followers_summary: |       new_followers_summary: رائع، لقد قام بمتابعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون ! | ||||||
|         one: و لقد تحصّلت أيضا على متابِع جديد أثناء فترة غيابك! يا للروعة! |       subject: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" | ||||||
|         other: رائع، لقد قام بمتابعتك %{count} مُتابِعون جُدد أثناء فترة غيابك عن ماستدون ! |  | ||||||
|       subject: |  | ||||||
|         one: "إشعار جديد واحد منذ آخر زيارة لك لـ \U0001F418" |  | ||||||
|         other: "%{count} إشعارات جديدة منذ آخر زيارة لك إلى \U0001F418" |  | ||||||
|       title: أثناء فترة غيابك … |       title: أثناء فترة غيابك … | ||||||
|     favourite: |     favourite: | ||||||
|       body: 'أُعجب %{name} بمنشورك :' |       body: 'أُعجب %{name} بمنشورك :' | ||||||
|  | @ -746,17 +728,11 @@ ar: | ||||||
|   statuses: |   statuses: | ||||||
|     attached: |     attached: | ||||||
|       description: 'مُرفَق : %{attached}' |       description: 'مُرفَق : %{attached}' | ||||||
|       image: |       image: "%{count} صُوَر" | ||||||
|         one: "%{count} صورة" |       video: "%{count} فيديوهات" | ||||||
|         other: "%{count} صُوَر" |  | ||||||
|       video: |  | ||||||
|         one: "%{count} فيديو" |  | ||||||
|         other: "%{count} فيديوهات" |  | ||||||
|     boosted_from_html: تم إعادة ترقيته مِن %{acct_link} |     boosted_from_html: تم إعادة ترقيته مِن %{acct_link} | ||||||
|     content_warning: 'تحذير عن المحتوى : %{warning}' |     content_warning: 'تحذير عن المحتوى : %{warning}' | ||||||
|     disallowed_hashtags: |     disallowed_hashtags: 'يحتوي على أحد الوسوم الممنوعة: %{tags}' | ||||||
|       one: 'يحتوي على وسم ممنوع:  %{tags}' |  | ||||||
|       other: 'يحتوي على أحد الوسوم الممنوعة: %{tags}' |  | ||||||
|     language_detection: اكتشاف اللغة تلقائيا |     language_detection: اكتشاف اللغة تلقائيا | ||||||
|     open_in_web: إفتح في الويب |     open_in_web: إفتح في الويب | ||||||
|     over_character_limit: تم تجاوز حد الـ %{max} حرف المسموح بها |     over_character_limit: تم تجاوز حد الـ %{max} حرف المسموح بها | ||||||
|  |  | ||||||
|  | @ -77,6 +77,4 @@ ar: | ||||||
|       expired: إنتهت مدة صلاحيته، الرجاء طلب واحد جديد |       expired: إنتهت مدة صلاحيته، الرجاء طلب واحد جديد | ||||||
|       not_found: لا يوجد |       not_found: لا يوجد | ||||||
|       not_locked: ليس مقفلاً |       not_locked: ليس مقفلاً | ||||||
|       not_saved: |       not_saved: "%{count} أخطاء منعت %{resource} مِن القيام بالإحتفاظ :" | ||||||
|         one: 'خطأ واحد منَعَ %{resource} مِن القيام بالإحتفاظ :' |  | ||||||
|         other: "%{count} أخطاء منعت %{resource} مِن القيام بالإحتفاظ :" |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue