Merge branch 'main' into fix-multiupload

This commit is contained in:
Rohit Verma 2025-03-03 19:32:55 +05:30 committed by GitHub
commit d2e6cef12f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 161 additions and 132 deletions

View file

@ -1,96 +0,0 @@
name: Android CI Comment
on:
workflow_run:
workflows: ["Android CI"]
types: [completed]
branches: [main]
permissions:
issues: write
jobs:
comment:
name: Comment on PR with APK links
runs-on: ubuntu-latest
if: github.event.workflow_run.conclusion == 'success'
steps:
- name: Checkout base branch
uses: actions/checkout@v3
with:
ref: ${{ github.event.workflow_run.head_branch }}
- name: Download Run ID Artifact
uses: actions/download-artifact@v4
with:
name: run-id
run-id: ${{ github.event.workflow_run.id }}
- name: Read Run ID
id: read-run-id
run: echo "RUN_ID=$(cat run_id.txt)" >> $GITHUB_ENV
- name: Comment on PR with APK download links
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: actions/github-script@v6
with:
script: |
try {
const token = process.env.GH_TOKEN;
if (!token) {
throw new Error('GITHUB_TOKEN is not set.');
}
const runId = "${{ env.RUN_ID }}";
if (!runId) {
throw new Error('Run ID not found.');
}
// Get the PR number from the workflow_run event
const prNumber = ${{ github.event.workflow_run.pull_requests[0].number }};
if (!prNumber) {
console.log('No PR number found in workflow_run event.');
return;
}
const { data: { artifacts } } = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: runId
});
if (!artifacts || artifacts.length === 0) {
console.log('No artifacts found for this workflow run.');
return;
}
const betaArtifact = artifacts.find(artifact => artifact.name === "betaDebugAPK");
const prodArtifact = artifacts.find(artifact => artifact.name === "prodDebugAPK");
if (!betaArtifact || !prodArtifact) {
console.log('Could not find both Beta and Prod APK artifacts.');
console.log('Available artifacts:', artifacts.map(a => a.name).join(', '));
return;
}
const betaDownloadUrl = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/suites/${runId}/artifacts/${betaArtifact.id}`;
const prodDownloadUrl = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/suites/${runId}/artifacts/${prodArtifact.id}`;
const commentBody = `
📱 **APK for pull request is ready to see the changes** 📱
- [Download Beta APK](${betaDownloadUrl})
- [Download Prod APK](${prodDownloadUrl})
`;
await github.rest.issues.createComment({
issue_number: prNumber,
owner: context.repo.owner,
repo: context.repo.repo,
body: commentBody
});
console.log('Successfully posted comment with APK download links');
} catch (error) {
console.error('Error in PR comment creation:', error);
core.setFailed(`Workflow failed: ${error.message}`);
}

View file

@ -1,10 +1,6 @@
name: Android CI
on: [push, pull_request, workflow_dispatch]
permissions:
contents: read
actions: read
on: [push, pull_request, workflow_dispatch]
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
@ -16,17 +12,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- name: Cache packages
id: cache-packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
@ -41,7 +37,7 @@ jobs:
- name: AVD cache
if: github.event_name != 'pull_request'
uses: actions/cache@v3
uses: actions/cache@v4
id: avd-cache
with:
path: |
@ -106,14 +102,13 @@ jobs:
with:
name: prodDebugAPK
path: app/build/outputs/apk/prod/debug/app-*.apk
- name: Store Workflow Run ID
if: github.event_name == 'pull_request'
run: echo "${{ github.run_id }}" > run_id.txt
- name: Upload Run ID as Artifact
if: github.event_name == 'pull_request'
- name: Create and PR number artifact
run: |
echo "{\"pr_number\": ${{ github.event.pull_request.number || 'null' }}}" > pr_number.json
- name: Upload PR number artifact
uses: actions/upload-artifact@v4
with:
name: run-id
path: run_id.txt
name: pr_number
path: ./pr_number.json

View file

@ -8,9 +8,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

View file

