Eztabaida:Jack Nicholson

message: Sortu dut Python programa bat aktore baten filmen izenburua gure inguruko  hizkuntzatan azaltzeko (en, es, fr, eu, ca. gl). Python programak wikikodea sortzen du eta bukaeran jarri dut, ikus ezazue emaitza artikuluko azken atalean. Gehiegi konplikatzen du artikuluaren edukia? Merezi du hainbat aktorerekin egitea?Hizkuntza gutxiagotan jarri beharko litzateke? 
Hau da Python programaren kodea. Erabil dezakezue PAWS tresnarekin interneten bidez (https://hub-paws.wmcloud.org/), baita beste aktore batekin (ordeztu "Q39792' identifikadorea)
# -*- coding: utf-8  -*-
import pywikibot
from pywikibot import pagegenerators
"""
Iterate over a query given in a string using page generators.
"""
QUERY = """
#
SELECT ?item WHERE 
{
  ?item (wdt:P31/(wdt:P279*)) wd:Q11424;
   wdt:P161 wd:Q39792.
}
LIMIT 200
"""
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
generator = pagegenerators.PreloadingEntityGenerator(pagegenerators.WikidataSPARQLPageGenerator(QUERY,site=repo))
for item in generator:
    #print (item)
    h1 = item.get()
    #print(h1)
    #print (h1['claims'])
    if 'en' in item.labels:
        print('* [['+item.labels['en']+']]')
    if 'es' in item.labels:
        if item.labels['es'] != item.labels['en']:
                print('** ')
    if 'fr' in item.labels:
        if item.labels['fr'] != item.labels['en']:
                print('** ')
    if 'eu' in item.labels:
        if item.labels['eu'] != item.labels['en']:
                print('** ')
    if 'ca' in item.labels:
        if item.labels['ca'] != item.labels['en']:
                print('** ')
    if 'gl' in item.labels:
        if item.labels['gl'] != item.labels['en']:
                print('** '
    #print('-------')
# ADIBIDEZ, 
# programan azaltzen den 'Q3979' kodea Wikidatan 'Jack Nicholson' da.
# eta programak sortzen duena honela hasten da:
#* The Evening Star
#** 
#** 
#** 
#* One Flew Over the Cuckoo's Nest
#** 
#** 
#** 
#** 
#...
 Ksarasola (eztabaida) 01:39, 12 maiatza 2024 (CEST)
replies: text: Taulak hain errepikakorrak ez izateko taula bakar batean bildu ditut filmen zuzendaria eta beste hizkuntza batzuetan hartu duten izenburuak, Urtearen arabera ordenatu daitezke filmak, baita izenburuaren arabera eta zuzendariaren arabera ere.
# -*- coding: utf-8  -*-
import pywikibot
import datetime
from pywikibot import pagegenerators
"""
Iterate over a query given in a string using page generators.
"""
QUERY = """
#
SELECT ?item WHERE {
  ?item (wdt:P31/(wdt:P279*)) wd:Q11424;
    wdt:P161 wd:Q39792.
}
LIMIT 500
"""
site = pywikibot.Site("wikidata", "wikidata")
repo = site.data_repository()
generator = pagegenerators.PreloadingEntityGenerator(pagegenerators.WikidataSPARQLPageGenerator(QUERY,site=repo))
print ("""{| class="wikitable sortable"
|-
! Urtea
! Filma
! Zuzendaria
! Hizkuntzak """)
for item in generator:
    print ("|-")
    #print (item)
    h1 = item.get()
    #print(h1)
    #print (h1['claims'])
    if 'P577' in item.claims: # urtea
        date = item.claims['P577'][0].getTarget()
        print ("| ", date.year)
    
    
    if 'en' in item.labels:
        print("| [["+item.labels['en']+"]]")
    
    if 'P57' in item.claims: # zuzendaria
        Zuzendaria = item.claims['P57'][0].getTarget()
        print("|[[", Zuzendaria.labels['en'],"]]")
    else:
        print("| ")
    print("|")
    if 'es' in item.labels:
        if item.labels['es'] != item.labels['en']:
                print('')
    if 'fr' in item.labels:
        if item.labels['fr'] != item.labels['en']:
                print('')
    if 'eu' in item.labels:
        if item.labels['eu'] != item.labels['en']:
                print('')
    if 'ca' in item.labels:
        if item.labels['ca'] != item.labels['en']:
                print('')
    if 'gl' in item.labels:
        if item.labels['gl'] != item.labels['en']:
                print('')
    print("")
print("|}")
 Ksarasola (eztabaida) 20:47, 13 maiatza 2024 (CEST)

text: Kaixo, Kepa:

text: Nire ustez, euskal wikilari batentzat aski litzateke jatorrizkoa + gaztelaniazko titulua + frantsesezko titulua (zoritxarrez gure erreferenteak izango direlako); eta ez nuke euskarazko itzulpenik ipiniko, ez delako egiazkoa. Bestalde, literatura-lanekin ere antzeko arazoa gertatzen da, eta ez dut ikusten irizpide bateraturik euskarara itzulita ez dauzkagun hainbat autoreren lanen kasuan: batzuetan, euskara hutsezko titulua ipini da (Anton Txekhov, adibidez); beste batzuetan, jatorrizko titulua eta parentesi artean euskarazko tituluaren itzulpena, lan horiek euskaraturik egon ez arren (George Bernard Shaw, adibidez); beste kasuren batean, bi irizpideak nahasita ageri dira (Kafka, adibidez)... Jakina, pelikulen kasua desberdina da, askotan itzulitako titulu komertzialek ez dutelako batere zerikusirik jatorrizkoarekin, eta kasu gehienetan titulu komertzial horiek direlako gure erreferenteak.

text: Koldo Biguri Koldo Biguri (eztabaida) 17:34, 27 maiatza 2024 (CEST)
replies: text: :Eskerrik asko, Koldo

text: :Bai, tamalgarria da filma guzti horiek euskarara itzuli gabe daudela ikustea. Ba,. euskarazko izenburuak kenduko ditut, ez dira izenburu errealak. Ea hemendik urte batzuetara irizpide hau aldatu behar dugun, ea film horietako asko itzultzen diren, azpititutuluekin besterik ez bada ere. Bestalde, Katalanezko eta galegozko izenburuei dagokionez,jarriko nituzke wikidatan jarrita badaude; gure ereferentzia badira nolabait, horien bitartez sumatu daiteke film hori garrantzitsua izan daitekeela, gurea bezalako beste hizkuntza minorizatu batean landu dutela ikus daiteke horrekin. Horixe, eskerrik asko. Ksarasola (eztabaida) 00:32, 28 maiatza 2024 (CEST)

text: Hona hemen zinema-aktore baten taula hobeto ateratzeko beste bertsio bat.

text: Ingelesezkoaren gain gaztelaniazko eta frantsesezko izenburuak bakarrik erakusten dira (wikidatako Labels etiketan dagoena) eta pelikulen euskarazko artikuluaren esteka hobeto adierazten da ("item.getSitelink('euwiki')" eta ez "item.labels['en']" erabilita)

text: # -*- coding: utf-8  -*-

text: import pywikibot

text: import datetime

text: import pandas as pd

text: from pywikibot import pagegenerators

text: """

text: Ingelesezko aktore baten filmekin wititaula bat sortu.

text: Pelikula bakoitzean datua hauek: urtea, zuzendaria, enpresa ekoizlea eta izenburu desberdinak zenbait hizkuntzatan.

text: Iterate over a query given in a string using page generators.

text: """

text: #Sortu lista bat pelikula guztien wikidata-identifikadoreekin

text: #  wdt:P161 wd:Q3972.  lerroan Q3972 identifikadorea Jack Nicholson zuzendariarena da.

text: #Ikus Wikidatan: https://www.wikidata.org/wiki/Q3972

text: # Query honetan Q3972 identifikadorearen ordez beste aktore batena jarriz gero beste aktore horren taula lortuko da

text: QUERY = """

text: #

text: SELECT ?item WHERE {

text: ?item (wdt:P31/(wdt:P279*)) wd:Q11424;

text: wdt:P161 wd:Q39792.

text: }

text: LIMIT 500

text: """

text: site = pywikibot.Site("wikidata", "wikidata")

text: repo = site.data_repository()

text: generator = pagegenerators.PreloadingEntityGenerator(pagegenerators.WikidataSPARQLPageGenerator(QUERY,site=repo))

text: #Sortu Ddta-frame bat (Kalkulu-orri bat) pelikula bakoitzaren datuekin

text: header = ['Urtea', 'Filma', 'Zuzendaria', 'Ekoizlea', 'Hizkuntzak']

text: data = {}

text: data = pd.DataFrame(data, columns=header)

text: for item in generator:

text: print (item)

text: h1 = item.get()

text: #print(h1)

text: #print (h1['claims'])

text: if 'P577' in item.claims: # urtea

text: date = item.claims['P577'][0].getTarget()

text: urte = date.year

text: else:

text: urte = 0

text: if 'en' in item.labels:

text: film = '[['+item.labels['en']+']]'

text: if 'euwiki' in h1['sitelinks']:

text: print ('euwiki:   '+item.getSitelink('euwiki'))

text: if item.getSitelink('euwiki') != item.labels['en']:

text: film = ''+item.labels['en']+''

text: """

text: print ('enlabel: '+item.labels['en'])

text: print ('enwiki:  '+item.getSitelink('enwiki'))

text: print ('euwiki:  '+item.getSitelink('euwiki'))

text: """

text: else:

text: film = '--'

text: if 'eu' in item.labels:

text: print('eu_Label:', item.labels['eu'])

text: if 'P57' in item.claims: # zuzendaria

text: zuzendari1 = item.claims['P57'][0].getTarget()

text: zuzendaria = "[["+zuzendari1.labels['en']+"]]"

text: else:

text: zuzendaria = "--"

text: if 'P272' in item.claims: # ekoizlea

text: ekoizle1 = item.claims['P272'][0].getTarget()

text: ekoizle  = "|[["+ekoizle1.labels['en']+"]]"

text: else:

text: ekoizle  = "--"

text: hizkuntzak =""

text: if 'es' in item.labels:

text: if item.labels['es'] != item.labels['en']:

text: hizkuntzak += ' '

text: if 'fr' in item.labels:

text: if item.labels['fr'] != item.labels['en']:

text: hizkuntzak += ' '

text: """

text: if 'eu' in item.labels:

text: if item.labels['eu'] != item.labels['en']:

text: hizkuntzak += ' '

text: if 'ca' in item.labels:

text: if item.labels['ca'] != item.labels['en']:

text: hizkuntzak += ' '

text: if 'gl' in item.labels:

text: if item.labels['gl'] != item.labels['en']:

text: hizkuntzak += ' '

text: """

text: new_row = {'Urtea': urte, 'Filma': film, 'Zuzendaria': zuzendaria, 'Ekoizlea': ekoizle, 'Hizkuntzak': hizkuntzak}

text: data.loc[len(data)] = new_row

text: #Ordenatu filmak argitaratu ziren urtearen arabera

text: sorted_df = data.sort_values(by=["Urtea"], ascending=True)

text: #Taularen wikikodea idaztea

text: print ("""== Filmografia ==

text: Taula honetan ikus daitezke filma bakoitzaren zuzendaria, enpresa ekoizlea eta beste izenburuak (gaztelaniaz, frantsesez):

text: {| class="wikitable sortable"

text: ! Urtea

text: ! Filma

text: ! Zuzendaria

text: ! Ekoizlea

text: ! Izenburuak (es,fr)""")

text: for index, lerroa in sorted_df.iterrows():

text: print("|-")

text: print("| ", lerroa['Urtea'])

text: print("| "+lerroa['Filma'])

text: print("| "+lerroa['Zuzendaria'])

text: print("| "+lerroa['Ekoizlea'])

text: print("| "+lerroa['Hizkuntzak'])

text: print("|}")

text: print("------------------------")

text: Ksarasola (eztabaida) 15:03, 4 ekaina 2024 (CEST)
thread_title:  Filmen izenburua gure inguruko hizkuntzatan?