From: Tom Hughes Date: Thu, 11 Oct 2018 17:47:47 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/pull/2018' X-Git-Tag: live~2861 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/1aa63d92bcbcca6edcd66c55a026e0b1e4413603?hp=31c44617660dd6a483f1dbe9d407c6ae9915692a Merge remote-tracking branch 'upstream/pull/2018' --- diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index 4b8a80c54..56c4515d0 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1237,7 +1237,8 @@ tr.turn:hover { margin: $lineheight/2 0; p { - margin-left: 10px; + margin: 10px 6px 0 6px; + line-height: 1.5; } } @@ -1402,9 +1403,9 @@ tr.turn:hover { /* Overrides for pages that use new layout conventions */ -.user-new, -.user-create, -.user-terms { +.users-new, +.users-create, +.users-terms { .content-body .content-inner { padding: 0; @@ -1415,10 +1416,10 @@ tr.turn:hover { } } -.user-new, -.user-create, -.user-terms, -.user-confirm { +.users-new, +.users-create, +.users-terms, +.users-confirm { .content-heading .content-inner { height: 200px; } @@ -1594,7 +1595,7 @@ tr.turn:hover { margin-left: 70px; } -.user-show { +.users-show { // Silly exception; remove when user page is redesigned. .content-inner { max-width: none; @@ -1745,7 +1746,7 @@ tr.turn:hover { /* Rules for the account confirmation page */ -.user-terms { +.users-terms { .legale { border: 1px solid #ccc; padding: $lineheight; diff --git a/app/controllers/browse_controller.rb b/app/controllers/browse_controller.rb index 89b9c6ca3..6eb967568 100644 --- a/app/controllers/browse_controller.rb +++ b/app/controllers/browse_controller.rb @@ -66,7 +66,7 @@ class BrowseController < ApplicationController @node_pages, @nodes = paginate(:old_nodes, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "node_page") @way_pages, @ways = paginate(:old_ways, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "way_page") @relation_pages, @relations = paginate(:old_relations, :conditions => { :changeset_id => @changeset.id }, :per_page => 20, :parameter => "relation_page") - if @changeset.user.data_public? + if @changeset.user.active? && @changeset.user.data_public? @next_by_user = @changeset.user.changesets.where("id > ?", @changeset.id).reorder(:id => :asc).first @prev_by_user = @changeset.user.changesets.where("id < ?", @changeset.id).reorder(:id => :desc).first end diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb index fc7a9e3c7..95566a1a1 100644 --- a/app/controllers/notes_controller.rb +++ b/app/controllers/notes_controller.rb @@ -255,12 +255,47 @@ class NotesController < ApplicationController ## # Return a list of notes matching a given string def search - # Check the arguments are sane - raise OSM::APIBadUserInput, "No query string was given" unless params[:q] - - # Get any conditions that need to be applied + # Get the initial set of notes @notes = closed_condition(Note.all) - @notes = @notes.joins(:comments).where("to_tsvector('english', note_comments.body) @@ plainto_tsquery('english', ?)", params[:q]) + + # Add any user filter + if params[:display_name] || params[:user] + if params[:display_name] + @user = User.find_by(:display_name => params[:display_name]) + + raise OSM::APIBadUserInput, "User #{params[:display_name]} not known" unless @user + else + @user = User.find_by(:id => params[:user]) + + raise OSM::APIBadUserInput, "User #{params[:user]} not known" unless @user + end + + @notes = @notes.joins(:comments).where(:note_comments => { :author_id => @user }) + end + + # Add any text filter + @notes = @notes.joins(:comments).where("to_tsvector('english', note_comments.body) @@ plainto_tsquery('english', ?)", params[:q]) if params[:q] + + # Add any date filter + if params[:from] + begin + from = Time.parse(params[:from]) + rescue ArgumentError + raise OSM::APIBadUserInput, "Date #{params[:from]} is in a wrong format" + end + + begin + to = if params[:to] + Time.parse(params[:to]) + else + Time.now + end + rescue ArgumentError + raise OSM::APIBadUserInput, "Date #{params[:to]} is in a wrong format" + end + + @notes = @notes.where(:created_at => from..to) + end # Find the notes we want to return @notes = @notes.order("updated_at DESC").limit(result_limit).preload(:comments) diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 3dc901bc6..cf946f79a 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -42,40 +42,40 @@ ar: models: acl: لائحة التحكم بالوصول changeset: حزمة التغييرات - changeset_tag: سمة حزمة التغييرات - country: البلد/الدولة + changeset_tag: وسم مجموعة التغييرات + country: البلد diary_comment: تعليق يومية diary_entry: مدخلة يومية friend: صديق language: اللغة message: الرسالة node: عقدة - node_tag: سمة عقدة + node_tag: وسم عقدة notifier: المخطر old_node: عقدة قديمة - old_node_tag: سمة عقدة قديمة + old_node_tag: وسم عقدة قديمة old_relation: علاقة قديمة old_relation_member: عضو علاقة قديم - old_relation_tag: سمة علاقة قديمة - old_way: طريق قديم + old_relation_tag: وسم علاقة قديمة + old_way: طريقةط قديمة old_way_node: عقدة طريق قديمة - old_way_tag: سمة طريق قديمة + old_way_tag: وسم طريق قديم relation: علاقة relation_member: عضو علاقة - relation_tag: سمة علاقة + relation_tag: وسم علاقة session: جلسة trace: أثر tracepoint: نقطة أثر tracetag: سمة الأثر user: المستخدم user_preference: تفضيل المستخدم - user_token: نموذج المستخدم - way: طريق + user_token: رمز المستخدم + way: طريقة way_node: عقدة طريق way_tag: سمة طريق attributes: diary_comment: - body: نص الرسالة + body: الجسم diary_entry: user: المستخدم title: الموضوع @@ -97,7 +97,7 @@ ar: message: sender: المرسل title: الموضوع - body: نص الرسالة + body: الجسم recipient: المستلم user: email: البريد الإلكتروني @@ -112,11 +112,11 @@ ar: name: Potlatch 1 description: Potlatch 1 (محرّر ضمن المتصفح) id: - name: معرّف - description: iD (محرِّر عبر المتصفِّح) + name: معرف + description: معرف (محرر عبر المتصفِّح) potlatch2: name: Potlatch 2 - description: Potlatch 2 (محرّر ضمن المتصفح) + description: Potlatch 2 (محرر ضمن المتصفح) remote: name: تحكم عن بعد description: تحكم عن بعد (JOSM أو Merkaartor) @@ -130,12 +130,12 @@ ar: edited_by_html: تم التعديل قبل %{time} على يد %{user} closed_by_html: تم الإغلاق قبل %{time} على يد %{user} version: الإصدار - in_changeset: التغييرات + in_changeset: مجموعة التغييرات anonymous: مجهول no_comment: (لا تعليق) part_of: جزء من - download_xml: حمّل XML - view_history: السجل + download_xml: تنزيل XML + view_history: عرض السجل view_details: شاهد التفاصيل location: 'الموقع:' changeset: @@ -175,14 +175,14 @@ ar: history_title: 'تاريخ الصلة: %{name}' members: الأعضاء relation_member: - entry_role: '%{type} %{name} كــ %{role}' + entry_role: '%{type} %{name} كــ%{role}' type: node: عقدة way: طريق relation: علاقة containing_relation: entry: العلاقة %{relation_name} - entry_role: العلاقة %{relation_name} (كــ %{relation_role}) + entry_role: العلاقة %{relation_name} (كــ%{relation_role}) not_found: sorry: 'عفوًا، تعذر العثور على %{type} #%{id}.' type: @@ -215,11 +215,11 @@ ar: tag_details: tags: الوسوم wiki_link: - key: صفحة وصف الويكي لعلامة %{key} - tag: صفحة وصف الويكي لعلامة %{key}=%{value} - wikidata_link: صفحة %{page} على ويكي داتا - wikipedia_link: الـ%{page} مقالة على ويكيبيديا - telephone_link: اتصل بـ %{phone_number} + key: صفحة وصف الويكي للوسم %{key} + tag: صفحة وصف الويكي للوسم %{key}=%{value} + wikidata_link: العنصر %{page} على ويكي بيانات + wikipedia_link: مقالة %{page} على ويكيبيديا + telephone_link: اتصل بـ%{phone_number} note: title: 'ملاحظة: %{id}' new_note: ملاحظة جديدة @@ -233,15 +233,16 @@ ar: commented_by: تعليق من %{user} قبل %{when} commented_by_anonymous: تعليق من مجهول قبل %{when} - closed_by: حلّه %{user} قبل %{when} - closed_by_anonymous: حلّه مجهول قبل %{when} + closed_by: تم الحل بواسطة %{user} قبل %{when} + closed_by_anonymous: تم الحل بواسطة مجهول قبل %{when} + reopened_by: أعاد تنشيطه %{user} قبل %{when} reopened_by_anonymous: أعاد تنشيطه مجهول قبل %{when} hidden_by: أخفاه %{user} قبل %{when} = - report: أبلغ هذه الملاحظة + report: أبلغ عن هذه الملاحظة query: - title: إشارات الاستفهام + title: ميزات الاستفهام introduction: اضغط على الخريطة لمعرفة النقاط القريبة nearby: نقاط قريبة enclosing: نقاط مرافقة @@ -255,8 +256,8 @@ ar: no_edits: (لا تعديلات) view_changeset_details: اعرض تفاصيل حزمة التغييرات changesets: - id: رقم - saved_at: حُفظ في + id: المعرف + saved_at: حُفِظ في user: المستخدم comment: التعليق area: منطقة @@ -270,13 +271,13 @@ ar: empty_user: لم يُعثَر على أي حزم تغييرات لهذا المستخدم. no_more: لم يُعثَر على حزم تغييرات أخرى. no_more_area: لم يُعثَر على حزم تغييرات أخرى في هذه المنطقة. - no_more_user: ' يُعثَر على حزم تغييرات أخرى لهذا المستخدم.' + no_more_user: لم يُعثَر على حزم تغييرات أخرى لهذا المستخدم. load_more: حمِّل المزيد؟ timeout: - sorry: عذراً، لقد إستمرت لائحة حزم التغييرات اللتي طلبتها وقتاً طويلاً للسحب. + sorry: عذراً، لقد استغرقت لائحة حزم التغييرات اللتي طلبتها وقتاً طويلاً للسحب. rss: title_all: مناقشة مجموعة تغيير خريطة الشارع المفتوحة - title_particular: 'مناقشة #%{changeset_id} مجموعة تغيير خريطة الشارع المفتوحة' + title_particular: مناقشة مجموعة تغيير خريطة الشارع المفتوحة %{changeset_id} comment: 'تعليق جديد على مجموعة التغيير #%{changeset_id} بواسطة %{author}' commented_at_html: تم التحديث قبل %{when} commented_at_by_html: تم التحديث قبل %{when} بواسطة %{user} @@ -288,19 +289,19 @@ ar: index: title: يوميات المستخدمين title_friends: يوميات الأصدقاء - title_nearby: يوميات/مفكرات المستخدمين في المقبرة + title_nearby: يوميات المستخدمين القريبين user_title: يومية %{user} in_language_title: مدخلات اليومية باللغة %{language} new: مدخلة يومية جديدة new_title: تأليف إدخال جديد في مذكرات المستخدم الخاصة بي - no_entries: لا يوجد مدخلات يومية - recent_entries: إدخالات يوميات الحديثة + no_entries: لا توجد مدخلات يومية + recent_entries: إدخالات يوميات حديثة older_entries: المدخلات الأقدم newer_entries: المدخلات الأحدث edit: - title: عدّل مدخلة يومية + title: عدل مدخلة يومية subject: 'الموضوع:' - body: 'نص الرسالة:' + body: 'النص:' language: 'اللغة:' location: 'الموقع:' latitude: 'خط العرض:' @@ -316,26 +317,26 @@ ar: login: تسجيل الدخول save_button: احفظ no_such_entry: - title: مدخلة يومية غير موجودة - heading: 'لا يوجد مدخلة بالمعرّف: %{id}' - body: عذرًا، لا يوجد مدخلة يومية أو تعليق بالمعرّف %{id}. يرجى تدقيق التهجئة، - أو ربما يكون الرابط الذي تم النقر عليه خاطئ. + title: لا توجد مثل هذه اليومية + heading: 'لا توجد مدخلة بالمعرف: %{id}' + body: عذرًا، لا توجد مدخلة يومية أو تعليق بالمعرف %{id}؛ يُرجَى تدقيق التهجئة، + أو ربما يكون الرابط الذي نقرت عليه خاطئا. diary_entry: - posted_by: أُرسل بواسطة %{link_user} في %{created} باللغة %{language_link} - comment_link: علّق على هذه المدخلة - reply_link: رد برسالة + posted_by: نُشِر بواسطة %{link_user} في %{created} باللغة %{language_link} + comment_link: علق على هذه المدخلة + reply_link: رد على هذه الرسالة comment_count: zero: لا تعليق one: '%{count} تعليق' - other: '%{count} تعليق' - edit_link: عدّل هذه المدخلة + other: '%{count} تعليقات' + edit_link: عدل هذه المدخلة hide_link: اخفِ هذه المدخلة - confirm: أكّد - report: أببلغ عن هذه المذكرة + confirm: تأكيد + report: أبلغ عن هذه المدخلة diary_comment: - comment_from: تعليق من %{link_user} في %{comment_created_at} + comment_from: تعليق من %{link_user} في %{comment_created_at} hide_link: اخفِ هذا التعليق - confirm: أكّد + confirm: تأكيد report: أبلغ عن هذا التعليق location: location: 'الموقع:' @@ -343,18 +344,16 @@ ar: edit: تعديل feed: user: - title: مدخلات يومية خريطة الشارع المفتوحة للمستخدم %{user} - description: المدخلات الحديثة في يومية خريطة الشارع المفتوحة بواسطة المستخدم - %{user} + title: مدخلات يومية خريطة الشارع المفتوحة للمستخدم ل%{user} + description: المدخلات الحديثة في يومية خريطة الشارع المفتوحة من %{user} language: - title: مدخلات يومية خريطة الشارع المفتوحة باللغة %{language_name} - description: المدخلات الحديثة في يومية مستخدمي خريطة الشارع المفتوحة باللغة - %{language_name} + title: مدخلات يومية خريطة الشارع المفتوحة ب%{language_name} + description: المدخلات الحديثة في يومية مستخدمي خريطة الشارع المفتوحة ب%{language_name} all: title: مدخلات اليومية في خريطة الشارع المفتوحة description: المدخلات الحديثة في يومية مستخدمي خريطة الشارع المفتوحة comments: - has_commented_on: '%{display_name} علّق على مدخلات اليومية التالية' + has_commented_on: '%{display_name} علق على مدخلات اليومية التالية' post: إرسال when: متى comment: التعليق @@ -377,7 +376,7 @@ ar: aerialway: cable_car: عربة قطار هوائي chair_lift: كرسي تلفريك - drag_lift: اسحبها لليسار + drag_lift: اسحب لليسار gondola: تلفريك platter: مصعد تزلج pylon: نقطة تعليق @@ -415,7 +414,7 @@ ar: car_sharing: مشاركة سيارات car_wash: غسيل سيارات casino: نادي قمار - charging_station: محطة تعبئة + charging_station: محطة شحن childcare: رعاية الأطفال cinema: سينما clinic: عيادة @@ -447,7 +446,7 @@ ar: monastery: دير motorcycle_parking: مرآب دراجات نارية nightclub: نادي ليلي - nursing_home: دار رعاية مسنين/معاقين + nursing_home: دار رعاية office: مكتب parking: موقف سيارات parking_entrance: مدخل مرآب @@ -467,9 +466,9 @@ ar: sauna: حمّام بخاري حار school: مدرسة shelter: ملجأ - shop: متجر/دكان/حانوت + shop: متجر shower: غسيل بالدش - social_centre: مركز إجتماعي + social_centre: مركز اجتماعي social_club: نادي اجتماعي social_facility: مرفق اجتماعي studio: ستوديو @@ -482,11 +481,11 @@ ar: university: جامعة vending_machine: آلة بيع veterinary: جراحة بيطرية - village_hall: مبنى/دار القرية + village_hall: قاعة قرية waste_basket: سلة نفايات waste_disposal: التخلص من النفايات water_point: موقع مياه - youth_centre: مركز نشاطات للشباب + youth_centre: مركز شباب boundary: administrative: حدود إدارية census: حدود تعدادية @@ -504,7 +503,7 @@ ar: craft: brewery: مصنع الجعة carpenter: نجار - electrician: اختصاصي كهرباء + electrician: كهربائي gardener: بستاني painter: رسام photographer: مصور @@ -532,7 +531,7 @@ ar: emergency_access_point: نقطة دخول طوارئ footway: ممر للمشاة ford: مخاضة - give_way: اشارة تمهل + give_way: إشارة إفساح الطريق living_street: شارع سكني milestone: معلم motorway: طريق سريع @@ -544,10 +543,10 @@ ar: platform: منصة primary: طريق أولي primary_link: طريق أولي - proposed: طريق تحت الإنشاء + proposed: طريق مقترح raceway: حلبة سباق residential: طريق سكني - rest_area: منطقة إستراحة + rest_area: منطقة استراحة road: طريق secondary: طريق ثانوي secondary_link: طريق ثانوي @@ -565,12 +564,12 @@ ar: trunk: طريق رئيسي trunk_link: طريق رئيسي turning_loop: جولة - unclassified: طريق غير مصنّف + unclassified: طريق غير مصنف "yes": طريق historic: archaeological_site: موقع أثري battlefield: ساحة معركة - boundary_stone: حجر/صخرة تعليم حدود + boundary_stone: صخرة حدود building: مبنى تاريخي bunker: برج دفاعي castle: قلعة @@ -584,14 +583,14 @@ ar: manor: عزبة memorial: نصب تذكاري mine: منجم - mine_shaft: منجم + mine_shaft: فتحة منجم monument: أثر roman_road: طريق روماني ruins: أطلال stone: حجر tomb: قبر tower: برج - wayside_cross: صليب تذكاري + wayside_cross: صليب جانب طريق wayside_shrine: مزار جانب طريق wreck: حطام "yes": موقع تاريخي @@ -624,10 +623,10 @@ ar: reservoir: خزان reservoir_watershed: خزان مستجمعات المياه residential: منطقة سكنية - retail: بيع بالمفرق + retail: بيع بالتجزئة road: منطقة الطريق village_green: أرض خضراء - vineyard: كرم عنب + vineyard: حقل عنب "yes": استخدام الأرض leisure: beach_resort: شاطئ منتجع @@ -653,13 +652,13 @@ ar: sauna: حمّام بخاري حار slipway: مزلقة sports_centre: مركز رياضي - stadium: مدرج ألعاب رياضية - swimming_pool: بركة سباحة + stadium: ستاد + swimming_pool: مسبح track: مضمار سباق water_park: منتزه ألعاب مائية "yes": وقت الفراغ man_made: - adit: مدخل الى منجم + adit: مدخل منجم beacon: منارة beehive: خلية نحل breakwater: مكسر أمواج @@ -669,15 +668,15 @@ ar: crane: رافعة dolphin: مرسى dyke: حاجز - embankment: سايله + embankment: سد flagpole: سارية علم gasometer: مقياس غاز groyne: مصد أمواج kiln: تنور lighthouse: منارة - mast: حافظة انتينا - mine: لغم - mineshaft: منجم ألغام + mast: سارية + mine: منجم + mineshaft: فتحة منجم monitoring_station: محطة مراقبة petroleum_well: بئر بترول pier: رصيف بحري @@ -704,7 +703,7 @@ ar: natural: bay: خليج beach: شاطئ - cape: رأس (أرض داخلة في البحر( + cape: خليج cave_entrance: مدخل كهف cliff: جرف crater: فوهة بركان @@ -713,7 +712,7 @@ ar: fjord: مضيق بحري forest: غابة geyser: نافورة ماء حار - glacier: نهر/بحر جليدي + glacier: نهر جليدي grassland: أرض عشبية heath: أرض بور hill: تلة @@ -724,7 +723,7 @@ ar: mud: وحل peak: ذروة point: نقطة - reef: سلسلة صخور قرب سطح الماء + reef: شعاب ridge: أرض مرتفعة rock: صخرة saddle: سرج @@ -754,7 +753,7 @@ ar: it: مكتب تقنية معلومات lawyer: محامي ngo: مكتب منظمة غير حكومية - telecommunication: مكتب شركة إتصالات + telecommunication: مكتب اتصالات travel_agent: وكيل سفريات "yes": مكتب place: @@ -777,7 +776,7 @@ ar: quarter: حارة region: المنطقة sea: بحر - square: مربع + square: ميدان state: ولاية subdivision: التقسيم الفرعي suburb: ضاحية @@ -794,8 +793,8 @@ ar: junction: تقاطع سكك حديدية level_crossing: تقاطع سكك حديدية light_rail: قطار خفيف - miniature: مصغرة السكك الحديدية - monorail: قطار ذات سكة حديد واحدة + miniature: سكة حديدية مصغرة + monorail: قطار ذو سكة حديد واحدة narrow_gauge: سكة حديد ضيقة platform: رصيف محطة قطار preserved: سكة حديدية تراثية @@ -816,7 +815,7 @@ ar: beauty: صالون تجميل beverages: متجر مشروبات bicycle: متجر دراجات - bookmaker: محل قمار + bookmaker: ناشر books: متجر كتب boutique: دكان butcher: جزار @@ -852,7 +851,7 @@ ar: gift: متجر هدايا greengrocer: محل خضروات grocery: بقالة - hairdresser: مزين/مصفف شعر + hairdresser: حلاق hardware: متجر عتاد hifi: متجر هاي فاي houseware: متجر أدوات منزلية @@ -892,7 +891,7 @@ ar: vacant: متجر شاغر variety_store: متجر شامل video: متجر فيديو - wine: محل لبيع النبيذ + wine: متجر نبيذ "yes": متجر tourism: alpine_hut: كوخ جبلي @@ -911,7 +910,7 @@ ar: information: معلومات motel: نُزل museum: متحف - picnic_site: موقع بيك نيك + picnic_site: موقع تنزه theme_park: حديقة ملاهي viewpoint: موقع كاشف zoo: حديقة حيوانات @@ -920,7 +919,7 @@ ar: culvert: مجرى مائي "yes": نفق waterway: - artificial: مجرى ماء إصطناعي + artificial: مجرى ماء اصطناعي boatyard: حوض سفن canal: قناة dam: سدّ @@ -936,7 +935,7 @@ ar: stream: جدول wadi: وادي waterfall: شلال - weir: هدار (سدّ منخفض) + weir: سياج "yes": معبر مائي admin_levels: level2: حدود قطرية @@ -948,8 +947,8 @@ ar: level10: حدود الضاحية description: title: - osm_nominatim: موقع من OpenStreetMap - Nominatim + osm_nominatim: موقع من Nominatim + خريطة الشارع المفتوحة geonames: موقع من GeoNames types: cities: مدن @@ -969,16 +968,17 @@ ar: search: البحث search_guidance: 'بحث عن مشاكل:' user_not_found: المستخدم غير موجود - issues_not_found: لم يتم العثور على مشاكل + issues_not_found: لم يتم العثور على مشاكل كهذه status: الحالة reports: بلاغات last_updated: آخر تحديث - last_updated_time_html: %{time} ago - last_updated_time_user_html: %{time} ago by %{user} + last_updated_time_html: منذ %{time} + last_updated_time_user_html: منذ %{time} بواسطة + %{user} link_to_reports: عرض البلاغات reports_count: - one: 1 Report - other: '%{count} Reports' + one: 1 بلاغ + other: '%{count} بلاغات' reported_item: شيء تم الابلاغ عنه states: ignored: تم تجاهله @@ -987,19 +987,19 @@ ar: update: new_report: لقد تم تسجيل بلاغك بنجاح successful_update: لقد تم تحديث بلاغك بنجاح - provide_details: يرجى تقديم التفاصيل المطلوبة + provide_details: يُرجَى تقديم التفاصيل المطلوبة show: title: '%{status} المشكلة #%{issue_id}' reports: - zero: No reports - one: 1 report - other: '%{count} reports' - report_created_at: اول بلاغ تم في %{datetime} + zero: لا توجد بلاغات + one: 1 بلاغ + other: '%{count} بلاغات' + report_created_at: أول بلاغ تم في %{datetime} last_resolved_at: آخر حل تم في %{datetime} last_updated_at: آخر تحديث تم في %{datetime} بواسطة %{displayname} resolve: حل ignore: تجاهل - reopen: اعادة فتح + reopen: إعادة فتح reports_of_this_issue: بلاغات هذه المشكلة read_reports: اقرأ البلاغات new_reports: بلاغات جديدة @@ -1007,39 +1007,39 @@ ar: no_other_issues: لا مشاكل أخرى ضد هذا المستخدم. comments_on_this_issue: التعليقات على هذه المشكلة resolve: - resolved: تم تعيين حالة المشكلة إلى 'تم حله' + resolved: تم تعيين حالة المشكلة إلى 'محلولة' ignore: - ignored: تم تعيين حالة المشكلة إلى 'تم تجاهله' + ignored: تم تعيين حالة المشكلة إلى 'تم تجاهلها' reopen: - reopened: تم تعيين حالة المشكلة إلى 'فتح' + reopened: تم تعيين حالة المشكلة إلى 'مفتوحة' comments: created_at: في %{datetime} - reassign_param: إعادة تعيين المشكلة ؟ + reassign_param: إعادة تعيين المشكلة؟ reports: updated_at: في %{datetime} - reported_by_html: تم الابلاغ عنه ك %{category} بواسطة %{user} + reported_by_html: تم الابلاغ عنه ك%{category} بواسطة %{user} helper: reportable_title: - diary_comment: '%{entry_title}, تعليق #%{comment_id}' + diary_comment: '%{entry_title}، تعليق #%{comment_id}' note: 'ملاحظة #%{note_id}' issue_comments: create: - comment_created: تم انشاء تعليقك بنجاح + comment_created: تم إنشاء تعليقك بنجاح reports: new: title_html: بلاغ %{link} - missing_params: لا يمكن انشاء بلاغ جديد - details: يرجى تقديم بعض التفاصيل حول المشكلة (مطلوب). - select: 'حدد سبب بلاغك:' + missing_params: لا يمكن إنشاء بلاغ جديد + details: يُرجَى تقديم بعض التفاصيل حول المشكلة (مطلوب). + select: 'حدد سببا لبلاغك:' disclaimer: - intro: 'قبل إرسال تقريرك إلى مشرف الموقع ، يرجى التأكد مما يلي:' + intro: 'قبل إرسال تقريرك إلى مشرف الموقع، يُرجَى التأكد مما يلي:' not_just_mistake: أنك متأكد من أن المشكلة ليست مجرد خطأ unable_to_fix: أنت غير قادر على إصلاح المشكلة بنفسك أو بمساعدة زملائك أعضاء المجتمع resolve_with_user: لقد حاولت بالفعل حل المشكلة مع المستخدم المعني categories: diary_entry: - spam_label: هذه المذكرة / تحتوي على بريد مزعج + spam_label: هذه المذكرة هي/تحتوي على بريد مزعج offensive_label: هذه المذكرة مسيئة threat_label: هذا المذكرة تحتوي على تهديد other_label: أخرى @@ -1049,9 +1049,9 @@ ar: threat_label: مذكرة التعليق هذه تحتوي على تهديد other_label: أخرى user: - spam_label: ' ملف المستخدم هذا يحتوي على بريد مزعج' - offensive_label: ' ملف المستخدم هذا مسيء' - threat_label: ' ملف المستخدم هذا يحتوي على تهديد' + spam_label: ملف المستخدم هذا يكون/يحتوي على بريد مزعج + offensive_label: ملف المستخدم هذا مسيء + threat_label: ملف المستخدم هذا يحتوي على تهديد vandal_label: هذا المستخدم مخرب other_label: أخرى note: @@ -1061,17 +1061,17 @@ ar: other_label: أخرى create: successful_report: لقد تم تسجيل بلاغك بنجاح - provide_details: يرجى تقديم التفاصيل المطلوبة + provide_details: يُرجَى تقديم التفاصيل المطلوبة layouts: logo: alt_text: شعار خريطة الشارع المفتوحة home: اذهب إلى الصفحة الرئيسية logout: سجل خروج log_in: تسجيل الدخول - log_in_tooltip: سجّل الدخول مع حساب موجود + log_in_tooltip: تسجيل الدخول لحساب موجود sign_up: أنشئ حسابًا start_mapping: ابدأ التخطيط - sign_up_tooltip: أنشئ حسابًا كي تستطيع المساهمة + sign_up_tooltip: أنشئ حسابًا للتعديل edit: تعديل history: تاريخ export: صدِّر @@ -1082,11 +1082,11 @@ ar: gps_traces_tooltip: عالج آثار جي بي إس user_diaries: يوميات المستخدمين user_diaries_tooltip: اعرض يوميات المستخدمين - edit_with: حرر بإستعمال %{editor} + edit_with: حرر باستعمال %{editor} tag_line: ويكي خريطة العالم الحرة - intro_header: مرحبا بكم في !OpenStreetMap - intro_text: إن OpenStreetMap هي خريطة العالم, أنشئت بواسطة أشخاص مثلك وحرة الاستخدام - برخصة مفتوحة. + intro_header: مرحبا بكم في خريطة الشارع المفتوحة! + intro_text: خريطة الشارع المفتوحة هي خريطة العالم، أُنشِئت بواسطة أشخاص مثلك وحرة + الاستخدام برخصة مفتوحة. intro_2_create_account: أنشئ حساب مستخدم hosting_partners_html: يتم دعم الاستضافة بواسطة %{ucl} و%{bytemark} و%{partners} آخرين. @@ -1115,8 +1115,7 @@ ar: diary_comment_notification: subject: '[خريطة الشارع المفتوحة] %{user} علق على مدخلتك في اليومية' hi: مرحبًا %{to_user}، - header: '%{from_user} علق على مدخلتك في اليومية في خريطة الشارع المفتوحة بالعنوان - %{subject}:' + header: '%{from_user} علق على مدخلة يومية خريطة الشارع المفتوحة بالعنوان %{subject}:' footer: يمكنك أيضًا قراءة التعليق على %{readurl} ويمكنك التعليق على %{commenturl} أو الرد على %{replyurl} message_notification: @@ -1134,22 +1133,22 @@ ar: greeting: تحياتي، your_gpx_file: يبدو أنه ملف جي بي إكس الخاص بك with_description: مع الوصف - and_the_tags: 'والسمات التالية:' - and_no_tags: ولا يوجد سمات. + and_the_tags: 'والوسوم التالية:' + and_no_tags: ولا توجد وسوم. failure: subject: '[خريطة الشارع المفتوحة] فشل استيراد جي بي إكس' - failed_to_import: 'فشل الاستيراد. الخطأ هو:' - more_info_1: المزيد من المعلومات حول فشل استيراد جي بي إكس وكيفية تجنبها - more_info_2: 'وهم موجودين على:' + failed_to_import: 'فشل الاستيراد، الخطأ هو:' + more_info_1: المزيد من المعلومات حول فشل استيراد جي بي إكس وكيفية تجنبه + more_info_2: 'وهي موجودة على:' success: subject: '[خريطة الشارع المفتوحة] نجاح استيراد جي بي إكس' loaded_successfully: تم تحميل بنجاح %{trace_points} نقطة من أصل %{possible_points} نقطة ممكنة. signup_confirm: - subject: '[خرائط اوبن ستريت] مرحباً بك في خرائط اوبن ستريت' + subject: '[خريطة الشارع المفتوحة] مرحبا بك في خريطة الشارع المفتوحة' greeting: مرحبا هناك! created: شخص ما (نأمل أن تكون أنت) أنشأ حسابا في %{site_url}. - confirm: 'قبل أن تفعل أي شيء آخر، ونحن بحاجة للتأكد من أن هذا الطلب جاء منك، + confirm: 'قبل أن تفعل أي شيء آخر، نحن بحاجة للتأكد من أن هذا الطلب جاء منك؛ لذلك إذا كان كذلك، الرجاء الضغط على الرابط أدناه لتأكيد حسابك:' welcome: بعد تأكيد حسابك، سوف نقدم لك بعض المعلومات الإضافية للبدء. email_confirm: @@ -1158,62 +1157,63 @@ ar: greeting: تحياتي، hopefully_you: شخص ما (نأمل أن تكون أنت) يرغب في تغيير عنوان بريده الإلكتروني في %{server_url} إلى %{new_address}. - click_the_link: إذا كان هذا هو أنت، يرجى الضغط على الرابط أدناه لتأكيد التغيير. + click_the_link: إذا كان هذا أنت، يُرجَى الضغط على الرابط أدناه لتأكيد التغيير. email_confirm_html: greeting: مرحبًا، hopefully_you: شخص ما (نأمل أنت) يرغب بتغيير عنوان بريده الإلكتروني على %{server_url} - to %{new_address}. - click_the_link: إذا كان هذا هو أنت، رجاءًا انقر فوق الرابط أدناه لتأكيد التغيير. + إلى %{new_address}. + click_the_link: إذا كان هذا أنت، رجاءً انقر فوق الرابط أدناه لتأكيد التغيير. lost_password: subject: '[خريطة الشارع المفتوحة] طلب إعادة تعيين كلمة المرور' lost_password_plain: greeting: تحياتي، hopefully_you: شخص ما (ربما أنت) طلب إعادة تعيين كلمة المرور لحساب openstreetmap.org على عنوان البريد الإلكتروني هذا. - click_the_link: إذا كان هذا هو أنت، يرجى الضغط على الرابط أدناه لإعادة تعيين + click_the_link: إذا كان هذا أنت، يُرجَى الضغط على الرابط أدناه لإعادة تعيين كلمة المرور. lost_password_html: greeting: تحياتي، hopefully_you: شخص ما (ربما أنت) طلب إعادة تعيين كلمة المرور لحساب openstreetmap.org على عنوان البريد الإلكتروني هذا. - click_the_link: إذا كان هذا هو أنت، يرجى الضغط على الرابط أدناه لإعادة تعيين + click_the_link: إذا كان هذا أنت، يُرجَى الضغط على الرابط أدناه لإعادة تعيين كلمة المرور. note_comment_notification: anonymous: مستخدم مجهول - greeting: أهلا, + greeting: مرحبا، commented: - subject_own: '[OpenStreetMap] علق %{commenter} على واحدة من ملاحظاتك' + subject_own: '[OpenStreetMap] قدعلق %{commenter} على إحدى ملاحظاتك' subject_other: '[OpenStreetMap] علق %{commenter} على ملاحظة تههتم بها' - your_note: علق %{commenter} على واحدة من ملاحظات خريطتك بالقرب من %{place}. - commented_note: علق %{commenter} على ملاحظة الخريطة التي علقت عليها. كانت + your_note: علق %{commenter} على إحدى ملاحظات خريطتك بالقرب من %{place}. + commented_note: علق %{commenter} على ملاحظة الخريطة التي علقت عليها، كانت الملاحظة بالقرب من %{place}. closed: subject_own: '[OpenStreetMap] حل %{commenter} إحدى ملاحظاتك' subject_other: '[OpenStreetMap] حل %{commenter} ملاحظة تهتم بها' - your_note: حل %{commenter} إحدى ملاحظات الخريطة بالقرب من %{place}. - commented_note: حل %{commenter} ملاحظة الخريطة التي علقت عليها.كانت الملاحظة - بالقرب من %{place}. + your_note: حل %{commenter} إحدى ملاحظات خريطتك بالقرب من %{place}. + commented_note: حل %{commenter} ملاحظة الخريطة التي علقت عليها، الملاحظة بالقرب + من %{place}. reopened: - subject_own: نشط [OpenStreetMap] %{commenter} إحدى ملاحظاتك - subject_other: نشط [OpenStreetMap] %{commenter} ملاحظة كنت مهتما بها - your_note: نشط %{commenter} إحدى ملاحظات الخريطة بالقرب من %{place}. - commented_note: نشط %{commenter} ملاحظة الخريطة التي علقت عليها.كانت الملاحظة - بالقرب من %{place}. + subject_own: لقد أعاد [OpenStreetMap] %{commenter} تنشيط إحدى ملاحظاتك + subject_other: لقد أعاد [OpenStreetMap] %{commenter} تنشيط ملاحظة كنت مهتما + بها + your_note: لقد أعاد %{commenter} تنشيط إحدى ملاحظات الخريطة بالقرب من %{place}. + commented_note: لقد أعاد %{commenter} تنشيط ملاحظة الخريطة التي علقت عليها، + الملاحظة بالقرب من %{place}. details: يمكن العثور على مزيد من التفاصيل حول هذه الملاحظة في %{url}. changeset_comment_notification: hi: أهلا %{to_user}، - greeting: مرحبا ، + greeting: مرحبا، commented: - subject_own: '[OpenStreetMap] علق %{commenter} على على إحدى تغييراتك' - subject_other: '[OpenStreetMap] علق %{commenter} على ملاحظة تهتم بها' - your_changeset: '%{commenter} علق على أحد التغييرات في %{time}' - commented_changeset: '%{commenter} ترك تعليقاً على الخريطة التي تشاهدها بواسطة - %{changeset_author} في %{time}' + subject_own: '[OpenStreetMap] علق %{commenter} على على إحدى مجموعات تغييراتك' + subject_other: '[OpenStreetMap] علق %{commenter} على مجموعة تغييرات تهتم بها' + your_changeset: '%{commenter} علق على إحدى مجموعات تغييراتك في %{time}' + commented_changeset: '%{commenter} ترك تعليقاً على مجموعة تغييرات الخريطة + التي تشاهدها بواسطة %{changeset_author} في %{time}' partial_changeset_with_comment: مع تعليق '%{changeset_comment}' partial_changeset_without_comment: بدون تعليق - details: يمكن العثور على مزيد من التفاصيل حول هذه الملاحظة في %{url}. - unsubscribe: لإلغاء الاشتراك من التحديثات لهذه التغييرات ، تفضل بزيارة %{url} - وانقر على "إلغاء الاشتراك". + details: يمكن العثور على مزيد من التفاصيل حول مجموعة التغييرات في %{url}. + unsubscribe: لإلغاء الاشتراك من التحديثات لهذه التغييرات؛ قم بزيارة %{url} وانقر + على "إلغاء الاشتراك". messages: inbox: title: الوارد @@ -1955,7 +1955,7 @@ ar: heading: تسجيل الدخول email or username: 'عنوان البريد الإلكتروني أو اسم المستخدم:' password: 'كلمة السر:' - openid: '%{logo} OpenID:' + openid: '%{logo} معرف مفتوح:' remember: 'تذكرني:' lost password link: أنسيت كلمة المرور؟ login_button: تسجيل الدخول @@ -2056,6 +2056,7 @@ ar: terms accepted: نشكرك على قبول شروط المساهم الجديدة! terms declined: نحن نأسف أن كنت قد قررت عدم قبول شروط المساهمة الجديدة. لمزيد من المعلومات، يرجى الاطلاع على صفحة الويكي هذه. + terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined terms: title: 'شروط المساهم:' heading: 'شروط المساهم:' @@ -2063,10 +2064,12 @@ ar: شروط هذا الاتفاق على مشاركاتك الموجودة حاليًا والمستقبلية. consider_pd: وبالإضافة إلى الاتفاقية أعلاه، أريد أن تكون مساهماتي ملكية عامة. consider_pd_why: ما هذا؟ + consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain guidance: 'معلومات للمساعدة في فهم هذه المصطلحات: ملخص قابل للقراءة بالإنسان وبعض ترجمة غير رسمية ' agree: أوافق + declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined decline: انخفاض you need to accept or decline: الرجاء القراءة ومن ثم قبول أو رفض شروط المساهمة الجديدة للمتابعة. @@ -2183,6 +2186,7 @@ ar: review link text: يرجى اتباع هذا الرابط في الوقت الذي يناسبك لمراجعة وقبول شروط المساهمة الجديدة. agreed_with_pd: وقد أعلنتَ أيضًا أنك تعتبر تعديلاتك ملكية عامة. + link: https://www.osmfoundation.org/wiki/License/Contributor_Terms link text: ما هذا؟ profile description: 'وصف الملف الشخصي:' preferred languages: 'اللغات المفضّلة:' @@ -2190,6 +2194,7 @@ ar: image: "\uFEFFالصورة:" gravatar: gravatar: استخدام Gravatar + link: https://wiki.openstreetmap.org/wiki/Gravatar link text: ما هذا؟ disabled: تم تعطيل Gravatar . enabled: تم تمكين عرض Gravatar الخاص بك. diff --git a/config/locales/de.yml b/config/locales/de.yml index d12f89f4a..13e29213b 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -2156,11 +2156,12 @@ de: consider_pd: Zusätzlich zu den oben genannten Bedingungen betrachte ich meine Beiträge als gemeinfrei (Public Domain) consider_pd_why: Was bedeutet dies? - consider_pd_why_url: https://www.osmfoundation.org/wiki/DE:License/Why_would_I_want_my_contributions_to_be_public_domain + consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain guidance: 'Informationen die dabei helfen, diese Bedingungen zu verstehen: eine verständliche Zusammenfassung sowie einige inoffizielle Übersetzungen' agree: Akzeptieren + declined: https://wiki.openstreetmap.org/wiki/DE:Contributor_Terms_Declined decline: Ablehnen you need to accept or decline: Bitte lies die neuen Bedingungen für Mitwirkende und nimm sie an oder lehne sie ab, bevor du weitermachst. @@ -2284,6 +2285,7 @@ de: durchzulesen sowie zu akzeptieren. agreed_with_pd: Du hast zudem erklärt, dass du deine Beiträge gemeinfrei veröffentlichst (unter Public Domain stellst). + link: https://www.osmfoundation.org/wiki/License/Contributor_Terms link text: Worum handelt es sich? profile description: 'Profil-Beschreibung:' preferred languages: 'Bevorzugte Sprachen:' diff --git a/config/locales/es.yml b/config/locales/es.yml index a81db8faf..923e2baac 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1114,6 +1114,8 @@ es: intro_text: OpenStreetMap es un mapa del mundo, creado por gente como tú y de uso libre bajo una licencia abierta. intro_2_create_account: Crear una cuenta de usuario + hosting_partners_html: El alojamiento es apoyado por %{ucl}, %{bytemark}, y otros + %{partners}. partners_ucl: UCL partners_bytemark: Bytemark Hosting partners_partners: socios @@ -2111,6 +2113,7 @@ es: terms declined: Lamentamos que haya decidido no aceptar los nuevos Términos de contribución. Para obtener más información, consulte esta página wiki. + terms declined url: https://wiki.openstreetmap.org/wiki/ES:Contributor_Terms_Declined terms: title: Términos del colaborador heading: Términos del colaborador @@ -2120,9 +2123,11 @@ es: consider_pd: Además del acuerdo anterior, considero que mis contribuciones se encuentran en Dominio Público. consider_pd_why: ¿qué es esto? + consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain guidance: 'Información para ayudar a comprender estos términos: un resumen legible y algunas traducciones informales' agree: Aceptar + declined: https://wiki.openstreetmap.org/wiki/ES:Contributor_Terms_Declined decline: Declinar you need to accept or decline: Por favor lea y, a continuación, acepte o rechace los nuevos Términos de contribución para continuar. @@ -2244,6 +2249,7 @@ es: los nuevos Términos de Colaborador. agreed_with_pd: También has declarado que consideras tus modificaciones como de Dominio Público. + link: https://www.osmfoundation.org/wiki/License/Contributor_Terms link text: ¿Qué es esto? profile description: 'Descripción del perfil:' preferred languages: 'Idiomas preferidos:' diff --git a/config/locales/fr.yml b/config/locales/fr.yml index cd7f047c5..178278016 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -2155,9 +2155,11 @@ fr: consider_pd: En plus de l’accord ci-dessus, je considère mes contributions comme étant dans le domaine public consider_pd_why: qu’est-ce que ceci ? + consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain guidance: 'Pour plus d''information sur ces termes : un résumé lisible et quelques traductions informelles' agree: J’accepte + declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined decline: Décliner you need to accept or decline: Veuillez lire et ensuite soit accepter ou refuser les nouvelles conditions de contributeur pour continuer. diff --git a/config/locales/gl.yml b/config/locales/gl.yml index 1437180c9..6cf0178c9 100644 --- a/config/locales/gl.yml +++ b/config/locales/gl.yml @@ -195,7 +195,7 @@ gl: relation: relación start_rjs: feature_warning: A carga de %{num_features} características pode facer que o - seu navegador vaia lento ou que non responda. Está seguro de querer amosar + seu navegador vaia lento ou que non responda. Está na certeza de querer amosar eses datos? load_data: Cargar os datos loading: Cargando... @@ -1022,7 +1022,7 @@ gl: select: Seleccione unha razón pola que queira informarnos disclaimer: intro: 'Antes de enviarlle o informe aos moderadores, asegúrese de que:' - not_just_mistake: Vostede está seguro/a de que o problema non é un simple + not_just_mistake: Vostede está na certeza de que o problema non é un sinxelo erro unable_to_fix: Non é quen de arranxar o problema só ou coa axuda dos membros da comunidade @@ -1937,7 +1937,7 @@ gl: support_notice: Soportamos HMAC-SHA1 (recomendado) e sinaturas RSA-SHA1. edit: Edita-los detalles delete: Borrar o cliente - confirm: Está seguro? + confirm: Está na certeza? requests: 'Solicitar os seguintes permisos ao usuario:' allow_read_prefs: ler as súas preferencias de usuario. allow_write_prefs: modificar as súas preferencias de usuario. @@ -2352,14 +2352,16 @@ gl: grant: title: Confirma-la concesión do rol heading: Confirma-la concesión do rol - are_you_sure: Seguro que quere concederlle o rol "%{role}" ao usuario "%{name}"? + are_you_sure: Está na certeza de que quere concederlle o rol "%{role}" ó usuario + "%{name}"? confirm: Confirmar fail: Non se lle puido conceder o rol "%{role}" ao usuario "%{name}". Comprobe que tanto o usuario coma o rol son correctos. revoke: title: Confirma-la revogación do rol heading: Confirma-la revogación do rol - are_you_sure: Seguro que quere revogarlle o rol "%{role}" ao usuario "%{name}"? + are_you_sure: Está na certeza de que quere revogarlle o rol "%{role}" ó usuario + "%{name}"? confirm: Confirmar fail: Non se lle puido revogar o rol "%{role}" ao usuario "%{name}". Comprobe que tanto o usuario coma o rol son correctos. @@ -2420,7 +2422,7 @@ gl: heading: Revogando o bloqueo en %{block_on} por %{block_by} time_future: Este bloqueo rematará en %{time}. past: Este bloqueo rematou hai %{time}. Entón, xa non se pode retirar. - confirm: Está seguro de querer retirar este bloqueo? + confirm: Está na certeza de querer retirar este bloqueo? revoke: Revogar! flash: Revogouse o bloqueo. period: @@ -2451,7 +2453,7 @@ gl: show: Amosar edit: Editar revoke: Revogar! - confirm: Está seguro? + confirm: Está na certeza? reason: 'Motivo para o bloqueo:' back: Ollar tódolos bloqueos revoker: 'Autor da revogación:' @@ -2716,7 +2718,7 @@ gl: user: 'Creador:' edit: Editar esta redacción destroy: Eliminar esta redacción - confirm: Está seguro? + confirm: Está na certeza? create: flash: Redacción creada. update: diff --git a/config/locales/ja.yml b/config/locales/ja.yml index fc99f2e4f..ee0e9a621 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -946,6 +946,9 @@ ja: results: no_results: 該当するものはありません more_results: その他の結果 + issues: + index: + last_updated_time_html: %{time}前 layouts: logo: alt_text: OpenStreetMap ロゴ diff --git a/config/locales/kab.yml b/config/locales/kab.yml index beb47f72b..2018fe5b8 100644 --- a/config/locales/kab.yml +++ b/config/locales/kab.yml @@ -3,6 +3,7 @@ # Export driver: phpyaml # Author: Alem # Author: Belkacem77 +# Author: Marzuquccen # Author: Mastanabal # Author: Mhenni # Author: MustaphaLateb @@ -603,12 +604,42 @@ kab: butcher: Agezzar car: Tahanutt n tkeryas car_parts: Ticeqqufin n ubeddel n tkeryas + clothes: Taḥanut n icetiḍen + computer: Taḥanut n iselkimen + confectionery: Taḥanut n ḥlawat + copyshop: Taḥanut n talsuffeɣt + cosmetics: Taḥanut n rwayeḥ + department_store: Taḥanut tameqqrant + farm: Tahanutt n tkeryas n tfellaḥt + fish: Taḥanut n iselman + florist: Taḥanut n ijeǧǧigen + food: Taḥanut n wuččan + gift: Taḥanut n isefan + greengrocer: Ameznuz n lxeḍra + hairdresser: Aḥeffaf + hifi: Taḥanut Hi-Fi + interior_decoration: Azewweq n daxel + jewelry: Taḥanut n sdaq + lottery: Loto + market: Suq + mobile_phone: Taḥanut n tilifunat ufus + newsagent: Ameznuz n iǧarnanen + optician: Taḥanut n nwaḍer + pharmacy: Taḥanut n ddwa + shoes: Taḥanut n isebbaḍen + sports: Taḥanut n tɣawsiwin n waddal + supermarket: Ssuq ameqqran + ticket: Taḥanut n itikiyen + tobacco: Birutabac + toys: Taḥanut n illelucen + tyres: Taḥanut n rwadi "yes": Taḥanut tourism: hostel: Azebriz hotel: Asensu information: Talɣut museum: Asalay + zoo: Zoo tunnel: "yes": Ifri waterway: diff --git a/config/locales/nb.yml b/config/locales/nb.yml index dc7045f76..af66c578b 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -257,14 +257,14 @@ nb: index: title: Endringssett title_user: Endringssett av %{user} - title_friend: Endringssett fra mine venner + title_friend: Endringssett av mine venner title_nearby: Endringssett av brukere i nærheten empty: Inget endringssett funnet. empty_area: Ingen endringssett i dette området. - empty_user: Ingen endringssett fra denne brukeren. + empty_user: Ingen endringssett av denne brukeren. no_more: Ingen flere endringssett funnet. no_more_area: Ingen flere endringssett i dette området. - no_more_user: Ingen flere endringssett fra denne brukeren. + no_more_user: Ingen flere endringssett av denne brukeren. load_more: Last inn mer timeout: sorry: Beklager, listen over endringssett som du ba om tok for lang tid å hente. diff --git a/config/locales/ru.yml b/config/locales/ru.yml index cf13d8388..e99df32a7 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -2126,6 +2126,7 @@ ru: terms accepted: Спасибо за принятие новых условий участия! terms declined: Нам жаль, что вы решили не принимать новые условия участия. Дополнительную информацию можно найти на следующей странице. + terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=ru terms: title: Условия сотрудничества heading: Условия сотрудничества @@ -2135,9 +2136,11 @@ ru: consider_pd: В дополнение к вышеизложенному соглашению, я принимаю во внимание, что мой вклад находится в общественном достоянии consider_pd_why: что это значит? + consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain?uselang=ru guidance: 'Информация, которая поможет понять эти условия: краткое описание и несколько неофициальных переводов' agree: Принять + declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=ru decline: Отклонить you need to accept or decline: Пожалуйста, прочитайте, а затем согласитесь или отклоните новые Условия участия. @@ -2270,6 +2273,7 @@ ru: image: 'Изображение:' gravatar: gravatar: Использовать Gravatar + link: https://wiki.openstreetmap.org/wiki/Gravatar?uselang=ru link text: что это? disabled: Gravatar отключён. enabled: Отображение вашего Gravatar включено. diff --git a/config/locales/sl.yml b/config/locales/sl.yml index 28d3be7a9..1792cd234 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -106,7 +106,7 @@ sl: browse: created: Ustvarjeno closed: Zaprto - created_html: Ustvarjeno %{time} nazas + created_html: Ustvarjeno %{time} nazaj closed_html: Zaprto %{time} nazaj created_by_html: Ustvaril %{user} %{time} nazaj deleted_by_html: Izbrisal %{user} %{time} nazaj diff --git a/config/locales/sv.yml b/config/locales/sv.yml index 6d63768c2..5c65aefd5 100644 --- a/config/locales/sv.yml +++ b/config/locales/sv.yml @@ -2099,6 +2099,7 @@ sv: kartan! terms declined: Vi beklagar att du bestämt dig för att inte acceptera de nya användarvillkoren. För mer information, se denna wikisida. + terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined terms: title: Villkor för deltagare heading: Villkor för deltagare @@ -2108,9 +2109,11 @@ sv: consider_pd: Utöver ovan nämnda avtal, anser jag att mina bidrag är inom Public Domain. consider_pd_why: vad är det här? + consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain guidance: 'Information som hjälper dig förstå dessa termer: en lättläst sammanfattning och några informella översättningar' agree: Jag godkänner + declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined decline: Avslå you need to accept or decline: Läs igenom och Godkänn eller Avböj de nya bidragsvillkoren för att fortsätta. @@ -2233,6 +2236,7 @@ sv: de nya bidragsvillkoren. agreed_with_pd: Du har också förklarat att du anser att dina redigeringar är inom Public Domain. + link: https://www.osmfoundation.org/wiki/License/Contributor_Terms link text: vad är detta? profile description: 'Profilbeskrivning:' preferred languages: 'Föredraget språk:' @@ -2240,6 +2244,7 @@ sv: image: 'Bild:' gravatar: gravatar: Använd Gravatar + link: https://wiki.openstreetmap.org/wiki/Gravatar link text: vad är detta? disabled: Gravatar har inaktiverats. enabled: Din Gravatar har aktiverats. diff --git a/config/locales/ta.yml b/config/locales/ta.yml index 18d889d12..23b1e6307 100644 --- a/config/locales/ta.yml +++ b/config/locales/ta.yml @@ -157,6 +157,7 @@ ta: description: விளக்கம் changeset: changeset_paging_nav: + showing_page: பக்கம் %{page} next: அடுத்து » previous: « முந்தைய changeset: @@ -219,6 +220,7 @@ ta: diary_comment: hide_link: இக் கருத்துரையை மறை confirm: உறுதிசெய் + report: இந்தப் பின்னூட்டத்தை முறையிடுக location: location: 'இடம்:' view: காண் diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 21b154498..ae2532c0c 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -1921,14 +1921,17 @@ zh-TW: continue: 註冊 terms accepted: 感謝您接受新的貢獻條款! terms declined: 我們很遺憾你已決定不接受新的貢獻者條款。有關詳細資訊,請參閱此 wiki 頁面。 + terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined terms: title: 貢獻者條款 heading: 貢獻者條款 read and accept: 請閱讀下面的協議並按同意按鈕,以確認為你現有的和將來的貢獻接受本協議的條款。 consider_pd: 在上述協議之上,我同意將我的貢獻放到公共領域 consider_pd_why: 這是什麼? + consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain guidance: 幫助理解這些條款的資料:一個供普通人閱讀的摘要和一些非正式翻譯 agree: 同意 + declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined decline: 拒絕 you need to accept or decline: 請先閱讀,然後選擇接受或拒絕新的貢獻者條款,再繼續。 legale_select: 請選擇您的居住地: @@ -2039,6 +2042,7 @@ zh-TW: not yet agreed: 您未同意新的貢獻者條款。 review link text: 請跟隨此連結,方便你檢視並接受新的貢獻者條款。 agreed_with_pd: 您亦同意將您的編輯放到公共領域 + link: https://www.osmfoundation.org/wiki/License/Contributor_Terms link text: 這是什麼? profile description: 基本資料描述: preferred languages: 偏好的語言: @@ -2046,6 +2050,7 @@ zh-TW: image: 圖片: gravatar: gravatar: 使用 Gravatar + link: https://wiki.openstreetmap.org/wiki/Gravatar link text: 這是什麼? disabled: Gravatar已停用。 enabled: 您的Gravatar顯示功能已啟用。 diff --git a/test/controllers/notes_controller_test.rb b/test/controllers/notes_controller_test.rb index 1ebce60b5..33261c412 100644 --- a/test/controllers/notes_controller_test.rb +++ b/test/controllers/notes_controller_test.rb @@ -876,6 +876,84 @@ class NotesControllerTest < ActionController::TestCase end end + def test_search_by_display_name_success + user = create(:user) + + create(:note) do |note| + create(:note_comment, :note => note, :author => user) + end + + get :search, :params => { :display_name => user.display_name, :format => "xml" } + assert_response :success + assert_equal "application/xml", @response.content_type + assert_select "osm", :count => 1 do + assert_select "note", :count => 1 + end + + get :search, :params => { :display_name => user.display_name, :format => "json" } + assert_response :success + assert_equal "application/json", @response.content_type + js = ActiveSupport::JSON.decode(@response.body) + assert_not_nil js + assert_equal "FeatureCollection", js["type"] + assert_equal 1, js["features"].count + + get :search, :params => { :display_name => user.display_name, :format => "rss" } + assert_response :success + assert_equal "application/rss+xml", @response.content_type + assert_select "rss", :count => 1 do + assert_select "channel", :count => 1 do + assert_select "item", :count => 1 + end + end + + get :search, :params => { :display_name => user.display_name, :format => "gpx" } + assert_response :success + assert_equal "application/gpx+xml", @response.content_type + assert_select "gpx", :count => 1 do + assert_select "wpt", :count => 1 + end + end + + def test_search_by_user_success + user = create(:user) + + create(:note) do |note| + create(:note_comment, :note => note, :author => user) + end + + get :search, :params => { :user => user.id, :format => "xml" } + assert_response :success + assert_equal "application/xml", @response.content_type + assert_select "osm", :count => 1 do + assert_select "note", :count => 1 + end + + get :search, :params => { :user => user.id, :format => "json" } + assert_response :success + assert_equal "application/json", @response.content_type + js = ActiveSupport::JSON.decode(@response.body) + assert_not_nil js + assert_equal "FeatureCollection", js["type"] + assert_equal 1, js["features"].count + + get :search, :params => { :user => user.id, :format => "rss" } + assert_response :success + assert_equal "application/rss+xml", @response.content_type + assert_select "rss", :count => 1 do + assert_select "channel", :count => 1 do + assert_select "item", :count => 1 + end + end + + get :search, :params => { :user => user.id, :format => "gpx" } + assert_response :success + assert_equal "application/gpx+xml", @response.content_type + assert_select "gpx", :count => 1 do + assert_select "wpt", :count => 1 + end + end + def test_search_no_match create(:note_with_comments) @@ -911,15 +989,59 @@ class NotesControllerTest < ActionController::TestCase end end - def test_search_bad_params - get :search - assert_response :bad_request + def test_search_by_time_no_match + create(:note_with_comments) + + get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "xml" } + assert_response :success + assert_equal "application/xml", @response.content_type + assert_select "osm", :count => 1 do + assert_select "note", :count => 0 + end + + get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "json" } + assert_response :success + assert_equal "application/json", @response.content_type + js = ActiveSupport::JSON.decode(@response.body) + assert_not_nil js + assert_equal "FeatureCollection", js["type"] + assert_equal 0, js["features"].count + + get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "rss" } + assert_response :success + assert_equal "application/rss+xml", @response.content_type + assert_select "rss", :count => 1 do + assert_select "channel", :count => 1 do + assert_select "item", :count => 0 + end + end + get :search, :params => { :from => "01.01.2010", :to => "01.10.2010", :format => "gpx" } + assert_response :success + assert_equal "application/gpx+xml", @response.content_type + assert_select "gpx", :count => 1 do + assert_select "wpt", :count => 0 + end + end + + def test_search_bad_params get :search, :params => { :q => "no match", :limit => "0", :format => "json" } assert_response :bad_request get :search, :params => { :q => "no match", :limit => "10001", :format => "json" } assert_response :bad_request + + get :search, :params => { :display_name => "non-existent" } + assert_response :bad_request + + get :search, :params => { :user => "-1" } + assert_response :bad_request + + get :search, :params => { :from => "wrong-date", :to => "wrong-date" } + assert_response :bad_request + + get :search, :params => { :from => "01.01.2010", :to => "2010.01.2010" } + assert_response :bad_request end def test_feed_success