@ -0,0 +1,96 @@
name: Comment Artifacts on PR
on:
workflow_run:
workflows: [ "Android CI" ]
types: [ completed ]
permissions:
pull-requests: write
contents: read
concurrency:
group: comment-${{ github.event.workflow_run.id }}
cancel-in-progress: true
jobs:
comment:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event == 'pull_request' }}
steps:
- name: Download and process artifacts
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
const runId = context.payload.workflow_run.id;
const allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: runId,
});
const prNumberArtifact = allArtifacts.data.artifacts.find(artifact => artifact.name === "pr_number");
if (!prNumberArtifact) {
console.log("pr_number artifact not found.");
return;
}
const download = await github.rest.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: prNumberArtifact.id,
archive_format: 'zip',
});
fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/pr_number.zip`, Buffer.from(download.data));
const { execSync } = require('child_process');
execSync('unzip -q pr_number.zip -d ./pr_number/');
fs.unlinkSync('pr_number.zip');
const prData = JSON.parse(fs.readFileSync('./pr_number/pr_number.json', 'utf8'));
const prNumber = prData.pr_number;
if (!prNumber || prNumber === 'null') {
console.log("No valid PR number found in pr_number.json. Skipping.");
return;
}
const artifactsToLink = allArtifacts.data.artifacts.filter(artifact => artifact.name !== "pr_number");
if (artifactsToLink.length === 0) {
console.log("No artifacts to link found.");
return;
}
const comments = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: Number(prNumber),
});
const oldComments = comments.data.filter(comment =>
comment.body.startsWith("✅ Generated APK variants!")
);
for (const comment of oldComments) {
await github.rest.issues.deleteComment({
owner: context.repo.owner,
repo: context.repo.repo,
comment_id: comment.id,
});
console.log(`Deleted old comment ID: ${comment.id}`);
};
const commentBody = `✅ Generated APK variants!\n` +
artifactsToLink.map(artifact => {
const artifactUrl = `https://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${runId}/artifacts/${artifact.id}`;
return `- 🤖 [Download ${artifact.name}](${artifactUrl})`;
}).join('\n');
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: Number(prNumber),
body: commentBody
});

View file

