モジュール:Nameのソースを表示
←
モジュール:Name
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
local p = {} local i18n = require('Module:I18n/name') local function langSwitch(list,lang) local langList = mw.language.getFallbacksFor(lang) table.insert(langList,1,lang) table.insert(langList, 'default') for i,language in ipairs(langList) do if list[language] then return list[language] end end return nil end function p._name(operation, base_name, lang) -- Error checking on "operation" parameter if operation == '' then -- no operation provided -> return the name return base_name end operation = mw.ustring.lower(operation) -- convert operation to lower case if not i18n[operation] then -- if operation is not recognized than maybe it is an alias operation = i18n.Aliases[operation] end if not i18n[operation] then -- operation is still not recognized return "name not supported" end local colon = tostring(mw.message.new('colon'):inLanguage(lang)) -- translation through Wikidata q-code if type(i18n[operation])=='string' then -- usually operation is a translation table, but if it is a string than that is -- a wikidata q-code, so look up the label stored in wikidata local getLabel = require('Module:Wikidata label')._getLabel return getLabel(i18n[operation], lang) .. colon .. base_name end -- translation through local LangSwitch which return language specific function or string local full_name = langSwitch(i18n[operation], lang) if type(full_name)=='function' then full_name = full_name(base_name) elseif type(full_name)=='string' then --full_name = mw.getLanguage(lang):ucfirst(full_name) full_name = mw.getCurrentFrame():callParserFunction( "ucfirst", { full_name } ) if mw.ustring.find(full_name, '$of_name') then -- forms like Master of X base_name = require('Module:Linguistic').of(base_name, lang) full_name = mw.ustring.gsub(full_name, '$of_name', base_name) elseif mw.ustring.find(full_name, '$name') then -- forms like Master X -- replace parts of the string '$name' with base_name strings full_name = mw.ustring.gsub(full_name, '$name', base_name) else -- forms like Pseudonym: base_name, with a colon full_name = full_name .. colon .. base_name end end return full_name end function p.name(frame) local args = {} for name, value in pairs( frame.args ) do if value ~= '' then -- nuke empty strings args[name] = value end end if not (args.lang and mw.language.isValidCode(args.lang)) then args.lang = frame:callParserFunction( "int", "lang" ) -- get user's chosen language end local base_name = args.name or '' -- handle case where there is no "name" parameter but chinese names if base_name=='' and (args.trad or args.simp or args.PY) then local Func = langSwitch(i18n.Chinese_name, args.lang) base_name = Func(args.trad or '', args.simp or '', args.PY or '') end return p._name(args.operation or '', base_name, args.lang) end return p
このページで使用されているテンプレート:
モジュール:Name/doc
(
ソースを閲覧
)
モジュール:Name
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
モジュール
議論
English
表示
閲覧
履歴表示
その他
検索
案内
索引
脳科学辞典について
最近完成した項目
編集履歴
執筆にあたって
引用の仕方
著作権について
免責事項
問い合わせ
各学会編集のオンライン用語辞典
About us (in English)
Twitter (BrainScienceBot)
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
他のプロジェクト