AmberDB
view release on metacpan or search on metacpan
lib/AmberDB/Locale/Lang/ja.pm view on Meta::CPAN
package AmberDB::Locale::Lang::ja;
use 5.016;
use warnings;
use utf8;
our $VERSION = '5.25.1';
my $CREATED = '2026-08-12';
# -------------------------------------------------------
# Japanese (æ¥æ¬èª) locale data for AmberDB::Locale.
# Pure data module â no logic.
# Supports Hiragana, Katakana, Kanji, Romaji transliteration,
# JPY currency formatting, Japanese date formats, and Japanese num2text.
# -------------------------------------------------------
sub data {
return {
uc_map => {},
lc_map => {},
regex_map => {},
# Hiragana <-> Katakana phonetic equivalence rules for search
phonetic_map => [
[ "\x{30FC}" => '' ], # Long vowel mark (ã¼) normalization
],
sort_map => {},
# Unicode character ranges for Japanese:
# \x{3040}-\x{309F} : Hiragana (ã²ãããª)
# \x{30A0}-\x{30FF} : Katakana (ã«ã¿ã«ã)
# \x{4E00}-\x{9FAF} : Kanji (æ¼¢å CJK Ideographs)
# \x{FF00}-\x{FFEF} : Halfwidth and Fullwidth Forms (å
¨è§ã»åè§)
alphabet_chars => "\x{3040}-\x{309F}\x{30A0}-\x{30FF}\x{4E00}-\x{9FAF}\x{FF00}-\x{FFEF}",
accent_map => {},
# Romaji transliteration (Hepburn System) & Fullwidth numeral normalization
ascii_map => {
# Fullwidth Digits
"\x{FF10}" => '0', "\x{FF11}" => '1', "\x{FF12}" => '2', "\x{FF13}" => '3', "\x{FF14}" => '4',
"\x{FF15}" => '5', "\x{FF16}" => '6', "\x{FF17}" => '7', "\x{FF18}" => '8', "\x{FF19}" => '9',
# Vowels (Hiragana & Katakana)
"\x{3042}" => 'a', "\x{30A2}" => 'a', # ã, ã¢
"\x{3044}" => 'i', "\x{30A4}" => 'i', # ã, ã¤
"\x{3046}" => 'u', "\x{30A6}" => 'u', # ã, ã¦
"\x{3048}" => 'e', "\x{30A8}" => 'e', # ã, ã¨
"\x{304A}" => 'o', "\x{30AA}" => 'o', # ã, ãª
# Ka-row
"\x{304B}" => 'ka', "\x{30AB}" => 'ka', # ã, ã«
"\x{304D}" => 'ki', "\x{30AD}" => 'ki', # ã, ã
"\x{304F}" => 'ku', "\x{30AF}" => 'ku', # ã, ã¯
"\x{3051}" => 'ke', "\x{30B1}" => 'ke', # ã, ã±
"\x{3053}" => 'ko', "\x{30B3}" => 'ko', # ã, ã³
# Sa-row
"\x{3055}" => 'sa', "\x{30B5}" => 'sa', # ã, ãµ
"\x{3057}" => 'shi',"\x{30B7}" => 'shi', # ã, ã·
"\x{3059}" => 'su', "\x{30B9}" => 'su', # ã, ã¹
"\x{305B}" => 'se', "\x{30BB}" => 'se', # ã, ã»
"\x{305D}" => 'so', "\x{30BD}" => 'so', # ã, ã½
# Ta-row
"\x{305F}" => 'ta', "\x{30BF}" => 'ta', # ã, ã¿
"\x{3061}" => 'chi',"\x{30C1}" => 'chi', # ã¡, ã
"\x{3064}" => 'tsu',"\x{30C4}" => 'tsu', # ã¤, ã
lib/AmberDB/Locale/Lang/ja.pm view on Meta::CPAN
"\x{3093}" => 'n', "\x{30F3}" => 'n', # ã, ã³
},
# Japanese numbers (num2text)
numbers => {
zero => 'é¶',
ones => [qw(ä¸ äº ä¸ å äº å
ä¸ å
« ä¹)],
tens => [qw(å äºå ä¸å åå äºå å
å ä¸å å
«å ä¹å)],
hundred => 'ç¾',
thousand => 'å',
million => 'ç¾ä¸',
billion => 'åå',
currency => { main => 'å', sub => 'é' },
decimal_sep => '.',
hundred_one_prefix => 0, # ç¾ (not ä¸ç¾)
thousand_one_prefix => 0, # å (not ä¸å)
},
html_entities => {
'¥' => "\x{00A5}",
},
# Month and Day names (Japanese)
months => [
"1æ", "2æ", "3æ", "4æ", "5æ", "6æ",
"7æ", "8æ", "9æ", "10æ", "11æ", "12æ"
],
days => [
"æ¥ææ¥", "æææ¥", "ç«ææ¥", "æ°´ææ¥",
"æ¨ææ¥", "éææ¥", "åææ¥"
],
# Formatting metadata (number, currency, date, plural)
number_format => {
decimal_sep => '.',
group_sep => ',',
group_size => 3,
},
default_currency => 'JPY',
currency_position => 'prefix',
currency_space => 0,
date_format => {
short => 'YYYY/MM/DD',
medium => 'YYYYå¹´MæDæ¥',
long => 'YYYYå¹´MMæDDæ¥',
full => 'YYYYå¹´MMæDDæ¥(dddd)',
time => 'HH:mm',
datetime => 'YYYY/MM/DD HH:mm',
},
plural_rule => 'other', # Japanese has no grammatical plurals
};
}
1;
__END__
=encoding utf8
=head1 NAME
AmberDB::Locale::Lang::ja - Japanese Language Definition and Locale Data for AmberDB
=head1 SYNOPSIS
use AmberDB::Locale;
my $loc = AmberDB::Locale->new('ja');
=head1 DESCRIPTION
Provides Japanese (ja) character maps, number/currency formats, date templates, and plural rules for the AmberDB locale engine.
=head1 AUTHOR
Maruf Cetin <marufcetin@gmail.com>
=head1 LICENSE AND COPYRIGHT
Copyright (C) 2026 Maruf Cetin.
This library is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.
=cut
( run in 0.837 second using v1.01-cache-2.11-cpan-364913b4093 )