@ -223,7 +223,7 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(),
private var view: View? = null
private var scope: LifecycleCoroutineScope? = null
private var presenter: NearbyParentFragmentPresenter? = null
private var isDarkTheme = false
private var _isDarkTheme = false
private var isFABsExpanded = false
private var selectedPlace: Place? = null
private var clickedMarker: Marker? = null
@ -461,7 +461,7 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(),
}
}
}
isDarkTheme = systemThemeUtils?.isDeviceInNightMode() == true
_isDarkTheme = systemThemeUtils?.isDeviceInNightMode() == true
if (Utils.isMonumentsEnabled(Date())) {
binding?.rlContainerWlmMonthMessage?.visibility = View.VISIBLE
} else {
@ -631,7 +631,7 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(),
* another refactor
*/
private fun initThemePreferences() {
if (isDarkTheme) {
if (_isDarkTheme) {
binding!!.bottomSheetNearby.rvNearbyList.setBackgroundColor(
requireContext().resources.getColor(fr.free.nrw.commons.R.color.contributionListDarkBackground)
)
@ -915,7 +915,7 @@ class NearbyParentFragment : CommonsDaggerSupportFragment(),
}
override fun isDarkTheme(): Boolean {
return isDarkTheme
return _isDarkTheme
}
})
binding!!.nearbyFilterList.root

View file

@ -136,8 +136,8 @@
<string name="menu_about">परिचय</string>
<string name="about_license">विकिमीडिया कॉमन्स एप्प एक मुक्त स्रोत एप्प है जो कि विकिमीडिया समुदाय के अनुदानप्राप्तकर्ताओं व स्वयंसेवकों द्वारा निर्मित एवं प्रबंधित है। विकिमीडिया फॉऊण्डेशन इस एप्प के निर्माण, विकास व प्रबंधन में किसी प्रकार से भी संलग्न नहीं है।</string>
<string name="about_improve">त्रुटि की सूचना और सुझावों के लिए &lt;a href=\"%1$s\"&gt; GitHub समस्या &lt;/a&gt; बनाएं</string>
<string name="about_privacy_policy" fuzzy="true">&lt;u&gt;गोपनीयता नीति&lt;/u&gt;</string>
<string name="about_credits" fuzzy="true">&lt;u&gt;श्रेय&lt;/u&gt;</string>
<string name="about_privacy_policy">गोपनीयता नीति</string>
<string name="about_credits">श्रेय</string>
<string name="title_activity_about">परिचय</string>
<string name="menu_feedback">प्रतिक्रिया दें (ईमेल द्वारा)</string>
<string name="no_email_client">कोई ईमेल साधन स्थापित नहीं</string>
@ -150,7 +150,7 @@
<string name="menu_download">डाउनलोड</string>
<string name="preference_license">डिफॉल्ट लाइसेन्स</string>
<string name="use_previous" fuzzy="true">पिछले शीर्षक/विवरण का उपयोग करें</string>
<string name="preference_theme" fuzzy="true">रात्रि मोड</string>
<string name="preference_theme">थीम</string>
<string name="license_name_cc_by_sa_four">एट्रीब्यूशन-शेयरअलाइक 4.0</string>
<string name="license_name_cc_by_four">एट्रिब्यूशन 4.0</string>
<string name="license_name_cc_by_sa">एट्रीब्यूशन-शेयरअलाइक 3.0</string>
@ -263,12 +263,12 @@
<string name="nearby_wikipedia" fuzzy="true">विकीपीडिया</string>
<string name="nearby_commons">कॉमन्स</string>
<string name="about_rate_us" fuzzy="true">&lt;u&gt;हमें रेट करें&lt;/u&gt;</string>
<string name="about_faq" fuzzy="true">&lt;u&gt;अक्सर पूछे जाने वाले प्रश्न&lt;/u&gt;</string>
<string name="about_faq">अक्सर पूछे जाने वाले प्रश्न</string>
<string name="welcome_skip_button">प्रशिक्षण छोड़ें</string>
<string name="no_internet">इंटरनेट उपलब्ध नहीं</string>
<string name="error_notifications">सूचनाएं लाने में त्रुटि</string>
<string name="no_notifications">कोई सूचनाएँ नहीं मिलीं</string>
<string name="about_translate" fuzzy="true">&lt;u&gt;अनुवाद&lt;/u&gt;</string>
<string name="about_translate">अनुवाद</string>
<string name="about_translate_title">भाषाएँ</string>
<string name="about_translate_proceed">आगे बढ़ें</string>
<string name="about_translate_cancel">रद्द करें</string>
@ -284,7 +284,7 @@
<string name="search_recent_header">हाल की खोजें</string>
<string name="provider_searches">हाल में खोजे गये प्रश्न</string>
<string name="error_loading_categories">श्रेणी लोड करते समय त्रुटि उत्पन्न हुई।</string>
<string name="search_tab_title_media" fuzzy="true">मीडिया</string>
<string name="search_tab_title_media">मीडिया</string>
<string name="search_tab_title_categories">श्रेणियाँ</string>
<string name="explore_tab_title_featured">निर्वाचित</string>
<string name="explore_tab_title_map">नक्शा</string>
@ -315,7 +315,7 @@
<string name="statistics">सांख्यिकी</string>
<string name="statistics_thanks">धन्यवाद प्राप्त किया</string>
<string name="statistics_featured">निर्वाचित चित्र</string>
<string name="level" fuzzy="true">स्तर</string>
<string name="level">स्तर %d</string>
<string name="images_uploaded">चित्र अपलोड हुआ</string>
<string name="image_reverts">चित्रों को वापस नहीं किया गया</string>
<string name="images_used_by_wiki">उपयोग हुए चित्र</string>

View file

@ -4,6 +4,7 @@
* Akmaie Ajam
* Arifin.wijaya
* Birusian
* Boesenbergia
* DARMAS BUDI SANTOSO
* Daud I.F. Argana
* Fafau06
@ -295,7 +296,7 @@
<string name="error_notifications">Galat penyampaian pemberitahuan</string>
<string name="error_review">Galat mengambil gambar untuk ditinjau. Tekan segarkan untuk coba lagi.</string>
<string name="no_notifications">Pemberitahuan tidak ditemukan</string>
<string name="about_translate">Terjemahkan</string>
<string name="about_translate">Pertalaghi</string>
<string name="about_translate_title">Bahasa</string>
<string name="about_translate_message">Pilih bahasa untuk terjemahan yang ingin Anda kirimkan</string>
<string name="about_translate_proceed">Lanjutkan</string>

View file

@ -10,8 +10,14 @@
-->
<resources>
<string name="commons_logo">ਕਾਮਨਜ਼ ਮਾਰਕਾ</string>
<string name="submit">ਹਵਾਲੇ ਕਰੋ</string>
<string name="add_another_description">ਇੱਕ ਹੋਰ ਵੇਰਵਾ ਸ਼ਾਮਲ ਕਰੋ</string>
<string name="add_new_contribution">ਨਵਾਂ ਯੋਗਦਾਨ ਸ਼ਾਮਲ ਕਰੋ</string>
<string name="add_contribution_from_camera">ਕੈਮਰੇ ਰਾਹੀਂ ਯੋਗਦਾਨ ਸ਼ਾਮਲ ਕਰੋ</string>
<string name="add_contribution_from_photos">ਤਸਵੀਰਾਂ ਰਾਹੀਂ ਯੋਗਦਾਨ ਸ਼ਾਮਲ ਕਰੋ</string>
<string name="show_captions">ਸੁਰਖੀ</string>
<string name="row_item_language_description">ਭਾਸ਼ਾ ਦਾ ਵੇਰਵਾ</string>
<string name="row_item_caption">ਸੁਰਖੀ</string>
<string name="show_captions_description">ਵੇਰਵਾ</string>
<string name="nearby_row_image">ਤਸਵੀਰ</string>
<string name="nearby_all">ਸਾਰੇ</string>
@ -37,14 +43,19 @@
<string name="navigation_item_explore">ਪੜਚੋਲ ਕਰੋ</string>
<string name="preference_category_appearance">ਦਿੱਖ</string>
<string name="preference_category_general">ਆਮ</string>
<string name="preference_category_feedback">ਸੁਝਾਅ</string>
<string name="preference_category_privacy">ਪਰਦੇਦਾਰੀ</string>
<string name="app_name" fuzzy="true">ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼</string>
<string name="menu_settings">ਪਸੰਦਾਂ</string>
<string name="upload_in_progress">ਚੜ੍ਹਾਉਣਾ ਜਾਰੀ ਐ</string>
<string name="username">ਵਰਤੋਂਕਾਰ ਨਾਂ</string>
<string name="password">ਲੰਘ-ਸ਼ਬਦ</string>
<string name="login">ਦਾਖ਼ਲ ਹੋਵੋ</string>
<string name="forgot_password">ਪਾਰਸ਼ਬਦ ਭੁੱਲ ਗਏ?</string>
<string name="signup">ਖਾਤਾ ਬਣਾਓ</string>
<string name="logging_in_title">ਦਾਖ਼ਲਾ ਹੋ ਰਿਹਾ ਹੈ</string>
<string name="logging_in_message">ਉਡੀਕੋ ਜੀ…</string>
<string name="updating_caption_title">ਸੁਰਖੀਆਂ ਅਤੇ ਵੇਰਵੇ ਨਵਿਆਏ ਜਾ ਰਹੇ ਹਨ</string>
<string name="updating_caption_message">ਕਿਰਪਾ ਕਰਕੇ ਉਡੀਕੋ...</string>
<string name="login_success">ਦਾਖ਼ਲ ਹੋਣਾ ਸਫ਼ਲ!</string>
<string name="login_failed">ਦਾਖ਼ਲ ਹੋਣਾ ਅਸਫ਼ਲ!</string>
@ -53,11 +64,13 @@
<string name="uploading_started">ਅੱਪਲੋਡ ਸ਼ੁਰੂ ਹੋਇਆ!</string>
<string name="upload_completed_notification_title">%1$s ਅੱਪਲੋਡ ਹੋ ਗਏ!</string>
<string name="upload_completed_notification_text">ਆਪਣਾ ਅੱਪਲੋਡ ਵੇਖਣ ਲਈ ਥਪੇੜੋ</string>
<string name="upload_progress_notification_title_start" fuzzy="true">%1$s ਅੱਪਲੋਡ ਸ਼ੁਰੂ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ</string>
<string name="upload_progress_notification_title_start">ਫਾਈਲ ਚੜ੍ਹਾਈ ਜਾ ਰਹੀ ਐ: %s</string>
<string name="upload_progress_notification_title_in_progress">%1$s ਅੱਪਲੋਡ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ</string>
<string name="upload_progress_notification_title_finishing">%1$s ਦਾ ਅੱਪਲੋਡ ਖ਼ਤਮ ਹੋ ਰਿਹਾ ਹੈ</string>
<string name="upload_failed_notification_title" fuzzy="true">%1$s ਦਾ ਅੱਪਲੋਡ ਫੇਲ੍ਹ ਹੋਇਆ</string>
<string name="upload_failed_notification_title">%1$s ਨੂੰ ਚੜ੍ਹਾਉਣ ਵਿੱਚ ਨਾਕਾਮ</string>
<string name="upload_paused_notification_title">%1$s ਚੜ੍ਹਾਉਣਾ ਰੋਕਿਆ ਗਿਆ</string>
<string name="upload_failed_notification_subtitle">ਵੇਖਣ ਲਈ ਥਪੇੜੋ</string>
<string name="upload_paused_notification_subtitle">ਵੇਖਣ ਲਈ ਥਪੇੜੋ</string>
<string name="title_activity_contributions" fuzzy="true">ਮੇਰੇ ਅੱਪਲੋਡ</string>
<string name="contribution_state_queued">ਕਤਾਰ ਵਿਚ</string>
<string name="contribution_state_failed">ਫੇਲ੍ਹ ਹੋਇਆ</string>
@ -68,12 +81,17 @@
<string name="menu_nearby">ਨੇੜੇ-ਤੇੜੇ</string>
<string name="provider_contributions">ਮੇਰੇ ਅੱਪਲੋਡ</string>
<string name="menu_copy_link">ਕੜੀ ਦੀ ਨਕਲ ਕਰੋ</string>
<string name="menu_link_copied">ਕੜੀ ਨੂੰ ਚੂੰਢੀ-ਤਖਤੀ ਉੱਤੇ ਨਕਲ ਕੀਤਾ ਗਿਆ ਐ</string>
<string name="menu_share">ਸਾਂਝਾ ਕਰੋ</string>
<string name="menu_view_file_page">ਫਾਇਲ ਸਫ਼ਾ ਵੇਖੋ</string>
<string name="share_title_hint">ਸੁਰਖੀ (ਲੋੜੀਂਦੀ)</string>
<string name="add_caption_toast">ਕਿਰਪਾ ਕਰਕੇ ਇਸ ਫਾਈਲ ਲਈ ਇੱਕ ਸੁਰਖੀ ਦਿਓ</string>
<string name="share_description_hint">ਵੇਰਵਾ</string>
<string name="share_caption_hint">ਸੁਰਖੀ</string>
<string name="login_failed_network">ਦਾਖ਼ਲ ਹੋਣ ਵਿੱਚ ਅਸਮਰੱਥ - ਨੈੱਟਵਰਕ ਫੇਲ੍ਹ ਹੋਇਆ ਹੈ</string>
<string name="login_failed_throttled">ਬਹੁਤ ਸਾਰੀਆਂ ਅਸਫ਼ਲ ਕੋਸ਼ਿਸ਼ਾਂ। ਥੋੜ੍ਹੀ ਦੇਰ ਬਾਅਦ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।</string>
<string name="login_failed_blocked">ਅਫ਼ਸੋਸ, ਇਹ ਵਰਤੋਂਕਾਰ ਨੂੰ ਕਾਮਨਜ਼ ਤੇ ਰੋਕ ਲਾਈ ਗਈ ਹੈ।</string>
<string name="login_failed_2fa_needed">ਤੁਹਾਨੂੰ ਆਪਣਾ ਦੋ-ਕਾਰਕ ਪ੍ਰਮਾਣੀਕਰਨ ਕੋਡ ਦੇਣਾ ਪਵੇਗਾ।</string>
<string name="login_failed_generic">ਦਾਖ਼ਲ ਹੋਣਾ ਅਸਫ਼ਲ!</string>
<string name="share_upload_button">ਚੜ੍ਹਾਉ</string>
<string name="multiple_share_base_title">ਇਸ ਸੈੱਟ ਨੂੰ ਨਾਂ ਦਿਓ</string>
@ -85,10 +103,12 @@
<string name="display_list_button">ਸੂਚੀ</string>
<string name="contributions_subtitle_zero" fuzzy="true">ਫ਼ਿਲਹਾਲ ਕੋਈ ਅੱਪਲੋਡ ਨਹੀਂ</string>
<string name="categories_not_found">%1$s ਨਾਲ਼ ਮੇਲ ਖਾਂਦੀ ਕੋਈ ਸ਼੍ਰੇਣੀ ਨਹੀਂ ਲੱਭੀ</string>
<string name="depictions_not_found">%1$s ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਕੋਈ ਵਿਕੀਡਾਟਾ ਚੀਜ਼ਾਂ ਨਹੀਂ ਲੱਭਿਆਂ।</string>
<string name="categories_skip_explanation" fuzzy="true">ਆਪਣੀਆਂ ਤਸਵੀਰਾਂ ਨੂੰ ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼ ਵਿਚ ਜ਼ਿਆਦਾ ਲੱਭਣਯੋਗ ਬਣਾਉਣ ਲਈ ਸ਼੍ਰੇਣੀਆਂ ਜੋੜੋ।\n\nਸ਼੍ਰੇਣੀਆਂ ਜੋੜਨ ਲਈ ਟਾਈਪ ਕਰਨ ਅਰੰਭ ਕਰੋ।\nਇਸ ਕਾਰਜ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਨ ਲਈ ਇਹ ਸੁਨੇਹਾ ਥਪੇੜੋ (ਜਾਂ ਵਾਪਸੀ ਬਟਨ ਦਬਾਓ)।</string>
<string name="categories_activity_title">ਸ਼੍ਰੇਣੀਆਂ</string>
<string name="title_activity_settings">ਪਸੰਦਾਂ</string>
<string name="title_activity_signup">ਖਾਤਾ ਬਣਾਓ</string>
<string name="title_activity_featured_images">ਵਿਸ਼ੇਸ਼ ਤਸਵੀਰ</string>
<string name="title_activity_category_details">ਸ਼੍ਰੇਣੀ</string>
<string name="menu_about">ਇਸ ਬਾਰੇ</string>
<string name="about_license" fuzzy="true">ਅਜ਼ਾਦ ਸਰੋਤ ਸਾਫ਼ਟਵੇਅਰ ਨੂੰ &lt;a href=\"https://github.com/commons-app/apps-android-commons/blob/master/COPYING\"&gt;Apache License v2&lt;/a&gt; ਅਧੀਨ ਜਾਰੀ ਕੀਤਾ ਗਿਆ ਹੈ</string>
@ -105,9 +125,9 @@
<string name="menu_cancel_upload">ਰੱਦ ਕਰੋ</string>
<string name="media_upload_policy">ਇਹ ਤਸਵੀਰ ਅੱਪਲੋਡ ਕਰਨ ਨਾਲ ਹੀ ਮੈਂ ਦਾਅਵਾ ਕਰਦਾ ਹਾਂ/ਕਰਦੀ ਹਾਂ ਕਿ ਇਹ ਮੇਰਾ ਆਪਣਾ ਕਾਰਜ ਹੈ, ਕਿ ਇਸ ਤਹਿਤ ਕੋਈ ਕਾਪੀਰਾਈਟ ਉਲੰਘਣਾ ਨਹੀਂ ਕੀਤੀ ਗਈ ਅਤੇ &lt;a href=\"https://commons.wikimedia.org/wiki/Commons:Policies_and_guidelines\"&gt;ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼ ਨੀਤੀਆਂ&lt;/a&gt; ਮੁਤਾਬਿਕ ਇਹ ਠੀਕ ਹੈ।</string>
<string name="menu_download">ਡਾਊਨਲੋਡ</string>
<string name="preference_license" fuzzy="true">ਲਸੰਸ</string>
<string name="use_previous" fuzzy="true">ਪਹਿਲਾਂ ਵਾਲਾ ਸਿਰਲੇਖ/ਜਾਣਕਾਰੀ ਵਰਤ</string>
<string name="preference_theme" fuzzy="true">ਰਾਤ ਦਾ ਅੰਦਾਜ਼</string>
<string name="preference_license">ਮੂਲ ਲਸੰਸ</string>
<string name="use_previous">ਪਿਛਲੇ ਸਿਰਲੇਖ ਅਤੇ ਵੇਰਵੇ ਦੀ ਵਰਤੋਂ ਕਰ</string>
<string name="preference_theme">ਵਿਸ਼ਾ-ਵਸਤੂ</string>
<string name="license_name_cc_by_sa_four"> Attribution-ShareAlike 4.0</string>
<string name="license_name_cc_by_four"> Attribution 4.0</string>
<string name="license_name_cc_by_sa">CC Attribution-ShareAlike 3.0</string>
@ -120,8 +140,14 @@
<string name="tutorial_1_text">ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼ ਜ਼ਿਆਦਾਤਰ ਉਹ ਤਸਵੀਰਾਂ ਦਾ ਭੰਡਾਰ ਹੈ ਜੋ ਵਿਕੀਪੀਡੀਆ \'ਤੇ ਵਰਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ।</string>
<string name="tutorial_1_subtext">ਤੁਹਾਡੀਆਂ ਤਸਵੀਰਾਂ ਵਿਸ਼ਵ ਦੇ ਬਾਕੀ ਲੋਕਾਂ ਨੂੰ ਸਿੱਖਿਅਤ ਕਰਨ ਲਈ ਸਹਾਈ ਹਨ!</string>
<string name="tutorial_2_text">ਕਿਰਪਾ ਕਰਕੇ ਉਹ ਤਸਵੀਰਾਂ ਨੂੰ ਚੜ੍ਹਾਉ ਜੋ ਤੁਹਾਡੇ ਵੱਲੋਂ ਲਈਆਂ ਗਈਆਂ ਹਨ ਜਾਂ ਬਣਾਈਆਂ ਗਈਆਂ ਹਨ:</string>
<string name="tutorial_2_subtext_1">ਕੁਦਰਤੀ ਵਸਤੂਆਂ (ਫੁੱਲ, ਜਾਨਵਰ, ਪਹਾੜ)</string>
<string name="tutorial_2_subtext_2">ਲਾਹੇਵੰਦ ਵਸਤੂਆਂ (ਸੈਕਲ, ਰੇਲ ਅੱਡਾ)</string>
<string name="tutorial_2_subtext_3">ਮਸ਼ਹੂਰ ਲੋਕ (ਤੁਹਾਡੇ mayor, ਓਲੰਪਿਕ ਖਿਡਾਰੀ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਮਿਲੇ ਸੀ)</string>
<string name="tutorial_3_text">ਕਿਰਪਾ ਕਰਕੇ ਅਪਲੋਡ ਨਾ ਕਰੋ:</string>
<string name="tutorial_3_subtext_1">ਤੁਹਾਡੇ ਦੋਸਤਾਂ ਦੀਆਂ ਸੈਲਫ਼ੀਆਂ ਜਾਂ ਤਸਵੀਰਾਂ</string>
<string name="tutorial_4_text">ਉਦਾਹਰਣ ਵਜੋਂ ਇਹ ਅਪਲੋਡ:</string>
<string name="tutorial_4_subtext_1">ਸਿਰਲੇਖ: ਸਿਡਨੀ ਓਪੇਰਾ ਹਾਊਸ</string>
<string name="tutorial_4_subtext_2">ਵੇਰਵਾ: ਸਿਡਨੀ ਓਪੇਰਾ ਹਾਊਸ ਜਿਵੇਂ ਖਾੜੀ ਦੇ ਪਾਰ ਤੋਂ ਦਿਖਦਾ ਐ</string>
<string name="welcome_wikipedia_text">ਆਪਣੀਆਂ ਤਸਵੀਰਾਂ ਦਾ ਯੋਗਦਾਨ ਪਾਓ। ਵਿਕੀਪੀਡੀਆ ਲੇਖਾਂ ਨੂੰ ਸੁਰਜੀਤ ਕਰ ਦਿਓ!</string>
<string name="welcome_wikipedia_subtext">ਵਿਕੀਪੀਡੀਆ ਉਤਲੀਆਂ ਤਸਵੀਰਾਂ ਵਿਕੀਮੀਡੀਆ ਕਾਮਨਜ਼ ਤੋਂ ਆਉਂਦੀਆਂ ਹਨ</string>
<string name="welcome_copyright_text">ਤੁਹਾਡੀਆਂ ਤਸਵੀਰਾਂ ਦੁਨੀਆਂ ਭਰ ਦੇ ਲੋਕਾਂ ਨੂੰ ਪੜ੍ਹਨ ਵਿਚ ਮਦਦ ਕਰਦੀਆਂ ਹਨ।</string>
@ -132,6 +158,7 @@
<string name="detail_panel_cats_label">ਸ਼੍ਰੇਣੀਆਂ</string>
<string name="detail_panel_cats_loading">ਲੱਦ ਰਿਹਾ ਹੈ...</string>
<string name="detail_panel_cats_none">ਕੋਈ ਵੀ ਨਹੀਂ ਚੁਣਿਆ</string>
<string name="detail_caption_empty">ਕੋਈ ਸੁਰਖੀ ਨਹੀਂ</string>
<string name="detail_description_empty">ਕੋਈ ਵੇਰਵਾ ਨਹੀਂ</string>
<string name="detail_discussion_empty">ਕੋਈ ਗੱਲਬਾਤ ਨਹੀਂ</string>
<string name="detail_license_empty">ਅਣਜਾਣ ਲਸੰਸ</string>
@ -139,8 +166,10 @@
<string name="read_storage_permission_rationale" fuzzy="true">ਆਗਿਆ ਚਾਹੀਦੀ ਹੈ: ਬਾਹਰੀ ਸਟੋਰੇਜ ਬਾਰੇ। ਇਸ ਤੋਂ ਬਿਨਾਂ ਐਪ ਕਾਰਜ ਨਹੀਂ ਕਰ ਸਕੇਗੀ।</string>
<string name="ok">ਠੀਕ ਹੈ</string>
<string name="warning">ਖ਼ਬਰਦਾਰ</string>
<string name="upload">ਚੜ੍ਹਾਉ</string>
<string name="yes">ਹਾਂ</string>
<string name="no">ਨਹੀਂ</string>
<string name="media_detail_caption">ਸੁਰਖੀ</string>
<string name="media_detail_title">ਸਿਰਲੇਖ</string>
<string name="media_detail_description">ਵੇਰਵਾ</string>
<string name="media_detail_discussion">ਗੱਲਬਾਤ</string>

View file

@ -3,6 +3,7 @@
* A100Star
* Ajeje Brazorf
* Amire80
* Annick green
* Cabal
* Googology
* LeGuyanaisPure
@ -27,6 +28,7 @@
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="all">
<string name="submit">{{Identical|Submit}}</string>
<string name="nearby_all">{{identical|All}}</string>
<string name="nearby_filter_search">Reba ishakiro</string>
<string name="uploads_pending_notification_indicator">Status text about number of uploads left.\n* %1$d represents number of uploads left, including current one</string>
<string name="contributions_subtitle">See the current issue [https://phabricator.wikimedia.org/T267142 T267142] tracked in Phabricator about the &lt;code&gt;&lt;nowiki&gt;|zero=&lt;/nowiki&gt;&lt;/code&gt; option currently not supported on Translatewiki.net with the custom &lt;code&gt;&lt;nowiki&gt;{{PLURAL}}&lt;/nowiki&gt;&lt;/code&gt; rules used by this project for Android, using a non-MediaWiki syntax.</string>
<string name="multiple_uploads_title">{{Identical|Upload}}</string>

View file

@ -821,4 +821,6 @@
<string name="caption">Bildtext</string>
<string name="caption_copied_to_clipboard">Bildtext kopierades till urklipp</string>
<string name="congratulations_all_pictures_in_this_album_have_been_either_uploaded_or_marked_as_not_for_upload">Grattis! Alla bilder i detta album har antingen laddats upp eller markerats för att inte laddas upp.</string>
<string name="show_in_explore">Visa i \"Utforska\"</string>
<string name="show_in_nearby">Visa i \"I närheten\"</string>
</resources>