forked from fedi/mastodon
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