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:
Eugen Rochko 2018-10-25 00:09:45 +02:00 committed by GitHub
parent d723f2a0a8
commit df3a7e724d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 32 additions and 50 deletions

View file

@ -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

View file

@ -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'

View file

@ -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)

View file

@ -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} حرف المسموح بها

View file

@ -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} مِن القيام بالإحتفاظ :"